stringtranslate.com

Algoritmo FFT de Bailey

Algoritmo de Bailey (versión de 4 pasos) para una FFT de 16 puntos

La FFT de Bailey (también conocida como FFT de 4 pasos ) es un algoritmo de alto rendimiento para calcular la transformada rápida de Fourier (FFT). Esta variación del algoritmo FFT de Cooley-Tukey fue diseñada originalmente para sistemas con memoria jerárquica común en las computadoras modernas (y fue el primer algoritmo FFT en esta clase denominada "fuera del núcleo"). El algoritmo trata las muestras como una matriz bidimensional (de ahí otro nombre, un algoritmo FFT matricial [1] ) y ejecuta operaciones FFT cortas en las columnas y filas de la matriz, con una multiplicación de corrección por " factores twiddle " en el medio. [2]

El algoritmo recibió su nombre después de un artículo de David H. Bailey , FFTs in external or hierarchical memory , publicado en 1989. En este artículo, Bailey atribuye el algoritmo a WM Gentleman y G. Sande, quienes publicaron su artículo, Fast Fourier Transforms: for fun and profit , [3] unos veinte años antes en 1966. [4] El algoritmo puede considerarse una descomposición FFT de radix. [5]

A continuación se presenta una breve descripción general de cómo funciona la versión de "4 pasos" del algoritmo FFT de Bailey:

  1. Los datos (en orden natural) se organizan primero en una matriz.
  2. Luego, cada columna de una matriz se procesa independientemente utilizando un algoritmo FFT estándar.
  3. Cada elemento de una matriz se multiplica por un coeficiente de corrección.
  4. Luego, cada fila de una matriz se procesa independientemente utilizando un algoritmo FFT estándar.

El resultado (en orden natural) se lee columna por columna. Dado que las operaciones se realizan columna por columna y fila por fila, los pasos 2 y 4 (y la lectura del resultado) pueden incluir una transposición de matriz para reorganizar los elementos de una manera conveniente para el procesamiento. El algoritmo se asemeja a una FFT bidimensional , una FFT tridimensional (y más allá) se conocen como FFT de 5 pasos , FFT de 6 pasos , etc. [2] [6]

La FFT de Bailey se utiliza normalmente para calcular FFT de grandes conjuntos de datos, como los que se utilizan en aplicaciones científicas y de ingeniería. La FFT de Bailey es un algoritmo muy eficiente y se ha utilizado para calcular FFT de conjuntos de datos con miles de millones de elementos (cuando se aplicó a la transformación de teoría de números , los conjuntos de datos del orden de 10 12 elementos se procesaron a mediados de la década de 2000 [7] ).

Véase también

Referencias

  1. ^ Arndt 2010, pág. 438.
  2. ^ ab Hart, Tornaría y Watkins 2010, p. 191.
  3. ^ Gentleman, WM; Sande, G. (1966). "Transformadas rápidas de Fourier: por diversión y beneficio" (PDF) . Actas de la conferencia AFIPS, volumen 29. Conferencia conjunta de informática de otoño, 7-10 de noviembre de 1966. San Francisco, California. págs. 563–578.
  4. ^ Bailey 1989, pág. 2.
  5. ^ Frigo & Johnson 2005, pág. 2.
  6. ^ Al Na'mneh y Pan 2007, págs. 191-192.
  7. ^ Al Na'mneh y Pan 2007.

Fuentes