CRC коды

Примером использования семейства циклических кодов является кон­троль ошибок с помощью циклического избыточного кода, то есть CRC кода ( Cyclic redundancy check), называемого также кодом Аб­рамович. При передаче данных в пакетных режимах, эти коды ис­пользуются для определения целостности блоков данных (FCS - Frame Checking Sequence). Примером систем с FCS являются стан­дарты передачи данных Х.25 (HDSL), ISDN, DECT и LAN. CRC ко­ды представляют собой расширения циклических кодов Хэмминга.

Цусть р(Х) - примитивный многочлен степени т, тогда порож­дающий многочлен CRC кода д(Х) можно записать в виде произве­дения

clip_image002

С помощью порождающего многочлена д(Х) может быть построен циклический CRC (п, /с)-код с параметрами п = 2m—1, к — 2т—т—2, имеющий т + 1 проверочных символов и dm,n = 4.1 CRC-коды обладают пятью важными свойствами:

Таблица 3.8. Порождающие многочлены CRC кодов.

clip_image004

1. Все ошибки кратности 3 или меньше обнаруживаются;

2. Все ошибки нечетной кратности обнаруживаются;

3. Все пакеты ошибок длины I = т + 1 или меньше обнаружива­ются;

4. Доля необнаружимых пакетов ошибок длины I — т + 2 состав­ляет 2~т;

5. Доля необнаружимых пакетов ошибок длины I > т + 3 состав­ляет 2~-1У

Все перечисленные свойства позволяют эффективно использо­вать CRC код при передачи данных с переспросами (протокол ARQ).

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

Предлагаю ознакомиться с аналогичными статьями: