|
|
  |
БЧХ декодер - поясните |
|
|
|
May 5 2011, 14:31
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(alexPec @ May 5 2011, 07:43)  Как раз такой декодер и делаю, только не DVB-S, а специализированный. LDPC осилил  , поддерживает 9 длин входных блоков, каждый на 3 скорости декодировать можно. Не без ниоса конечно, но ниос только при смене длины блока/скорости участвует (переконфигурирует). тоже что ли время на LDPC найти.... Цитата Нужно получить 2t синдромов....Не соображу как это. у вас же даже код под рукой, там синдром считается на примитивной логике. кодовое слово рассматривается как полином, в который подставляется в качестве корня (правильный термин не придумывается) примитивный элемент поля в степени от 1 до t
--------------------
|
|
|
|
|
May 6 2011, 07:04
|

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

|
Цитата(alexPec @ May 6 2011, 10:33)  ... это как я понял таблица перемножений в поле Галуа 2^m. А обязательна эте таблица? Перемножение нельзя сделать схемой деления/умножения полиномов, типа той что я в пред. посте выкладывал? Ато памяти жалко на таблицу при m=10. тема уже обсуждалась http://electronix.ru/forum/index.php?showtopic=80688посмотрите - там выложена статья по аппаратной реализации умножителей в поле Галуа на комбинационнной логике (без памяти)
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
May 6 2011, 07:27
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(alexPec @ May 6 2011, 10:33)  как я понял таблица перемножений в поле Галуа 2^m. А обязательна эте таблица? Перемножение нельзя сделать схемой деления/умножения полиномов, типа той что я в пред. посте выкладывал? Ато памяти жалко на таблицу при m=10. Можно разменять память на время. Обычно при большом поле делают переход к представлению элементов из 2^m в виде пары элементов из 2^(m/2). При этом операция умножения в большом поле сводится к 2м операциям умножения в половинном поле + некоторые простые операции (типа сложение). Т.е. в вашем случае нужны таблицы размера 2^5. Но, боюсь, это трудно объяснить на пальцах, а самому вам не разобраться..
|
|
|
|
|
May 6 2011, 11:44
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(SKov @ May 5 2011, 14:42)  Если серьезно - пару месяцев уйдет на то, чтобы прочесть хотя бы 10 (лучше 30-50) статей и разобраться с разновидностями декодеров и выбрать, что вам подходит по цвету и вкусу  ушло 2 часа на то, чтобы разобраться, что выбирать особо не из чего )) пара удобоваримых для реализации алгоритмов для БЧХ (БМ и Евклида) и тройка для LDPC (мягкий BP, min-sum и класс многопороговых). а если к вопросу подойти творчески, то внешний код БЧХ можно использовать лишь для обнаружения, исправляя все внутренним LDPC... Цитата(SKov @ May 5 2011, 14:42)  Не забудьте выложить в доступном месте  посмотрим
|
|
|
|
|
May 6 2011, 16:02
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(Fast @ May 6 2011, 15:44)  ушло 2 часа на то, чтобы разобраться, что выбирать особо не из чего )) пара удобоваримых для реализации алгоритмов для БЧХ (БМ и Евклида) и тройка для LDPC (мягкий BP, min-sum и класс многопороговых). а если к вопросу подойти творчески, то внешний код БЧХ можно использовать лишь для обнаружения, исправляя все внутренним LDPC... посмотрим  У вас два часа ушло, чтобы выучить несколько красивых слов  Если Вы пишете про "мягкий BP" (а что, бывает жесткий?) и через запятую поминаете класс многопороговых алгоритмов - Вам еще разбираться и разбираться в этих хитросплетениях. И почему вы называете БЧХ внешним? Он там, скорее, внутренний и предназначен не для обнаружения ошибок (LDPC и сам прекрасно все обнаруживает.) В общем, "еще 5 тысяч ведер, и ключик будет ваш"  )
|
|
|
|
|
May 6 2011, 16:52
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(SKov @ May 6 2011, 19:02)  И почему вы называете БЧХ внешним? Он там, скорее, внутренний и предназначен не для обнаружения ошибок (LDPC и сам прекрасно все обнаруживает.) Человек прав БЧХ - внешний, а LDPC - внутренний, более мощный, а вот по поводу многопороговых алгоритмов декодирования, то здесь с ним не соглашусь, для LDPC они не подходят, так как эти коды не соответсвуют условиям ортогональности.
|
|
|
|
|
May 6 2011, 17:48
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(Serg76 @ May 6 2011, 20:52)  Человек прав БЧХ - внешний, а LDPC - внутренний, более мощный, а вот по поводу многопороговых алгоритмов декодирования, то здесь с ним не соглашусь, для LDPC они не подходят, так как эти коды не соответсвуют условиям ортогональности. Строго говоря, в этом стандарте не классическая каскадная схема, где действует правило умножения минимальных расстояний каскадируемых кодов. Поэтому термины внутренний-внешний тут принимают немного другой смысл, чем это принято в классических каскадных кодах. Если считать, что внешний тот, который кодирует первым, а декодирует последним, то тогда согласен. LDPC обычно имеют ортогональные проверки относительно каждого символа (других примеров LDPC мне не известно). Сейчас точно не помню, как строятся коды в стандарте, но было бы очень странно, если бы там не было ортогональных проверок. Так что их вполне можно декодировать много раз с разными порогам. Так, кстати, иногда и делают. Это называется weighted majority decoding. По сложности - это очень просто, а по качеству до BP или MIN-SUM, как до неба.
|
|
|
|
|
May 6 2011, 19:14
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(SKov @ May 6 2011, 20:48)  Если считать, что внешний тот, который кодирует первым, а декодирует последним, то тогда согласен. Вроде как всегда было так принято. Цитата(SKov @ May 6 2011, 20:48)  LDPC обычно имеют ортогональные проверки относительно каждого символа (других примеров LDPC мне не известно). Перечитал Золотарева, действительно все так, как Вы писали
|
|
|
|
|
May 6 2011, 20:20
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(SKov @ May 6 2011, 20:02)  У вас два часа ушло, чтобы выучить несколько красивых слов  Если Вы пишете про "мягкий BP" (а что, бывает жесткий?) и через запятую поминаете класс многопороговых алгоритмов - Вам еще разбираться и разбираться в этих хитросплетениях. И почему вы называете БЧХ внешним? Он там, скорее, внутренний и предназначен не для обнаружения ошибок (LDPC и сам прекрасно все обнаруживает.) В общем, "еще 5 тысяч ведер, и ключик будет ваш"  ) мягкий 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)  Строго говоря, в этом стандарте не классическая каскадная схема, где действует правило умножения минимальных расстояний каскадируемых кодов. Поэтому термины внутренний-внешний тут принимают немного другой смысл, чем это принято в классических каскадных кодах. и какой же смысл несут термины внутренний-внешний, кроме того, что один код внутренний, а другой внешний ?
|
|
|
|
|
May 6 2011, 21:39
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(Fast @ May 7 2011, 00:20)  мягкий BP - работающий по мягким решениям демодулятора, дающим начальные априорные вероятности для бит(символов) Это все понятно. Просто я хотел подчеркнуть, что выражение "мягкий BP" выдает с головой новичка в этой области. Т.к. "жесткий" BP теоретически возможен, но я ни разу не встречал его применительно к LDPC. Поэтому упоминание о мягкости BP мне показалось излишним. Цитата термин мягкий употребляется по аналогии с мягким декодированием Витерби, или допустим мягким декодированием циклических кодов. Декодер Витерби жесткий я встречал неоднократно. А вот жесткий BP - нет. Если Вы встречали жесткий BP- с благодарностью приму от вас ссылку, как говорится, век живи - век учись. Цитата а что не понравилось во фразе класс МПД-алгоритмов ? это вообще-то целый табор вариантов формирования порогов и решающих схем исправления символов даже применительно к конкретному LDPC-коду, не считая алгоритмов MПД для двоичных/недвоичных, систематических/несист, блоковых/сверточных и т.д. кодов. Я вроде пытался ответить в предыдущем посте. Еще раз: характеристики МПД и BP абсолютно несравнимы как по качеству декодироваия так и по сложности. Причем по качеству резкий перекос в одну сторону, а по сложности - в другую. Цитата Об этом есть фундаментальные труды Золотарева В.В. Я, в принципе, к трудам ВВЗ отношусь неплохо. Лучше, чем многие  Он первый перенес многопороговый алгоритм Таунсенда-Велдона для декодирования самоортогоналных блоковых кодов на случай самоортогоналных сверточных кодов. И назвал это МПД. И потом все жизнь бился (и, наверное, до сих пор бьется) с иппишниками за официальное признание своих кодировочных достижений. Но, вроде бы, насколько я знаю, так до сих пор и числится в "кодировочном андеграунде"  Но я не хотел бы здесь дискутировать на эту бесконечную тему. Цитата если вести речь о конкретном стандарте DVB-S2, БЧХ все же внешний, Да я уже не спорю.  Я просто хотел сказать, что сама конструкция совсем не каскадная в классическом смысле этого слова. Понимаете, слово БЧХ кода является (информационной) частью кода LDPC и в этом смысле БЧХ находится (в буквальном смысле) внутри слова LDPC. Поэтому хочется назвать его внутренним по отношению к LDPC;) Цитата я могу на свое усмотрение исправлять ошибки как обоими кодами, так и любым из них, используя второй для обнаружения Это уже какая-то ерунда. Цитата Ой, вот только ссылок на МПД мне не надо! Увольте!!!
|
|
|
|
|
May 7 2011, 06:22
|
Местный
  
Группа: Свой
Сообщений: 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)  Ой, вот только ссылок на МПД мне не надо! Увольте!!! ссылка вообще-то не вам была. увольняю )))
|
|
|
|
|
May 7 2011, 11:04
|
Знающий
   
Группа: Свой
Сообщений: 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 Это ерунда. ИМХО, конечно. Цитата уверен, что можно предложить с десяток алгоритмов в их взаимной конфигурации, и именно благодаря тому, что эти коды между собой не являются классическими ни каскадными согласованными, ни турбо-кодами Предложить-то можно. Но делать не советую.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|