2 Источник сообщений
Источник сообщений на передающей стороне представляет собой дискретный источник без памяти с алфавитом из 16 символов. Вероятности выдачи каждого символа источником и скорость выдачи символов рассчитываются в соответствии с вариантом. Результаты свожу в таблицу 1.
Таблица 1. Вероятности символов источника
Номер |
Символ |
Вероятность |
Рассчитанная вероятность |
0 |
а |
|
0,217 |
1 |
б |
|
0,011 |
2 |
в |
|
0,057 |
3 |
г |
|
0,0036 |
4 |
д |
|
0,014 |
5 |
е |
|
0,095 |
6 |
з |
|
0,001 |
7 |
и |
|
0,06 |
8 |
к |
|
0,101 |
9 |
л |
|
0,02 |
10 |
м |
|
0,186 |
11 |
н |
|
0,012 |
12 |
о |
|
0,01 |
13 |
п |
|
0,006 |
14 |
р |
|
0,2 |
15 |
с |
|
0,0064 |
Скорость выдачи символов источником:
.
Энтропия
Энтропия характеризует источник в целом и является одним из основных понятий теории информации.
Избыточность
Энтропия источника связана с понятием его избыточности. Избыточность характеризует относительное удлинение сообщения по сравнению с сообщением от источника без избыточности.
Производительность
Это выражение определяет среднее количество информации, которое может выдавать источник в единицу времени.
Передаваемое сообщение:
ОМИБАКВРЕН
3 Кодер источника
Алгоритм кодирования источника выбирается по следующему правилу:
.
Если , то выбирается код Хаффмана, – код Шеннона-Фано.
В моем случае , код Шеннона-Фано.
Опишем алгоритм построения дерева Шеннона-Фано:
а) Все символы алфавита располагаем в порядке убывания их вероятностей.
б) Полученное множество делим на два подмножества с максимально близкими суммарными вероятностями символов.
в) Выбираем способ кодирования ветвей, то есть, в самом начале, при первом делении множества, выбираем, какой ветке будет соответствовать «0», а какой «1». В моем случае был сделан выбор, что «0» для левых ветвей и «1» для правых.
г) Каждое подмножество вновь делим на две части, до тех пор, пока в каждом из подмножеств не останется по одному символу.
Построение идёт от «корня» к «листьям». Коды считываются также от «корня» к «листьям».
Построенное дерево Шеннона-Фано представлено на рисунке 2. Результаты кодирования свожу в таблицу 2.
Рис. 2 – Кодовое дерево Шеннона-Фано
Таблица 2. Кодовые комбинации для символов источника
Символ |
Вероятность |
Кодовая комбинация |
Число разрядов |
Число нулей |
Число единиц |
а |
0,217 |
00 |
2 |
2 |
0 |
р |
0,2 |
01 |
2 |
1 |
1 |
м |
0,186 |
100 |
3 |
2 |
1 |
к |
0,101 |
101 |
3 |
1 |
2 |
е |
0,095 |
1100 |
4 |
2 |
2 |
и |
0,06 |
1101 |
4 |
1 |
3 |
в |
0,057 |
11100 |
5 |
2 |
3 |
л |
0,02 |
11101 |
5 |
1 |
4 |
д |
0,014 |
111100 |
6 |
2 |
4 |
н |
0,012 |
1111010 |
7 |
2 |
5 |
б |
0,011 |
1111011 |
7 |
1 |
6 |
о |
0,01 |
1111100 |
7 |
2 |
5 |
с |
0,0064 |
1111101 |
7 |
1 |
6 |
п |
0,006 |
1111110 |
7 |
1 |
6 |
г |
0,0036 |
11111110 |
8 |
1 |
7 |
з |
0,001 |
11111111 |
8 |
0 |
8 |
Параметрами полученного экономного кода являются:
Предел Шеннона для заданного источника, т.е. минимально возможное количество кодовых символов на один символ источника:
Среднее число двоичных символов, приходящееся на один символ источника. Находится как математическое ожидание числа разрядов кодового слова:
Средняя скорость выдачи двоичных символов на выходе кодера источника :
Вероятность двоичных символов и . Их можно найти, поделив соответственно среднее число 0 и 1 в кодовом слове на среднее число разрядов кодового слова:
Энтропия на выходе кодера источника:
Избыточность на выходе кодера источника:
При сжатии передаваемого сообщения, каждый его символ заменяется соответствующей кодовой комбинацией из кодовой таблицы, результат записываю в одну строку без пробелов.
Передаваемое сообщение:
ОМИБАКВРЕН
Сжатое передаваемое сообщение:
11111001001101111101100101111000111001111010.