Добрый день клуб подскажите в следующем вопросе: хочу реализовать БЧХ декодер под DVB-S2 (для начала с параметрами QPSK 1/2 короткий фрейм т.е параметры БЧХ будут N=7200 K=7032 t=12 m=14 согласно ETSI 302307 по DVB-S2). Выбрал двоичный БЧХ декодер по книге Морелоса и с ней же приведенный код на С файл "bchbm.c" по алгоритму Беркл-Мэсси... хочу его адаптировать к своим нуждам но возникли проблемы ..... 1 функция - задаю примитивный полином если исходить из реком табл 6б это g1= 1+x+x3+x5+x14 (ПРАВИЛЬНО ЛИ!!!) получаем вектор p[0]...p[14] 2 функция - расчет поля GF(2*m) where m=14 (ПРАВИЛЬНО ЛИ !!!) 3 функция - расчет генераторных полиномов дано длина length=7200, n=2*m-1=2*14-1=16383 (хотя как я понимаю они заданы в рек это таблица 6б g1(x)....g12(x)) ВОТ ТУТ ВОЗНИКЛИ ПРОБЛЕМЫ ... При расчете функции gen_poly() мы задали n=16383 and length = 7200 а также t=12 d = 2*t+1=25 но при расчете самой функции переменная redundancy(длина проврочной части) получается значение 280000 а должно быть 168=t*m=12*14 МОЖЕТ ЧТО НЕ ТО ДЕЛАЮ ....
мне кажется что я неправильно выбираю значение m. (я его беру m=14) Поскольку в начале кода есть условие что (n/2)-1<length<((n+1)/2)+1 где n = (2^14)-1 = 16383 т.е. получаем 16383<length<8191 а у меня length=7200 ???????????????
|