|
LDPC-кодирование и синхронизация. |
|
|
|
Mar 21 2018, 08:45
|
Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510

|
Здравствуйте. Я пытаюсь создать в Simulink модель формирования и приема сигнала QAM-4 c АБГШ с применением LDPC-кодирования и синхронизации. Схему синхронизации я позаимствовал отсюда. При сравнительно небольшой фазе несущей все работает, но меня интересует ситуация, когда фаза становится сопоставимой с углами "симметрии" QAM-созвездия, то есть n*pi/2. Такую фазу становится невозможно обнаружить, и декодирование происходит с ошибками. Я пытался добавить после LDPC-кодера дифференциальный кодер, вычисляющий бегущую сумму дибитов, а на приеме перед LDPC-декодером - дифференциальный декодер, вычитающий из каждого дибита предыдущий. Но возникли две дополнительные проблемы: 1. Декодер убирает "лишнюю" фазу, но при этом невозможно узнать ее значение. 2. Декодер работает с битами, а LDPC-декодеру нужны значения правдоподобий. Как можно решить эти проблемы? Уместно ли вообще дифференциальное кодирование в такой модели, или есть альтернативный подход?
|
|
|
|
|
 |
Ответов
|
Mar 22 2018, 06:01
|
Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510

|
Цитата Фаза должна быть синхронизирована в демодуляторе до ближайшего крата, а неоднозначность можно убрать непосредственно в декодере либо по совместной схеме - декодер LDPC «толкает» демодулятор пока тот не залочится с точностью до фазы. Конечно, должна, и она синхронизируется. А как убирать неоднозначность в декодере? У меня возникает лишь два варианта: либо перебором, т. е. последовательно поворачивать восстановленную последовательность символов на pi/2, pi, 3*pi/2, 2*pi, и после декодирования смотреть, в каком случае наименьшее количество ошибок; либо ввести "служебный" символ в каждом фрейме, заранее известный приемной стороне, и по нему определять фазу неопределенности. Цитата Передавайте известную последовательность и по ней устраняйте фазовую неоднозначность. Последовательность и так передается - в кодированном и модулированном виде.
|
|
|
|
|
Mar 23 2018, 07:12
|
Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510

|
Цитата(petrov @ Mar 22 2018, 09:31)  Только не символ, а последовательность символов с хорошей АКФ, согласованным фильтром с пороговым устройством ищете её на приёме, смотрите в какой квадрант максимум попадает. Попробую конкретизировать: входной сигнал проходит через последовательность "умножение на опорную несущую -> согласованный фильтр -> блок совместной синхронизации", на выходе которой получается разброс точек-символов комплексной плоскости. Мы берем "опорную" последовательность символов, и "прикладывая" ее к символам в пределах каждого фрейма, находим последовательность, которая в пределах шумовой погрешности отличается от "опорной" лишь на фазовый множитель, и по нему находим фазу. Правильно ли я все написал?
|
|
|
|
|
Mar 23 2018, 10:33
|
Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510

|
Цитата(petrov @ Mar 23 2018, 08:03)  А как вы находите границы блоков вашего LDPC кода? Возможно, это упрощение, но предполагается, что сигнал приходит на прием с начала первого блока, которое запаздывает на величину групповой задержки (она известна, так как известен формирующий фильтр) и задержки по такту (которая находится с помощью синхронизации). Складывая удвоенное количество символов групповой задержки (с учетом согласованного фильтра) и задержку в 1-2 символа, вносимую в процессе синхронизации, получаем величину, на которую начало блока отстоит от начала сигнала.
|
|
|
|
|
Mar 23 2018, 12:39
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(altral @ Mar 23 2018, 13:33)  Возможно, это упрощение, но предполагается, что сигнал приходит на прием с начала первого блока, которое запаздывает на величину групповой задержки (она известна, так как известен формирующий фильтр) и задержки по такту (которая находится с помощью синхронизации). Складывая удвоенное количество символов групповой задержки (с учетом согласованного фильтра) и задержку в 1-2 символа, вносимую в процессе синхронизации, получаем величину, на которую начало блока отстоит от начала сигнала. Как вы на приёме точно, надёжно определяете начало сигнала? На пределе Шеннона, где LDPC позволяют работать.
|
|
|
|
Сообщений в этой теме
altral LDPC-кодирование и синхронизация. Mar 21 2018, 08:45 Serg76 Фаза должна быть синхронизирована в демодуляторе д... Mar 21 2018, 09:12 petrov Цитата(altral @ Mar 21 2018, 11:45) Как м... Mar 21 2018, 09:36      altral Цитата(petrov @ Mar 23 2018, 12:39) Как в... Mar 26 2018, 07:35       petrov Цитата(altral @ Mar 26 2018, 10:35) Начал... Mar 26 2018, 07:59        altral Цитата(petrov @ Mar 26 2018, 07:59) Если ... Mar 26 2018, 12:18         petrov Цитата(altral @ Mar 26 2018, 15:18) Как д... Mar 26 2018, 14:26          altral Цитата(petrov @ Mar 26 2018, 14:26) согла... Mar 27 2018, 08:04           petrov Цитата(altral @ Mar 27 2018, 11:04) Что с... Mar 27 2018, 08:41            altral Цитата(petrov @ Mar 27 2018, 08:41) Модул... Mar 30 2018, 09:04             petrov Цитата(altral @ Mar 30 2018, 12:04) Я поп... Mar 30 2018, 11:10              altral Цитата(petrov @ Mar 30 2018, 11:10) Какой... Mar 30 2018, 12:33               petrov Цитата(altral @ Mar 30 2018, 15:33) Упрос... Mar 30 2018, 13:12                altral Цитата(petrov @ Mar 30 2018, 13:12) Тепер... Apr 2 2018, 10:22                 petrov Вот по превышению какого-то уровня на выходе модул... Apr 2 2018, 12:42                  dcs Цитата(petrov @ Apr 2 2018, 15:42) Вот по... Apr 3 2018, 06:47                   petrov Цитата(dcs @ Apr 3 2018, 09:47) а где мож... Apr 3 2018, 08:08 Serg76 Цитата(altral @ Mar 22 2018, 09:01) Конеч... Mar 22 2018, 10:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|