где:
- информационные символы 1-й комбинации исходного кода; — проверочные символы.Коэффициенты
могут иметь значения 0 и 1, суммирование проводится по модулю 2.Корректирующие возможности кода зависят от кодового расстояния, косвенно отражаемого в форме общей записи числом проверочных символов
. В табл 1 приведена система кодовых слов при минимальном для помехозащищенных кодов расстоянии d = 2.Таблица.1
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | ||
0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | ||
0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | ||
0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Разряд
является проверочным на четность по правилу .Из примера видно, что появление ошибки в любом разряде может быть обнаружено, так как возникает комбинация не из набора разрешенных
. Добавляя проверочные разряды, можно поучитьмножество комбинаций с кодовым расстоянием d > 2, что позволяет не только обнаруживать ошибки, но и исправлять их (корректировать).Например, множество кодовых слов с d=3 (табл. 2.2) обладаетвозможностью обнаруживать и исправлять ошибку в одном разряде или же только обнаруживать ошибки в двух разрядах.
Разряды
; ;
являются проверочными на четность.
Таблица 2
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | ||
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | ||
0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | ||
0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | ||
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | ||
0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | ||
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
В общем виде корректирующие возможности кодов с
могут быть охарактеризованы выражениемd = r + s + 1,
где: r— число обнаруживаемых ошибок; s - число исправляемых ошибок.
Например, при d = 4 код может обнаружить две и исправить одну ошибку (r = 2, s= l) или же обнаружить три ошибки ( r = 3, s = 0).
Синтез линейных кодов с заданными свойствами обычно осуществляется кодирующими устройствами (рис. 16, а), которые сравнительно просты, так как содержат только ячейки регистра сдвига (
) и сумматор по модулю 2. К сумматору подключаются выходы тех ячеек регистра, для которых = 1 в соответствии с выбранными линейными формами кода. От вида кода может изменяться не только число связей , но и число сумматоров.Рассмотрим для примера структуру кодирующего устройства для образования линейною кода cd=3 (обычно называемого кодом Хэмминга) при трех информационных и трех контрольных символах (рис. 16, б). В ячейки 1-3 регистра памяти вводятся исходные информационные символы
. Далее проводится сдвиг всех символов на один такт, в результате чего в ячейку 3 записывается сумма по модулю 2 первого и второго информационных символов. После второго сдвига в ячейке 1 будет , в ячейке 2- , а в ячейке 3- . Третий такт сдвига приводит к тому, что в ячейках регистра окажется комбинация проверочных символов к исходной комбинации кода.Рис. 16. Структурные схемы кодирующих устройств для линейных кодов.
При использовании циклического сдвига и выборе линейных форм в соответствии с так называемыми порождающими многочленами образуются циклические коды, в которых каждая комбинация представляет собой блок из информационных и контрольных символов на определенных местах.