
Кодирование сложных сообщений
в) Дальнейшим возможным способом повышения скорости передачи информации является кодирование не каждого символа сообщения, а группы из двух символов, что позволяет получить новый набор из 9 групп {XiXj} и возможность деления на более близкие по суммарной вероятности подгруппы:
Сообщение Yk = Xi *Xj Вероятность PYk = PXi *PXj
Y1 = X1*X10,4225
Y2 = X1*X2 0,1495
Y3 = X1*X3 0,0780
Y4 = X2* X1 0,1495
Y5 = X2*X2 0,0529
Y6 = X2*X3 0,0276
Y7 = X3*X1 0,0780
Y8 = X3*X2 0,0276
Y9 = X3*X3 0,0144
Далее кс рс
Применим принцип кодирования Шеннона-Фано.
|
Вероят -ность |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
2 |
3 |
4 |
5 |
6 |
Длитель-ность (i) |
|
0,4225 |
I |
}I |
|
|
|
|
1 |
1 |
|
|
|
|
2 |
Y2 |
0,1495 |
|
}II |
|
|
|
|
1 |
0 |
|
|
|
|
2 |
|
0,1495 |
|
I |
}I |
|
|
|
0 |
1 |
1 |
|
|
|
3 |
Y3 |
0,0780 |
|
|
}II |
|
|
|
0 |
1 |
0 |
|
|
|
3 |
|
0,0780 |
|
|
}I |
|
|
|
0 |
0 |
1 |
|
|
|
3 |
|
0,0529 |
II |
|
|
}I |
|
|
0 |
0 |
0 |
1 |
|
|
4 |
|
0,0276 |
|
II |
II |
|
}I |
|
0 |
0 |
0 |
0 |
1 |
|
5 |
Y8 |
0,0276 |
|
|
|
II |
II |
}I |
0 |
0 |
0 |
0 |
0 |
1 |
6 |
Y9 |
0,0144 |
|
|
|
|
|
}II |
0 |
0 |
0 |
0 |
0 |
0 |
6 |
9
При
этом,
ср.
= Pi
*i
= 2,67 дв.ед./сообщ.
i=1
H(X) - энтропия сообщения, состоящего из двух символов, определяется как
9
H(X) = P(Yi)*log2P(Yi) 2,53 бит/сообщ.
i=1
V(X) = C/ср.* H(X) = 948 бит/с
K = 2,53=H(X)/2,67= ср.= 0,948 < 1
Рассмотренная процедура кодирования, основанная на методе Шеннона-Фано, не всегда является однозначной, так как возможны различные варианты разбиения сообщения на подгруппы с близкими вероятностями (пример:{Y1}и {Y2÷Y9}).
Рассмотрим последовательность кодирования {Yi}по методу Хаффмена, гарантирующему однозначность разбиения на подгруппы и являющегося более рациональным при кодировании достаточно больших групп сообщений.
Метод Хаффмена – гарантирует однозначное построение кода с наименьшим для данного распределения {Pi} - ср. – средним числом двоичных разбиений на сообщения.
1. Буквы алфавита сообщения выписывают в основной столбец в порядке убывания вероятностей.
2. Две последние буквы объединяются в одну вспомогательную, которой приписывается суммарная вероятность.
Процесс продолжается до получения единственной буквы.
|
Вероят -ность |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
0,4225 |
0,4225 |
0,4225 |
0,4225 |
0,4225 |
0,4225 |
0,4225 |
0,5775 |
1,0000 |
|
|
0,1495 |
1495 |
1495 |
1495 |
1560 |
2720 |
0,3055 |
0,4225 |
|
|
|
0,1495 |
1495 |
1495 |
1495 |
1495 |
1560 |
0,2720 |
|
|
|
|
0,0780 |
0780 |
0780 |
1225 |
1495 |
1495 |
|
|
|
|
|
0,0780 |
0780 |
0780 |
0780 |
1225 |
|
|
|
|
|
|
0,0529 |
0529 |
0696 |
0780 |
|
|
|
|
|
|
|
0,0276 |
0420 |
0529 |
|
|
|
|
|
| |
Y8 |
0,0276 |
0276 |
|
|
|
|
|
| ||
Y9 |
0,0144 |
|
|
|
|
|
|
|
|
Кодирование сообщений осуществляется по результатам построения «кодового дерева».
Y1 Y2 Y4 Y3 Y7 Y5 Y6 Y8 Y9
0 110 101 1111 1110 1000 100111 10010 100110
9
ср. = Pi*i = 2,55 дв. разр./сообщ.
i=1
H(Y) 2,53 бит
V C/ср.* H(Y) 993 бит/с
Далее КСРС
Kотн.эфф. = 0,993
Vравн. = 630;
VШ.Ф.прост.сообщ. = 933;
VШ.Ф.двух сообщ. = 948;
VХафф.двух сообщ. = 993;
0,5775 1,0000
3055 1495 1495 0,4225 2720
1
0
1 0
Y1 1560 1225 0696
0
1 0
Y2 Y4
0529 0780 0780
1 0
Y3 Y7 Y9 Y8 Y5 0420 0276 0144
0276
0
Y6
1 0