Está en la página 1de 14

ALTERNATIVAALANLISISENFRECUENCIADELAFFTMEDIANTEELALGORITMOGOERTZEL

AlternativeFrequencyAnalysisoftheFFTUsingtheGoertzelAlgorithm

RESUMEN

Elanlisisenfrecuenciapermiteextraerinformacinquenoesevidente

mediantela
simpleobservacindeunasealeneltiempo.La

transformadadiscretadeFourier(DFT)eslarespuestanaturaleinmediata

alatransformadacontinuadeFourierenelmundodigital(CFT),perocon
limitacionesdetiempodeejecucindebidoalacasitotalausenciade

optimizacindedichoalgoritmo.LatransformadarpidadeFourier(FFT)
FREDERICKV
ALBORNOZ
ESCOBEDO
resuelveestalimitacinentiempomejorandodemaneraimportanteel

tiempodeclculoconsumidoporlatransformadadiscreta(DFT),perodeja

lapuertaabiertaparalaimplementacindevariacionesalatransformada
IngenieroTelecomunicaciones,Estudiante3erao.

discretadeFourier(DFT)parapropsitosespecficos.

Elalgoritmo
Goertzelesunfiltrodigitalderivadodelatransformada
UniversidadNacionaldeSanAgustin
discretadeFourier(DFT)quepuededetectarlascomponentesde
fredypaulov@outlook.com

frecuenciaespecficaenunaseal,sinanalizartodoelespectro,resultando

y grupo
enunmenortiempodeejecucin.Estealgoritmoesdegranutilidadenel
manejodelostonosDMFT(DualToneMultiFrequency)cadavezms

usadosenlossistemasdereconocimientodetonosusadosporlas
compaasparaprestarovenderserviciosatravsdetelfonosfijoso

celulares.

PALABRASCLAVE:algoritmo,anlisis,DFT,DMFT,FFT,frecuencia,

Goertzel,programa,transformada.

ABSTRACT

Thefrequencyanalysisextractsinformationthatisnotevidentbysimpleobservationofasignalintime.ThediscreteFourier
transform(DFT)isthenaturalandimmediateresponsetothecontinuousFouriertransforminthedigitalworld(CFT),but
withlimitedruntimeduetothealmosttotalabsenceoftheoptimizationalgorithm.ThefastFouriertransform(FFT)solvesthe
limitationintimeimprovingsignificantlythecomputingtimeconsumedbythediscretetransform(DFT),butleavesthedoor
openfortheimplementationofchangestothediscreteFouriertransform(DFT)tospecificpurposes.

GoertzelalgorithmisadigitalfilterderivedfromthediscreteFouriertransform(DFT)whichcandetectspecificfrequency
componentsinasignalwithoutanalyzingthewholespectrum,resultinginaminimumexecutiontime.Thisalgorithmisuseful
inmanagingDMFTtones(DualToneMultiFrequency)increasinglyusedinthetonerecognitionsystemsusedbycompanies
toofferservicesvialandlineorcellular.
KEYWORDS: algorithm,analysis,DFT,DMFT,FFT,frequency,

Goertzel,program,transform.

INTRODUCCIN conmutacintelefnicadigitalcontecnologaDSPpuedan
identificarlostonoscaractersticosgeneradoscuandoun
nmerosemarcaenelsistema.Estastcnicasde
procesamientodigitaldesealesseempleaactualmenteen
ElalgoritmodeGoertzelesunatcnicaparael algunasmodernascentralestelefnicasdigitales.
procesamientodigitaldeseales(DSP)elcualidentifica
lascomponentesdefrecuenciadeunaseal.Estefue
1
publicadoporelDr.GeraldGoertzel en1958.

2.DEFINICIONES
Goertzelesunfiltrodigitalderivadodelatransformada
discretadeFourier(DFT)quepuededetectarcomponentes
defrecuenciaespecficasenunaseal,comoporejemplo
2.1LaTransformadaDiscretadeFourier
parapermitirqueloscircuitosde

1 LatransformadadeFourierdescomponelasealcomola
GeraldGoertzel(19202002) sumadeensenosycosenosdediferentesfrecuenciasy
amplitudesdesfasadaseneltiempo.

FechadeRecepcin:Enero26de2010
218

Enlasaplicacionesdeingenieraytratamientodeseales,
seconsideraelprocesodemaneradiscretaynocontinua,
puestoquelossistemasdeadquisicindedatosoperande
maneradigital[1].
Porloquelaecuacin1resultanuevamentecomola
ecuacin2,unavezreescrita:

Laecuacin1presentaladefinicindelatransformada
discretadeFourier.

Ecuacin2.ReescrituradeladefinicindelaDFT

Como:

Ecuacin1.DefinicindelaDFT.

YdesarrollandomediantelaidentidaddeEuler:
N=Correspondealnmerototaldemuestrasn=Esla
ensimamuestraoriginal

k=EselksimotrminodelaDTF Sepuedenotar,entoncesque:

2.2DeduccindelalgoritmodeGoertzel[2][3][4][5]
ElalgoritmodeGoertzelpartedeladefinicindelaDFT,
porloqueseprocedearealizar,inicialmente,una Ecuacin3.IdentidaddeEuler
reescrituradelaecuacin1paralaDFT:

Sisedefinea:
HaciendousodelaidentidaddeEuler,presentadaenla
ecuacin3,sobrelaecuacin2seobtiene:
Ecuacin5.ExpresindelaDFTcomosumasquellevan
alaexpresingeneralelecuacinendiferencias.

Expresandocomounaecuacinendiferenciaslaecuacin
5,setienelaecuacin6:

Ecuacin6.Expresinenecuacinendiferenciasdela
DFT.

Dondey(n)representalasalidayy(n1)lasalidaanterior
yx(n)laentrada.AplicandolatransformadaZala
ecuacin6endiferencias,seobtiene:

Factorizandosellegaalaecuacin4.

Ecuacin4.Reescrituradelaecuacincorrespondientea
laDFThaciendousodelaidentidaddeEuler.

Deladondelafuncindetransferenciaresultanteesla
ecuacin7:
Sisedesarrollalasumatoriaresultanteen4,seobtienela
expresin:

Ecuacin7.FuncindetransferenciadelaDFTmediante
sudesarrolloenlatransformadaZ.

Factorizando,sellegaaecuacin5:
Multiplicandoelnumeradoryeldenominadordela
funcindetrasferenciadelaecuacin7por:
219

Sellegaa:

Figura1.DiagramadelfiltroIIRdelalgoritmoGoertzelde
laecuacin8.

As,sellegaalaecuacin8quecorrespondealfiltro
derivadodelalgoritmoGoertzel: Llevandolaecuacin8,nuevamente,asuexpresinen
diferencias,setienelaecuacin9,queresultaseruna
expresinendiferenciasdelalgoritmo:

Ecuacin8.FuncindetransferenciadelaDFT
desarrollada.

Ecuacin9.Ecuacinendiferenciasdelalgoritmode
Goertzel.
Conelobjetivodeimplementarelalgoritmo,laecuacin Laecuacin14calculalaDFTdelksimotrminopara
9,sedescomponecomolasecuaciones10y11.
lafrecuenciabuscadaFbuscadaconunafrecuenciaFMuestreo
deunasealdeNmuestras:

Ecuacin10.ElementoS(n)delalgoritmo.

Ecuacin14.Ksimotrminodelafrecuenciabuscada

Paralaimplementacinsedebenconsiderarquelos
valoresdeSk(2)ySk(1)soncero.Elprocesosedebe
repetirhastarecorrertodoselementosNdelasealdigital
aexplorar.
Ecuacin11.ElementoY(n)delalgoritmo.

3.ImplementacindelAlgorimoenMatlab7.6

Enesteapartado,seimplementaelalgoritmoquepermite
utilizarelalgoritmodeGoertzel.AdiferenciadellaDFT,
lacualbuscatodaslasfrecuenciasexistentes,elalgoritmo
deGoertzelpretendeverificarlaexistenciadeciertas
frecuenciaspreviamenteconocidassinrealizartodoslos
clculos.Estaaplicacinesaltamentetilenladeteccin
detonosDMFTusadosenmuchossistemastelefnicosde
servicioautomticoderespuestapararecargasdetelefona
mvil,transaccionesbancariasyservicioalcliente.

Paraefectosdelalgoritmo,lasecuaciones10y11sedeben
reescribircomolasecuaciones12y13apoyadosenel
diagramadelfiltroIIRdelafigura1.

Ecuacin12.

Ecuacin13.
Lafigura2dejaverelcdigodelalgoritmodelfiltroIIR
GoertzelenMatalab7.6
Figura2.CdigoenMatlabdelalgoritmoGoerzelmio.m
220

4.EjemplodeImplementacinenladeteccinde

tonosDMFT Figura3.Tecladoconcombinacindefrecuenciasparala
generacindetonos.

4.1GeneradordetonosDMFT
Lafigura4ilustraeldetalledelosprimerosmilisegundos
deltonogeneradoporeltecladodelafigura3para
cuandolatecla1estpresionada.Estehasidoproducido
LostonosDMFTsonlasumadedosfunciones haciendousodelaecuacin15conunafrecuenciade
cosenoidalesdediferentesfrecuencias.Enlafigura3se muestreofm=8000Hz.Deigualformaenlafigura5,se
ilustralacombinacindefrecuenciassobreunteclado entregaelcdigoenMatlabquepermitelasimulacinde
digital.Algunasdelasteclasnosondeusocomn,pero unarchivodeaudioquesegenera,seguardaenformato
sedejancomoreferenciayaquepuedenusarseconotros wavyposteriormentereproduceelarchivodeltono.
propsitosdecodificacinenaplicacionesdepropsito
especfico.Laecuacin15muestracomolasumadelas
funcionescosenoidalesgeneranlostonosDMFT.

Ecuacin15.FuncingeneradoradetonosDMFT
Figura5.

4.2Ejemplocomparativodelalgoritmopropietariode

Matlab7.6yeldesarrollado.[6][7]

Enlaprimeraparte,seimplementaelcdigohaciendo
usodelafuncinllamadagoertzelmio.m.Esteejemplo,
buscaencontrarlasfrecuenciasde696Hz,770Hzy1209
Hz,dosdeloscualescorrespondenalatecla1,dentrode
unaseal.Siestassonencontradas,noserecibe
informacinsobremagnitudnisufase,solamentesobre
suexistenciaalpresentarunpicoantesupresencia.Este
hechohacedramticamenteimportanteladiferenciaentre
laFFT(FastFourierTransform)yelalgoritmoGoertzel.

Figura4.ZoomaltonoDMFTgeneradoparalatecla1.
221

Enesteejemploseejecutanlosalgoritmosgoertzelmio.m
ygoertzel.m.Comoyasehamencionado,elprimero
correspondealaimplementacindelosautoresdeeste
artculoyelsegundoespropietariodelsignalprocessing
toolboxdeMatlab7.6.Lasfiguras7ay7bentreganel
cdigoenMatlab.

Enlasegundaparte,delmismoejemplo,seejecutael
algoritmoperousandolafuncinpropietariadeMatab.

Figura6.TonosdetectadosporelalgoritmoGoertzelmio
implementado.

Lafigura6permiteapreciarlostonosdetectadosporel
algoritmogoertzelmio..Estagrficapresentapicossolo
alrededordelos700Hzy1200Hz.Siserealizaunzoom
dedetallesobresestospuntos,sepuedenverconmejor
exactitudlalecturadelasfrecuenciasbuscadas.
Figura7b.EjemplousandoGoerzelMatlab.

Lafigura8sepuedecompararconlafigura6,notndose
susimilitudalrededordelasfrecuenciasencontradas.

Figura8.TonosdetectadosporelalgoritmoGoertzelde
Matlab.

Comoestudiodecaso,serealizuncomparativodel
tiempodeejecucinentreelalgoritmoGoertzelmioy
GoertzeldeMatlab7.6,elcualretornlosvalores
encontradosenlatabla1.Losalgoritmosseejecutaronen
unacomputadoraporttilconprocesadorPentiumDual
Core,2GigasenmemoriaRAMbajoWindowsVista7.

Figura7a.EjemplousandoGoerzelmio.
222

reemplaza,entodosloscasos,alatransformada
rpidadeFourier(FFT),perosifacilita,demaner
notable,suimplementacinendispositivostalesco
momicrocontroladoresoFPGAsparaladeteccin
Algoritmo defrecuenciasdetonosDMFT.

Tiempo(s)
GoertzelmiodelosAutores Losautoresimplementaronunaversindelalgoritmo
0.0190 ,quebajocondicionesquenosondelaboratorio,
GoertzeldeMatlab resultamsrpidoqueelentregadodemanera
7.6 propietariaorpMatlab7.6.
0.0470

Tabla1.Comparativoentiempodelosalgoritmosgoerzel.
[6]TexasInstrumenst,ModifiedGoertzelAlgorithm
inDTMFDetectionUsingtheTMS320C80[En
lnea]disponibleen:http://focus.ti.com
/lit/an/spra066/spra066.pdf(consultadoel8de
Marzode2010)

5.CONCLUSIONES

[7]TheMatlabWorks,DiscreteFouriertransform
withsecondorderGoertzelalgorithm[Enlnea]
ElalgoritmoGoertzelesunaformaeficientededesarrollar disponibleen:http://www.mathworks.com/access
aplicacionesquerequieranlabsquedadelarespuestade /helpdesk/help/toolbox/signal/goertzel.html
unsistemaanteciertafrecuenciaespecfica.Esteno (consultadoel8deAbrilde2010)

REFERENCIAS

CortesO,J.A.,DELANLISISDEFOURIERALASWAVELETSANLISISDEFOURIER,ScientiaetTechnicaAo
XIII,No34,Mayode2007.[Enlnea]disponibleen:http://www.utp.edu.co/php/revistas/ScientiaEtTechnica/docsFTP/
102536151156.pdf(consultadoel8deMarzode2010)

Goertzel'sAlgorithm[Enlnea]disponibleen:http://cnx.org/content/m12024/latest/(consultadoel8deMarzode2010)

FotisE.Andritsopoulo,ANACCURATEDTMFDECODERBASEDONTHELOWCOMPLEXITYGOERTZEL
ALGORITHM,APRIL,2001[Enlnea]disponibleen:http://www.members.tripod.com/dsp_peru/ensayo1.pdf(consultado
el8deMarzode2010)
MatthewD.Felder,,EfficientDualToneMultifrequencyDetectionUsingtheNonuniformDiscreteFourierTransform,IEEE
SIGNALPROCESSINGLETTERS,VOL.5,NO.7,JULY1998[Enlnea]disponibleen:
http://www.members.tripod.com/dsp_peru/ensayo2.pdf(consultadoel15deOctubrede2009)

MicrostarLaboratories,Detectingasinglefrequency

efficiently
[En
lnea]
disponible
en:
http://www.mstarlabs.com
/dsp
/goertzel
/goertzel.html(consultadoel8deMarzode2010)

También podría gustarte