ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
16195
Сергей Борщ (01.11.2004 20:33, просмотров: 1979)
Объясните идиоту про FEC Создаю свой протокол для обмена по радиоканалу. Побаловался с восстановлением ошибок описанным в протоколе Mobitex (см. описание CMX909, например). Но вычисления через матрицы с подсчетом количества единичек не возбуждают. Начитавшись умной книжки Б.Скляра "Цифровая связь" решил сотворить свой линейный блочный код (12,8) с восстановлением одной ошибки. Т.е. с теми же свойствами, что и у CML, только проще в реализации софтом. В букваре сказано, что "если g(x) является полиномом степени n-k и множителем X^n+1, то g(x) однозначным образом генерирует циклический код (n,k). Для моего случая у полинома X^12+1 сушествует три делителя степени 4: X^4+1, X^4+X^2+1, X^4+X^3+X+1. Однако прогоны в тестовой программке (да и деление полиномов столбиком) показывают, что ни один из этих полиномов не позволяет однозначно исправить однобитовую ошибку - они дают одинаковый синдром на нескольких ошибочных комбинациях. Например для полинома X^4+X^3+X+1: 000000000001 : 000000000001 000000000010 : 000000000010 000000000100 : 000000000100 000000001000 : 000000001000 000000010000 : 000000001011 000000100000 : 000000001101 000001000000 : 000000000001 000010000000 : 000000000010 000100000000 : 000000000100 001000000000 : 000000001000 010000000000 : 000000001011 100000000000 : 000000001101 Что я делаю неправильно? Какие критерии кроме делимости X^n+1 на генератор должны соблюдаться?