Diagrama Mariposa



Comments



Description

Diagrama MariposaFFT (Fast Fourier Transform) es la abreviatura usual de un eficiente algoritmo que permite calcular la transformada de Fourier discreta (DFT) y su inversa. La FFT es de gran importancia en una amplia variedad de aplicaciones, desde el tratamiento digital de señales y filtrado digital en general a la resolución de ecuaciones en derivadas parciales o los algoritmos de multiplicación rápida de grandes enteros. Las aplicaciones de la transformada rápida de Fourier son múltiples. Es la base de muchas operaciones fundamentales del procesamiento de señales, donde tiene amplia utilización. Además, proporciona un medio oportuno para mejorar el rendimiento de los algoritmos para un conjunto de problemas aritméticos comunes. Brevemente se revisará en qué consiste el algoritmo para determinar la DFT (del Inglés Discrete Fourier Transform). Sean x0, ...., xn-1 números complejos. La transformada discreta de Fourier (DFT) se define como: La evaluación directa de esa fórmula requiere O(n²) operaciones aritméticas. Mediante un algoritmo la FFT se puede obtener el mismo resultado con sólo O(n log n) operaciones reduciendo su tiempo de ejecución. En general, dichos algoritmos dependen de la factorización de n pero, al contrario de lo que frecuentemente se cree, existen FFTs para cualquier n, incluso con n primo. La idea que permite esta optimización es la descomposición de la transformada a tratar en otras más 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 más simples hay que agruparlas en otras de nivel superior que deben resolverse de nuevo y así sucesivamente hasta llegar al nivel más alto. Al final de este proceso, los resultados obtenidos deben reordenarse (es lo que hace el algoritmo de Cooley- Tukey). Históricamente, el desarrollo de la FFT, se remonta a la guerra fría, periodo durante el cual EEUU buscaba obtener información acerca de las pruebas nucleares realizadas en la extinta Unión Soviética, y de los cuales uno de los desarrollos obtenidos fue Twiddle Factor, lo cual permitió optimizar el cálculo de la FFT, al combinarlo con el algoritmo de Cooley-Tukey. Al parecer, a Tukey, se le ocurrió la idea durante una reunión de un comité asesor presidencial de EE.UU. discutiendo maneras de detectar ensayos de armas nucleares en la Unión Soviética. Otro de los participantes en esa reunión, Richard Garwin de IBM, reconoció el potencial del método de Tukey y lo puso en contacto con Cooley, quien implementó un método diferente (y menos-clasificado): análisis de los datos cristalográficos 3D (algo así como: FFT Multidimensional). Cooley y Tukey posteriormente publicaron su documento conjunto, y fue aceptado rápidamente. El algoritmo para el cálculo de la FFT no es reciente, data de 1805 y fue 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 después de su muerte. La FFT se hizo popular después 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 asintótico) no se realizó sino hasta varios años después en 1965. Ampliando un poco, El algoritmo de Cooley-Tukey, debe su nombre a: J.W. Cooley de IBM yJohn Tukey de Princenton, y es el algoritmo más común para calcular la transformada rápida de Fourier (FFT). El cual, re-expresa la transformada discreta de Fourier (DFT) de un tamaño arbitrario compuesto N = n1n2 en términos de DFT más pequeñas de tamaños N1 y N2, de forma alternativa, con el fin de reducir el tiempo de cálculo a O (N log N). Debido a la Figura 2. etc. como el vector rota alrededor. . es un coeficiente trigonométrico que se multiplica con los datos durante la FFT (Fast Fourier Transform) y que fue estandarizado por Gentleman & Sandle en 1966. Por ejemplo. puede entenderse como un vector que gira en forma circular a través del plano complejo S y el cual tiene un valor para cada una de las muestras usadas para calcular la transformada de Fourier. N. se repite una y otra vez para diferentes valores de n. y W para N= 8 es la misma para n = 3.importancia del algoritmo. describe un "vector giratorio". el cual es considerado la piedra angular de la informática.8.. A continuación. 11. se muestra el diagrama de una mariposa simple. que consiste en sólo dos entradas y dos salidas. etc. 4. los cuales están separados por un ángulo definido también por un numero de muestras. Debido a que el algoritmo de Cooley-Tukey fragmenta la DFT en DFT más pequeñas. etc. que gira en incrementos de acuerdo con el número de muestras. el algoritmo de Rader o Bluestein que se puede utilizar para manejar grandes factores primos que no pueden ser descompuestos por el algoritmo: Cooley-Tukey. el Twiddle Factor es redundante en los valores. es simétrico por el hecho de que los valores que están 180 grados fuera de fase son el negativo de uno al otro. las variantes específicas y formas de ejecución lo ha dado a conocer por el nombre de sus creadores. 19. El diagrama de la mariposa se aprovecha de esta redundancia y la simetría. 27. 4. Como se muestra en la figura anterior. etc. El mismo conjunto de valores de W. corresponde a una representación gráfica del algoritmo FFT. Estos valores son usados en el cálculo de la DFT y hacen posible como ya se dijo la FFT. Por ejemplo W para N = 2. 6. puede describirse por la siguiente imagen: Figura 1. Gráficamente. 6. El Twiddle Factor. 2. Así. W. Además. El diagrama de la mariposa. son el negativo de n = 2. El diagrama de la mariposa se basa en la expresión Danielson-Lanczos y el factor twiddle para crear un algoritmo eficiente.10. es la misma para n = 0. se puede combinar arbitrariamente con cualquier otro algoritmo para la DFT. También los que están en 180° aparte de los valores negativos. W para N = 4 muestras. Es una unidad básica. siendo n = 0. El Twiddle Factor. Ahora si responderemos a la pregunta: ¿Qué es el Twiddle Factor? El Twiddle Factor. que es parte de lo que hace la FFT posible. por ejemplo. Este esquema es el bloque fundamental en la construcción del digrama de mariposa. A continuación se muestra paso a paso como se construye un diagrama de mariposa de 4-entradas. Este. x (0) y x (1). . Luego se hace la conexión entre ambas. tiene dos valores de entrada o N=2 muestras. y resultados en dos valores de salida F (0) y F (1).Figura 3. 10. Se puede ilustrar mediante el siguiente ejemplo. 10. sirven para facilitar el cálculo de la FFT cuyas utilidades disfrutamos hoy. El algoritmo de Cooley. y se envían cada una de estas sub-señales a una FFT de tamaño N/2 puntos. Análisis en frecuencia de cualquier señal discreta. cuyo resultado es: A estos números marcados como W se conocen como “Twiddle Factors” y como se mencionó.Síntesis. 11. como el ruido blanco. calculando la TFR de un conjunto de cuatro muestras de datos utilizando el algoritmo. 1. A su vez. mediante la transformada inversa IFFT. y se suma a las muestras pares. y 3.A continuación se explica eso del “binario inverso” mencionado en la figura anterior: Para 4 entradas: Contando desde 0 a 3 en binario 00. donde k es la posición del vector salida.Reducción de ruido en señales. 01. Cada uno de los coeficientes de salida de la FFT de las muestras impares se multiplica por. 2. X₀[2]. Análisis de materiales y estadística. realizando esta operación de manera recursiva hasta obtener una FFT de una señal de tamaño 2. Definiendo el conjunto de muestras de una señal como la señal X₀[n] en TD de forma que los datos de entrada para el algoritmo sea {X₀[0]. como son: Tratamiento de imagen (JPEG) y audio (MP3). 01. En decimal esto es 0. La fórmula de la TFD es la siguiente: Tomando como entrada una señal discreta x[n] con N muestras. las FFT de N/2 puntos se pueden resolver de esta misma manera.11. Ahora el inverso los bits de cada número obtenida: 00.Tukey ilustrado por el diagrama de Mariposa. X₀[3]}. X₀[1]. . se basa en dividir la señal de entrada en otras dos señales de N/2 muestras (por un lado los coeficientes pares y por otro los impares).
Copyright © 2024 DOKUMEN.SITE Inc.