Примеры построения кода с проверкой на чётность

Пятиразрядный код с двумя единицами и пример семиразрядного кода с тремя единицами

Код С52 Код С73
1 0 1 0 1 0 0
0 1 0 1 0 1 0
1 1 1 0 0 0 0
0 0 0 0 1 1 1
1 0 0 1 0 0 1

 

Правильность принятых кодовых комбинаций в кодах определяется путем подсчета количества единиц, и если, например, в коде С52приняты не две единицы, а в коде С73 – не три единицы, то в передаче произошла ошибка.

Код С73может обнаружить все одиночные ошибки, так как при этом в комбинации будет либо две единицы, либо четыре. Кроме того, он позволяет обнаружить часть многократных ошибок (двойные, тройные и т.п.), за исключением случаев, когда одна из единиц переходит в нуль, а один из нулей – в единицу (такое двойное искажение называется смещением). При смещениях искажение также не обнаруживается.

Все сказанное справедливо и для кода С52.

4.6.1.2. Распределительный код

Распределительным называется код Cn1 с одной единицей в кодовой комбинации.Это разновидность кода с постоянным весом, равным единице. В любой кодовой комбинации длиной п содержится только одна единица. Число кодовых комбинаций в распределительном коде

N=Cnl=n.

Кодовые комбинации при n=6 можно записать в виде 000001, 000010, 000100, 001000, 010000, 100000. Сложение по модулю 2двух комбинаций показывает, что они отличаются друг от друга на кодовое расстояние d = 2.

4.6.2. Коды, построенные добавлением контрольных разрядов

Для построения этих кодов также используется двоичный код на все сочетания. Он образует информационную часть полной кодовой комбинации корректирующего кода, к которой добавляются контрольные разряды, формируемые по определённому правилу.

4.6.2.1. Код с проверкой на чётность

Такой код образуется путем добавления к передаваемой комбинации, состоящей из k информационных символов неизбыточного кода, одного контрольного символа т (0 или 1) так, чтобы общее число единиц в передаваемой комбинации было чётным. Таким образом, общее число символов в передаваемой комбинации n = k + 1, так как т=1. Примеры построения кода с проверкой на чётность приведены в табл. 4.10.

В приведённых примерах длина исходной кодовой комбинации k=5, это позволяет передать N=25=32 кодовые комбинации. Хотя приписывание контрольного символа и увеличивает разрядность кода до n=6, число комбинаций корректирующего кода остается прежним. Поэтому общее число информационных комбинаций N = 2n-1.

Таблица 4.10

Информационные символы k Контрольный символ т Полная кодовая комбинация n=k + 1
1 1 0 1 1 1 1 0 1 1 0
1 0 1 0 1 1 0 1 0 1 1
0 0 0 1 0 0 0 0 1 0 1
1 1 0 0 0 1 1 0 0 0 0
1 1 1 1 0 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 1 1

 

Таким образом, этот код обладает избыточностью, так как вместо N=26=64 комбинаций можно применять только N=26-1=32 комбинации.

Мера избыточности определяется отношением числа контрольных символов т к длине слова:

И=(n – k)/n=m/n.

Для пятиразрядного кода с проверкой на чётность избыточность
И =1/6. Очевидно, чем длиннее кодовая комбинация, тем меньше избыточность и больше экономичность кода. Добавление контрольного символа увеличивает кодовое расстояние в передаваемых комбинациях от dmin = 1 до dmin = 2.

Декодирование кода заключается в том, что на приёмной стороне производят так называемую проверку на чётность. В принятых комбинациях подсчитывают количество единиц: если оно чётное, считают, что искажений не было. Тогда последний контрольный символ отбрасывают и записывают информационную комбинацию. Очевидно, чётное число искажений такой код обнаружить не может, так как число единиц при этом снова будет чётным. В то же время этот код способен обнаружить не только одиночные, но и тройные, пятерные и т.п. ошибки, т.е. любое возможное нечётное число ошибок, так как сумма единиц в принятой кодовой комбинации становится нечётной.

В случае если велика вероятность появления многократных ошибок, код использовать нецелесообразно.

По изложенному принципу строится код с проверкой на нечётность, который также широко применяется в телемеханике.

4.6.2.2. Код с числом единиц, кратным трём

Этот код образуется добавлением к k информационным символам двух дополнительных контрольных символов (m=2), имеющих такие значения, чтобы сумма единиц, посылаемых в линию кодовых комбинаций, была кратной трем. Примеры комбинации такого кода представлены в табл. 4.11.

Таблица 4.11