В электросвязи проверка продольным избыточным кодом (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] МЭК 62056 -21 стандарта для чтения электрических метров, смарт - карты , как определено в ISO / IEC 7816 и протоколе ACCESS.bus .
8-битный LRC, такой как этот, эквивалентен циклическому контролю избыточности с использованием полинома x 8 + 1, но независимость потоков битов менее очевидна при рассмотрении таким образом.
Рекомендации
- ^ RFC 935 : "Надежные протоколы канального уровня".
- ^ «Ошибки, обнаружение ошибок и контроль ошибок: передача данных и компьютерные сети: подход бизнес-пользователей» .
- ^ [1] .
- ^ Гэри Х. Кемметмюллер. «Исправление ошибок ОЗУ с помощью двумерной проверки четности» .
- ^ Oosterbaan. «Продольный паритет» .
- ^ «Ошибки, обнаружение ошибок и контроль ошибок» .
- ^ ISO 1155: 1978 Обработка информации - Использование продольной четности для обнаружения ошибок в информационных сообщениях .
- ^ RFC 914 . «Тонкий протокол для подключения персональных компьютеров к ИНТЕРНЕТУ». Приложение D: «Протокол интерфейса последовательной линии (SLIP)».
- Эта статья включает материалы, являющиеся общественным достоянием, из документа General Services Administration : «Федеральный стандарт 1037С» .(в поддержку MIL-STD-188 )