|
LDPC+QAM256, Создание QC-LDPC-BC пров.матриц под модуляцию QAM256 |
|
|
|
Dec 7 2010, 11:55
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 7-05-10
Пользователь №: 57 120

|
Добрый день коллеги!
Возможно учесть вид модуляции(QAM256) при создании матриц LDPC? Сейчас использую алгоритм PEG.
P.S. Сорри за тупой вопрос, кодированием занимаюсь недавно.
--------------------
Ох не лёгкая это работа попасть в группу "свой"....
|
|
|
|
|
 |
Ответов
|
Dec 8 2010, 06:12
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 7-05-10
Пользователь №: 57 120

|
Цитата(Serg76 @ Dec 7 2010, 21:53)  Если я правильно понимаю Вам необходимо преобразовать мягкие решения сигнала 256-КАМ в последовательность мягких оценок, т.е. реализовать квадратурный расщепитель. Другими словами, на входе некоего блока I/Q составляющие сигнала 256-КАМ с выхода демодулятора, на выходе блока последовательность из 8-ми мягких оценок на каждую I/Q пару. Эту последовательность затем можно преобразовать в жесткие решения, т.е. битовый поток и уже по нему рассчитать проверочную матрицу. От типа применяемой конструкции эти действия зависеть не будут. Или я что-то не так понял из Вашего вопроса? Добрый день! 1. Расщепитель квадратур с которого я получаю метрику для каждого бита у меня есть. 2. "... Эту последовательность затем можно преобразовать в жесткие решения, т.е. битовый поток и уже по нему рассчитать проверочную матрицу... " - если не сложно поясните? 3. В КАМ256 энергетика у бит разная, а значит и ВЕR у каждого бита свой, у младшего бита он больше, возможно ли какнибудь это учесть при построении схемы FEC, идеально конечно чтобы это можно было учесть в пров.мат. LDPC. 4. Для получения наибольшего выигрыша от кодирования для КАМ256 применяют каскадные схемы FEC. Например R=5/6, сначал поток накрывается кодом R=20/21, затем младший бит накрывается R=1/2(для потока это будет 7/8). Я оч. сильно ограничен в ресурсе, для меня это не вариант. P.S. Возможны разночтения в терминах, если что не понятно, спрашивайте.
--------------------
Ох не лёгкая это работа попасть в группу "свой"....
|
|
|
|
|
Dec 8 2010, 11:34
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(brig01 @ Dec 8 2010, 10:12)  Добрый день!
1. Расщепитель квадратур с которого я получаю метрику для каждого бита у меня есть.
2. "... Эту последовательность затем можно преобразовать в жесткие решения, т.е. битовый поток и уже по нему рассчитать проверочную матрицу... " - если не сложно поясните?
3. В КАМ256 энергетика у бит разная, а значит и ВЕR у каждого бита свой, у младшего бита он больше, возможно ли какнибудь это учесть при построении схемы FEC, идеально конечно чтобы это можно было учесть в пров.мат. LDPC.
4. Для получения наибольшего выигрыша от кодирования для КАМ256 применяют каскадные схемы FEC. Например R=5/6, сначал поток накрывается кодом R=20/21, затем младший бит накрывается R=1/2(для потока это будет 7/8). Я оч. сильно ограничен в ресурсе, для меня это не вариант.
P.S. Возможны разночтения в терминах, если что не понятно, спрашивайте. 2. Если значения метрики положительное число, то значит единичный бит, в противном случае - нулевой, либо же наоборот. 3. Если правильно подобран манипуляционный код, то BER для каждого бита должен быть одинаков, иначе вы получите пачечную структуру ошибок. Хотя для КАМ-256 это условие выполнить будет трудновато. Цитата(brig01 @ Dec 8 2010, 10:12)  Но выражение "расчитать проверочную матрицу" немного ставит в тупик. Проверочная матрица строится заранее и потом уже ни от чего не зависит. проверочную матрицу можно рассчитать построив, например, систему линейных уравнений и решив ее затем каким-нибудь методом. Главное чтобы исходный битовый поток из которого строится система уравнений не содержал ошибок. Цитата(brig01 @ Dec 8 2010, 10:12)  Хоть примерно какой DVB-xx рыть?, их там много и в них много букфф и страничек и всё на буржуинском) DVB-S2. там применяется, по-моему, LDPC+BCH совместно с APSK32
|
|
|
|
|
Dec 8 2010, 12:53
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 15-12-06
Пользователь №: 23 551

|
Цитата(Serg76 @ Dec 8 2010, 14:34)  3. Если правильно подобран манипуляционный код, то BER для каждого бита должен быть одинаков, иначе вы получите пачечную структуру ошибок. Дык, а если перемежение использовать?
|
|
|
|
|
Dec 8 2010, 15:57
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(Modest @ Dec 8 2010, 16:53)  Дык, а если перемежение использовать? Да нет, я может не совсем правильно выразился, перемежение здесь ни при чем. Имеется ввиду, что главное правило при построении манипуляционного кода заключается в том, что бинарные значения соседних отсчетов в сигнальном созвездии не должны отличаться более, чем на один бит, иначе при возникновении ошибки в принятом символе Вы сразу можете получить несколько ошибочных бит, которые декодеру будет сложнее исправить. Цитата(brig01 @ Dec 8 2010, 16:07)  Re.2. Как из мягкого решения вытянуть жёсткое понятно, не ясно из фразы как по принятым данным посчитать проверочную матрицу по принятым данным, может вы имели ввиду, по принятым данным и с пров.матрицей посчитать синдром? Я имел ввиду как раз, что по принятым безошибочным данным можно посчитать проверочную (или порождающую) матрицу составив и решив СЛАУ. Если Вас интересуют подробности, то мне надо вспомнить как это делается. Цитата(brig01 @ Dec 8 2010, 16:07)  P.P.P.S Ктонибудь реализовывал CTC? и сколько весит, может у кого есть модель в matlab-е? CTC - это Convolution Turbo Codes?
|
|
|
|
|
Jan 25 2011, 14:56
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Serg76 @ Dec 8 2010, 09:57)  Имеется ввиду, что главное правило при построении манипуляционного кода заключается в том, что бинарные значения соседних отсчетов в сигнальном созвездии не должны отличаться более, чем на один бит, иначе при возникновении ошибки в принятом символе Вы сразу можете получить несколько ошибочных бит, которые декодеру будет сложнее исправить. немного офттопик. Мучает меня один вопрос про использование кодов Грея ("созвездия по грею", как например в атаче). С одной стороны понятно, что использование этого кода имеет определенные перспективы, но с другой стороны рассмотрим модем. Можем взять один из модемов уважаемого petrov. В модуляторе, перед мапером ставят кодер грея, затем в демодуляторе, после жесткого решения, ставят декодер грея. Этим на корню убивая эффект от применения этого кода, т.к. берется функция от битов жесткого решения. И пусть ошибка в символе будет только в одном бите, после прохождения декодера грея она может преобразоваться в многобитную ошибку. Вот пример на созвездии в атаче : пусть передавалась точка 1111 (до кодера грея это было числом 1010), а принята точка 0111 (после декодера это будет число 0110). Вместо ошибки в одном бите, мы получили ошибку в двух битах. Так какой тогда смысл в таком кодировании созвездия? Я бы понял эффект использования грея, в том случае если изменяется алгоритм жесткого решения, например, мы уходим от комбинационных функций с выкушенными битами, в пользу ну положим кучки компараторов. Но ведь так никто не делает. Или я что то не понимаю в применении кода грея ? Спасибо. ЗЫ. вижу единственный вариант когда такое кодирование имеет смысл. Это поставить кодирование грея не на входе мапера, а на входе кодера. Тогда декодирование грея можно осуществлять после основного декодера. Но как тогда использовать например, байтовый кодер рида соломона для QPSK или QAM32 остается не понятным.
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Jan 25 2011, 16:31
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(des00 @ Jan 25 2011, 17:56)  В модуляторе, перед мапером ставят кодер грея, затем в демодуляторе, после жесткого решения, ставят декодер грея. Этим на корню убивая эффект от применения этого кода, т.к. берется функция от битов жесткого решения. И пусть ошибка в символе будет только в одном бите, после прохождения декодера грея она может преобразоваться в многобитную ошибку. Не может преобразоваться. Похоже здесь какое-то недопонимание. Что такое маппинг? Это отображение Ваших квадбитов на сигнальном созвездии в соответствии с манипуляционным кодом, который Вы хотите применить. Теперь посмотрим со стороны демодулятора, а точнее на его решающее устройство. Как это должно делаться. В решающем устройстве демодулятора хранится таблица с эталонной конструкцией сигнального созвездия, такая же как и в модуляторе. РУ демодулятора принимает решение о переданном символе исходя из правила минимума Эвклидова расстояния (или для простоты его квадрата) между принятым вектором сигнального отсчета (символа) и ближайшего из эталонной кодовой конструкции и ставит в соответствие этому (эталонному) значению жесткое решение в соответствии с манипуляционным кодом. Правда в случае когерентного приема может возникнуть проблема с неоднозначностью фазы, но она устраняется на этапе помехоустойчивого декодера либо диффкодированием. Можно сделать еще и по-другому, когда РУ демодулятора работает в последовательном коде, тогда после получения жесткого решения, битовый поток необходимо будет перекодировать в соответствии с тем же самым мапипуляционным кодом (но при этом надо будет иметь представление как построен последовательный код, чтобы правильно выполнить соответствующую перекодировку). Это что касается принятия жесткого решения. При получении мягкого решения необходимо просто квадратуры с выхода РУ пропустить через квантователь и вообще не заморачиваться каой там манипуляционный код применялся. Эту проблему уже надо будет решать на этапе декодирования. Кстати, в приведенном Вами сигнальном созвездии правило Грея выполняется.
|
|
|
|
Сообщений в этой теме
brig01 LDPC+QAM256 Dec 7 2010, 11:55  SKov Цитата(brig01 @ Dec 8 2010, 09:12) 3. В К... Dec 8 2010, 08:45   Modest Цитата(SKov @ Dec 8 2010, 11:45) Но выраж... Dec 8 2010, 09:37   brig01 Цитата(SKov @ Dec 8 2010, 14:45) Вм надо ... Dec 8 2010, 10:28   brig01 Цитата(Serg76 @ Dec 8 2010, 17:34) 2. Есл... Dec 8 2010, 12:07    SKov Цитата(brig01 @ Dec 8 2010, 15:07) Re.3.П... Dec 8 2010, 17:49   SKov Может, здесь что полезное найдете. Dec 8 2010, 12:50     brig01 Цитата(Serg76 @ Dec 8 2010, 21:57) CTC - ... Dec 9 2010, 06:58      petrov Цитата(brig01 @ Dec 9 2010, 09:58) 2. Как... Dec 9 2010, 08:11       brig01 Цитата(petrov @ Dec 9 2010, 14:11) I и Q ... Dec 9 2010, 14:27        petrov В гугле достаточно статей можно найти, вот на вски... Dec 9 2010, 16:41        SKov Цитата(brig01 @ Dec 9 2010, 17:27) P.S.S.... Dec 9 2010, 21:23         brig01 Цитата(SKov @ Dec 10 2010, 03:23) Вообще,... Dec 10 2010, 06:05          SKov Цитата(brig01 @ Dec 10 2010, 09:05) QC-LD... Dec 10 2010, 08:51           brig01 Цитата(SKov @ Dec 10 2010, 14:51) Ну, с т... Dec 10 2010, 09:51            petrov Цитата(brig01 @ Dec 10 2010, 12:51) P.S. ... Dec 10 2010, 10:35             brig01 Цитата(petrov @ Dec 10 2010, 16:35) Не то... Dec 10 2010, 11:17      vadimuzzz Цитата(des00 @ Jan 25 2011, 20:56) Так ка... Jan 25 2011, 15:38 Serg76 2 brig01
А можно для лучшего восприятия привести ... Dec 10 2010, 11:28 brig01 Цитата(Serg76 @ Dec 10 2010, 17:28) 2 bri... Dec 10 2010, 11:39 petrov Цитата(Serg76 @ Dec 10 2010, 14:28) 2 bri... Dec 10 2010, 11:39  brig01 Цитата(petrov @ Dec 10 2010, 17:39) Да тя... Dec 10 2010, 12:16 petrov Смотрите чтобы не получалось неправильных метрик, ... Dec 10 2010, 13:09 brig01 Цитата(petrov @ Dec 10 2010, 19:09) Смотр... Dec 10 2010, 13:18  petrov Цитата(brig01 @ Dec 10 2010, 16:18) А как... Dec 10 2010, 13:34   brig01 Цитата(petrov @ Dec 10 2010, 19:34) Это у... Dec 10 2010, 13:45    Serg76 Цитата(brig01 @ Dec 10 2010, 17:45) Честн... Dec 10 2010, 15:44     brig01 Цитата(Serg76 @ Dec 10 2010, 21:44) вам м... Dec 13 2010, 05:18      Serg76 Цитата(brig01 @ Dec 13 2010, 08:18) Двумя... Dec 13 2010, 11:13 thermit Цитатаdes00:
Так какой тогда смысл в таком кодиров... Jan 25 2011, 15:34 des00 Цитата(thermit @ Jan 25 2011, 09:34) Кажд... Jan 25 2011, 16:42 vadimuzzz по-моему вы путаете алгоритм с конкретной реализац... Jan 25 2011, 16:48 Serg76 2 des00 поддерживаю vadimuzzz
Цитата(des00 ... Jan 25 2011, 17:23 thermit Цитатаdes00:
в приведенном мной численном примере,... Jan 25 2011, 20:53 des00 Цитата(vadimuzzz @ Jan 25 2011, 10:48) по... Jan 26 2011, 05:37 vadimuzzz нативное созвездие явно не оптимально. например, с... Jan 26 2011, 05:57 des00 Цитата(vadimuzzz @ Jan 25 2011, 23:57) на... Jan 26 2011, 06:05  vadimuzzz Цитата(des00 @ Jan 26 2011, 12:05) все та... Jan 26 2011, 06:58 des00 либо я объяснять не умею, либо туплю. Зайду с друг... Jan 26 2011, 11:10 petrov Цитата(des00 @ Jan 26 2011, 14:10) 3. Есл... Jan 26 2011, 11:35  des00 Цитата(petrov @ Jan 26 2011, 05:35) Эквив... Jan 26 2011, 12:00 Serg76 Ну вот теперь вроде как все окончательно прояснило... Jan 26 2011, 11:44 thermit Цитатаdes00:
Если результаты эквивалентны, почему ... Jan 26 2011, 12:13 brig01 Стоило отвлечься и тема зажила своей жизнью....
Ц... Jan 26 2011, 14:07 des00 Цитата(brig01 @ Jan 26 2011, 08:07) В доп... Jan 26 2011, 14:28  SKov Цитата(des00 @ Jan 26 2011, 17:28) что то... Jan 26 2011, 16:13  brig01 Цитата(des00 @ Jan 26 2011, 20:28) что то... Jan 27 2011, 05:56   des00 Цитата(brig01 @ Jan 26 2011, 23:56) Для т... Jan 27 2011, 06:28    brig01 Цитата(des00 @ Jan 27 2011, 12:28) если н... Jan 27 2011, 06:55     des00 Цитата(brig01 @ Jan 27 2011, 00:55) Допус... Jan 27 2011, 07:01      brig01 Цитата(des00 @ Jan 27 2011, 13:01) ничего... Jan 27 2011, 07:07     Serg76 Цитата(brig01 @ Jan 27 2011, 10:55) Все г... Jan 27 2011, 07:59     SKov Цитата(brig01 @ Jan 27 2011, 09:55) Допус... Jan 27 2011, 16:38      brig01 Цитата(SKov @ Jan 27 2011, 22:38) На само... Jan 28 2011, 04:39       SKov Цитата(brig01 @ Jan 28 2011, 07:39) 1.5дБ... Jan 28 2011, 08:52 vadimuzzz тут есть по-простому, с m-скриптами и теоретически... Jan 28 2011, 05:03 kill_LDPC подскажите пожалуйста возможно ли на приемной стор... Feb 2 2011, 20:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|