Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ТИК.doc
Скачиваний:
381
Добавлен:
10.02.2016
Размер:
7.57 Mб
Скачать

4.5 Коды Хаффмена

На этом алгоритме построена процедура построения оптимальною кода, предложенная в 1952 году Хаффменом:

1) буквы первичного алфавита выписываются в основной столбец в порядке убывания вероятностей;

2) две последние буквы объединяются в одну вспомогательную букву, которой приписывается суммарная вероятность;

3) вероятности букв, не участвовавших в объединении, и полученная суммарная вероятность снова располагаются в порядке убывания вероятностей в дополнительном столбце, а две последние объединяются;

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

Методика поясняется примером.

Таблица 4.6

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

Для наглядности при построении кода строится кодовое дерево. Из точки, соответствующей вероятности 1, направляются две ветви, причем ветви с большей вероятностью присваивается символ 1, а с меньшей - 0. Такое последовательное ветвление продолжаем до тех пор, пока не дойдем до каждой буквы. Кодовое дерево для алфавита букв, рассматриваемого в таблице, изображено на рисунке 4.2.

Рис.4.3

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

Z1

Z2

Z3

Z4

Z5

Z6

Z7

Z8

01

00

111

110

100

1011

10101

10100

Таблица 4.7

4.6 Особенности эффективных кодов.

1. Букве первичного алфавита с наименьшей вероятностью появления ставится в соответствие код с наибольшей длиной , т.е. такой код является неравномерным (с разной длиной кодовых слов). В результате, если моментами передачи сообщения от источника приемник управлять не может (например, кодовые слова поступают строго периодически с шагом t), через линию связи будут передаваться кодовые слова с разной длиной, т.е. количество передаваемых в единицу времени через линию связи букв вторичного алфавита будет меняться. Учитывая то, что любая линия связи характеризуется максимальной скоростью передачи информации (пропускной способностью), приходим к выводу, что при использовании такой схемы передачи информации пропускная способность линии связи будет использоваться не в полной мере. Избежать неэффективного использования линии связи можно, установив на ее входе и выходе буферные накопительные запоминающие устройства. Они позволяют сгладить неравномерность поступления букв вторичного алфавита как через линию связи, так и на вход декодирующего устройства. При этом во всей системе передачи информации возникают временные задержки и, чем объем буферного устройства выше, тем эти задержки выше.

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

3. Третья особенность заключается в том, что, как оказывается, эффективные коды не предназначены для использования в условиях помех. Если же все-таки по какой-либо причине, например, в результате электрической помехи от грозового разряда, какой-то символ кодового слова исказится, правильное декодирование становится невозможным не только для этого кодового слова, но и для целого ряда следующих за ним кодовых слов.

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