Здравствуйте, уважаемые участники! Известно, что максимально правдоподобной оценкой частоты однотонового сигнала является оценка вида F = argmax(P(F)), где P(F) - периодограмма сигнала. Когда выборка сигнала X короткая (N - размер выборки), чтобы посчитать периодограмму приходится производить дополнение нулями до Nfft >> N, чтобы получить высокую точность. Альтернативой этому может служить двухпроходной алгоритм: 1) Вычисление БПФ по исходным данным N FFT1(F) = FFT(X). Вычисление оценки F0 = argmax(FFT1(F)). 2) Уточнение частоты в полосе [F0 - dF, F0 + dF], где dF - частотный шаг исходного БПФ. Например, с помощью алгоритма Герцеля. Однако этап 2 может оказаться весьма трудоемким.
Возникает 2 вопроса: 1) Существуют ли специальные алгоритмы БПФ, которые заточены под дополнение нулями (т.е. оптимизированы с учетом отсутствия необходимости проводить умножения в нулевой части сигнала, но с учетом большого числа базисных синусов и косинусов) 2) Существуют ли специальные алгоритмы БПФ предназначенные для вычисления спектральных отсчетов в ограниченной полосе, с возможностью изменения числа базисных функций.
Если можно, поделитесь ссылками или опытом.
|