Файл: Бездудный, В. Г. Техника безопасности в шахтном строительстве.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.10.2024
Просмотров: 102
Скачиваний: 0
При укрупнении кодируемых блоков происходит не только де корреляция символов и снижение условной энтропии, вызванной взаимозависимостью между символами, но и уменьшение избыточности от округления. Природа избыточности от округления в том, что при передаче двоичным кодом максимально загруженными бывают только те символы вторичного алфавита, которые передают значение, являю щееся целыми степенями двойки. В остальных случаях тем же коли чеством символов может быть передано большее количество сообщений.
Так, тремя разрядами мы передаем и пять, и восемь сообщений. |
Факти |
||
чески на передачу пяти сообщений достаточно L = |
log2 т = |
log2 5 = |
|
= 2,32 |
символа. Избыточность от округления D = |
k-— - [J, |
1 — |
— |
|||
— ~ ~ |
~ 0.3 [k — округленное значение ропт = |
Семью раз |
рядами можно передать и 65, и 128 сообщений. Фактически на пере дачу 65 сообщений необходимо L — log2 65 = 6,02 символа. Однако, как известно, 65 сообщений в двоичном коде не может быть передано менее чем семью символами, т. е. избыточность от округления D —
б02
=1 ------у - = 0,14. Аналогично для 100 сообщений
Ропт |
logs 100 |
= 6,64; |
= |
7; |
|
0,05; |
|
|
|
l°g2 2 |
|
|
|
|
|
для 1000 |
сообщений |
|
|
|
|
|
|
1^опт = |
J gvfQ” = |
9,96; k = 1 0 ; |
D = |
10 — 9,96 |
= 0,04 и т. д. |
||
|
|
log2 2 |
|
|
|
10 |
|
Совершенно очевидно, что избыточность от округления будет умень шаться по мере укрупнения блоков. Следовательно, код будет при ближаться к оптимальному.
Рассмотрим пример, иллюстрирующий преимущества укрупнения, или, как его часто называют, перекодирования символов.
Пример 6. Построим ОНК для передачи сообщения, алфавит которого состоит из двух букв — А и В с вероятностями рА — 0,89 и рд = 0,11, при кодировании пр
одному (I случай), два (II случай) и три (III случай) символа в блоке (табл. 13). Определяем средние числа двоичных знаков на букву кода и энтропии источни
ков сообщений при кодировании по одному Lj, Н^, два |
Lu, Л п и три Lni, Нп1 |
||
символа в блоке: |
1 Е= 2 I (0 Pi = 0,89 + 0,11 = |
1; |
|
|
|
||
Я, = — 2 |
Pi l°g2 Pi = ~ (0,89 log2 0,89 + 0,11 log2 0,11) = |
||
|
i= |
0,3503 -j- 0,1496 = 0,499 бит!символ', |
|
Lu = 2 < (0 Pi = 0.792 + 0,196 -f 0,294 + |
0,036 = 1,318; |
||
|
i |
|
|
Hu = - 2 |
Pi bg2 Pi = - (0,792 log2 0,792 + 2 •0,098 log2 • 0,098 + 0,012) = |
||
i |
|
|
|
= |
0,2664 + |
0,3284 + 0,3284 + 0,076 = 0,9948 бит/символ-, |
79
Ljjj = |
2 l (0 Pi = 0,705 + 3 (0,261) + 3 (0,055) |
+ 0,005 = 1,658; |
|
i |
|
H m = |
— 2 Pi bg2 p£ = — (0,705 log2 0,705 + 3 |
■0,087 log2 0,087 + |
|
i |
|
+ 3 ■0,011 log3 0,011 + 0,001 log2 0,001) = 0,3555 + 3 • 0,9065 +
+ 3 • 0,0716 + 0,0100 = 1,4998 бит/символ.
Таблица IS
Построение оптимального кода при блочном кодировании
Случай коди рования |
Блок |
Вероятность появления блока |
Кодовые слова после разбиения
пер |
вто |
треть |
чет |
пято |
вого |
рого |
его |
вер |
го |
|
|
|
того |
|
Число знаков в кодовом слове
Щ Pi
I |
А |
0,89 |
0 |
_ |
_ |
— |
— |
1 |
0,89 |
|
В |
0,11 |
1 |
— |
— |
1 |
0,11 |
||
и |
АА |
0,792 |
0 |
0 |
— |
— |
— |
1 |
0,792 |
|
АВ |
0,098 |
1 |
2 |
0,196 |
||||
|
ВА |
0,098 |
1 |
1 |
0 |
— |
— |
3 |
0,294 |
|
ВВ |
0,012 |
1 |
1 |
1 |
— |
— |
3 |
0,036 |
|
ААА |
0,705 |
0 |
0 |
0 |
— |
— |
1 |
0,705 |
|
ААВ |
0,087 |
1 |
3 |
0,261 |
||||
|
АВА |
0,087 |
1 |
0 |
1 |
' — |
— |
3 |
0,261 |
ш |
ВАА |
0,087 |
1 |
1 |
0 |
— |
— |
3 |
0,261 |
|
АВВ |
0,011 |
1 |
1 |
1 |
0 |
0 |
5 |
0,055 |
|
ВАВ |
0,011 |
1 |
1 |
1 |
0 |
1 |
5 |
0,055 |
|
ВВА |
0,011 |
1 |
1 |
1 |
1 |
0 |
5 |
0,055 |
|
ВВВ ' |
0,001 |
1 |
1 |
1 |
1 |
1 |
5 |
0,055 |
Сравнивая полученные данные, убеждаемся, что с укрупнением кодируемых блоков разница значений L и Н быстро уменьшается, а полученный код приближает ся к оптимальному. Сравним эффективность ОНК в первом и третьем случаях. Для
этого определим:
TJ
*c.cl = |
п шах |
|
•og2 2 |
= 1; |
^ср! |
|
1 |
|
|
|
|
|
|
|
|
гj |
|
logs 8 |
|
'с.сШ = |
п шах |
|
1, 8; |
|
^срЗ |
|
1,658 |
||
|
|
|
||
|
|
|
|
|
= J h |
|
0,5 |
|
|
*о.»1 = |
^cpl |
= |
1 ~ |
|
|
|
|||
'о.эШ |
|
|
1,4998 |
• 0,932. |
1срШ |
|
1,658 |
||
|
|
|
80
"71 i ■
С увеличением числа символов в блоке эффективность кодирования
быстро растет (растут Кс.с и К о.э) до определенного предела. Затем |
|
рост эффективности постепенно уменьшается. |
Практика показывает, |
что с увеличением числа символов в блоке (п > |
4) сложность кодирую |
щих устройств растет быстрее, чем эффективность. |
|
Рассмотрим теперь построение оптимальных кодов при передаче |
текстовых сообщений как при посимвольном, так и при поблочном кодировании. Для передачи М-буквенного текста требуется затратить элементарных символов, составленных из букв вторичного алфавита, не меньше чем
М logs N |
= |
МН |
|
(55) |
|
log2т |
~ |
log2 т |
’ |
||
|
где N — число букв первичного алфавита; т — число букв вторичного алфавита.
Телеграфные коды |
|
Таблица 14 |
|
|
|
||
Буква |
Вероятность появления |
Комбинация оптималь |
Комбинация кода Морзе, |
буквы |
ного кода |
принятого в настоящее |
|
|
|
|
время |
о0,090
Е0,072
А0,062
И0,062
Т0,053
н0,053
с0,045
р0,040
в0,038
л0,035
к6,028
м0,026
д0,025
п0,023
У0,021
я0,018
ы0,016
3 |
0,016 |
ъ , ь |
0,014 |
Б0,014
г0,013
ч0,012
Й0,010
X |
0,009 |
ж |
0,007 |
ю |
0,006 |
ш |
0,006 |
ц0,004
Щ |
0,003 |
э |
0,002 |
ф0,002
.
— |
— |
|
. - |
||
. — |
|
|
— |
— |
|
' ------- |
— . |
|
. . — |
|
|
---- - |
|
|
------■ |
—-------- |
|
---------— |
||
— |
||
— |
— |
|
----------- . |
.----------— |
|
— |
||
— . .. |
---------- |
|
— |
. ------------ |
|
-------- |
---------- |
|
—-------- |
___ ___ |
|
__. . . |
||
--------- -. |
— ___ |
|
_________ |
||
---- -— |
______ ___ |
|
-------- - |
. . . . |
|
— |
_____ |
|
---------— |
_______ |
|
------------------—-- |
________ — |
|
______ |
||
—------------ - |
____ ___ |
|
____ __ |
||
|
. . — . |
81
Для передачи М-буквенного текста в двоичном коде (число букв вторичного алфавита т = 2) с равновероятным распределением букв русского алфавита (число букв первичного алфавита N = 32) надо затратить Л4Л0 = M log2 32 = М • 5 бит.
Оптимальным в этом случае будет равномерный код. Примером такого кода является телеграфный код Бодо, в котором каждая буква состоит из пяти двоичных символов (см. табл. 4).
Однако в действительности вероятности появления букв в русских текстах не одинаковы. Согласно табл. 3, вероятности появления от дельных букв значительно отличаются друг от друга. Чаще всего в русских текстах, как и в текстах на любом языке мира, встречается пробел между словами: вероятность его равна 0,175 (в английском языке 0,2); реже всего — буквы Э и Ф.
Естественно, что при неравновероятном распределении символов первичного алфавита равномерные коды не могут быть оптимальными. Эффективными в этом случае являются неравномерные коды, в кото рых наиболее часто встречающимся символам первичного алфавита соответствуют наиболее короткие комбинации символов вторичного алфавита. По такому принципу построен современный телеграфный код Морзе, хотя он и отличается от оптимального кода для троичного алфа вита (точка, тире и пауза), представленного в третьей колонке табл. 14.
Для определения значения п при передаче русских текстов с учетом вероятности распределения символов в выражении (55) зна чения Н следует находить по формуле
Н = — ^ P il o g p i . i
Так как для т = 21og2m = 1, то п = МП = М (—0,175 log3 0,175 —
— 0,09log2 0,09 — ... —0,02log2 0,02) » 4,36М.
Как видим, по сравнению с кодом Бодо достигнуто сокращение 0,64 бит на кодовое слово. Такого значения средней длины кодового слова для русского алфавита можно добиться при помощи оптималь ного кода, построенного методом Шеннона — Фано и представленного в табл. 15. Средняя длина кодового слова для кода табл. 15
L = ^ I (ОР( = 0,175 • 3 + 0,090 • 3 + 0,072 • 4 + • • • +
+ 0,002 - 9 « 4 ,4 .
Значение L отличается от значения Н, потому что вероятности рас пределения символов первичного алфавита (в данном случае — алфа вита русских букв) не являются целочисленными степенями двойки. Однако с ростом М среднее число знаков вторичного алфавита на кодовое слово будет сколь угодно приближаться к значению Я, что было проиллюстрировано примером 6. 4
При поблочном кодировании данный код будет еще ближе к опти мальному, так как в нем устранится избыточность, вызванная взаимо зависимостью между соседними буквами.
82