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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> QPSK: проблема: поворачивается созвездие
maxfox2k
сообщение Jun 7 2008, 06:10
Сообщение #1


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 7 2008, 07:33
Сообщение #2


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

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



Наверно, если при добавлении шума поворачивается, то происходит потеря синхронизации ФАПЧ. Шумовая полоса правильная?
Точно все К перепутаны? :-)

Как это обнаружилось? Если просто так лучше работает когда шума нет - то это ошибка. Шумовая полоса выбирается, чтобы отслеживать фазу невзирая на шум
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 7 2008, 08:12
Сообщение #3


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 7 2008, 08:39
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Не ту схему выбрали, эта схема для синусоидального сигнала без модуляции. Моделировать надо тщательно до железок в том числе и конечные разрядные сетки, вероятность того что теоритические вопросы в железке решите к нулю стремится.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 7 2008, 09:04
Сообщение #5


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(petrov @ Jun 7 2008, 11:39) *
Не ту схему выбрали, эта схема для синусоидального сигнала без модуляции.

чего-чего? smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 7 2008, 09:11
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 7 2008, 13:04) *
чего-чего? smile.gif


Чего-чего, читайте абзац на странице 3-33 сразу под фигурой 3-22.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 7 2008, 09:27
Сообщение #7


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(petrov @ Jun 7 2008, 12:11) *
Чего-чего, читайте абзац на странице 3-33 сразу под фигурой 3-22.

а, понял.
вот точнее что у нас
мы поворачиваем только символы перед демапером.
но принцип такои же, как и в книге. выше я написал, что мы работаем уже с baseband
сорри, если непонятно написал

Сообщение отредактировал maxfox2k - Jun 7 2008, 09:53
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 7 2008, 10:03
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 7 2008, 13:27) *
а, понял.
вот точнее что у нас
мы поворачиваем только символы перед демапером.
но принцип такои же, как и в книге. выше я написал, что мы работаем уже с baseband
сорри, если непонятно написал


Ну так загоните вашу схему в симулинк, промоделируйте воздействия все, конечные разрядные сетки, потом останется только перенести это в FPGA.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 7 2008, 11:53
Сообщение #9


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(petrov @ Jun 7 2008, 13:03) *
Ну так загоните вашу схему в симулинк, промоделируйте воздействия все, конечные разрядные сетки, потом останется только перенести это в FPGA.

в том-то и прикол, что в симуляции проблем не возникает.
раньше использовали такой способ, но во-первых несущая была фиксированая, во вторых downconvert был в цифре. есть очень большие подозрения, что в харде есть косяк, но пока не удается даже поймать место.

еще одно непонятное место, это сумматор после Ki. непонятно по каой причине, но в харде иногда бывает ситуция, что там устанавливается значение 45 градусов. в симуляции такое тоже не возникает, только если проинициализировать таким значением, поэтому добавил лимитер. но этот косяк бывает настолько редко, что решил просто оставить как есть.

так что если есть какие идеи...
кстати, в среднем +/- 7 градусов ошибка после входного LP фильтра и timing recovery это нормально или много?
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 9 2008, 14:24
Сообщение #10


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



неужели в железе никто не делает, толко симулируете?
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 9 2008, 15:17
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 9 2008, 18:24) *
неужели в железе никто не делает, толко симулируете?


С чего такие выводы? Откуда нам знать где у вас ошибка, всё что угодно может быть.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 9 2008, 16:20
Сообщение #12


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(petrov @ Jun 9 2008, 18:17) *
С чего такие выводы? Откуда нам знать где у вас ошибка, всё что угодно может быть.

ну а про битность и среднюю ошибку?

по идее ber должен быть как у bpsk, а в практике на 10 snr хуже, используя ту же pll.
да и если бы подобное кто делал, скорее всего сталкивается с подобными проблемами.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 9 2008, 16:57
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 9 2008, 20:20) *
ну а про битность и среднюю ошибку?

по идее ber должен быть как у bpsk, а в практике на 10 snr хуже, используя ту же pll.
да и если бы подобное кто делал, скорее всего сталкивается с подобными проблемами.


Для представления коэффициентов ваших достаточно, только сами коэффициенты сомнение вызывают.
У вас там вроде 4 отсчёта на символ было, конечно будет размазано сигнальное созвездие на приёме. Все эти вопросы решаются до железок, в модели будет видно как размазано всё будет из-за ошибок синхронизации. Теоритической BER можно достигнуть только при идеальной синхронизации, на практике конечно хуже получается. Вообще не корректные вопросы, нормально-ненормально, лучше-хуже, относительно чего? Может и нормально для ваших полос в ФАПЧ, в фильтре символьного синхронизатора и прочего. Какой там Eb/N0 с вашего передатчика идёт, какие там наводки у вас на плате и фазовые шумы гетеродинов, чёрт его знает.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 13 2008, 12:25
Сообщение #14


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

Группа: Участник
Сообщений: 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 бит, а я думал генератор поломался...
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 13 2008, 12:39
Сообщение #15


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

Группа: Свой
Сообщений: 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
Прикрепленные файлы
Прикрепленный файл  Digital_filter_and_square_timing_recovery__O_M.zip ( 354.5 килобайт ) Кол-во скачиваний: 193
Прикрепленный файл  gardner.zip ( 629.67 килобайт ) Кол-во скачиваний: 325
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 13 2008, 13:00
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 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 бит, а я думал генератор поломался...


чёта не понял ничего
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 04:58
Сообщение #17


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



как правильно практически померять eb/n0?

а то используя разные источники формул и разные спектруманализаторы получается от 14 до -25 для одного и того же цигнала и шума smile.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 26 2008, 07:40
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 26 2008, 08:58) *
как правильно практически померять eb/n0?

а то используя разные источники формул и разные спектруманализаторы получается от 14 до -25 для одного и того же цигнала и шума smile.gif


С помощью модели снимите зависимость EVM от eb/n0, и в железке EVM считайте, только конечно в EVM будет входить и МСИ и фазовое дрожание гетеродина и т. д.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 07:48
Сообщение #19


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(petrov @ Jun 26 2008, 10:40) *
С помощью модели снимите зависимость EVM от eb/n0, и в железке EVM считайте, только конечно в EVM будет входить и МСИ и фазовое дрожание гетеродина и т. д.

вы наверное не поняли вопрос. я имел ввиду как померять в кабеле?
есть генератор, шумогенератор и спектрум-анализатор.
и какую формулу исползовать?
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 26 2008, 08:05
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(maxfox2k @ Jun 26 2008, 11:48) *
вы наверное не поняли вопрос. я имел ввиду как померять в кабеле?
есть генератор, шумогенератор и спектрум-анализатор.
и какую формулу исползовать?


Без измерителя мощности наверное не обойтись, для того чтобы мощность сигнала померить . N0 померяете с помощью спектроанализатора. Зная мощность сигнала, длительность символа и количество бит на символ, посчитаете Eb и поделите на N0.

Или вы хотите в кабеле прямо по сумме сигнала и шума оценить? Берёте модель, считаете спектр и смотрите как уровень сигнала и уровень шума вне полосы от Eb/N0 зависит, то же самое смотрите на спектроанализаторе.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 08:19
Сообщение #21


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2008, 08:31
Сообщение #22


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

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



Цитата(maxfox2k @ Jun 26 2008, 12:19) *
т.е. power meter'ом отдельно померять уровень передатчика, отдельно шумогенератора?
дальше по какой формуле считать?


Все формулы и таблицы
Прикрепленные файлы
Прикрепленный файл  AN_ebno.zip ( 44.04 килобайт ) Кол-во скачиваний: 787
 
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 10:17
Сообщение #23


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

Группа: Участник
Сообщений: 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?
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2008, 10:23
Сообщение #24


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

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



Цитата(maxfox2k @ Jun 26 2008, 14:17) *
спасибо.

1.не можете ли пояснить расчет (C+N)/N?
например для цифр:
несущая -64.4 dBm
шум -128.5 dBm/1Hz

2. заинтересовали -3dB для qpsk
нужно ли в формуле ebn0 = cnr - 10lg(256к) еще вычесть 3dB для qpsk?


Какие цифры? Они измеряют (С+N) и N линейкой на экране спектроанализатора,
как уровни максимума сигнала и шумовой дорожки. Это величины, измеряемая непосредственно в канале, остальные цифры для наблюдения недоступны.

Именно то, что получается в результате пересчёта светится на дисплее модема и в спецификациях
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 10:48
Сообщение #25


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

Группа: Участник
Сообщений: 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 для демапера
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2008, 11:35
Сообщение #26


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

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



Цитата(maxfox2k @ Jun 26 2008, 14:48) *
аналогично.
но после формулы C/N=10*LOG10(10^(((-64.4-128.5)/-128.5)/10)-1)=-3.8 dBm
и если вычесть 3 dbm для qpsk, получается ebn0=-6.8 для демапера


Полюбому для модуляции (QPSK) вычесть (сжатие полосы), а для FEС - добавить (расширение полосы).
Вроде так :-)
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Jun 26 2008, 13:57
Сообщение #27


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

Группа: Участник
Сообщений: 90
Регистрация: 14-09-05
Пользователь №: 8 553



Цитата(fontp @ Jun 26 2008, 14:35) *
Полюбому для модуляции (QPSK) вычесть (сжатие полосы), а для FEС - добавить (расширение полосы).
Вроде так :-)

добавлять точно не хочется smile.gif
но вот если для моей формулы еще вычесть и 3 dbm для qpsk то очень даже замечательно в спек укладываемся. попробую в этом направлении похимичить.
но вообще странно, что по разным источникам получаются такие разные значения.
у нас точно ebn0 не может быть отрицательным.
Go to the top of the page
 
+Quote Post

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

 


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


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