Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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)