La transformada rápida de Fourier ciclotómica es un tipo de algoritmo de transformada rápida de Fourier sobre cuerpos finitos . [1] Este algoritmo primero descompone una DFT en varias convoluciones circulares y luego deriva los resultados de la DFT a partir de los resultados de la convolución circular. Cuando se aplica a una DFT sobre , este algoritmo tiene una complejidad multiplicativa muy baja. En la práctica, dado que generalmente existen algoritmos eficientes para convoluciones circulares con longitudes específicas, este algoritmo es muy eficiente. [2]
Fondo
La transformada de Fourier discreta sobre cuerpos finitos encuentra una amplia aplicación en la decodificación de códigos de corrección de errores, como los códigos BCH y los códigos Reed-Solomon . Generalizada a partir del cuerpo complejo , una transformada de Fourier discreta de una secuencia sobre un cuerpo finito GF( p m ) se define como
donde es la raíz primitiva N -ésima de 1 en GF( p m ). Si definimos la representación polinómica de como
Es fácil ver que es simplemente . Es decir, la transformada de Fourier discreta de una secuencia la convierte en un problema de evaluación polinómica.
Escrito en formato matricial,
La evaluación directa de la DFT es compleja. Las transformadas rápidas de Fourier son simplemente algoritmos eficientes que evalúan el producto matriz-vector mencionado anteriormente.
Algoritmo
Primero, definimos un polinomio linealizado sobre GF(p m ) como
se llama linealizado porque , lo que proviene del hecho de que para los elementos
Nótese que es invertible módulo porque debe dividir el orden del grupo multiplicativo del cuerpo . Por lo tanto, los elementos se pueden dividir en clases laterales ciclotómicas módulo :
donde . Por lo tanto, la entrada a la transformada de Fourier se puede reescribir como
De esta manera, la representación polinómica se descompone en una suma de polinomios lineales, y por lo tanto viene dada por
- .
Desarrollando con la base propia , tenemos donde , y por la propiedad del polinomio linealizado , tenemos
Esta ecuación se puede reescribir en forma matricial como , donde es una matriz sobre GF( p ) que contiene los elementos , es una matriz diagonal en bloques y es una matriz de permutación que reagrupa los elementos en de acuerdo con el índice de clase coconjunto ciclotómico.
Nótese que si se utiliza la base normal para expandir los elementos del campo de , el i-ésimo bloque de viene dado por:
que es una matriz circulante . Es bien sabido que un producto matriz-vector circulante se puede calcular de manera eficiente mediante convoluciones . Por lo tanto, reducimos con éxito la transformada de Fourier discreta en convoluciones cortas.
Complejidad
Cuando se aplica a un campo característico -2 GF(2 m ), la matriz es simplemente una matriz binaria. Solo se utiliza la adición al calcular el producto matriz-vector de y . Se ha demostrado que la complejidad multiplicativa del algoritmo ciclotómico está dada por , y la complejidad aditiva está dada por . [2]
Referencias
- ^ SV Fedorenko y PV Trifonov, Fedorenko, SV; Trifonov, PV. (2003). "Sobre el cálculo de la transformada rápida de Fourier sobre cuerpos finitos" (PDF) . Actas del Taller internacional sobre teoría de codificación algebraica y combinatoria : 108–111.
- ^ ab Wu, Xuebin; Wang, Ying; Yan, Zhiyuan (2012). "Sobre algoritmos y complejidades de transformadas rápidas de Fourier ciclotómicas sobre campos finitos arbitrarios". IEEE Transactions on Signal Processing . 60 (3): 1149–1158. doi :10.1109/tsp.2011.2178844.