2*(P14+P15)+3*(P12+P13+P16)+4*P17+5*P11+6*P18+7*P10+8*P19+9*P9+
+10*P20+11*P8+12*P7+13*P6+14*P5+15*P4+16*P3+17*(P1+P2)=2.863
Степень сжатия:
Энтропия источника сообщений:
=2.833
Таким образом, полученный код длиннее оптимального в процентах на:
Применение эффективного кодирования имеет смысл, так как средняя длина кодовой комбинации эффективного (оптимального) кода округленная до ближайшего большего целого, меньше длины примитивного кода N < nпр.
Информационная скорость на выходе оптимального кодера составит
(7)
где v – скорость передачи дискретного источника;
.
Помехоустойчивое кодирование.
В качестве помехоустойчивого кода выберем код Хемминга. Данный код, как и все блочные коды, можно формировать несложными кодирующими устройствами пассивного типа (требуются лишь типовые устройства, такие как регистры сдвига, сумматоры и умножители, построенные на типовых элементах цифровой техники: ключах, триггерах, и пр.).
Информационные символы представляют собой оптимальный код неравномерной длины. Поэтому применим помехоустойчивое кодирование для каждых трех символов, следующих последовательно, то есть количество информационных символов k = nср =5.
Минимальное кодовое расстоянием: d = 2. Количество проверочных символов необходимых для того, чтобы минимальное кодовое расстояние линейного кода достигало значения d равно r³2×d-2-log2 d r=1
Длина кодовой комбинации составит n = k + r = 5 + 1 = 6.
Кодовые комбинации будут определяться как
,
где b – вектор-строка информационных символов;
Gк – порождающая матрица, приведенная к каноническому виду.
Каноническая матрица Gк имеет вид:
Проверим правильность кода, при этом должен получиться нулевой синдром:
|