2.2.3.2.  Коды, обнаруживающие ошибки

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

Обнаружение ошибок при декодировании производится путем  проверки принятых комбинаций на четность. Нарушение четности произойдет при появлении ошибок нечетной кратности. Это позволяет обнаружить такие ошибки при проверке. Появление четных ошибок не приводит к изменению четности, поэтому такие ошибки не обнару­живаются. Проверка на четность сводится к определению суммы всех символов кодовой комбинации по модулю 2:

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

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

Таблица 2.7

Исходный

код

Контрольный

символ

Результирующий код

10111

11111

10011

0

1

1

101110

111111

100111

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

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

Следует отметить, что проверки на четность или нечетность широко используются также в устройствах контроля машинных документов (перфолент, перфокарт, магнитных  носителей).

Преимуществом рассмотренных кодов является простота кодиру­ющих и декодирующих устройств, малая избыточность. К недостаткам следует отнести малую обнаружи­вающую способность. Коэффициент обнаружения КОБН = 0,5.

Схема кодирующего устройства, формирующего шестиразрядный код с четным числом единиц, приведена на рис. 2.5, а. Подлежащая передаче пятиразрядная кодовая комбинация x1x2x3x4x5 заносится в регистр, состоящий из триггеров Тг1…Тг5, которые предваритель­но  импульсом Тсбр устанавливаются в нулевое состояние Q1…Q5 = 0.

Формирование кода производится за шесть тактов, отмечаемых импульсами ТИ. Тактовые импульсы последовательно поступают на входы схем И1…И5 и проходят на их выходы в том случае, если на вторые входы схем И по
дан разрешающий сигнал 1 с выходов соответствующих триггеров регистра. Этот сигнал формируется на выходах триггеров тех разрядов регистра, в которые занесены единицы. Количество тактовых импульсов,  прошедших на вход схемы ИЛИ1 и далее на вход счетного триггера Тг6, будет равно числу единиц в передаваемой кодовой комбинации.

При четном числе импульсов, поступивших на вход триггера Тг6 в течение пяти первых тактов (четное число единиц в передаваемой комбинации), последний к началу шестого такта будет находиться в состоянии 0 (Q6 = 0). Импульс шестого такта на выход схемы И6 не пройдет. Если число единиц в передаваемой комбинации будет нечет­ным, триггер Тг6 к началу шестого такта будет находиться в состоянии 1 (Q6 = 1), и на выходе схемы И6 в шестом такте появится импульс.

Выходные сигналы схем И1… И6 последовательно во времени через схему ИЛИ2 подаются на выход кодирующего устройства, где формируется последовательный шестиразрядный код с четным числом, единиц. Единицы кода представляются импульсами, нули – паузами в соответствующих тактах.

Обнаружение ошибок при приеме производится с помощью схем контроля, подсчитывающих число единиц в принятой кодовой ком­бинации, рис. 2.5, б. Определение четности или нечетности производится с помощью счетного триггера Тг, управляющего выдачей кода из регистра.  Код заносится в регистр в течение шести тактов передачи, в это же  время  триггер  Тг  считает число импульсов, поступивших из канала связи. В зависимости от состояния Тг по ис­течении шести тактов импульс выдачи кода ТВК проходит (ес­ли Q = 1, четность не нарушена) или не проходит (если  Q = 0, четность нарушена) через схему И на регистр Рг.

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

кодовой комбинации триггер Тг устанавливается в исходное состояние Q = 0 с помощью импуль­са Тс6р.

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

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

Ошибка об­наруживается, если хотя бы одна из проверок оказывается нечетной. При n0 ³ 5 наименьшая кратность необнаруживаемой ошибки равна 4. Причем не обнаруживаются только такие четырехкратные ошибки, при которых одновременно искажаются информационные и контроль­ные символы, стоящие на одинаковых позициях в исходной и допол­няющей комбинациях. Вероятность обнаружения ошибок четвертой кратности достаточно точно определяет полную вероятность необна­ружения ошибки  и равна:

Таблица 2.8

Исходный

код

Дополняющая

комбинация

Результирующий код

101011

111011

100011

101011

000100

011100

10011101011

111011000100

100011011100