|
|
  |
БЧХ декодер - поясните |
|
|
|
May 4 2011, 09:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Добрый день всем. Догнали и меня БЧХ коды. Делаю декодер, аппаратная реализация, перечитал кучу книжек, все равно непонятные моменты остались. Наворочены формулы, индексы - не поймешь, а в реализации все проще как оказывается. Такие вопросы, подскажите пожалуйста: 1. Если у меня 60 проверочных бит (исправляет 6 ошибок) - то у меня должно быть 60 бит синдрома ошибок? 2. Синдром вычисляем сдвиговым регистром (умножаем на порождающий полином). А вот дальше тупик. Что с ним делать? Надо искать полином локаторов ошибок. Нашел реализацию процедуры ченя (картинка). Что есть что на ней непонятно, несколько раз прочитал- все равно не понятно. Кто имел дело с декодированием, наверняка все очевидно покажется. 3. Что такое альфа и лябда на картинке? 4. Чему равно t - количеству проверочных бит или общему количеству бит? 5. Написано все возможные положения ошибок проверяются последовательно - если у меня 560 бит всего, то я что, должен проверить 2^560 вариантов комбинаций ошибок? Что то нереально. Или по одной надо проверять последовательно? 6. Что делает квадрат на блок схеме с лябдой? Это регистр? Если спросил что-то глупое- сразу извиняюсь, недавно в тему начал вникать, каша в голове
Эскизы прикрепленных изображений
|
|
|
|
|
May 4 2011, 18:56
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(alexPec @ May 4 2011, 03:59)  1. Если у меня 60 проверочных бит (исправляет 6 ошибок) - то у меня должно быть 60 бит синдрома ошибок? разрядность синдрома ошибки t+1 m битовых чисел Цитата 2. Синдром вычисляем сдвиговым регистром (умножаем на порождающий полином). А вот дальше тупик. Что с ним делать? искать по синдрому полином локаторов ошибок, потом по полиному локаторов искать положения ошибок. Для битовых кодов все. Цитата 3. Что такое альфа и лябда на картинке? альфа примитивный элемент поля галуа, лямбда - полином локаторов ошибок Цитата 4. Чему равно t - количеству проверочных бит или общему количеству бит? кхм, в матлабе читаем хелп, по кодам БЧХ Цитата 5. Написано все возможные положения ошибок проверяются последовательно - если у меня 560 бит всего, то я что, должен проверить 2^560 вариантов комбинаций ошибок? Что то нереально. Или по одной надо проверять последовательно? последовательно, за кол-во операций == размерности кодового слова. 560 не айс для кодов БЧХ, ИМХО. Цитата 6. Что делает квадрат на блок схеме с лябдой? Это регистр? рекурсивный умножитель в полях галуа, для процедуры ченя Цитата Если спросил что-то глупое- сразу извиняюсь, недавно в тему начал вникать, каша в голове  у меня там даже поведенческая модель есть референсная, там БЧХ кодер по косточкам разложен. да и код там написан простым языком. скелет вычисляется на раз + RiBM, SiBM алгоритмы есть. Цитата(Джеймс @ May 4 2011, 11:45)  прошу извинить  а где можно слить сорцы?  В теме AHDL vs System Verilog, предпоследний пост вроде бы. После этого я еще пару ошибок устранил (при определенных полиномах баги лезли) + подчистил код. Как нить соберусь и выложу. Вот только генерация порождающего полинома мне пока не дается. времени нет %(
--------------------
|
|
|
|
|
May 4 2011, 19:59
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(SKov @ May 4 2011, 13:24)  Пожалуй, все-таки ближе к t m битовых чисел  согласен, сбила адресация [1:t] в коде, привык что обычно индексация с нуля идет  Цитата(Fast @ May 4 2011, 13:34)  на данной схеме Альфа не элемент поля, а скорее вектор ошибки кратности 1...t, ИМХО вы ошибаетесь, даже текст на картинке говорит об обратном, но спорить о терминах не буду
--------------------
|
|
|
|
|
May 4 2011, 20:42
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(des00 @ May 4 2011, 23:59)  ИМХО вы ошибаетесь, даже текст на картинке говорит об обратном, но спорить о терминах не буду да, чето я подзабыл алгоритм БМ... конечно, корнем многочлена локатора является элемент поля
|
|
|
|
|
May 5 2011, 12:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(des00 @ May 5 2011, 13:47)  смешно  PS. поймите правильно, я не пытаюсь обидеть. просто на этом поприще бьется куча народу, вряд ли ближайшие лет 5 такой мультиформатный декодер кто то выложит. Но опенкоресах кстати есть на фиксированную скорость LDPC кодер декодер Как раз такой декодер и делаю, только не DVB-S, а специализированный. LDPC осилил  , поддерживает 9 длин входных блоков, каждый на 3 скорости декодировать можно. Не без ниоса конечно, но ниос только при смене длины блока/скорости участвует (переконфигурирует). БЧХ в процессе, вопрос, если позволите (возвращаясь к теме): Нужно получить 2t синдромов. Для этого по Блейхуту (рис) надо найти v(a), v(a^2), ...v(a^2t) v- входные данные, альфа - элемент поля. Не соображу как это. Подозреваю, что делается это схемой умножения или деления полиномов, типа той что на рисунке, но что есть что тут? Сдесь a^n задается конфигурацией обратных связей или я вообще не туда? Если все таки это то, а^n - это тоже элемент поля, и обратные связи строятся по его двоичному представлению? PS сначала думал, что синдромы почаются делением входного слова на примитивные полиномы (остаток от деления), перемножением которых получается порождающий. Перечитал несколько раз - похоже нет, с альфой связано.
Эскизы прикрепленных изображений
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|