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

 
 
> Расширенный БЧХ-код (extended BCH code)
roman73
сообщение May 27 2011, 12:10
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 25-05-11
Пользователь №: 65 262



Хочу разобраться с расширенным кодом БЧХ(1020, 998).

Генератор кода g(x)= m1(x)*m3(x)*m5(x)*(x^2+1), где
m1(x) = x^10+x^3 + 1
m3(x) = x^10+x^3+x^2+x+1
m5(x) = x^10+x^8+x^3+x^2+1

Перелопатил тонны литературы.
В основном пишут про расширение линейного кода в терминах проверочной матрицы.
или что к g(x) добавляется множитель (x+1),
который есть ни что иное, как бит четности.

Как декодировать такой код нигде не написано.
(есть про расширенный Рид-Соломон - но это другое - там добавляется целый проверочный СИМВОЛ).
У Блейхута описание идет в частотной области. ничего не понятно.

В книге
"L.Hanzo, T.H.Liew, B.L.Yeap - Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Wireless Channels"
Декодирование расширенных коды довольно поднобно описано. Но там мягкое декодирование.
Какие-то манипуляции с аналоговым сигналом.
Жестокая жесть.
Мне в общем нужет жесткий декодер. Ну может быть с поддержкой стираний
(так как будет использоваться в составе каскадного кода).

Замечу, что (x^2+1) = (x+1)(x+1).
В чем смысл добавления двух одинаковых множителей?
Что делать с двумя дополнительными проверочными битами?

Занимаюсь ECC-кодами около года. Сделал классический декодер кодов Рида-Соломона и БЧХ.
Декодер нерасширенного БЧХ сделан как прототип к текущему проекту. g(x) = m1(x)*m3(x)*m5(x).
Это код БЧХ "в узком смысле" (narrow sense): lcm(min_poly(alpha(1)), ... , min_poly(alpha(6))).
Работает и выдает неплохую производительность.

Кодирование, как я понял, делается обычным порядком - в проверочные позиции записывается остаток от деления на g(x).
Вот как работать с расширенным кодом - непонятно.
Прошу помощи клуба.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SKov
сообщение May 27 2011, 12:27
Сообщение #2


Знающий
****

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



Цитата(roman73 @ May 27 2011, 16:10) *
Хочу разобраться с расширенным кодом БЧХ(1020, 998).
Замечу, что (x^2+1) = (x+1)(x+1).
В чем смысл добавления двух одинаковых множителей?
Что делать с двумя дополнительными проверочными битами?
Вот как работать с расширенным кодом - непонятно.
Прошу помощи клуба.

Обычно добавляется один множитель. Откуда взялся квадрат - непонятно.
Возьмите свой старый проект (нерасширенного кода БЧХ). И без всяких полевых изворотов тупо добавьте проверку
на четность по всему кодовому слову (один проверочный бит). Декодируете все по старому (не учитывая новый проверочный бит).
После декодирования проверяете, сколько ошибок было исправлено. Если их было (d-1)/2, то проверяете , выполняется ли проверка на четность
после исправления найденных ошибок. Если нет - вы обнаружили неисправимую комбинацию ошибок.
Как-то так.
Go to the top of the page
 
+Quote Post
roman73
сообщение May 27 2011, 12:45
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 25-05-11
Пользователь №: 65 262



Цитата(SKov @ May 27 2011, 16:27) *
Обычно добавляется один множитель. Откуда взялся квадрат - непонятно.

Из спецификации. sad.gif

Цитата(SKov @ May 27 2011, 16:27) *
Возьмите свой старый проект (нерасширенного кода БЧХ). И без всяких полевых изворотов тупо добавьте проверку
на четность по всему кодовому слову (один проверочный бит). Декодируете все по старому (не учитывая новый проверочный бит).
После декодирования проверяете, сколько ошибок было исправлено. Если их было (d-1)/2, то проверяете , выполняется ли проверка на четность
после исправления найденных ошибок. Если нет - вы обнаружили неисправимую комбинацию ошибок.
Как-то так.

Ну это первое, что приходит в голову. Возможно, дополнительную избыточность можно как-нибудь использовать более продуктивно...
Go to the top of the page
 
+Quote Post



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

 


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


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