|
|
  |
Коды БЧХ, Вопросы по алгоритмам декодирования |
|
|
|
Sep 28 2010, 12:54
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(SKov @ Sep 28 2010, 15:58)  Без обратного элемента - это хорошо, но не всегда подходит. Часто заказчик требует особо быстрого декодирования 1-2 ошибок, а там без обратного элемента не получается. Я делал на 12 ошибок - алгоритм БМ без обратного элелемнта в GF(2^13) алгоритм RiBM вычислял коэф. за 24 такта, SiBM вычислил бы за 12 тактов, но чёто у меня не получилось его реализовать Для 1-2 ошибок Хемминг лучше
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Sep 28 2010, 13:02
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(x736C @ Sep 28 2010, 16:59)  Вопрос ко всем. А вы память используете? нет - всё на логике и сдвиговых регистрах
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Sep 28 2010, 14:08
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(des00 @ Sep 28 2010, 17:53)  ... использовали умножители в GF за такт? Да - за один такт. Сделаны на логике - для некоторых видов порождающих полиномов есть очень простое решение (статейку на эту тему я приводил) Цитата(des00 @ Sep 28 2010, 17:53)  ЗЫ. Классический алгоритм БМ, приведенный у блейхута это RiBM или SiBM? У него iBM вроде =) Если сравнивать аппаратные затраты и скорость вычислений для этих 3х алгоритмов - то тут данные такие: t - исправляющая способность кода; GFA - сумматор в GF; GFM - умножитель в GF; MUX - мультиплексор; REG - регистр; Cycle - число тактов для вычисления коэф-тов iBM -> GFA: 2t+1 GFM: 3+3 REG: 4t+4 MUX: t+1 Cycle: 3t RiBM -> GFA: 3t+1 GFM: 6t+2 REG: 6t+2 MUX: 3t+1 Cycle: 2t SiBM -> GFA: 2t GFM: 4t REG: 2t+1 MUX: 2t Cycle: t
Сообщение отредактировал Mikhalych - Sep 28 2010, 15:24
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Oct 1 2010, 07:40
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Mikhalych @ Sep 28 2010, 07:54)  алгоритм RiBM вычислял коэф. за 24 такта, SiBM вычислил бы за 12 тактов, но чёто у меня не получилось его реализовать либо я тупой, либо одно из двух  в статьях выложенных выше приведены 4 варианта алгоритма SiBM. Но все они разные. В целях пристрелки реализовал один в один 3 штуки ни один не работает(причем в одном алгоритме была ошибка). Детальное исполнение алгоритма на бумажке показывает что косяков в реализации нет, но алгоритм не работает %) Может быть у кого нить есть статья с описанием SiBM который приведен без ошибок? Спасибо.
--------------------
|
|
|
|
|
Oct 4 2010, 13:04
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Oct 4 2010, 06:10)  ИМХО это нормальная ситуация, графики BER для кодированной и не кодированной модуляции пересекаются в области высокой вероятности ошибки, и не кодированная передача становится лучше, а в кодированной происходит размножение ошибок, шум превышает расстояние евклида или хемминга до границы принятия решения и декодер начинает принимать за истинные другие кодовые слова. то что ситуация обычная это понятно, но ведь должен же существовать какой то способ, для определения того, что ошибок больше чем корректирующая способность(t)? На степень полинома локаторов надежды нет, т.к. он, алгоритмически ограничен t, поиск корней полинома тоже может дать сбой (как в этом примере). Вот мне и интересно, как определить что ошибок больше чем нужно и выдать сигнал decfailed, вместо мусора %) По идее можно бы воспользоваться свойством вырождения матрицы синдромов, но считать детерминант на лету, не есть гуд. Еще нашел в блейхуте что можно вычислить спектр кода, но вот пока еще неясно как и даст ли это результат.
--------------------
|
|
|
|
|
Oct 4 2010, 13:10
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(des00 @ Oct 4 2010, 17:04)  Вот мне и интересно, как определить что ошибок больше чем нужно и выдать сигнал decfailed, вместо мусора %) может CRC считать?
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Oct 4 2010, 13:17
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Mikhalych @ Oct 4 2010, 07:10)  может CRC считать? это для протокола более высокого уровня, мне нужно другое %) Цитата(des00 @ Oct 4 2010, 07:04)  По идее можно бы воспользоваться свойством вырождения матрицы синдромов, но считать детерминант на лету, не есть гуд. да и не получится так, потому что синдром по определению определен на множестве элементов alpha^1 ...alpha^2t.
--------------------
|
|
|
|
|
Oct 4 2010, 13:19
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(des00 @ Oct 4 2010, 17:11)  это для протокола более высокого уровня, мне нужно другое %) а если сделать декодер на t+1 ошибку... и если ошибок t и меньше - то всё хорошо, а если t+1 - то недоверяем и говорим decfailed?
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Oct 4 2010, 13:30
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Oct 4 2010, 17:04)  то что ситуация обычная это понятно, но ведь должен же существовать какой то способ, для определения того, что ошибок больше чем корректирующая способность(t)? На степень полинома локаторов надежды нет, т.к. он, алгоритмически ограничен t, поиск корней полинома тоже может дать сбой (как в этом примере). Вот мне и интересно, как определить что ошибок больше чем нужно и выдать сигнал decfailed, вместо мусора %) ИМХО не должен, если только дополнительную избыточность на это тратить.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|