En el contexto de los algoritmos rápidos de transformación de Fourier , una mariposa es una parte del cálculo que combina los resultados de transformadas de Fourier discretas (DFT) más pequeñas en una DFT más grande, o viceversa (dividiendo una DFT más grande en subtransformas). El nombre "mariposa" proviene de la forma del diagrama de flujo de datos en el caso de radix-2, como se describe a continuación. [1] Se cree que la primera aparición impresa del término se encuentra en un informe técnico de 1969 del MIT . [2] [3] La misma estructura también se puede encontrar en el algoritmo de Viterbi , utilizado para encontrar la secuencia más probable de estados ocultos.
Más comúnmente, el término "mariposa" aparece en el contexto del algoritmo FFT de Cooley-Tukey , que desglosa recursivamente una DFT de tamaño compuesto n = rm en r transformaciones más pequeñas de tamaño m donde r es el "radix" de la transformada. Estas DFT más pequeñas se combinan a través de mariposas de tamaño r , que a su vez son DFT de tamaño r (realizadas m veces en las salidas correspondientes de las sub-transformadas) previamente multiplicadas por raíces de unidad (conocidas como factores de twiddle). (Este es el caso "decimación en el tiempo"; también se puede realizar los pasos a la inversa, conocidos como "decimación en frecuencia", donde las mariposas vienen primero y son-post multiplicado por factores de rotación Véase también el. Cooley-Tukey FFTartículo .)
No hay comentarios:
Publicar un comentario