Действительно ли использование алгоритма Гёртцеля дает лучшее разрешение по частоте?

19

Я читаю эту статью , и меня немного смущает либеральное использование автором «частотного разрешения» в отношении алгоритма Гёртцела.

Основной вопрос: действительно ли использование алгоритма Гёртцеля дает вам большее разрешение по частоте в конкретной интересующей полосе, или он просто эффективно вычисляет БПФ только по определенной интересующей полосе, но с тем же разрешением по частоте, которое определяется частотой дискретизации, деленной на число? образцов?

Например, предположим, что составляет 100 кГц (фиксировано), а количество выборок данных N равно 10000 (также фиксировано). Если я вычислю нормальное БПФ, где длина БПФ также равна N , мое разрешение по частоте равно F sFsNN как и следовало ожидать, и он будет равен 10 Гц. Это означает, что мои контейнеры разделены на 10 Гц, от -50 000 Гц до 50000 Гц.FsN

Теперь позвольте мне сказать, что я хочу использовать алгоритм Geortzel, чтобы смотреть только на частоты в диапазоне, скажем, 20 000-21 000 Гц. Если я использую один и тот же для количества сэмплов и использую один и тот же N для моего размера FFT, то каково мое частотное разрешение? Еще 10 Гц? Или 21 , 000 - 20 , 000NNГц?21,00020,00010000=0.1

У меня есть ощущение, что я на самом деле не увеличиваю свое разрешение по частоте, а просто просто интерполирую точки на главном лепестке, используя тот же самый для оценки частот от 21 000 до 20 000, как я делал это от 0 до 50 000.N

Это правильное понимание?

ошалевший
источник

Ответы:

18

Ваше понимание верно.

Алгоритмы Гёртцеля дают почти точно такой же результат, как 1 бин из DFT или FFT той же длины или числа выборок (и где коэффициенты твиндля FFT генерируются триггерной рекурсией), когда используются для частот, которые являются точно целочисленными периодическими в Длина Гёрцеля. Но многие формы алгоритма Гёртцеля обеспечивают только величину, а не комплексный результат или фазу результата бинарного FFT 1. Кроме того, в вычислительном отношении универсальный Goertzel может быть численно немного менее устойчивым, чем универсальный FFT. Для частот нецелых периодических в апертуре результат эквивалентен синхрополярной интерполяции между ячейками ДПФ или БПФ одинаковой длины (что может быть несколько более точным при интерполяции, чем более типичная параболическая интерполяция результатов БПФ) ).

Можно сказать, что интерполяция увеличивает разрешение в графическом смысле (больше точек графика), или облегчает визуальное определение максимумов, но не в информационном теоретическом смысле, а также для лучшего разделения 2 близко расположенных спектральных линий в виде 2 отдельных пиков.

hotpaw2
источник
3
Второй абзац: очень хорошо сказал hotpaw2. Это то, что я думаю, смущает многих людей. Да, похоже, что Goertzel Algo - это быстрый способ вычисления БПФ по выделенному поддиапазону со встроенной интерполяцией F-домена, если вам случится сохранить все так же, как если бы вы работали нормально FFT.
Спейси
1

Я не смог получить доступ к статье, на которую вы ссылались, но я думаю, что вы можете найти эту статью довольно интересной. Авторы представили свою версию алгоритма Гёртцеля, который можно использовать для нахождения амплитуд и фаз на частотах, не кратных основной частоте в данном сигнале. Это означает, что их алгоритм улучшает разрешение по частоте. Статья содержит математическое доказательство и код алгоритма.

mac13k
источник