Professional Documents
Culture Documents
Algoritmo de Goertzel
Abstract
Introduccin al funcionamiento del Algoritmo de Goertzel y a su implementacin en un DSP
A pesar del ahorro de recursos que la FFT (Transformada Rpida de Fourier) consigue en comparacin
con la DFT ordinaria (Transformada Discreta de Fourier), para algunas aplicaciones simplemente se requiere
calcular el espectro para algunas frecuencias de inters. Un ejemplo de esto se tiene en la demodulacin
FSK, en las cuales nicamente dos frecuencias son empleadas para transmitir datos binarios, otro ejemplo
es matriz DTMF (Dual Tone Multifrequency) de los telfonos con marcacin por tonos.
Para estas aplicaciones el algoritmo de Goertzel reduce la cantidad de operaciones en nmeros reales en
casi la mitad en relacin con el clculo directo de la DFT.
El algoritmo de Goertzel se obtiene como una adaptacin de la ecuacin de la DTF, equivalente a una
convolucin que puede ser implementada mediante un ltro digital.
A partir de las constantes de la DFT tenemos que
e(j ) = Wk (1)
2k
N
N
y considerando que
WNN k = 1 (2)
podemos escribir la ecuacin de la DFT de manera equivalente a
PN 1
X (k) = n=0 x (n) 1WNnk
(3)
PN 1
= n=0 x (n) WNN k WNnk
PN 1 k(N n)
= n=0 x (n) WN
expandiendo la sumatoria tenemos
http://cnx.org/content/m16122/1.2/
OpenStax-CNX module: m16122 2
en donde
X (k) = y (N 1) (7)
Expresando la ecuacin en diferencias como una funcin de transferencias tenemos
Y (z) 1 1 WNk z 1 1 WNk z 1
= H (z) = = = (8)
1 WNk z 1 k
1 2cos 2k
X (z) 1 WNk + WN z 1 + z 2 N z 1 + z 2
Esta funcin de transferencias representa a un ltro IIR
De esta manera, y entendiendo que cada valor de k se encuentra relacionado con una banda del espectro
de frecuencias de la seal x (n), podemos obtener la energa nicamente en las bandas que nos interesan y
ahorrar clculos en bandas no requeridas.
http://cnx.org/content/m16122/1.2/