реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> БЧХ декодер - поясните
alexPec
сообщение May 4 2011, 09:59
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день всем. Догнали и меня БЧХ коды. Делаю декодер, аппаратная реализация, перечитал кучу книжек, все равно непонятные моменты остались. Наворочены формулы, индексы - не поймешь, а в реализации все проще как оказывается. Такие вопросы, подскажите пожалуйста:

1. Если у меня 60 проверочных бит (исправляет 6 ошибок) - то у меня должно быть 60 бит синдрома ошибок?
2. Синдром вычисляем сдвиговым регистром (умножаем на порождающий полином). А вот дальше тупик. Что с ним делать?
Надо искать полином локаторов ошибок. Нашел реализацию процедуры ченя (картинка). Что есть что на ней непонятно, несколько раз прочитал- все равно не понятно. Кто имел дело с декодированием, наверняка все очевидно покажется.
3. Что такое альфа и лябда на картинке?
4. Чему равно t - количеству проверочных бит или общему количеству бит?
5. Написано все возможные положения ошибок проверяются последовательно - если у меня 560 бит всего, то я что, должен проверить 2^560 вариантов комбинаций ошибок? Что то нереально. Или по одной надо проверять последовательно?
6. Что делает квадрат на блок схеме с лябдой? Это регистр?

Если спросил что-то глупое- сразу извиняюсь, недавно в тему начал вникать, каша в голове sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
des00
сообщение May 4 2011, 10:02
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



сорцы мои слейте, там все написано %) причем потом еще и укороченные коды прикрутил


--------------------
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 4 2011, 14:16
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(des00 @ May 4 2011, 14:02) *
сорцы мои слейте, там все написано %) причем потом еще и укороченные коды прикрутил

Спасибо, сорцы слил, посмотрел, но все таки хотелось бы увидеть ответы, с моими конкретными цифрами, ато пока понимания нет перенести алгоритмы с готовой реализации на реализацию с другими параметрами тяжело.
Go to the top of the page
 
+Quote Post
Джеймс
сообщение May 4 2011, 17:45
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(des00 @ May 4 2011, 14:02) *
сорцы мои слейте, там все написано %) причем потом еще и укороченные коды прикрутил

прошу извинить sm.gif а где можно слить сорцы? sm.gif
Go to the top of the page
 
+Quote Post
des00
сообщение May 4 2011, 18:56
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 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. Что делает квадрат на блок схеме с лябдой? Это регистр?

рекурсивный умножитель в полях галуа, для процедуры ченя

Цитата
Если спросил что-то глупое- сразу извиняюсь, недавно в тему начал вникать, каша в голове sm.gif

у меня там даже поведенческая модель есть референсная, там БЧХ кодер по косточкам разложен. да и код там написан простым языком. скелет вычисляется на раз + RiBM, SiBM алгоритмы есть.


Цитата(Джеймс @ May 4 2011, 11:45) *
прошу извинить sm.gif а где можно слить сорцы? sm.gif

В теме AHDL vs System Verilog, предпоследний пост вроде бы. После этого я еще пару ошибок устранил (при определенных полиномах баги лезли) + подчистил код. Как нить соберусь и выложу. Вот только генерация порождающего полинома мне пока не дается. времени нет %(


--------------------
Go to the top of the page
 
+Quote Post
SKov
сообщение May 4 2011, 19:24
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(des00 @ May 4 2011, 22:56) *
разрядность синдрома ошибки t+1 m битовых чисел

Пожалуй, все-таки ближе к t m битовых чисел wink.gif
Go to the top of the page
 
+Quote Post
Fast
сообщение May 4 2011, 19:34
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



на данной схеме Альфа не элемент поля, а скорее вектор ошибки кратности 1...t, где t - макс.число исправляемых кодом ошибок.
для вектора ошибки соотв. кратности ищется свой полином локатора ошибок Лямбда, корни которого находятся процедурой Ченя.
затем алгоритмом Форни ищется конфигурация ошибок (характер вектора ошибки)
и исправляется простым xor с исходным кодовым словом
Go to the top of the page
 
+Quote Post
des00
сообщение May 4 2011, 19:59
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SKov @ May 4 2011, 13:24) *
Пожалуй, все-таки ближе к t m битовых чисел wink.gif

согласен, сбила адресация [1:t] в коде, привык что обычно индексация с нуля идет biggrin.gif

Цитата(Fast @ May 4 2011, 13:34) *
на данной схеме Альфа не элемент поля, а скорее вектор ошибки кратности 1...t,

ИМХО вы ошибаетесь, даже текст на картинке говорит об обратном, но спорить о терминах не буду


--------------------
Go to the top of the page
 
+Quote Post
Fast
сообщение May 4 2011, 20:42
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(des00 @ May 4 2011, 23:59) *
ИМХО вы ошибаетесь, даже текст на картинке говорит об обратном, но спорить о терминах не буду
да, чето я подзабыл алгоритм БМ... конечно, корнем многочлена локатора является элемент поля
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 5 2011, 08:53
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Спасибо! Стало яснее, дальше грызу гранит БЧХ кодов sm.gif
Go to the top of the page
 
+Quote Post
Fast
сообщение May 5 2011, 09:36
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



раз уж разговор зашел
подскажите, нет ли у кого для DVB-S2 кодера-декодера, референс код BCH-LDPC на разные скорости
что-то в сети найти не могу, секрет что ли большой..
Go to the top of the page
 
+Quote Post
des00
сообщение May 5 2011, 09:47
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Fast @ May 5 2011, 03:36) *
референс код BCH-LDPC на разные скорости

смешно biggrin.gif biggrin.gif biggrin.gif

PS. поймите правильно, я не пытаюсь обидеть. просто на этом поприще бьется куча народу, вряд ли ближайшие лет 5 такой мультиформатный декодер кто то выложит. Но опенкоресах кстати есть на фиксированную скорость LDPC кодер декодер


--------------------
Go to the top of the page
 
+Quote Post
Fast
сообщение May 5 2011, 10:06
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



спасибо, обнадежили, я думал, что гугл сломался ))
сделаю сам на C/C++ прототип, пару мес надеюсь хватит

Go to the top of the page
 
+Quote Post
SKov
сообщение May 5 2011, 10:42
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(Fast @ May 5 2011, 14:06) *
сделаю сам на C/C++ прототип, пару мес надеюсь хватит

Не забудьте выложить в доступном месте wink.gif
Если серьезно - пару месяцев уйдет на то, чтобы прочесть хотя бы 10 (лучше 30-50) статей и разобраться
с разновидностями декодеров и выбрать, что вам подходит по цвету и вкусу wink.gif
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 5 2011, 12:43
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(des00 @ May 5 2011, 13:47) *
смешно biggrin.gif biggrin.gif biggrin.gif

PS. поймите правильно, я не пытаюсь обидеть. просто на этом поприще бьется куча народу, вряд ли ближайшие лет 5 такой мультиформатный декодер кто то выложит. Но опенкоресах кстати есть на фиксированную скорость LDPC кодер декодер


Как раз такой декодер и делаю, только не DVB-S, а специализированный. LDPC осилил biggrin.gif , поддерживает 9 длин входных блоков, каждый на 3 скорости декодировать можно. Не без ниоса конечно, но ниос только при смене длины блока/скорости участвует (переконфигурирует).

БЧХ в процессе, вопрос, если позволите (возвращаясь к теме):

Нужно получить 2t синдромов. Для этого по Блейхуту (рис) надо найти v(a), v(a^2), ...v(a^2t) v- входные данные, альфа - элемент поля. Не соображу как это. Подозреваю, что делается это схемой умножения или деления полиномов, типа той что на рисунке, но что есть что тут? Сдесь a^n задается конфигурацией обратных связей или я вообще не туда?
Если все таки это то, а^n - это тоже элемент поля, и обратные связи строятся по его двоичному представлению?

PS сначала думал, что синдромы почаются делением входного слова на примитивные полиномы (остаток от деления), перемножением которых получается порождающий. Перечитал несколько раз - похоже нет, с альфой связано.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 17:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016