Дискретное преобразование Фурье с алгоритмом Goertzel второго порядка
Алгоритм Goertzel реализует дискретное преобразование Фурье X (k) как свертка N - входа x точки (n), n = 0, 1, …, N – 1, с импульсной характеристикой
где u (n), модульная последовательность шага, 1 для n ≥ 0 и 0 в противном случае. k не должен быть целым числом. На частоте f = k f s/N, где f s является частотой дискретизации, преобразование имеет значение
где
и x (N) = 0. Z-преобразование импульсной характеристики
с этой прямой формой II реализаций:
Сравните выход goertzel
к результату прямой реализации алгоритма Goertzel. Для входного сигнала используйте щебет, произведенный на уровне 50 Гц в течение 10 секунд и встроенный в белый Гауссов шум. Частота щебета увеличивается линейно с 15 Гц до 20 Гц во время измерения. Вычислите дискретное преобразование Фурье на частоте, которая не является целочисленным кратным f s/N. При вызове goertzel
, имейте в виду что векторы MATLAB®, запущенные от 1 до N вместо от 0 до N – 1. Результаты соглашаются на высокую точность.
fs = 50; t = 0:1/fs:10-1/fs; N = length(t); xn = chirp(t,15,t(end),20)+randn(1,N)/100; f0 = 17.36; k = N*f0/fs; ykn = filter([1 -exp(-2j*pi*k/N)],[1 -2*cos(2*pi*k/N) 1],[xn 0]); Xk = exp(-2j*pi*k)*ykn(end) dft = goertzel(xn,k+1) df = abs(Xk-dft)
df = 4.3634e-12
Можно также вычислить ДПФ с:
fft
: менее эффективный, чем алгоритм Goertzel, когда вам только нужен ДПФ на нескольких частотах. fft
более эффективно, чем goertzel
когда необходимо оценить преобразование на больше, чем log2N частотах, где N является длиной входного сигнала.
czt
: czt
вычисляет Z-преобразование ЛЧМ входного сигнала на проспекте, или спираль очерчивают, и включает ДПФ как особый случай.
[1] Burrus, К. Сидни и Томас В. Парки. DFT/FFT и Алгоритмы Свертки: Теория и Реализация. Нью-Йорк: John Wiley & Sons, 1985.
[2] Proakis, Джон Г. и Димитрис Г. Манолакис. Цифровая обработка сигналов: принципы, алгоритмы и приложения. 3-й выпуск. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1996.
[3] Sysel, Петр и Павел Раймик. “Алгоритм Goertzel, Обобщенный ко Множителям Нецелого числа Основной Частоты”. Журнал EURASIP на Усовершенствованиях в Обработке сигналов. Издание 2012, Номер 1, декабрь 2012, стр 56-1–56-8. https://doi.org/10.1186/1687-6180-2012-56.