Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / ВСЕ ВОПРОСЫ.DOC
Скачиваний:
95
Добавлен:
13.02.2014
Размер:
276.48 Кб
Скачать

6. Эффективное кодирование по алгоритму Хафмена

Метод Шеннона–Фано не всегда приводит к однозначному построению кода, т.к. деление знаков на группы производится произвольно. От указанного недостатка свободна методика Хаффмена, которая гарантирует однозначное построение кода с наименьшими (для данного распределения вероятностей) числом символов на группу.

Для случая бинарного кода этот метод сводится к следующему алгоритму:

  1. буквы используемого алфавита (А:{а1,…, аn}) располагают в порядке убывания вероятностей (р1р2р3…),

  2. два последних (самых маловероятных) знака объединяют в одно вспомогательное сообщение (aN-1,aN)=”b”, имеющее вероятность P(“b”)=P(aN-1)+P(aN), которая равна сумме вероятностей объединенных символов.

  3. полученный алфавит А'={а12,…аn-2,b}, слова которого снова располагают в порядке убывания вероятности;

  4. в полученном алфавите снова заменяют два наименее вероятных элемента в одно дополнительное сообщение и вычисляют его вероятность ("с"Р("с")); полученную совокупность знаков снова располагают в порядке убывания вероятностей;

  5. повторяют шаги 1 и 2 до тех пор, пока не получиться единственное сообщение вероятность которого равна единице.

7. Помехоустойчивое кодирование, использование принципа избыточности для повышения помехоустойчивости спд

Теория базируется на основной теореме Шеннона для дискретного канала с шумами, в которой показана следующее:

  1. при любой скорости передачи двоичных символов, не превосходящей пропускную способность канала, может существовать код, при котором вероятность ошибочного декодирования будет сколь угодно мала;

  2. вероятность ошибки не может быть сколь угодно малой, если скорость передачи будет больше пропускной способности канала.

Эта теория не дает рецепта построения помехоустойчивого кода, однако она обосновывает возможность получения такого кода.

В настоящее время разработаны определенные методы построения помехоустойчивых кодов. Смысл помехоустойчивого кодирования заключается в том, чтобы сигнал, чтобы сигнал при прохождении через канал с шумами, оставался, по своей структуре, более близким к исходному сигналу, чем ко всем другим возможным сообщениям. Это достигается ценой введения в передаваемую последовательность символов определенной степени избыточности, позволяющей формировать такие последовательности символов кода, которые удовлетворяли бы определенным дополнительным условиям, которые обеспечивали бы возможность тестирования принятых сигналов на наличие (отсутствие) помех (ошибок).

8. Основные виды помехоустойчивых кодов

В настоящее время разработаны определенные методы построения помехоустойчивых кодов. Смысл помехоустойчивого кодирования заключается в том, чтобы сигнал, чтобы сигнал при прохождении через канал с шумами, оставался, по своей структуре, более близким к исходному сигналу, чем ко всем другим возможным сообщениям. Это достигается ценой введения в передаваемую последовательность символов определенной степени избыточности, позволяющей формировать такие последовательности символов кода, которые удовлетворяли бы определенным дополнительным условиям, которые обеспечивали бы возможность тестирования принятых сигналов на наличие (отсутствие) помех (ошибок). Коды, обладающие таким свойством, называются помехоустойчивыми. Эти коды делят на две группы:

- с обнаружением ошибок;

- с обнаружением и исправлением ошибок.

Последние коды называют корректирующими.

В общем случае помехоустойчивость может достигаться с помощью различных видов избыточности: временной, частотной и энергетической.

Если время работы канала не ограничено, то используют временную избыточность, при которой в состав кодовых комбинаций, кроме информационных символов, вводят ряд дополнительных, которые называются нейтральными, с помощью которых обнаруживают и исправляют ошибки. Если время передачи ограничено, то ввести проверочные символы в комбинацию можно путем уменьшения длительности элементарных символов, что ведет к расширению их спектра ∆F~1/τи; в этом случае используется частотная избыточность. Чтобы отношение сигналов при уменьшении длительности импульсов не ухудшилось, необходимо увеличить амплитуду импульсов; путем увеличения амплитуды можно на столько повысить их энергию, чтобы вероятность ошибки при приеме сигнала окажется в заданных пределах. В этом случае используется энергетическая избыточность.

У подавляющего большинства существующих помехоустойчивых кодов корректирующие свойства являются следствием их алгебраической структуры.

Алгебраические коды можно подразделить на два больших класса: блоковые и непрерывные.

Блоковыми называют коды, которые состоят из отдельных кодовых комбинаций, которые можно проверить и декодировать независимо друг от друга.

Непрерывными называют коды, которые предоставляют собой непрерывные послед-ть сигналов, не разделенная на отдельные комбинации.

Блоковые и непрерывные подразделяются на разделимые и неразделимые.

Разделимыми являются коды, в которых символы могут быть четко разделены на информационные и проверочные. Неразделимые не обладают этим свойством.

В непрерывных кодах введение избыточных символов в кодируемую последовательность осуществляется непрерывно, без разделения на независимые блоки.

Соседние файлы в папке лекции