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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> BPSK carrier recovery
maxfox2k
сообщение Apr 28 2008, 10:27
Сообщение #1


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

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



уважаемый all

собственно кто-нибудь может обяснить по-простому как ето стделать?

исходные данные: symbol rate 256 KHz
несущая 950-1500 MHz
несущая может плавать в пределе 1 MHz

какои алгоритм есть, чтобы понять, локалная отстаёт или опережает несущую принятого сигнала?
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 28 2008, 10:40
Сообщение #2


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

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



Цитата(maxfox2k @ Apr 28 2008, 14:27) *
уважаемый all

собственно кто-нибудь может обяснить по-простому как ето стделать?

исходные данные: symbol rate 256 KHz
несущая 950-1500 MHz
несущая может плавать в пределе 1 MHz

какои алгоритм есть, чтобы понять, локалная отстаёт или опережает несущую принятого сигнала?


Ну разные есть. С обратной связью (feedback) и без (feedforward). C обратной связью - это ФАПЧ.
Без обратной связи - прямые алгоритмы. Среди прямых алгоритмов опять подходы разнятся

1) data driven. Это когда данные известны (преамбула). Тогда модуляцию (на преамбуле) снимают и остаётся выявить комплексный тон

2) слепые. Сигнал возводят в квадрат (для BPSK) и модуляция опять же исчезает. Опять остаётся определить частоту комплексной экспоненты удвоеной частоты. Всякое возведение в степень ведёт к энергетическим потерям, но приходится чем-то поступиться, если известной преамбулы нет

Для определения частоты комплексной экспоненты опять же предложено много эффективных методов. Применение того или иного зависит от компромисса : быстродействие против snr
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение Apr 28 2008, 11:19
Сообщение #3


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

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



Цитата(fontp @ Apr 28 2008, 13:40) *
Ну разные есть. С обратной связью (feedback) и без (feedforward). C обратной связью - это ФАПЧ.
Без обратной связи - прямые алгоритмы. Среди прямых алгоритмов опять подходы разнятся

1) data driven. Это когда данные известны (преамбула). Тогда модуляцию (на преамбуле) снимают и остаётся выявить комплексный тон

2) слепые. Сигнал возводят в квадрат (для BPSK) и модуляция опять же исчезает. Опять остаётся определить частоту комплексной экспоненты удвоеной частоты. Всякое возведение в степень ведёт к энергетическим потерям, но приходится чем-то поступиться, если известной преамбулы нет

Для определения частоты комплексной экспоненты опять же предложено много эффективных методов. Применение того или иного зависит от компромисса : быстродействие против snr


1. preambuly net.

2. est li primer, blok-shema ili ponyatnoe opisanie algoritma?
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 28 2008, 11:57
Сообщение #4


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

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



Цитата(maxfox2k @ Apr 28 2008, 15:19) *
1. preambuly net.

2. est li primer, blok-shema ili ponyatnoe opisanie algoritma?


Преамбулы нет - значит нужно снимать модуляцию, возводя сигнал в квадрат.

Изощрённый быстрый алгоритм определения частоты немодулированой несущей здесь внизу приатачен

Работает идеально при не слишком низких отношениях snr

При очень низких snr используют преобразование Фурье, полученные отсчёты так или иначе интерполируют и находят максимум построеной модели - там и есть частота

Типа как здесь

http://home.comcast.net/~kootsoop/EricJ2/index.htm

При совсем низких SNR у меня получались более устойчивые решения, если дополнить блок данных нулями вдвое, сделать ДПФ, найти максимум и по трём точкам построить параболическую интерполяцию аналитически. Аргумент максимума параболы и есть искомая частота.

Можно использовать ФАПЧ для захвата частоты. Но время захвата будет всегда хуже, чем у методов feed forward. Поэтому если требуется минимизировать время измерения частоты/фазы, то сначала используют метод feed forward, а потом уже запускают ФАПЧ, инициировав ему значения частоты и фазы, найденными на первом этапе
Прикрепленные файлы
Прикрепленный файл  New_Freq_Estimate_DMA_RAD.zip ( 55.75 килобайт ) Кол-во скачиваний: 1349
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 29 2008, 07:17
Сообщение #5


Гуру
******

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



Вот посмотрите модели:
http://electronix.ru/forum/index.php?showtopic=23652

Практическая книга:
http://rapidshare.com/files/45943139/%%%%%...Nezami.rar.html
Go to the top of the page
 
+Quote Post
MKS
сообщение Apr 29 2008, 09:05
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 469
Регистрация: 13-03-05
Пользователь №: 3 315



Приветствую всех. Решил спросить в этой теме.
Начитавшись Скляра с Незами сделал простую модельку петли костаса для QPSK с детектором фазы в виде . У меня вопрос какие потери SNR будут в этом случае? И как это вобще это можно оценить?
Моих знаний для этого пока малавато. 05.gif

Сообщение отредактировал MKS - Apr 29 2008, 09:06
Прикрепленные файлы
Прикрепленный файл  costas_loop_qpsk_complex_realization.zip ( 12.12 килобайт ) Кол-во скачиваний: 158
 
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 29 2008, 10:23
Сообщение #7


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

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



Цитата(MKS @ Apr 29 2008, 13:05) *
Приветствую всех. Решил спросить в этой теме.
Начитавшись Скляра с Незами сделал простую модельку петли костаса для QPSK с детектором фазы в виде . У меня вопрос какие потери SNR будут в этом случае? И как это вобще это можно оценить?
Моих знаний для этого пока малавато. 05.gif


Незами не называет схему с арктангенсом - петлёй Костаса, это Вы сами придумали :-)
Петля Костаса - это схема с умножением функций от I и Q, e= sign(I)*Q-sign(Q)*I для QPSK
Хотя известно, что схема с арктангенсом имеет такие же точно потери как петля Костаса
Я как то приатачивал статью про энергетические потери QPSK
http://electronix.ru/forum/index.php?act=A...st&id=18829

Обратите внимание, что оптимально с точки зрения потерь модифицировать Костас в
e= th(I)*Q - th(Q)*I (энергия сигнала нормирована на дисперсию шума)

при низких SNR. Для реализации это бывает часто сложновато
Математика там действительно сложноватая, чтобы самому выводить, да и хрен с ним, всё сам не выведешь :-) если иметь в виду всякую нелинейщину, жизнь слишком коротка
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 29 2008, 12:00
Сообщение #8


Гуру
******

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



Цитата(MKS @ Apr 29 2008, 13:05) *
Приветствую всех. Решил спросить в этой теме.
Начитавшись Скляра с Незами сделал простую модельку петли костаса для QPSK с детектором фазы в виде . У меня вопрос какие потери SNR будут в этом случае? И как это вобще это можно оценить?
Моих знаний для этого пока малавато. 05.gif


Практически просто оценить, уменьшается евклидово расстояние на приёме между точками созвездия, на сколько надо SNR поднять чтобы получить такое же расстояние как и в случае идеальной синхронизации это и есть потери. Можно BER посчитать и сравнить с теоритическими BER для идеальной синхронизации.
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение May 8 2008, 05:04
Сообщение #9


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

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



через фурье удаётся довольно точно подстроить несущую, если изначално она была смещена довольно далеко.
но затем никак не могу разобратся что делать дальше.

что даёт возведение сигнала в квадрат? собственно что делать, чтобы понять как изменяется несущая?
пытаюс делат следующее:
нахожу период символа, если он начинает уменшатся, пытаюс увеличить несущыю. если становится есче хуже (символ становится короче), то меняю направление и уменшаю несущую.
делаю всё в фпга. алгоритм правильный?

можете обяснить, что такое петля костаса и как исползовать этот алгоритм?
Go to the top of the page
 
+Quote Post
fontp
сообщение May 8 2008, 05:57
Сообщение #10


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

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



Цитата(maxfox2k @ May 8 2008, 09:04) *
можете обяснить, что такое петля костаса и как исползовать этот алгоритм?


Рис. 3-8 в книге Низами. Для BPSK ошибка фазового детектора фапч даётся

e= i*q

Про QPSK я уже написал выше

ДПФ может дать любую нужную теоретически достижимую точность (CRLB) измерения несущей. Посредством интерполяции,
как здесь
http://home.comcast.net/~kootsoop/EricJ2/index.htm
Раз у вас преамбулы нет и нужно умножать частоту на 2, чтобы снять модуляцию, то максимальный диапазон измерения частоты равен половине от частоты Найквиста
Go to the top of the page
 
+Quote Post
petrov
сообщение May 8 2008, 06:06
Сообщение #11


Гуру
******

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



Цитата(maxfox2k @ May 8 2008, 09:04) *
через фурье удаётся довольно точно подстроить несущую, если изначално она была смещена довольно далеко.
но затем никак не могу разобратся что делать дальше.

что даёт возведение сигнала в квадрат? собственно что делать, чтобы понять как изменяется несущая?
пытаюс делат следующее:
нахожу период символа, если он начинает уменшатся, пытаюс увеличить несущыю. если становится есче хуже (символ становится короче), то меняю направление и уменшаю несущую.
делаю всё в фпга. алгоритм правильный?

можете обяснить, что такое петля костаса и как исползовать этот алгоритм?


Рано в FPGA лезть, читайте Низами и моделируйте в симулинке, посмотрите модели выложенные, возведение в квадрат даёт умножение фазы на 2 и для BPSK даёт устранение модуляции, можно непосредственно вычислять аргумент входного вектора и умножать на 2 без всяких возведений в квадрат , таким образом выделяется несущая, ещё надо позаботиться о символьной синхронизации. Фурье здесь вообще не нужно.
Go to the top of the page
 
+Quote Post
fontp
сообщение May 8 2008, 06:38
Сообщение #12


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

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



Цитата(petrov @ May 8 2008, 10:06) *
Рано в FPGA лезть, читайте Низами и моделируйте в симулинке, посмотрите модели выложенные, возведение в квадрат даёт умножение фазы на 2 и для BPSK даёт устранение модуляции, можно непосредственно вычислять аргумент входного вектора и умножать на 2 без всяких возведений в квадрат , таким образом выделяется несущая, ещё надо позаботиться о символьной синхронизации. Фурье здесь вообще не нужно.



Это вряд ли, что он обойдётся без Фурье. Расстройка несущей предельно велика по отношению к символьной. ( Задача полностью масштабируется по символьной). Символьная 256кгц Пусть он использует 8 отсчётов на символ.Самплинг Fs = 2 мгц. Найквист = 1 мгц. После умножения частоты на 2 он увидит только +-500 кгц. На 4 точках на символ он этот диапазон вообще не увидит, нужно 8, а лучше 12-16 )))

Т.е. нужен поиск несущей в полном диапазоне частот. От -Найквиста до + Найквиста. Никакой фапч хвататься не будет.
При предельно низких snr это только Фурье. Причём, поскольку полного диапазона - то БПФ
При предельно низких snr (ebno<5) корреляционные методы (как тот же DMA-RAD) не работают
Разве что у него рабочий ebno 8-10 дб
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение May 8 2008, 06:47
Сообщение #13


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

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



Цитата(petrov @ May 8 2008, 09:06) *
Рано в FPGA лезть, читайте Низами и моделируйте в симулинке, посмотрите модели выложенные, возведение в квадрат даёт умножение фазы на 2 и для BPSK даёт устранение модуляции, можно непосредственно вычислять аргумент входного вектора и умножать на 2 без всяких возведений в квадрат , таким образом выделяется несущая, ещё надо позаботиться о символьной синхронизации. Фурье здесь вообще не нужно.


модели для bpsk без несущей.

с залочиванием фазы модулируемого сигнала проблем нет.

и может обяснишь, как без фурье можно подстроить несущую, сдвинутую скажем на 1.5 mhz?
Go to the top of the page
 
+Quote Post
petrov
сообщение May 8 2008, 06:53
Сообщение #14


Гуру
******

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



Цитата(fontp @ May 8 2008, 10:38) *
Это вряд ли, что он обойдётся без Фурье. Расстройка несущей предельно велика по отношению к символьной. ( Задача полностью масштабируется по символьной). Символьная 256кгц Пусть он использует 8 отсчётов на символ.Самплинг Fs = 2 мгц. Найквист = 1 мгц. После умножения частоты на 2 он увидит только +-500 кгц. На 4 точках на символ он этот диапазон вообще не увидит

Т.е. нужен поиск несущей в полном диапазоне частот. От -Найквиста до + Найквиста. Никакой фапч хвататься не будет.
При предельно низких snr это только Фурье. Причём, поскольку полного диапазона - то БПФ
При низких snr корреляционные методы (как тот же DMA-RAD) не работают


Да действительно, забыл уже про первое сообщение. Тут вопрос есть обосновано ли такая нестабильность несущей и полоса сигнала, при наличии соседних каналов как все эти поиски работать будут?


Цитата(maxfox2k @ May 8 2008, 10:47) *
и может обяснишь, как без фурье можно подстроить несущую, сдвинутую скажем на 1.5 mhz?


Поиском обычным, в телевизоре настраивали каналы?
Go to the top of the page
 
+Quote Post
maxfox2k
сообщение May 8 2008, 06:57
Сообщение #15


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

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



Цитата(fontp @ May 8 2008, 09:38) *
Это вряд ли, что он обойдётся без Фурье. Расстройка несущей предельно велика по отношению к символьной. ( Задача полностью масштабируется по символьной). Символьная 256кгц Пусть он использует 8 отсчётов на символ.Самплинг Fs = 2 мгц. Найквист = 1 мгц. После умножения частоты на 2 он увидит только +-500 кгц. На 4 точках на символ он этот диапазон вообще не увидит, нужно 8, а лучше 12-16 )))

Т.е. нужен поиск несущей в полном диапазоне частот. От -Найквиста до + Найквиста. Никакой фапч хвататься не будет.
При предельно низких snr это только Фурье. Причём, поскольку полного диапазона - то БПФ
При предельно низких snr (ebno<5) корреляционные методы (как тот же DMA-RAD) не работают
Разве что у него рабочий ebno 8-10 дб


сэмплирование 16 mhz
fft на 128 точек / 32к точка
делаю грубую подстройку.
с qpsk можно определить, несушая отстаёт или опережает. использую угол текущеи точки и угол, где, должна была быть.
в bpsk q условно 0, поетому по углу не получается определить опережение или опаздывание несущеи.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 15:40
Рейтинг@Mail.ru


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