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

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

Информационные символы 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

Информационные символы k Контрольные символы т Полная кодовая комбинация n =k + 2
0 00110 1 0 0 0011010
1 00011 0 0 1 0001100
1 01011 1 1 1 0101111

 

Код позволяет обнаружить все одиночные ошибки и любое чётное количество ошибок одного типа, например, только переход нулей в единицы. Не обнаруживаются двойные ошибки разных типов, называемые смещениями, когда один символ переходит из 1 в 0 и одновременно другой символ переходит из 0 в 1. Не обнаруживаются также ошибки одного типа, кратные трем.

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

4.6.2.3. Код с удвоением элементов (корреляционный код)

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

Дл построения кода используется информационная часть в форме двоичного кода. Каждый элемент двоичного кода заменяется двумя символами, причем 1 преобразуется в 10, а 0 – в 01. Таким образом, двоичный код, например, 1010011 преобразуется в кодовую комбинацию корреляционного кода 10011001011010.

Корреляционный код содержит вдвое больше элементов, чем исходный. При декодировании ошибка обнаруживается в том случае, если в парных элементах содержатся одинаковые символы, т.е. 11 или 00 (вместо 10 и 01). При отсутствии искажений вторые (чётные) элементы отбрасываются, и остается информационная комбинация.

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

Недостатком кода является большая избыточность.

4.6.2.4. Инверсный код

В этом коде для увеличения помехоустойчивости к исходной k-разрядной комбинации по определенному правилу добавляется еще k контрольных разрядов по определённому правилу. В результате в полной кодовой комбинации получается удвоенное число символов.

Правило образования кода следующее: если в исходной информационной комбинации содержится чётное число единиц, то добавляемые контрольные разряды повторяют исходную комбинацию, если нечётное, то в добавляемых разрядах все 0 превращаются в 1, а 1 – в 0, т.е. комбинация инвертируется по отношению к исходной. Примеры составления комбинаций инверсного кода из комбинаций семиразрядного двоичного кода представлены в табл. 4.12.

Таблица 4.12