Skip to content Skip to navigation

Connexions

You are here: Home » Content » Algoritmo de Goertzel

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Algoritmo de Goertzel

Module by: Andres Romero Mier y Terán. E-mail the author

Summary: Introducción al funcionamiento del Algoritmo de Goertzel y a su implementación en un DSP

A pesar del ahorro de recursos que la FFT (Transformada Rápida de Fourier) consigue en comparación con la DFT ordinaria (Transformada Discreta de Fourier), para algunas aplicaciones simplemente se requiere calcular el espectro para algunas frecuencias de interés. Un ejemplo de esto se tiene en la demodulación FSK, en las cuales únicamente dos frecuencias son empleadas para transmitir datos binarios, otro ejemplo es matriz DTMF (Dual Tone Multifrequency) de los teléfonos con marcación por tonos.

Para estas aplicaciones el algoritmo de Goertzel reduce la cantidad de operaciones en números reales en casi la mitad en relación con el cálculo directo de la DFT.

El algoritmo de Goertzel se obtiene como una adaptación de la ecuación de la DTF, equivalente a una convolución que puede ser implementada mediante un filtro digital.

A partir de las constantes de la DFT tenemos que

e - j 2 π k N = W N k e - j 2 π k N = W N k
(1)

y considerando que

W N - N k = 1 W N - N k = 1
(2)

podemos escribir la ecuación de la DFT de manera equivalente a

X ( k ) = n = 0 N - 1 x ( n ) 1 W N n k = n = 0 N - 1 x ( n ) W N - N k W N n k = n = 0 N - 1 x ( n ) W N - k ( N - n ) X ( k ) = n = 0 N - 1 x ( n ) 1 W N n k = n = 0 N - 1 x ( n ) W N - N k W N n k = n = 0 N - 1 x ( n ) W N - k ( N - n )
(3)

expandiendo la sumatoria tenemos

X ( k ) = W N - k x ( 0 ) + x ( 1 ) W N - k + x ( 2 ) W N - k + + x ( N - 1 ) W N - k X ( k ) = W N - k x ( 0 ) + x ( 1 ) W N - k + x ( 2 ) W N - k + + x ( N - 1 ) W N - k
(4)

esta ecuación en diferencias puede ser escrita en forma recursiva como

y ( n ) = W N - k y ( n - 1 ) + x ( n ) y ( n ) = W N - k y ( n - 1 ) + x ( n )
(5)

en donde

y ( 0 ) = W N - k x ( 0 ) y ( 1 ) = W N - k y ( 0 ) + x ( 1 ) y ( 2 ) = W N - k y ( 1 ) + x ( 2 ) y ( N - 1 ) = W N - k y ( N - 2 ) + x ( N - 1 ) y ( 0 ) = W N - k x ( 0 ) y ( 1 ) = W N - k y ( 0 ) + x ( 1 ) y ( 2 ) = W N - k y ( 1 ) + x ( 2 ) y ( N - 1 ) = W N - k y ( N - 2 ) + x ( N - 1 )
(6)

para las condiciones iniciales de funcionamiento y(-1)=0y(-1)=0.

De esta manera el coeficiente de la DFT para kk es equivalente a la salida de la ecuación en diferencias en el tiempo n=N-1n=N-1.

X ( k ) = y ( N - 1 ) X ( k ) = y ( N - 1 )
(7)

Expresando la ecuación en diferencias como una función de transferencias tenemos

Y ( z ) X ( z ) = H ( z ) = 1 1 - W N - k z - 1 = 1 - W N k z - 1 1 - W N k + W N - k z - 1 + z - 2 = 1 - W N k z - 1 1 - 2 c o s 2 π k N z - 1 + z - 2 Y ( z ) X ( z ) = H ( z ) = 1 1 - W N - k z - 1 = 1 - W N k z - 1 1 - W N k + W N - k z - 1 + z - 2 = 1 - W N k z - 1 1 - 2 c o s 2 π k N z - 1 + z - 2
(8)

Esta función de transferencias representa a un filtro IIR

De esta manera, y entendiendo que cada valor de kk se encuentra relacionado con una banda del espectro de frecuencias de la señal x(n)x(n), podemos obtener la energía únicamente en las bandas que nos interesan y ahorrar cálculos en bandas no requeridas.

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks