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

|
Цитата(maxfox2k @ Jun 13 2008, 16:25)  проблема оказалась в symbol timing детекторе. перестает работать при ebn0 9 для qpsk. для bpsk работает до ebn0 7. какой способ работает лучше при сильных шумах? Это вы в модели выяснили? Если в железке то может намеряли не правильно. При таких шумах любой должен работать, использую приближённую формулу модуля комплексного числа max(|I|,|Q|)+0.25*min(|I|,|Q|). Цитата(maxfox2k @ Jun 13 2008, 16:25)  не знаю, может в умных книжках где и написано, но pn9 для bpsk и bbpsk одинаковые, только смещены на 129 бит, а я думал генератор поломался... чёта не понял ничего
|
|
|
|
|
Jun 26 2008, 07:48
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(petrov @ Jun 26 2008, 10:40)  С помощью модели снимите зависимость EVM от eb/n0, и в железке EVM считайте, только конечно в EVM будет входить и МСИ и фазовое дрожание гетеродина и т. д. вы наверное не поняли вопрос. я имел ввиду как померять в кабеле? есть генератор, шумогенератор и спектрум-анализатор. и какую формулу исползовать?
|
|
|
|
|
Jun 26 2008, 08:19
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
тобиш есть формула cnr = ebn0 + 10lg(f/b) => ebn0 = cnr - 10lg(f/b) cnr - разность уровня несущеи и шума. но тут вопрос, несущую надо мерять без шума или с шумом? noize/1Hz? f - data rate, в нашем случае 256k, но т.к. используется fec 1/2, то будет ли правильно померять для 128k? b - channel bandwidth, тут тоже непонятки, в одном источнике, для qpsk b=f, для bpsk b=2f, это правильно? Цитата(petrov @ Jun 26 2008, 11:05)  Без измерителя мощности наверное не обойтись, для того чтобы мощность сигнала померить . N0 померяете с помощью спектроанализатора. Зная мощность сигнала, длительность символа и количество бит на символ, посчитаете Eb и поделите на N0. т.е. power meter'ом отдельно померять уровень передатчика, отдельно шумогенератора? дальше по какой формуле считать?
Сообщение отредактировал maxfox2k - Jun 26 2008, 08:16
|
|
|
|
|
Jun 26 2008, 10:17
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(fontp @ Jun 26 2008, 11:31)  Все формулы и таблицы спасибо. 1.не можете ли пояснить расчет (C+N)/N? например для цифр: несущая -64.4 dBm шум -128.5 dBm/1Hz 2. заинтересовали -3dB для qpsk нужно ли в формуле ebn0 = cnr - 10lg(256к) еще вычесть 3dB для qpsk?
|
|
|
|
|
Jun 26 2008, 10:48
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(fontp @ Jun 26 2008, 13:23)  Какие цифры? Они измеряют (С+N) и N линейкой на экране спектроанализатора, как уровни максимума сигнала и шумовой дорожки. Это величины, измеряемая непосредственно в канале, остальные цифры для наблюдения недоступны аналогично. но после формулы C/N=10*LOG10(10^(((-64.4-128.5)/-128.5)/10)-1)=-3.8 dBm и если вычесть 3 dbm для qpsk, получается ebn0=-6.8 для демапера
|
|
|
|
|
Jun 26 2008, 13:57
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553

|
Цитата(fontp @ Jun 26 2008, 14:35)  Полюбому для модуляции (QPSK) вычесть (сжатие полосы), а для FEС - добавить (расширение полосы). Вроде так :-) добавлять точно не хочется  но вот если для моей формулы еще вычесть и 3 dbm для qpsk то очень даже замечательно в спек укладываемся. попробую в этом направлении похимичить. но вообще странно, что по разным источникам получаются такие разные значения. у нас точно ebn0 не может быть отрицательным.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|