Проверка продольной избыточности

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

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

Термин обычно применяется к одному биту четности на поток битов, вычисляемому независимо от всех других потоков битов ( BIP-8 ). [1] [2]

Это «дополнительное» слово LRC в конце блока данных очень похоже на контрольную сумму и циклический избыточный код (CRC).

Оптимальный прямоугольный код

В то время как простая продольная четность может только обнаруживать ошибки, ее можно комбинировать с дополнительным кодированием контроля ошибок, таким как поперечная проверка избыточности (TRC), для исправления ошибок. Поперечная проверка избыточности хранится на выделенной «дорожке четности».

Всякий раз, когда в передаваемом блоке данных возникает ошибка в одном бите, такая двумерная проверка четности или «двухкоординатная проверка четности» [3] позволяет приемнику использовать TRC для определения, в каком байте произошла ошибка, а LRC — для определения, в какой именно дорожке произошла ошибка, чтобы точно определить, какой именно бит содержит ошибку, а затем исправить этот бит, перевернув его. [4] [5] [6]

Псевдокод

Международный стандарт ISO 1155 [7] гласит, что продольный контроль избыточности для последовательности байтов может быть выполнен программно с помощью следующего алгоритма:

lrc  := 0 для каждого байта b в буфере do  lrc  := ( lrc + b ) и 0xFF lrc  := ((( lrc XOR 0xFF) + 1) и 0xFF)

что можно выразить как «8-битное дополнительное до двух значение суммы всех байтов по модулю 2 8 » ( x AND 0xFFэквивалентно ).x MOD 28

Другие формы

Многие протоколы используют байт продольной проверки избыточности на основе XOR (часто называемый символом проверки блока или BCC), включая протокол последовательного интерфейса (SLIP, не путать с более поздним и хорошо известным протоколом последовательной линии Интернета ), [8] стандарт IEC 62056-21 для считывания показаний электросчетчиков, смарт-карты, как определено в ISO/IEC 7816 , и протокол ACCESS.bus .

Подобный 8-битный LRC эквивалентен циклическому избыточному коду, использующему полином x 8  + 1, но независимость потоков битов менее очевидна, если рассматривать ее таким образом.

Ссылки

  1. ^ RFC  935: «Надежные протоколы канального уровня».
  2. ^ «Ошибки, обнаружение ошибок и контроль ошибок: передача данных и компьютерные сети: подход бизнес-пользователя».
  3. ^ "Chapter1". Архивировано из оригинала 2013-06-13 . Получено 2012-08-20 .
  4. ^ Гэри Х. Кемметмюллер. «Исправление ошибок ОЗУ с использованием двумерной проверки четности».
  5. ^ Остербан. «Продольный паритет».
  6. ^ «Ошибки, обнаружение ошибок и контроль ошибок».
  7. ^ ISO 1155:1978 Обработка информации. Использование продольной четности для обнаружения ошибок в информационных сообщениях.
  8. ^ RFC  914. «Протокол тонкого провода для подключения персональных компьютеров к ИНТЕРНЕТУ». Приложение D: «Протокол последовательного интерфейса (SLIP)».
Взято с "https://en.wikipedia.org/w/index.php?title=Проверка_продольной_избыточности&oldid=1227945839#Оптимальный_прямоугольный_код"