Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: демодуляция QPSK
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
brenneke
Друзья, подскажите. Имея квадратурные составляющие I и Q QPSK сигнала, нужно осуществить демодуляцию. Как это осуществить? Спасибо!
Oldring
Цитата(brenneke @ Jan 13 2010, 00:21) *
Друзья, подскажите. Имея квадратурные составляющие I и Q QPSK сигнала, нужно осуществить демодуляцию. Как это осуществить? Спасибо!


Применив демодулятор.
brenneke
Цитата(Oldring @ Jan 13 2010, 00:31) *
Применив демодулятор.



I и Q приходят по SPI в DSP. В процессоре требуется демодулировать и результат выдать в ЦАП. Интересуют собственно выражения для значения синуса и косинуса мгновенной фазы. И как именно собрать из них демодулированную последовательность. Спасибо!
AlikM
Цитата(brenneke @ Jan 13 2010, 00:37) *
I и Q приходят по SPI в DSP. В процессоре требуется демодулировать и результат выдать в ЦАП. Интересуют собственно выражения для значения синуса и косинуса мгновенной фазы. И как именно собрать из них демодулированную последовательность. Спасибо!

Учим мат. часть wink.gif
Почитате это Okunev.Yu.B.Zifrovaya.peredacha.informatsii.fazomanipulirovannymi.signalami
и это digital_communications_proakis
bahurin
петля костаса подойдет тебе. Подробнее ЗДЕСЬ
thermit
Поиском по форуму можно найти исчерпывающую информацию по этому вопросу.
Например
http://electronix.ru/forum/index.php?showtopic=23652&hl=
petrov
Цитата(bahurin @ Jan 13 2010, 08:51) *
петля костаса подойдет тебе. Подробнее ЗДЕСЬ


Схема для QPSK нарисована там с ошибкой, нехватает символьной синхронизации, да и Костас к этой схеме никакого отношения не имеет.
brenneke
Благодарю за помощь!
bahurin
Цитата(petrov @ Jan 13 2010, 12:01) *
Схема для QPSK нарисована там с ошибкой, нехватает символьной синхронизации, да и Костас к этой схеме никакого отношения не имеет.


Прокис на странице 302 говорит о том что петля костаса - петля не управляемая решением (т.е. не нужна символьная синхронизация). Там же чуть ниже он показывает, что она полностью соответствует квадратичной петле для BPSK (когда манипуляция снята и ни о какой символьной синхронизации речи нет). Соотвественно при QPSK петля костаса соответствует петле в 4 степени. Так что не надо twak.gif .

PS приведенную схему проверял. Работает.
petrov
Цитата(bahurin @ Jan 13 2010, 17:44) *
Прокис на странице 302 говорит о том что петля костаса - петля не управляемая решением (т.е. не нужна символьная синхронизация). Там же чуть ниже он показывает, что она полностью соответствует квадратичной петле для BPSK (когда манипуляция снята и ни о какой символьной синхронизации речи нет). Соотвественно при QPSK петля костаса соответствует петле в 4 степени. Так что не надо twak.gif .

PS приведенную схему проверял. Работает.


Прокис всё правильно пишет, там же на странце 305 прокис даёт обобщение петли Костаса на случай MPSK(и в частности QPSK), схема по вашей ссылке не соответствует ей. Эта схема управляемая решениями, но автор забыл символьную синхронизацию, правильный вариант можно посмотреть например в книге Незами стр. 3-30, там тоже ошибочно называют эту схему петлёй Костаса.

То что приведённая вами схема как-то работает ещё ни о чём не говорит, работает она плохо, неужто не видите что в моменты времени близкие к символьным переходам на зашумлённом сигнале взятие знака добавляет ненужный шум в ошибку?
AlikM
Цитата(petrov @ Jan 13 2010, 12:01) *
Схема для QPSK нарисована там с ошибкой, нехватает символьной синхронизации, да и Костас к этой схеме никакого отношения не имеет.

Да, действительно, интересное допущение : "If the message waveforms are rectangular" (Если форма сигнала является прямоугольной). Т.е. автор полагает, что выборки на краях символа идентичны выборке в середине символа, ну и т.д.
Вообщем мало общего с реальными сигналами.
Я бы посоветовал начать с квадратурной схемы с возведением в 4 степень и выделения с помощью ФНЧ несущей из сигнала с последующим делением ее фазы на 4 и компенсацией расстройки принятого сигнала. Если частотная расстройка большая (>(1/400)*Fn), предварительно компенсируем ее. Все без петель ФАПЧ, только комплексные умножители, ФНЧ (можно БИХ) и БПФ. Мне кажется начинающему сложно будет расчитать и настроить петлю 2-го порядка.
bahurin
Цитата(petrov @ Jan 13 2010, 18:34) *
То что приведённая вами схема как-то работает ещё ни о чём не говорит, работает она плохо, неужто не видите что в моменты времени близкие к символьным переходам на зашумлённом сигнале взятие знака добавляет ненужный шум в ошибку?


Тот же мезами на странице 3-29 дает выражение (3-54 и 3-55) для сигнала ошибки, из которых следует формула (3-56), которое показывает, что сигнал ошибки e = sin(d teta)*(I^2 + Q^2). Так вот (I^2 + Q^2) - квадрат амплитудной огибающей, которая для QPSK величина постоянная и не зависит от передаваемых символов. Если же фильтры дали завалы на краях, то это означает что ошибка на стыке будет меньше. грубо говоря контур не будет подстраивать в районе стыка.
PS петля костаса работает "не както" а вполне себе нормально работает.
fontp
Цитата(bahurin @ Jan 14 2010, 10:35) *
Тот же мезами на странице 3-29 дает выражение (3-54 и 3-55) для сигнала ошибки, из которых следует формула (3-56), которое показывает, что сигнал ошибки e = sin(d teta)*(I^2 + Q^2). Так вот (I^2 + Q^2) - квадрат амплитудной огибающей, которая для QPSK величина постоянная и не зависит от передаваемых символов. Если же фильтры дали завалы на краях, то это означает что ошибка на стыке будет меньше. грубо говоря контур не будет подстраивать в районе стыка.
PS петля костаса работает "не както" а вполне себе нормально работает.


По Вашей ссылке для BPSK нарисована петля Костаса с умножением частоты, а для QPSK петля, которая строго говоря петлёй Костаса не является, поскольку с ограничением sgn(*) - это петля работающая по жестким решениям.
Вот на что постоянно обращает внимание petrov - Костас предлагал петлю с умножением частоты, а не петлю, работающую по жестким решениям (этот простой вопрос принято запутывать, называя петлёй Костаса самые разные вещи, а petrov пытается его распутать, фиксируя терминологию).
Такая петля управляемая решениями при разумных отношениях Eb/No работает лучше чем петля Костаса (т.е. честного учетверения частоты), но только в правильных точках выборки, т.е. после восстановления тактовой. А при произвольной фазе выборки (до восстановления тактовой) она работает наоборот - хуже.
Хотя и петля Костаса работает там неидеально, поскольку в точках перехода фазы после фильтрации возникают биения. Но тем не менее Костас без тактовой лучше.

PS. Даже любопытно, как Вы получите e=sin(4*d teta) из e = I*sign(Q)-Q*sign(I),
другое дело что sin(4*d teta) ~ I*Q*(Q*Q-I*I)

Понятно, что sin(2*d teta) = k*sin(d teta)*cos(d teta), k = 2 rolleyes.gif
petrov
Цитата(bahurin @ Jan 14 2010, 10:35) *
Тот же мезами на странице 3-29 дает выражение (3-54 и 3-55) для сигнала ошибки, из которых следует формула (3-56), которое показывает, что сигнал ошибки e = sin(d teta)*(I^2 + Q^2). Так вот (I^2 + Q^2) - квадрат амплитудной огибающей, которая для QPSK величина постоянная и не зависит от передаваемых символов. Если же фильтры дали завалы на краях, то это означает что ошибка на стыке будет меньше. грубо говоря контур не будет подстраивать в районе стыка.
PS петля костаса работает "не както" а вполне себе нормально работает.


Всё верно у Незами, он рассматривает все формулы в дискретные моменты времени соответствующие символьной синхронизации, и на рисунке всё это показывает. Огибающая для QPSK не постоянная и зависит от передаваемых символов, кроме одного практически неинтересного случая прямоугольных импульсов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.