|
|
  |
демодуляция QPSK |
|
|
|
Jan 12 2010, 21:21
|
Группа: Участник
Сообщений: 5
Регистрация: 13-10-09
Пользователь №: 52 917

|
Друзья, подскажите. Имея квадратурные составляющие I и Q QPSK сигнала, нужно осуществить демодуляцию. Как это осуществить? Спасибо!
|
|
|
|
|
Jan 12 2010, 21:37
|
Группа: Участник
Сообщений: 5
Регистрация: 13-10-09
Пользователь №: 52 917

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

Участник

Группа: Участник
Сообщений: 26
Регистрация: 5-10-09
Пользователь №: 52 767

|
Цитата(brenneke @ Jan 13 2010, 00:37)  I и Q приходят по SPI в DSP. В процессоре требуется демодулировать и результат выдать в ЦАП. Интересуют собственно выражения для значения синуса и косинуса мгновенной фазы. И как именно собрать из них демодулированную последовательность. Спасибо! Учим мат. часть Почитате это Okunev.Yu.B.Zifrovaya.peredacha.informatsii.fazomanipulirovannymi.signalamiи это digital_communications_proakis
|
|
|
|
|
Jan 13 2010, 13:10
|
Группа: Участник
Сообщений: 5
Регистрация: 13-10-09
Пользователь №: 52 917

|
Благодарю за помощь!
|
|
|
|
|
Jan 13 2010, 14:44
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(petrov @ Jan 13 2010, 12:01)  Схема для QPSK нарисована там с ошибкой, нехватает символьной синхронизации, да и Костас к этой схеме никакого отношения не имеет. Прокис на странице 302 говорит о том что петля костаса - петля не управляемая решением (т.е. не нужна символьная синхронизация). Там же чуть ниже он показывает, что она полностью соответствует квадратичной петле для BPSK (когда манипуляция снята и ни о какой символьной синхронизации речи нет). Соотвественно при QPSK петля костаса соответствует петле в 4 степени. Так что не надо  . PS приведенную схему проверял. Работает.
|
|
|
|
|
Jan 13 2010, 15:34
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(bahurin @ Jan 13 2010, 17:44)  Прокис на странице 302 говорит о том что петля костаса - петля не управляемая решением (т.е. не нужна символьная синхронизация). Там же чуть ниже он показывает, что она полностью соответствует квадратичной петле для BPSK (когда манипуляция снята и ни о какой символьной синхронизации речи нет). Соотвественно при QPSK петля костаса соответствует петле в 4 степени. Так что не надо  . PS приведенную схему проверял. Работает. Прокис всё правильно пишет, там же на странце 305 прокис даёт обобщение петли Костаса на случай MPSK(и в частности QPSK), схема по вашей ссылке не соответствует ей. Эта схема управляемая решениями, но автор забыл символьную синхронизацию, правильный вариант можно посмотреть например в книге Незами стр. 3-30, там тоже ошибочно называют эту схему петлёй Костаса. То что приведённая вами схема как-то работает ещё ни о чём не говорит, работает она плохо, неужто не видите что в моменты времени близкие к символьным переходам на зашумлённом сигнале взятие знака добавляет ненужный шум в ошибку?
Сообщение отредактировал petrov - Jan 13 2010, 15:35
|
|
|
|
|
Jan 13 2010, 19:53
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 5-10-09
Пользователь №: 52 767

|
Цитата(petrov @ Jan 13 2010, 12:01)  Схема для QPSK нарисована там с ошибкой, нехватает символьной синхронизации, да и Костас к этой схеме никакого отношения не имеет. Да, действительно, интересное допущение : "If the message waveforms are rectangular" (Если форма сигнала является прямоугольной). Т.е. автор полагает, что выборки на краях символа идентичны выборке в середине символа, ну и т.д. Вообщем мало общего с реальными сигналами. Я бы посоветовал начать с квадратурной схемы с возведением в 4 степень и выделения с помощью ФНЧ несущей из сигнала с последующим делением ее фазы на 4 и компенсацией расстройки принятого сигнала. Если частотная расстройка большая (>(1/400)*Fn), предварительно компенсируем ее. Все без петель ФАПЧ, только комплексные умножители, ФНЧ (можно БИХ) и БПФ. Мне кажется начинающему сложно будет расчитать и настроить петлю 2-го порядка.
Сообщение отредактировал AlikM - Jan 13 2010, 20:16
|
|
|
|
|
Jan 14 2010, 07:35
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(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 петля костаса работает "не както" а вполне себе нормально работает.
Сообщение отредактировал bahurin - Jan 14 2010, 08:02
|
|
|
|
|
Jan 14 2010, 08:28
|

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

|
Цитата(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
|
|
|
|
|
Jan 14 2010, 10:06
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(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 не постоянная и зависит от передаваемых символов, кроме одного практически неинтересного случая прямоугольных импульсов.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|