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

 
 
> БЧХ декодер - поясните
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
 
Start new topic
Ответов
des00
сообщение May 10 2011, 15:19
Сообщение #2


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

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



посмотрю позже


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


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

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



Цитата(des00 @ May 10 2011, 19:19) *
посмотрю позже


Исправил я у себя мелкие ошибки, скомпилировал Ваш проект. Взял отдельно модуль bch_syndrome_count_mult с параметром 1 (вычисляю пока только первый синдром), загнал в тестбенч, проверил со своим аналогом на си - данные (значения синдрома после каждого такта) совпадают, проверял на примерно 60 значениях. На вход подавал в одном случае все единицы, в другом последовательность 0,1,0,1,0,1,... В обоих случаях полное совпадение с результатами "модели" на си. Но когда в модель на си подаю реальный бчх код длиной 532 - синдром нулевой почему то не получается, при этом те же данные подаю на такой код:
Код
   for (i = 1; i <= t2; i++)
   {
       calc_m(i);  //моя функция вычисления MULT_BY_A по хдл-коду
       calc_syn(i); //моя функция вычисления синдрома по хдл-коду
       s[i] = 0;
       for (j = 0; j < N_bch; j++) //N_bch=532
               if (input[j] != 0) s[i] ^= alpha_to[(i * j) % n_bch];//n_bch=1023;
       if (s[i] != 0) syn_error = 1; // Флаг ненулевого синдрома (т.е. обнаружена ошибка)
       s[i] = index_of[s[i]]; // Переход к степеням от альфа
   }


первый синдром - нулевой. Таблицы alpha_to и index_of одни и те же.
Свои мысли кончились, подскажите где копать.

Кстати, значение синдрома после каждого клока должно совпадать со значением синдрома в этом коде после каждой итерации?

UPD: Развернул поток битов БЧХ зеркально (т.е. первый бит это последний, а последний- это первый), сишная модель hdl теперь выдает нормальный синдром 0,а код выше - то же значение которое выдавала сишная модель до разворота битов. Что сделать чтоб в таком же порядке биты подавать (как и в программу) и при этом чтоб hdl правильно считал синдромы?
Go to the top of the page
 
+Quote Post
des00
сообщение May 11 2011, 01:18
Сообщение #4


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

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



Цитата(alexPec @ May 10 2011, 15:38) *
Кстати, значение синдрома после каждого клока должно совпадать со значением синдрома в этом коде после каждой итерации?

да
Цитата
UPD: Развернул поток битов БЧХ зеркально (т.е. первый бит это последний, а последний- это первый), сишная модель hdl теперь выдает нормальный синдром 0,а код выше - то же значение которое выдавала сишная модель до разворота битов. Что сделать чтоб в таком же порядке биты подавать (как и в программу) и при этом чтоб hdl правильно считал синдромы?

начинаю припоминать, что то похожее. я отталкивался от аппаратной реализации и относительно сишной базы, которую использовал, там была инверсия битов. Поэтому референсные сишные примеры для начального тестирования приходилось править.

Вопрос вычисления синдромов зависит же не только от того какой бит пихать, но и от того как работает кодер. Нужно что бы они работали одинаково. И пихать для тестов в кодер лучше ранодом, инициализируемый, в случае чего констатным значением.


--------------------
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 12 2011, 17:18
Сообщение #5


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

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



Цитата(des00 @ May 11 2011, 05:18) *
да

начинаю припоминать, что то похожее. я отталкивался от аппаратной реализации и относительно сишной базы, которую использовал, там была инверсия битов. Поэтому референсные сишные примеры для начального тестирования приходилось править.

Вопрос вычисления синдромов зависит же не только от того какой бит пихать, но и от того как работает кодер. Нужно что бы они работали одинаково. И пихать для тестов в кодер лучше ранодом, инициализируемый, в случае чего констатным значением.


Уважаемый Des, СПАСИБО! Со всем разобрался, все получилось как хотел. Помогли сэкономить кучу времени! Дай Бог здоровья тебе добрый человек!
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 15 2011, 06:56
Сообщение #6


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

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



Цитата(alexPec @ May 12 2011, 12:18) *
Уважаемый Des, СПАСИБО! Со всем разобрался, все получилось как хотел. Помогли сэкономить кучу времени! Дай Бог здоровья тебе добрый человек!

думаю вам будет интересна реализация simplified reformulated IBM (SRIBM) алгоритма для БЧХ кодов, много лучше чем simplified IBM (SIBM).



--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexPec   БЧХ декодер - поясните   May 4 2011, 09:59
- - des00   сорцы мои слейте, там все написано %) причем потом...   May 4 2011, 10:02
|- - alexPec   Цитата(des00 @ May 4 2011, 14:02) сорцы м...   May 4 2011, 14:16
|- - Джеймс   Цитата(des00 @ May 4 2011, 14:02) сорцы м...   May 4 2011, 17:45
- - des00   Цитата(alexPec @ May 4 2011, 03:59) 1. Ес...   May 4 2011, 18:56
|- - SKov   Цитата(des00 @ May 4 2011, 22:56) разрядн...   May 4 2011, 19:24
||- - des00   Цитата(SKov @ May 4 2011, 13:24) Пожалуй,...   May 4 2011, 19:59
||- - Fast   Цитата(des00 @ May 4 2011, 23:59) ИМХО вы...   May 4 2011, 20:42
|- - alexPec   Спасибо! Стало яснее, дальше грызу гранит БЧХ ...   May 5 2011, 08:53
- - Fast   на данной схеме Альфа не элемент поля, а скорее ве...   May 4 2011, 19:34
- - Fast   раз уж разговор зашел подскажите, нет ли у кого дл...   May 5 2011, 09:36
|- - des00   Цитата(Fast @ May 5 2011, 03:36) референс...   May 5 2011, 09:47
|- - alexPec   Цитата(des00 @ May 5 2011, 13:47) смешно ...   May 5 2011, 12:43
|- - des00   Цитата(alexPec @ May 5 2011, 07:43) Как р...   May 5 2011, 14:31
|- - alexPec   Уважаемый Des, увидел такую штуку в Вашем коде при...   May 6 2011, 06:33
|- - Mikhalych   Цитата(alexPec @ May 6 2011, 10:33) ... э...   May 6 2011, 07:04
|- - SKov   Цитата(alexPec @ May 6 2011, 10:33) как я...   May 6 2011, 07:27
|- - des00   Цитата(alexPec @ May 6 2011, 01:33) Уважа...   May 6 2011, 07:31
|- - alexPec   Цитата(des00 @ May 6 2011, 11:31) откуда ...   May 6 2011, 14:52
|- - alexPec   Цитатаумножитель в полях галуа вида variable by co...   May 7 2011, 21:00
|- - des00   Цитата(alexPec @ May 7 2011, 15:00) Вот о...   May 8 2011, 02:28
|- - alexPec   Цитата(des00 @ May 8 2011, 06:28) да, тол...   May 10 2011, 08:00
- - Fast   спасибо, обнадежили, я думал, что гугл сломался )...   May 5 2011, 10:06
|- - SKov   Цитата(Fast @ May 5 2011, 14:06) сделаю с...   May 5 2011, 10:42
|- - Fast   Цитата(SKov @ May 5 2011, 14:42) Если сер...   May 6 2011, 11:44
|- - SKov   Цитата(Fast @ May 6 2011, 15:44) ушло 2 ч...   May 6 2011, 16:02
|- - Serg76   Цитата(SKov @ May 6 2011, 19:02) И почему...   May 6 2011, 16:52
||- - SKov   Цитата(Serg76 @ May 6 2011, 20:52) Челове...   May 6 2011, 17:48
||- - Serg76   Цитата(SKov @ May 6 2011, 20:48) Если счи...   May 6 2011, 19:14
|- - Fast   Цитата(SKov @ May 6 2011, 20:02) У вас дв...   May 6 2011, 20:20
|- - SKov   Цитата(Fast @ May 7 2011, 00:20) мягкий B...   May 6 2011, 21:39
|- - Fast   Цитата(SKov @ May 7 2011, 01:39) Это все ...   May 7 2011, 06:22
|- - SKov   Цитата(Fast @ May 7 2011, 10:22) я сходу ...   May 7 2011, 11:04
|- - Fast   Цитата(SKov @ May 7 2011, 15:04) Это наиб...   May 7 2011, 22:02
|- - SKov   Цитата(Fast @ May 8 2011, 02:02) это не н...   May 8 2011, 06:55
|- - Fast   Цитата(SKov @ May 8 2011, 10:55) Худший п...   May 8 2011, 11:43
|- - Fast   Цитата(SKov @ May 8 2011, 10:55) Если LDP...   Nov 8 2011, 18:15
- - des00   посмотрю позже   May 10 2011, 15:19
|- - x736C   Цитата(des00 @ May 11 2011, 05:18) И пиха...   May 11 2011, 06:55
|- - alexPec   Цитата(des00 @ May 11 2011, 05:18) Вопрос...   May 11 2011, 07:07
|- - alexPec   Цитата(des00 @ Jul 15 2011, 10:56) думаю ...   Jul 16 2011, 17:40
- - NIKOLASIUS   Уважемые ГУРУ по кодам. Проясните ситуацию для мен...   May 12 2011, 13:11
|- - petrov   Цитата(NIKOLASIUS @ May 12 2011, 17:11) У...   May 12 2011, 15:51
- - NIKOLASIUS   Применив CRC-16 совместно с БЧХ кодом (к кодируемы...   May 18 2011, 08:08


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

 


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


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