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

 
 
> LDPC-кодирование и синхронизация.
altral
сообщение Mar 21 2018, 08:45
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510



Здравствуйте. Я пытаюсь создать в Simulink модель формирования и приема сигнала QAM-4 c АБГШ с применением LDPC-кодирования и синхронизации. Схему синхронизации я позаимствовал отсюда. При сравнительно небольшой фазе несущей все работает, но меня интересует ситуация, когда фаза становится сопоставимой с углами "симметрии" QAM-созвездия, то есть n*pi/2. Такую фазу становится невозможно обнаружить, и декодирование происходит с ошибками. Я пытался добавить после LDPC-кодера дифференциальный кодер, вычисляющий бегущую сумму дибитов, а на приеме перед LDPC-декодером - дифференциальный декодер, вычитающий из каждого дибита предыдущий. Но возникли две дополнительные проблемы:
1. Декодер убирает "лишнюю" фазу, но при этом невозможно узнать ее значение.
2. Декодер работает с битами, а LDPC-декодеру нужны значения правдоподобий.
Как можно решить эти проблемы? Уместно ли вообще дифференциальное кодирование в такой модели, или есть альтернативный подход?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
altral
сообщение Mar 22 2018, 06:01
Сообщение #2





Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510



Цитата
Фаза должна быть синхронизирована в демодуляторе до ближайшего крата, а неоднозначность можно убрать непосредственно в декодере либо по совместной схеме - декодер LDPC «толкает» демодулятор пока тот не залочится с точностью до фазы.

Конечно, должна, и она синхронизируется. А как убирать неоднозначность в декодере? У меня возникает лишь два варианта: либо перебором, т. е. последовательно поворачивать восстановленную последовательность символов на pi/2, pi, 3*pi/2, 2*pi, и после декодирования смотреть, в каком случае наименьшее количество ошибок; либо ввести "служебный" символ в каждом фрейме, заранее известный приемной стороне, и по нему определять фазу неопределенности.

Цитата
Передавайте известную последовательность и по ней устраняйте фазовую неоднозначность.

Последовательность и так передается - в кодированном и модулированном виде.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 22 2018, 09:31
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(altral @ Mar 22 2018, 09:01) *
либо ввести "служебный" символ в каждом фрейме, заранее известный приемной стороне, и по нему определять фазу неопределенности.


Только не символ, а последовательность символов с хорошей АКФ, согласованным фильтром с пороговым устройством ищете её на приёме, смотрите в какой квадрант максимум попадает.
Go to the top of the page
 
+Quote Post
altral
сообщение Mar 23 2018, 07:12
Сообщение #4





Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510



Цитата(petrov @ Mar 22 2018, 09:31) *
Только не символ, а последовательность символов с хорошей АКФ, согласованным фильтром с пороговым устройством ищете её на приёме, смотрите в какой квадрант максимум попадает.

Попробую конкретизировать: входной сигнал проходит через последовательность "умножение на опорную несущую -> согласованный фильтр -> блок совместной синхронизации", на выходе которой получается разброс точек-символов комплексной плоскости. Мы берем "опорную" последовательность символов, и "прикладывая" ее к символам в пределах каждого фрейма, находим последовательность, которая в пределах шумовой погрешности отличается от "опорной" лишь на фазовый множитель, и по нему находим фазу. Правильно ли я все написал?
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 23 2018, 08:03
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(altral @ Mar 23 2018, 10:12) *
Попробую конкретизировать: входной сигнал проходит через последовательность "умножение на опорную несущую -> согласованный фильтр -> блок совместной синхронизации", на выходе которой получается разброс точек-символов комплексной плоскости. Мы берем "опорную" последовательность символов, и "прикладывая" ее к символам в пределах каждого фрейма, находим последовательность, которая в пределах шумовой погрешности отличается от "опорной" лишь на фазовый множитель, и по нему находим фазу. Правильно ли я все написал?


А как вы находите границы блоков вашего LDPC кода?
Go to the top of the page
 
+Quote Post
altral
сообщение Mar 23 2018, 10:33
Сообщение #6





Группа: Участник
Сообщений: 13
Регистрация: 21-03-18
Пользователь №: 102 510



Цитата(petrov @ Mar 23 2018, 08:03) *
А как вы находите границы блоков вашего LDPC кода?

Возможно, это упрощение, но предполагается, что сигнал приходит на прием с начала первого блока, которое запаздывает на величину групповой задержки (она известна, так как известен формирующий фильтр) и задержки по такту (которая находится с помощью синхронизации). Складывая удвоенное количество символов групповой задержки (с учетом согласованного фильтра) и задержку в 1-2 символа, вносимую в процессе синхронизации, получаем величину, на которую начало блока отстоит от начала сигнала.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 23 2018, 12:39
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(altral @ Mar 23 2018, 13:33) *
Возможно, это упрощение, но предполагается, что сигнал приходит на прием с начала первого блока, которое запаздывает на величину групповой задержки (она известна, так как известен формирующий фильтр) и задержки по такту (которая находится с помощью синхронизации). Складывая удвоенное количество символов групповой задержки (с учетом согласованного фильтра) и задержку в 1-2 символа, вносимую в процессе синхронизации, получаем величину, на которую начало блока отстоит от начала сигнала.


Как вы на приёме точно, надёжно определяете начало сигнала? На пределе Шеннона, где LDPC позволяют работать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 13:51
Рейтинг@Mail.ru


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