Diagrama Mariposa

5

Click here to load reader

description

investigacion

Transcript of Diagrama Mariposa

Diagrama Mariposa

FFT(Fast Fourier Transform)es la abreviatura usual de un eficiente algoritmo que permite calcular latransformada de Fourier discreta(DFT) y su inversa. La FFT es de gran importancia en una amplia variedad de aplicaciones, desde eltratamiento digital de sealesyfiltrado digitalen general a la resolucin deecuaciones en derivadas parcialeso losalgoritmosde multiplicacin rpida de grandes enteros. Las aplicaciones de la transformada rpida de Fourier son mltiples. Es la base de muchas operaciones fundamentales del procesamiento de seales, donde tiene amplia utilizacin. Adems, proporciona un medio oportuno para mejorar el rendimiento de los algoritmos para un conjunto de problemas aritmticos comunes.Brevemente se revisar en qu consiste el algoritmo para determinar la DFT (del Ingls Discrete Fourier Transform). Seanx0, ....,xn-1nmeros complejos.La transformada discreta de Fourier (DFT) se define como:

La evaluacin directa de esa frmula requiere O(n) operaciones aritmticas. Mediante un algoritmo la FFT se puede obtener el mismo resultado con slo O(nlogn) operaciones reduciendo su tiempo de ejecucin. En general, dichos algoritmos dependen de la factorizacin denpero, al contrario de lo que frecuentemente se cree, existen FFTs para cualquiern, incluso connprimo.La idea que permite esta optimizacin es la descomposicin de la transformada a tratar en otras ms simples y stas a su vez hasta llegar a transformadas de 2 elementos donde k puede tomar los valores 0 y 1 (Ver Diagrama de Mariposa). Una vez resueltas las transformadas ms simples hay que agruparlas en otras de nivel superior que deben resolverse de nuevo y as sucesivamente hasta llegar al nivel ms alto. Al final de este proceso, los resultados obtenidos deben reordenarse (es lo que hace el algoritmo de Cooley- Tukey).

Histricamente, el desarrollo de la FFT, se remonta a la guerra fra, periodo durante el cual EEUU buscaba obtener informacin acerca de las pruebas nuclearesrealizadas en laextinta Unin Sovitica, y de los cuales uno de los desarrollos obtenidos fue Twiddle Factor, lo cual permiti optimizar el clculo de la FFT, al combinarlo con el algoritmo de Cooley-Tukey.Al parecer, a Tukey, se le ocurri la idea durante una reunin de un comit asesor presidencial de EE.UU. discutiendomaneras de detectar ensayos de armas nucleares en la Unin Sovitica. Otro de los participantes en esa reunin, Richard Garwin de IBM, reconoci el potencial delmtodo de Tukey y lo puso en contacto con Cooley, quien implement un mtodo diferente (y menos-clasificado): anlisis de los datos cristalogrficos 3D (algo as como: FFT Multidimensional). Cooley y Tukey posteriormente publicaron su documento conjunto, y fue aceptado rpidamente.El algoritmo para el clculo de la FFT no es reciente, data de 1805 yfue inventado por Carl Friedrich Gauss, quien lo us para interpolar la trayectoria de los asteroides Pallas y Juno, sin embargo su trabajo no fue reconocido hasta despus de su muerte.La FFT se hizo popular despus de que J. Cooley y J. Tukey publicaran su trabajo en el cual reinventaron el algoritmo describiendo como desarrollarlo convenientemente en una computadora.El hecho de que Gauss haya descrito el mismo algoritmo (aunque sin analizar su costo asinttico) no se realiz sino hasta varios aos despus en 1965.Ampliando un poco,El algoritmo deCooley-Tukey, debe su nombre a: J.W.Cooleyde IBMyJohnTukey de Princenton,yesel algoritmoms comn para calcular latransformada rpida de Fourier(FFT). El cual, re-expresa latransformada discreta de Fourier(DFT)deun tamao arbitrariocompuestoN=n1n2en trminosdeDFTms pequeas detamaosN1y N2,de forma alternativa,con el fin dereducir eltiempo de clculoa O (Nlog N).Debido a la importanciadel algoritmo, el cual es considerado la piedra angular de la informtica;las variantes especficasy formas de ejecucinloha dado a conocer por el nombre desus creadores.Debido a que elalgoritmo deCooley-Tukeyfragmentala DFTenDFTms pequeas,se puede combinararbitrariamenteconcualquier otroalgoritmo parala DFT.Por ejemplo, el algoritmode RaderoBluesteinquese puede utilizar paramanejar grandesfactores primosque no pueden ser descompuestos porel algoritmo:Cooley-Tukey.Ahora si responderemos a la pregunta: Qu es el Twiddle Factor? El Twiddle Factor, es un coeficiente trigonomtrico que se multiplica con los datos durante la FFT (Fast Fourier Transform) y que fue estandarizado por Gentleman &Sandle en 1966.El Twiddle Factor, puede entenderse como un vector que gira en forma circular a travs del plano complejo S y el cual tiene un valor para cada una de las muestras usadas para calcular la transformada de Fourier, los cuales estn separados por un ngulo definidotambin por un numero de muestras.Grficamente,puede describirse por la siguiente imagen:Figura 1. ElTwiddle Factor,W,describe un"vectorgiratorio",que giraen incrementos deacuerdo conel nmero de muestras,N.

Figura 2. El mismo conjunto de valores de W, se repite una y otra vez para diferentes valores de n.Tambin los que estn en 180 aparte de los valores negativos.Estos valores son usados en el clculo de la DFT y hacen posible como ya se dijo la FFT.Como se muestra enla figura anterior,el Twiddle Factor esredundanteenlos valores,como el vectorrota alrededor.Por ejemploW paraN=2,esla mismapara n=0,2,4,6,etc, yW paraN=8esla mismapara n=3,11,19,27,etc.Adems,es simtrico porel hecho deque los valoresque estn180grados fuera de fasesonel negativo deuno al otro.As, por ejemplo, Wpara N=4muestras,siendo n=0, 4,8,etc.,sonel negativo den =2, 6,10,etc.El diagrama dela mariposase aprovecha deesta redundanciay la simetra, que es partede lo que hacelaFFTposible.El diagrama dela mariposase basa en la expresin Danielson-Lanczosy el factortwiddlepara crearun algoritmo eficiente.El diagrama dela mariposa, corresponde a una representacin grfica del algoritmoFFT.A continuacin, se muestra el diagrama de unamariposasimple.Esunaunidad bsica,que consiste enslo dosentradas y dos salidas.

Figura 3. Este esquema es el bloque fundamental en la construccin del digrama de mariposa. Este, tiene dos valores de entrada o N=2 muestras, x (0) y x (1), y resultados en dos valores de salida F (0) y F (1).A continuacin se muestra paso a paso como se construye un diagrama de mariposa de 4-entradas.

Luego se hace la conexin entre ambas.

A continuacin se explica eso del binario inverso mencionado en la figura anterior:Para 4 entradas:Contando desde 0 a 3 en binario 00, 01, 10, 11. Ahora el inverso los bits de cada nmero obtenida: 00, 10, 01,11. En decimal esto es 0, 2, 1, y 3.El algoritmo de Cooley- Tukey ilustrado por el diagrama de Mariposa. Se puede ilustrar mediante el siguiente ejemplo, calculando la TFR de un conjunto de cuatro muestras de datos utilizando el algoritmo. Definiendo el conjunto de muestras de una seal como la seal X[n] en TD de forma que los datos de entrada para el algoritmo sea {X[0], X[1], X[2], X[3]}. La frmula de la TFD es la siguiente:

Tomando como entrada una seal discreta x[n] con N muestras, se basa en dividir la seal de entrada en otras dos seales de N/2 muestras (por un lado los coeficientes pares y por otro los impares), y se envan cada una de estas sub-seales a una FFT de tamao N/2 puntos. Cada uno de los coeficientes de salida de la FFT de las muestras impares se multiplica por, donde k es la posicin del vector salida, y se suma a las muestras pares. A su vez, las FFT de N/2 puntos se pueden resolver de esta misma manera, realizando esta operacin de manera recursiva hasta obtener una FFT de una seal de tamao 2, cuyo resultado es:

A estos nmeros marcados como W se conocen como Twiddle Factors y como se mencion, sirven para facilitar el clculo de la FFT cuyas utilidades disfrutamos hoy, como son:Tratamiento de imagen (JPEG) y audio (MP3),Reduccin de ruido en seales, como elruido blanco,Anlisis en frecuencia de cualquier seal discreta, Anlisis de materiales yestadstica,Sntesis, mediante la transformada inversa IFFT.