Red de conocimiento informático - Conocimiento del nombre de dominio - Transformada Rápida de Fourier

Transformada Rápida de Fourier

En 1965, Kuhler y Taki propusieron un nuevo algoritmo para calcular la DFT. Para datos con N puntos de muestreo, este algoritmo reduce las N2 operaciones de números complejos originales a Nlog2N veces, lo que ahorra en gran medida tiempo de computación de la máquina. Este algoritmo se conoce comúnmente como Transformada Rápida de Fourier, abreviado como FFT. Debido a la aparición de FFT, se han producido muchos cambios importantes en el procesamiento de señales digitales, por lo que es de considerable importancia. En esta sección, presentaremos en detalle el principio y la fórmula de cálculo de FFT y brindaremos un diagrama de flujo para implementarlo.

1. Pregunta

Para una secuencia finita x(n), n=0, 1,...,N-1, su DFT es

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

La ecuación (7-1-1) representa N ecuaciones, escritas en su totalidad

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

Debido a que x(n) puede ser una secuencia compleja, al calcular cada componente del espectro X(m) en (7-1-2), se requieren N veces de multiplicación compleja y (N-1) veces de suma compleja . Si se calculan todos los N componentes espectrales, es necesario realizar N2 multiplicaciones complejas y N(N-1) sumas complejas. Dado que la multiplicación de dos números complejos es igual a la multiplicación de 4 números reales, N2 multiplicaciones de números complejos equivalen a la multiplicación de 4N2 números reales. Cuando N es grande, la carga de trabajo de cálculo directo de (7-1-2) es muy grande. Por ejemplo, cuando N = 1000, es necesario calcular 4 millones de multiplicaciones de números reales; cuando N = 5000, es necesario calcular 100 millones de veces; Calculado. Multiplicación subreal. Una carga de trabajo de cálculo tan grande requiere un tiempo de cálculo de máquina prolongado, incluso con una computadora de alta velocidad, lo que afecta seriamente la amplia aplicación de DFT en diversos campos. Por lo tanto, la gente ha propuesto si se puede encontrar un algoritmo para reducir el tiempo de cálculo de DFT.

2. Idea básica del algoritmo FFT

En 1965, Kuhler y Taki propusieron un nuevo algoritmo para reducir el tiempo de cálculo de DFT. Tomamos el caso de N = 4 en (7-1-2) como ejemplo para ilustrar la idea básica de este algoritmo.

Para N=4=22, obtenga de (7-1-2)

Tecnología de procesamiento y análisis de señales digitales geofísicas

Convierta (7-1- 3) Escrito en forma matricial

Tecnología de procesamiento y análisis de señales digitales geofísicas

Si en (7-1-4), la matriz que contiene Wi se puede descomponer en dos matrices, y Por Al hacer que solo dos elementos en cada fila de estas dos matrices sean distintos de cero, se puede reducir el número de operaciones de multiplicación. Dado que el tiempo para calcular DFT depende principalmente del número de operaciones de multiplicación, reducir la multiplicación puede mejorar la eficiencia del cálculo. El algoritmo anterior se explica en detalle a continuación.

Primero, reorganice el orden de X(m) en (7-1-4) de la siguiente manera

Tecnología de procesamiento y análisis de señales digitales geofísicas

Porque

Entonces, (7-1-5) puede escribirse como

Tecnología de procesamiento y análisis de señales digitales geofísicas

En segundo lugar, (7-1-6) La La matriz que contiene Wi se descompone en dos matrices con solo dos elementos en cada fila distintos de cero, por lo que obtenemos

Tecnología de procesamiento y análisis de señales digitales geofísicas

En tercer lugar, de (7 - 1-7) Fórmula chelín:

Tecnología de procesamiento y análisis de señales digitales geofísicas

Tecnología de procesamiento y análisis de señales digitales geofísicas

De (7-1-8) Observa que en este paso de la operación, solo se requieren 2 multiplicaciones complejas y 4 sumas complejas.

Cuarto, sustituya (7-1-8) en (7-1-7) para obtener

Tecnología de procesamiento y análisis de señales digitales geofísicas

De ( 7-1-9), podemos ver que en esta operación sólo se necesitan 2 multiplicaciones complejas y 4 sumas complejas. Se puede observar que al calcular el espectro Al calcular (7-1-3) directamente, la operación total requiere 16 multiplicaciones complejas y 12 sumas complejas.

Consideremos el caso en el que el número de puntos de muestreo es N=8. A partir de la fórmula (7-1-2), se puede obtener un sistema de ocho ecuaciones. Escribirlas en forma matricial es

Tecnología de procesamiento y análisis de señales digitales geofísicas

con N=4. La situación es la misma. Primero, reorganice el orden de >

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

Señal digital de prospección geofísica. tecnología de análisis y procesamiento

Will (7- La matriz que contiene Wi en 1-11) se descompone en tres matrices con solo dos elementos distintos de cero en cada fila, que se obtiene de (7-1-11 )

Tecnología de procesamiento y análisis de señales digitales geofísicas

p>

De (7-1-12)

Tecnología de procesamiento y análisis de señales digitales geofísicas

De (7-1-13) podemos ver que en este paso de cálculo, solo necesitas hacer 4 multiplicaciones complejas y 8 sumas complejas. Según (7-1-13), se obtiene de (7-1-12)

Tecnología de procesamiento y análisis de señales digitales geofísicas

Se puede observar en (7- 1-14), en la segunda operación, sólo es necesario realizar 4 multiplicaciones complejas y 8 sumas complejas. Según (7-1-14), se puede obtener de (7-1-12)

Tecnología de procesamiento y análisis de señales digitales geofísicas

Se puede ver en (7 -1-15), la operación del tercer paso solo requiere 4 multiplicaciones complejas y 8 sumas complejas.

Se puede observar que al calcular el espectro X(m) de N=8, debido a la descomposición matricial e introducir ceros en las tres matrices descompuestas, el número total de operaciones se reduce a solo 12 multiplicaciones complejas. y 24 adiciones complejas. Al calcular (7-1-11) directamente, la operación total requiere 64 multiplicaciones complejas y 56 sumas complejas. En resumen, podemos ver:

Primero, la clave para que el algoritmo FFT sea más rápido que el algoritmo directo es que descompone la matriz original que contiene Wi en el producto de solo dos elementos distintos de cero en cada fila. . Cuando N = 4, se descompone en 2 matrices; cuando N = 8, se descompone en 3 matrices; cuando N = 2n, se descompone en n matrices.

En segundo lugar, para el número total de operaciones del algoritmo FFT:

Cuando N = 4, la multiplicación es (4/2)log24=2 veces y la suma es 4log24. =8 veces;

Cuando N=8, la multiplicación es (8/2)log28=12 veces y la suma es 8log28=24 veces;...;

Cuando N = 2n, la multiplicación es por veces, la suma es Nlog2N.

Para obtener la regla general, Wi también se utiliza para la multiplicación. Si se consideran 1 varios términos Wi y se aprovecha la simetría de DFT, la multiplicación compleja real se puede reducir aún más. A modo de comparación con los cálculos directos, y tomando el peor de los casos, se considera que el algoritmo FFT contiene operaciones de números complejos Nlog2N. El algoritmo directo requiere N2 operaciones. Cuando N es muy grande, la cantidad de operaciones guardadas por el algoritmo FFT es bastante sorprendente.

En tercer lugar, de las fórmulas (7-1-9) y (7-1-15), también podemos ver una situación importante, es decir, el resultado final xi(r) es diferente al requerido espectro X( También hay diferencias entre m). Este fenómeno es causado por la reordenación del orden del espectro x(m). Para resolver esta contradicción, sólo necesitamos expresar r en xi(r) en binario e invertirlo para obtener el resultado deseado.

Por ejemplo, cuando N=4, exprese xi(r) en (7-1-9) como

Tecnología de procesamiento y análisis de señales digitales geofísicas

Invierta la ecuación anterior. Entonces puede obtenga el resultado deseado

Tecnología de procesamiento y análisis de señales digitales geofísicas

Cuando N=8, exprese xi(r) en (7-1-15) en binario como

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

Obtenga el resultado deseado invirtiendo el bit binario

Tecnología de procesamiento y análisis de señales digitales de prospección geofísica

Geofísica prospección Tecnología de procesamiento y análisis de señales digitales

Generalmente, si r se puede expresar como un número binario de n bits (N = 2n) como

Tecnología de procesamiento y análisis de señales digitales geofísicas

Entonces el orden inverso de los bits binarios de r es

Tecnología de procesamiento y análisis de señales digitales geofísicas

Entonces obtenemos,

Señal digital geofísica Tecnología de análisis y procesamiento