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

 
 
> БЧХ декодер - поясните
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
Ответов
Fast
сообщение May 5 2011, 10:06
Сообщение #2


Местный
***

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



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

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


Знающий
****

Группа: Свой
Сообщений: 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
Fast
сообщение May 6 2011, 11:44
Сообщение #4


Местный
***

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



Цитата(SKov @ May 5 2011, 14:42) *
Если серьезно - пару месяцев уйдет на то, чтобы прочесть хотя бы 10 (лучше 30-50) статей и разобраться с разновидностями декодеров и выбрать, что вам подходит по цвету и вкусу wink.gif
ушло 2 часа на то, чтобы разобраться, что выбирать особо не из чего ))
пара удобоваримых для реализации алгоритмов для БЧХ (БМ и Евклида) и тройка для LDPC (мягкий BP, min-sum и класс многопороговых).
а если к вопросу подойти творчески, то внешний код БЧХ можно использовать лишь для обнаружения, исправляя все внутренним LDPC...
Цитата(SKov @ May 5 2011, 14:42) *
Не забудьте выложить в доступном месте wink.gif
посмотрим wink.gif
Go to the top of the page
 
+Quote Post
SKov
сообщение May 6 2011, 16:02
Сообщение #5


Знающий
****

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



Цитата(Fast @ May 6 2011, 15:44) *
ушло 2 часа на то, чтобы разобраться, что выбирать особо не из чего ))
пара удобоваримых для реализации алгоритмов для БЧХ (БМ и Евклида) и тройка для LDPC (мягкий BP, min-sum и класс многопороговых).
а если к вопросу подойти творчески, то внешний код БЧХ можно использовать лишь для обнаружения, исправляя все внутренним LDPC...
посмотрим wink.gif

У вас два часа ушло, чтобы выучить несколько красивых слов wink.gif
Если Вы пишете про "мягкий BP" (а что, бывает жесткий?) и через запятую поминаете класс многопороговых алгоритмов - Вам еще разбираться и разбираться в этих хитросплетениях. И почему вы называете БЧХ внешним? Он там, скорее, внутренний
и предназначен не для обнаружения ошибок (LDPC и сам прекрасно все обнаруживает.)
В общем, "еще 5 тысяч ведер, и ключик будет ваш" wink.gif)
Go to the top of the page
 
+Quote Post
Fast
сообщение May 6 2011, 20:20
Сообщение #6


Местный
***

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



Цитата(SKov @ May 6 2011, 20:02) *
У вас два часа ушло, чтобы выучить несколько красивых слов wink.gif
Если Вы пишете про "мягкий BP" (а что, бывает жесткий?) и через запятую поминаете класс многопороговых алгоритмов - Вам еще разбираться и разбираться в этих хитросплетениях. И почему вы называете БЧХ внешним? Он там, скорее, внутренний
и предназначен не для обнаружения ошибок (LDPC и сам прекрасно все обнаруживает.)
В общем, "еще 5 тысяч ведер, и ключик будет ваш" wink.gif)

мягкий BP - работающий по мягким решениям демодулятора, дающим начальные априорные вероятности для бит(символов)
термин мягкий употребляется по аналогии с мягким декодированием Витерби, или допустим мягким декодированием циклических кодов.
а что не понравилось во фразе класс МПД-алгоритмов ? это вообще-то целый табор вариантов формирования порогов и решающих схем исправления символов даже применительно к конкретному LDPC-коду, не считая алгоритмов MПД для двоичных/недвоичных, систематических/несист, блоковых/сверточных и т.д. кодов. Об этом есть фундаментальные труды Золотарева В.В.

если вести речь о конкретном стандарте DVB-S2, БЧХ все же внешний, ознакомьтесь повнимательнее
и может быть предназначен как для исправления, так и для обнаружения, в зависимости от схемы реализации декодера обощенного кода БЧХ-LDPC
т.е. по большому счету - это зависит от хотелок разработчика и с учетом характеристик канала связи.

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

Цитата(Serg76 @ May 6 2011, 20:52) *
Человек прав БЧХ - внешний, а LDPC - внутренний, более мощный, а вот по поводу многопороговых алгоритмов декодирования, то здесь с ним не соглашусь, для LDPC они не подходят, так как эти коды не соответсвуют условиям ортогональности.
http://www.mtdbest.iki.rssi.ru/


Цитата(SKov @ May 6 2011, 21:48) *
Строго говоря, в этом стандарте не классическая каскадная схема, где действует правило
умножения минимальных расстояний каскадируемых кодов. Поэтому термины внутренний-внешний
тут принимают немного другой смысл, чем это принято в классических каскадных кодах.
и какой же смысл несут термины внутренний-внешний, кроме того, что один код внутренний, а другой внешний ? sm.gif
Go to the top of the page
 
+Quote Post
SKov
сообщение May 6 2011, 21:39
Сообщение #7


Знающий
****

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



Цитата(Fast @ May 7 2011, 00:20) *
мягкий BP - работающий по мягким решениям демодулятора, дающим начальные априорные вероятности для бит(символов)

Это все понятно. Просто я хотел подчеркнуть, что выражение "мягкий BP" выдает с головой новичка в этой области.
Т.к. "жесткий" BP теоретически возможен, но я ни разу не встречал его применительно к LDPC.
Поэтому упоминание о мягкости BP мне показалось излишним.

Цитата
термин мягкий употребляется по аналогии с мягким декодированием Витерби, или допустим мягким декодированием циклических кодов.

Декодер Витерби жесткий я встречал неоднократно. А вот жесткий BP - нет.
Если Вы встречали жесткий BP- с благодарностью приму от вас ссылку, как говорится, век живи - век учись.

Цитата
а что не понравилось во фразе класс МПД-алгоритмов ? это вообще-то целый табор вариантов формирования порогов и решающих схем исправления символов даже применительно к конкретному LDPC-коду, не считая алгоритмов MПД для двоичных/недвоичных, систематических/несист, блоковых/сверточных и т.д. кодов.

Я вроде пытался ответить в предыдущем посте. Еще раз: характеристики МПД и BP абсолютно несравнимы
как по качеству декодироваия так и по сложности. Причем по качеству резкий перекос в одну сторону, а по сложности - в другую.

Цитата
Об этом есть фундаментальные труды Золотарева В.В.

Я, в принципе, к трудам ВВЗ отношусь неплохо. Лучше, чем многие wink.gif
Он первый перенес многопороговый алгоритм Таунсенда-Велдона для декодирования самоортогоналных
блоковых кодов на случай самоортогоналных сверточных кодов. И назвал это МПД.
И потом все жизнь бился (и, наверное, до сих пор бьется) с иппишниками за официальное
признание своих кодировочных достижений. Но, вроде бы, насколько я знаю,
так до сих пор и числится в "кодировочном андеграунде" wink.gif
Но я не хотел бы здесь дискутировать на эту бесконечную тему.
Цитата
если вести речь о конкретном стандарте DVB-S2, БЧХ все же внешний,

Да я уже не спорю. wink.gif Я просто хотел сказать, что сама конструкция совсем не каскадная в классическом смысле этого слова.
Понимаете, слово БЧХ кода является (информационной) частью кода LDPC и в этом смысле БЧХ находится
(в буквальном смысле) внутри слова LDPC. Поэтому хочется назвать его внутренним по отношению к LDPC;)

Цитата
я могу на свое усмотрение исправлять ошибки как обоими кодами, так и любым из них, используя второй для обнаружения

Это уже какая-то ерунда.

Цитата

Ой, вот только ссылок на МПД мне не надо! Увольте!!!

Go to the top of the page
 
+Quote Post
Fast
сообщение May 7 2011, 06:22
Сообщение #8


Местный
***

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



Цитата(SKov @ May 7 2011, 01:39) *
Это все понятно. Просто я хотел подчеркнуть, что выражение "мягкий BP" выдает с головой новичка в этой области.
Т.к. "жесткий" BP теоретически возможен, но я ни разу не встречал его применительно к LDPC.
Поэтому упоминание о мягкости BP мне показалось излишним.
BP никогда не делал, как и декодеры турбо-кодов. С последних проектов по TCM+констурукции Унгербоека прошло много лет, с момента, когда ручками прорешивал ПГЦ и БМА, строил порождающие и проверочные матрицы.., - еще больше. Поэтому современную терминологию, широко принятую в узких кругах, еще пока не освоил.
Цитата(SKov @ May 7 2011, 01:39) *
Я вроде пытался ответить в предыдущем посте. Еще раз: характеристики МПД и BP абсолютно несравнимы как по качеству декодироваия так и по сложности. Причем по качеству резкий перекос в одну сторону, а по сложности - в другую.
может вы не поняли, но я не сравнивал их по качеству и сложности.
Цитата(SKov @ May 7 2011, 01:39) *
Это уже какая-то ерунда.
а если хорошо подумать ? я сходу вижу три подхода
1. оба исправляют: LDPC-BP + БЧХ-БМА
2. LDPC оценивает,
- БЧХ исправляет методом усеченного перебора ранжированных по достоверности символов (по какому-то порогу достоверности)
- БЧХ исправляет Чейзом
- стираем 2t малодостоверных, БЧХ восстанавливает стирания
3. БЧХ оценивает (= считаем синдром)
1) LDPC-MinSum, исправляет
2) считаем синдром БЧХ,
синдром ненулевой => корректируем априорные вероятности (критерий пока не важен), идем к п.1

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

Цитата(SKov @ May 7 2011, 01:39) *
Ой, вот только ссылок на МПД мне не надо! Увольте!!!
ссылка вообще-то не вам была. увольняю )))
Go to the top of the page
 
+Quote Post
SKov
сообщение May 7 2011, 11:04
Сообщение #9


Знающий
****

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



Цитата(Fast @ May 7 2011, 10:22) *
я сходу вижу три подхода
1. оба исправляют: LDPC-BP + БЧХ-БМА

Это наиболее разумный вариант. Я бы добавил, что БЧХ может и обнаруживать тяжелые ошибки,
если в обнаружении есть какой-то смысл.

Цитата
2. LDPC оценивает,
- БЧХ исправляет методом усеченного перебора ранжированных по достоверности символов (по какому-то порогу достоверности)
- БЧХ исправляет Чейзом
- стираем 2t малодостоверных, БЧХ восстанавливает стирания
3. БЧХ оценивает (= считаем синдром)
1) LDPC-MinSum, исправляет
2) считаем синдром БЧХ,
синдром ненулевой => корректируем априорные вероятности (критерий пока не важен), идем к п.1

Это ерунда. ИМХО, конечно.

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

Предложить-то можно. Но делать не советую.
Go to the top of the page
 
+Quote Post
Fast
сообщение May 7 2011, 22:02
Сообщение #10


Местный
***

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



Цитата(SKov @ May 7 2011, 15:04) *
Это наиболее разумный вариант. Я бы добавил, что БЧХ может и обнаруживать тяжелые ошибки,
если в обнаружении есть какой-то смысл.
это не наиболее разумный вариант, а наиболее дубовый и худший по критерию вероятности ошибки декодирования. Ошибочное декодирование с выхода LDPC размножит ошибку, с которой может не справиться БЧХ в режиме исправления (декодируя в неправильное разрешенное КС).
По этой причине для декодирования вот таких вот составных кодов имеет смысл передавать на след. уровень не единственное решение декодера, а подмножество, М-список решений. п.2-3, которые вам кажутся ерундой, в упрощенном виде реализуют именно эту идею. У циклических кодов БЧХ очень мощная обнаруживающая способность, у LDPC исправляющая, на этом надо и играть.

Цитата(des00 @ May 6 2011, 11:31) *
умножитель в полях галуа вида variable by constant это ксор, определенных битов variable. вот эти определенные биты заранее рассчитываются и их маска сидит в "памяти".
у вас декодер работает для произвольных полиномов, числа исправляемых ошибок и длины кодового слова или что-то узкозаточенное ?
если в открытом доступе, где скачать можно ?
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
|- - 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
|- - 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
|- - alexPec   Цитата(des00 @ May 10 2011, 19:19) посмот...   May 10 2011, 21:38
|- - des00   Цитата(alexPec @ May 10 2011, 15:38) Кста...   May 11 2011, 01:18
|- - 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 @ May 11 2011, 05:18) да на...   May 12 2011, 17:18
|- - des00   Цитата(alexPec @ May 12 2011, 12:18) Уваж...   Jul 15 2011, 06:56
|- - 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 Текстовая версия Сейчас: 21st July 2025 - 13:26
Рейтинг@Mail.ru


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