Разработка кода сообщения

 

Принцип построения оптимального кода Шеннона-Фано следующий.

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

 

Таблица 5.1

А К С Е Н Е Н К О _ И
0.062 0.028 0.045 0.072 0.053 0.072 0.053 0.028 0.09 0.175 0.062

 

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

                                                        (5.1)

Это означает, что необходимо ввести паузу, вероятность которой будет рассчитана, как:

                                                                                                                       

                                                   P1 = 0.26

 

Т.к. код Шеннона-Фано двоичный, следовательно, основание кода k = 2.

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

В подгруппах каждый символ или группа кодируется следующим образом. Всем символам первой подгруппы присваивается 0, всем символам второй подгруппы – 1, третьей – 2, и т.д. до k-ой группы, которой присваивается (k – 1).

 

По этим данным можно составить таблицу разработки кода:

 

 

Таблица 5.2

Буква Символ Pi 1 2 3 4 5 аi n
пауза а1 0.26 0 0       а1 2
_ а2 0.175 0 1 0     а2 3
О а3 0.09 0 1 1     а3 3
Е а4 0.072 1 0 0 0   а4 4
Е а5 0.072 1 0 0 1   а5 4
А а6 0.062 1 0 1 0   а6 4
И а7 0.062 1 0 1 1   а7 4
Н а8 0.053 1 1 0 0   а8 4
Н а9 0.053 1 1 0 1   а9 4
С а10 0.045 1 1 1 0   а10 4
К а11 0.028 1 1 1 1 0 а11 5
К а12 0.028 1 1 1 1 1 а12 5

 

Таким образом, можно окончательно записать сообщение, закодированное методом Шеннона-Фано:

0010101111011101000110010011101111110110101011

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

 

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

                                                      (5.2)

                                                                


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: