|
QPSK: проблема: поворачивается созвездие |
|
|
|
Jun 7 2008, 06:10
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
уважаемый all, собственно subj
исходные данные: carrier: 900-1500 mhz, подстраивается с минимальным шагом 100 hz, не используем цифровой AFC используем maxim tuner, у него выход сразу baseband
QPSK 128k symb/s (oversampling 4), непрерывный поток без синхронизации (синхронизация производится по данным)
используем tanlock loop как в незами (fig. 3-23, p 3-36), только правильно будет atan2(q/i) и Ki, Kp перепутаны. Ki 0.04, Kp 0.4 все расчеты производятся с 12 бит integer (достаточная ли точность для этого способа?)
на незашумлённых сигналах (с генератора и реального передатчика по кабелю) работает вообще без ошибок на pn9. на сигнале с генератора средняя ошибка после timing recovery около 4х градусов на сигнале от передатчика около 7 градусов timing recovery примерно как в незами (p 4-6)
при добавлении шума созвездие начинает довольно часто поворачивается. в чем может быть причина?
еще одна странная особенность. если carrier и local достаточно близки то ошибки происходят гораздо чаще. поэтому сейчас, используя информацию из dco держим разность около 500hz
|
|
|
|
|
Jun 7 2008, 08:12
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(fontp @ Jun 7 2008, 10:33)  Наверно, если при добавлении шума поворачивается, то происходит потеря синхронизации. я это и написал. а вот почему? Цитата(fontp @ Jun 7 2008, 10:33)  Шумовая полоса правильная? да Цитата(fontp @ Jun 7 2008, 10:33)  Точно все К перепутаны? :-) p. 3-13
|
|
|
|
|
Jun 7 2008, 09:04
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 7 2008, 11:39)  Не ту схему выбрали, эта схема для синусоидального сигнала без модуляции. чего-чего?
|
|
|
|
|
Jun 7 2008, 09:27
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 7 2008, 12:11)  Чего-чего, читайте абзац на странице 3-33 сразу под фигурой 3-22. а, понял. вот точнее что у нас мы поворачиваем только символы перед демапером. но принцип такои же, как и в книге. выше я написал, что мы работаем уже с baseband сорри, если непонятно написал
Сообщение отредактировал maxfox2k - Jun 7 2008, 09:53
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 7 2008, 11:53
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 7 2008, 13:03)  Ну так загоните вашу схему в симулинк, промоделируйте воздействия все, конечные разрядные сетки, потом останется только перенести это в FPGA. в том-то и прикол, что в симуляции проблем не возникает. раньше использовали такой способ, но во-первых несущая была фиксированая, во вторых downconvert был в цифре. есть очень большие подозрения, что в харде есть косяк, но пока не удается даже поймать место. еще одно непонятное место, это сумматор после Ki. непонятно по каой причине, но в харде иногда бывает ситуция, что там устанавливается значение 45 градусов. в симуляции такое тоже не возникает, только если проинициализировать таким значением, поэтому добавил лимитер. но этот косяк бывает настолько редко, что решил просто оставить как есть. так что если есть какие идеи... кстати, в среднем +/- 7 градусов ошибка после входного LP фильтра и timing recovery это нормально или много?
|
|
|
|
|
Jun 9 2008, 16:20
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 9 2008, 18:17)  С чего такие выводы? Откуда нам знать где у вас ошибка, всё что угодно может быть. ну а про битность и среднюю ошибку? по идее ber должен быть как у bpsk, а в практике на 10 snr хуже, используя ту же pll. да и если бы подобное кто делал, скорее всего сталкивается с подобными проблемами.
|
|
|
|
|
Jun 9 2008, 16:57
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(maxfox2k @ Jun 9 2008, 20:20)  ну а про битность и среднюю ошибку?
по идее ber должен быть как у bpsk, а в практике на 10 snr хуже, используя ту же pll. да и если бы подобное кто делал, скорее всего сталкивается с подобными проблемами. Для представления коэффициентов ваших достаточно, только сами коэффициенты сомнение вызывают. У вас там вроде 4 отсчёта на символ было, конечно будет размазано сигнальное созвездие на приёме. Все эти вопросы решаются до железок, в модели будет видно как размазано всё будет из-за ошибок синхронизации. Теоритической BER можно достигнуть только при идеальной синхронизации, на практике конечно хуже получается. Вообще не корректные вопросы, нормально-ненормально, лучше-хуже, относительно чего? Может и нормально для ваших полос в ФАПЧ, в фильтре символьного синхронизатора и прочего. Какой там Eb/N0 с вашего передатчика идёт, какие там наводки у вас на плате и фазовые шумы гетеродинов, чёрт его знает.
|
|
|
|
|
Jun 13 2008, 12:25
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 9 2008, 19:57)  Для представления коэффициентов ваших достаточно, только сами коэффициенты сомнение вызывают. У вас там вроде 4 отсчёта на символ было, конечно будет размазано сигнальное созвездие на приёме. Все эти вопросы решаются до железок, в модели будет видно как размазано всё будет из-за ошибок синхронизации. Теоритической BER можно достигнуть только при идеальной синхронизации, на практике конечно хуже получается. Вообще не корректные вопросы, нормально-ненормально, лучше-хуже, относительно чего? Может и нормально для ваших полос в ФАПЧ, в фильтре символьного синхронизатора и прочего. Какой там Eb/N0 с вашего передатчика идёт, какие там наводки у вас на плате и фазовые шумы гетеродинов, чёрт его знает. проблема оказалась в symbol timing детекторе. перестает работать при ebn0 9 для qpsk. для bpsk работает до ebn0 7. какой способ работает лучше при сильных шумах? не знаю, может в умных книжках где и написано, но pn9 для bpsk и bbpsk одинаковые, только смещены на 129 бит, а я думал генератор поломался...
|
|
|
|
|
Jun 13 2008, 12:39
|

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

|
Цитата(maxfox2k @ Jun 13 2008, 16:25)  проблема оказалась в symbol timing детекторе. перестает работать при ebn0 9 для qpsk. для bpsk работает до ebn0 7. какой способ работает лучше при сильных шумах?
не знаю, может в умных книжках где и написано, но pn9 для bpsk и bbpsk одинаковые, только смещены на 129 бит, а я думал генератор поломался... да вроде работает символьная для QPSK и не только для 9 но и для 3 дб лучше использовать для огибающей AVR |I| + |Q| или даже ||I|-|Q||, a не I*I+Q*Q чтобы не плодить шум c другой стороны последнее совсем не зависит от смещения несущей, а первые только в небольшом диапазоне Это если feedforward по Oerder и Meyr. а если feedback то только Gardner
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|