Популярные статьи | |
Сейчас на сайте | Гостей: 1
На сайте нет зарегистрированных пользователей
Пользователей: 9,955
новичок: Logyattella
|
|
Циклические коды |
К числу эффективных кодов, обнаруживающих одиночные, крат-ные ошибки и пачки ошибок, относятся циклические коды (CRC - Cy-clic Redundance Code). Они высоконадежны и могут применяться при блочной синхронизации, при которой выделение, например, бита не-четности, было бы затруднительно.
Один из вариантов циклического кодирования заключается в ум-ножении исходного кода на образующий полином g(X) , а декодиро-вание - в делении на g(Х). Если остаток от деления не равен нулю, то произошла ошибка. Сигнал об ошибке поступает на передатчик, что вызывает повторную передачу.
Образующий полином есть двоичное представление одного из простых множителей, на которые раскладывается число Хn -1, где Xn обозначает единицу в n-м разряде, n равно числу разрядов кодовой группы. Так, если n=10 и Х=2, то Хn-1 =1023=1193, и если g(Х) = 11 или в двоичном коде 1011, то примеры циклических кодов Аi-g(Х) чи-сел Ai в кодовой группе при этом образующем полиноме можно видеть в табл.2.2.
Таблица 2.2
Число Циклический код Число Циклический код
0 0000000000 13 0010001111
1 0000001011 14 0010011010
2 0000010110 15 0010100101
3 0000100001 16 0011000110
… …
Основной вариант циклического кода, широко применяемый на практике, отличается от предыдущего тем, что операция деления на образующий полином заменяется следующим алгоритмом: 1 ) к ис-ходному кодируемому числу А справа приписывается К нулей, где К- число битов в образующем полиноме, уменьшенное на единицу; 2) над полученным числом А(2К) выполняется операция О, отличающаяся от деления тем, что на каждом шаге операции вместо вычитания выпол-няется поразрядная операция “исключающее ИЛИ”; 3) полученный остаток В и есть CRC - избыточный К-разрядный код, который заме-няет в закодированном числе С приписанные справа К нулей, т.е.
C = A(22)+B .
На приемном конце над кодом С выполняется операция О. Если остаток не равен нулю, то при передаче произошла ошибка и нужна повторная передача кода А.
Пример 3. Пусть А = 1001 1101, образующий полином 11001.
Так как К = 4, то А(2к)=100111010000. Выполнение операции О расчета циклического кода показано на рис. 2.7.
Положительными свойствами циклических кодов являются малая вероятность необнаружения ошибки и сравнительно небольшое число избыточных разрядов.
Общепринятое обозначение образующих полиномов дает сле-дующий пример:
g(Х) = Х16+Х12+Х5+ 1,
что эквивалентно коду 1 0001 0000 0010 0001.
|
|
Комментарии |
Добавить комментарий |
Пожалуйста залогиньтесь для добавления комментария.
|
Рейтинги |
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
|
|
Гость |
Вы не зарегистрированны? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Мини-чат | Вам необходимо залогиниться.
Нет присланных сообщений.
|
|