Есть несущая частота, принятая с шумом и снесённая на номинальный ноль. В идеале весь мой сигнал выродится в зашумлённую константу, но на практике из-за того, что есть частотное смещение, я получу комплексную экспоненту с маленькой частотой. Вот мне нужно эту частоту определить самым простым и быстрым способом.
Алгоритм 1:
Я беру две выборки сигнала длиной N отсчетов и скалярно помножаю друг на друга (понятно, начала этих выборок находятся во времени друг от друга ближе, чем минимальный период искомой частоты). Аргумент полученного комплексного скаляра делённый на количество отсчетов в выборке - это есть прирост фазы на отсчёт. Если я его поделю на 2*Pi и умножу на Fs, то получу искомую частоту.
Алгоритм 2:
Предположим, что фаза меняется медленно. Я беру две выборки длиной N отсчетов и усредняю каждые K соседних отсчетов в каждой выборке. Таким образом я получаю две выборки длинной (N/K) отсчетов и далее действую по алгоритму 1. В предельном случае, при определённых ограничениях на N, можно взять K = N.
В отсутствие шума результаты алгоритмов совпадают. Но если шум присутствует, то в результате второго алгоритма, как бы получается, что перед тем, как находится прирост фазы на сэмпл, мы усредняем шум, уменьшая его амплитуду в sqrt(k) раз. Или мне это приглючилось и алгоритмы одинаково эффективны?