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

 
 
> Программный демодулятор, помогите новичку
Anton1990
сообщение Apr 26 2012, 14:51
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Собственно взялся написать программный демодулятор. Есть файл с оцифрованными квадратурами I, Q. Частота дискретизации 90 МГц. Символьная скорость сигнала 2,5 МГц, сигнал QPSK, с/ш 40 дБ. Программно реализовал примитивный передискретизатор (алгоритм билинейной интерполяции). Я так понимаю после этого на сигнальном созвездии я должен уведеть круг (не полность удалена несущая), но я вижу только подобие круга (слишком зашумлен, в том числе в центре круга). Думаю после передискретизатора необходим ФНЧ (а какой? Одинаковый в обоих каналах?). Прошу сильно не пинать за корявые вопросы?
Если можно опишите поподробней что за чем делать, и что я должен видеть на сигнальном созвездии на промежуточных этапах (дабы контролировать провильность работы).
Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fontp
сообщение Apr 27 2012, 09:49
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (Anton1990 @ Apr 26 2012, 18:51) *
Собственно взялся написать программный демодулятор. Есть файл с оцифрованными квадратурами I, Q. Частота дискретизации 90 МГц. Символьная скорость сигнала 2,5 МГц, сигнал QPSK, с/ш 40 дБ. Программно реализовал примитивный передискретизатор (алгоритм билинейной интерполяции). Я так понимаю после этого на сигнальном созвездии я должен уведеть круг (не полность удалена несущая), но я вижу только подобие круга (слишком зашумлен, в том числе в центре круга). Думаю после передискретизатора необходим ФНЧ (а какой? Одинаковый в обоих каналах?). Прошу сильно не пинать за корявые вопросы?
Если можно опишите поподробней что за чем делать, и что я должен видеть на сигнальном созвездии на промежуточных этапах (дабы контролировать провильность работы).
Заранее спасибо за ответы.


Чтобы увидеть круг нужно выборку делать в правильных точках. Другими словами нужно восстановить фазу символьной частоты (да и то,если Вам абсолютно точно известна её частота, обычно для непрерывного сигнала ещё требуется и её подстройка, но на каком-то ограниченом участке сойдут априорные 2.5). Если брать выборку где попало Вы и увидите что попало... А в вашем сообщении как-то это не прозвучало, что символьная фаза восстановлена с достаточной точностью. Только если выборку брать там где надо, появится вращающееся созвездие.
После точной настройки частоты несущей - действительно вращение прекратится и получится демодулятор

При моделировании на компе Вы можете просто подвигать фазу выборки и перебором выбрать тот вид где есть круг, а в центре наоборот сигнал отсутствует.
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Apr 27 2012, 15:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(fontp @ Apr 27 2012, 12:49) *
Чтобы увидеть круг нужно выборку делать в правильных точках. Другими словами нужно восстановить фазу символьной частоты (да и то,если Вам абсолютно точно известна её частота, обычно для непрерывного сигнала ещё требуется и её подстройка, но на каком-то ограниченом участке сойдут априорные 2.5). Если брать выборку где попало Вы и увидите что попало... А в вашем сообщении как-то это не прозвучало, что символьная фаза восстановлена с достаточной точностью. Только если выборку брать там где надо, появится вращающееся созвездие.
После точной настройки частоты несущей - действительно вращение прекратится и получится демодулятор

При моделировании на компе Вы можете просто подвигать фазу выборки и перебором выбрать тот вид где есть круг, а в центре наоборот сигнал отсутствует.


Сигнал точно на нулевой частоте. Параметры сигнала точно верны. Данные обрабатываю пачками по 2048 отсчета. 2048 отсчета на 90 МГерцах, мне требуется частота 2,5 МГц, следовательно, я должен весь интревал отсчетов разбить на 2,5 * 2048/90=56,88888 отсчетов? пробую 56 или 57 отсчетов. Ни втом ни в другом случае "хорошего" круга не получаю. Так и должно быть или я круги должен видеть только после фильтрации?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Apr 27 2012, 17:13
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Anton1990 @ Apr 27 2012, 18:09) *
Сигнал точно на нулевой частоте. Параметры сигнала точно верны. Данные обрабатываю пачками по 2048 отсчета. 2048 отсчета на 90 МГерцах, мне требуется частота 2,5 МГц, следовательно, я должен весь интревал отсчетов разбить на 2,5 * 2048/90=56,88888 отсчетов?

выше Вам уже писали: ...(да и то,если Вам абсолютно точно известна её частота, обычно для непрерывного сигнала ещё требуется и её подстройка...
Следовательно, кроме самого ресамплера, требуется еще и контур ФАПЧ, который будет подстраивать фазу тактов в ресамплере. И еще, Вы не должны обращать внимания как в демодулятор поступают данные, отсчетами или пачками, причем эти пачки зачастую могут быть и разной длины, алгоритм работы демодулятора строится, как правило, потактно, т.е. все решения и ошибки в системах вырабатываются тоже на каждом символьном интервале. могут быть, конечно, и исключения какие-то, но в целом это так.

Сообщение отредактировал Serg76 - Apr 27 2012, 17:14
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Anton1990   Программный демодулятор   Apr 26 2012, 14:51
- - Serg76   Цитата(Anton1990 @ Apr 26 2012, 17:51) Си...   Apr 26 2012, 14:58
|- - Anton1990   Цитата(Serg76 @ Apr 26 2012, 17:58) непло...   Apr 26 2012, 15:58
|- - Serg76   Цитата(Anton1990 @ Apr 26 2012, 18:58) Пр...   Apr 26 2012, 17:03
- - Gyga   90 на 2.5 делится на цело можно с передескритизато...   Apr 27 2012, 06:20
|- - Serg76   Цитата(Gyga @ Apr 27 2012, 09:20) 90 на 2...   Apr 27 2012, 06:33
|- - fontp   QUOTE (Anton1990 @ Apr 27 2012, 19:09) Си...   Apr 27 2012, 17:16
- - thermit   Цитатаfontp: Фильтрация должна быть просто чтобы п...   Apr 27 2012, 18:02
- - Serg76   честно говоря, не совсем ясно что там у ТС вообще ...   Apr 27 2012, 18:15
- - thermit   ЦитатаSerg76: фильтровать все-таки необходимо Куд...   Apr 27 2012, 18:29
- - stealth-coder   Алгоритм программной демодуляции сигналов QPSK: 1....   Apr 30 2012, 11:01
- - Grizzzly   Напишу здесь, чтобы новую тему не создавать. Появи...   Mar 15 2015, 22:13
- - D.I.M.A   Цитата(Grizzzly @ Mar 16 2015, 01:13) Нап...   Mar 16 2015, 08:09
- - Grizzzly   Спасибо большое за ответ! Теперь ясно, в какую...   Mar 16 2015, 08:51


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 05:04
Рейтинг@Mail.ru


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