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

 
 
> И опять определение частотного смешения, что лучше?
DMax
сообщение May 6 2010, 16:35
Сообщение #1


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

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



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

Алгоритм 1:
Я беру две выборки сигнала длиной N отсчетов и скалярно помножаю друг на друга (понятно, начала этих выборок находятся во времени друг от друга ближе, чем минимальный период искомой частоты). Аргумент полученного комплексного скаляра делённый на количество отсчетов в выборке - это есть прирост фазы на отсчёт. Если я его поделю на 2*Pi и умножу на Fs, то получу искомую частоту.

Алгоритм 2:
Предположим, что фаза меняется медленно. Я беру две выборки длиной N отсчетов и усредняю каждые K соседних отсчетов в каждой выборке. Таким образом я получаю две выборки длинной (N/K) отсчетов и далее действую по алгоритму 1. В предельном случае, при определённых ограничениях на N, можно взять K = N.

В отсутствие шума результаты алгоритмов совпадают. Но если шум присутствует, то в результате второго алгоритма, как бы получается, что перед тем, как находится прирост фазы на сэмпл, мы усредняем шум, уменьшая его амплитуду в sqrt(k) раз. Или мне это приглючилось и алгоритмы одинаково эффективны?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Pechka
сообщение May 6 2010, 16:53
Сообщение #2


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

Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210



На первый взгляд мне кажется так: в первом случае получается уменьшение шума в sqrt(N) раз поскольку делите аргумент полученного комплексного скаляра на число отсчётов в выборке т.е. на N. Во втором случае вы сначала делите на k, уменьшая шум в sqrt(k) раз, а после по алгоритму 1 ещё в sqrt(N/k) раз (поскольку у вас осталось не N, а N/k отсчётов в выборке) итого выигрыш во втором случае равен sqrt(k)*sqrt(N*k)=sqrt(N).
Мне думается, что эффективность будет одинаковой, хотя может где-то чего-то и наврал.
А моделировать не пробовалось?
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 7 2010, 05:25
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Pechka @ May 6 2010, 20:53) *
На первый взгляд мне кажется так: в первом случае получается уменьшение шума в sqrt(N) раз поскольку делите аргумент полученного комплексного скаляра на число отсчётов в выборке т.е. на N. Во втором случае вы сначала делите на k, уменьшая шум в sqrt(k) раз, а после по алгоритму 1 ещё в sqrt(N/k) раз (поскольку у вас осталось не N, а N/k отсчётов в выборке) итого выигрыш во втором случае равен sqrt(k)*sqrt(N*k)=sqrt(N).
Мне думается, что эффективность будет одинаковой, хотя может где-то чего-то и наврал.
А моделировать не пробовалось?

Не правильно. Второй алгоритм лучше (если изменение фазы за время k не велико), т.к. для первого случае уменьшение шума будет в sqrt(N/2) раз.
Пусть s, s1, - фрагменты сигнала, n, n1 - шум, все вектор столбец. Скалярное произведение
(s'+n')*(s1+n1) = s'*s1 + s'*n1 + n'*s1 + n'*n1.
s'*s1 - полезный сигнал,
s'*n1 + n'*s1 - шумовая компонента, ее дисперсия будет в 2*N раз больше чем дисперсия исходного шума
n'*n1 - для больших сигнал шум этим можно пренебречь.

ps шум предполагается не коррелированным.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post



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

 


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


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