Обнаружение и исправление одиночных ошибок путем

Использования дополнительных разрядов

Рассмотрим возможность использования дополнительных (контрольных) разрядов для обнаружения и исправления ошибок. Эта возможность заключается в том, что к n информационным разрядам добавляется один контрольный разряд. В него записывается 0 или 1 таким образом, чтобы для каждого из передаваемых чисел сумма разрядов по модулю 2 была бы равна 0 (кодирование по методу четности) или 1 (нечетности).Появление ошибки в числе обнаружится по нарушению четности или нечетности. При этом виде кодирования допускается возможность выявления только одиночной ошибки. Чтобы одна комбинация разрядов числа превратилась в другую без выявления ошибки, необходимо изменение четного (2, 4, 6 и так далее) числа разрядов одновременно. Пример реализации метода контроля по методу четности-нечетности приведен ниже в табл. 5.

Рассмотренный способ контроля по методу четности-нечетности может быть видоизменен для локализации (выявления места) ошибки в числе. Длинное число разбивается на группы разрядов, каждая из которых содержит k разрядов.

Таблица 5.

  Число Контрольный разряд Проверка (нечетности)  
   
  1-ошибка  
   
   
   

 

Контрольные разряды выделяются всем группам по строкам и по столбцам согласно следующей схеме:

 

  a1 a2 a3 A4 a5 k1  
  a6 a7 a8 a9 a10 k2  
  a11 a12 a13 a14 a15 k3  
  a16 a17 a18 a19 a20 k4  
  a21 a22 a23 a24 a25 k5  
  k6 k7 k8 k9 k10    

Если ошибка произошла в разряде as (единица изменилась на ноль или наоборот), то при проверке на четность (нечетность) сумма по i-й строке и j-му столбцу (на пересечении которых находится элемент as) изменится. Следовательно, можно зафиксировать нарушение четности (нечетности) по этой строке и столбцу. Это не только позволит обнаружить ошибку, но и локализовать ее место. Изменив значение разряда as на противоположное можно исправить возникшую ошибку.

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