Página 1 de 16 TRANSFORMADA DE FOURIER Y EL ALGORITMO

Anuncio
Página 1 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
INTRODUCCION El estudio de las señales cotidianas en el dominio de la frecuencia nos proporciona un conocimiento de las características frecuenciales de éstas. Por ejemplo nos es muy útil el conocer la respuesta en frecuencias de un canal de telecomunicaciones, para poder determinar la máxima frecuencia que puede transmitir sin provocar distorsiones de la señal de modo que ésta sea recibida y reconstruida con total garantía. Otro ejemplo puede ser el análisis de la voz. Transformando la señal de voz en sus componentes frecuenciales podemos distinguir las diferencias entre las voces de distintas personas y determinar las palabras que está diciendo. Esto es muy útil para reconocimiento e identificación de voz, dos aplicaciones que están haciéndose muy familiares, al tiempo que aumenta la velocidad de los DSP. También podemos mencionar a los Analizadores de Espectro que realizan transformación de señales en el dominio del tiempo al dominio de la frecuencia. Este tipo de instrumentos se han hecho muy populares en los laboratorios electrónicos. Se utilizan para examinar la señal de salida de sensores conectados a estructuras que soportan esfuerzos mecánicos, como puentes o rascacielos en los cuales un cambio significativo de la respuesta en frecuencia puede suponer un exceso de carga en alguna parte de la estructura que puede provocar el colapso a futuro. FFT es la abreviatura usual (del inglés Fast Fourier Transform) 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 digitales, desde el tratamiento digital de señales y filtrado digital en general, a la resolución de ecuaciones diferenciales parciales o los algoritmos de multiplicación rápida de grandes enteros. El presente texto tiene como objetivo presentar cómo se transforman las señales del dominio del tiempo al dominio de la frecuencia y viceversa desde un punto de vista introductorio. El resto del trabajo estará destinado a la manera de implementar la FFT en un DSP. SERIE DE FOURIER Y TRANSFORMADA DE FOURIER Mientras que una función en el dominio temporal indica cómo la amplitud de la señal cambia en el tiempo, su representación en el dominio de la frecuencia permite conocer cuan a menudo esos cambios tienen lugar. Básicamente, el pasaje del dominio del tiempo al dominio de la frecuencia se puede visualizar considerando que la señal en estudio está compuesta por la suma de ondas sinusoidales simples de amplitud y fase adecuadas o de exponenciales complejas relacionadas armónicamente. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 2 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
La representación de estas amplitudes y fases en función de la frecuencia es lo que se llama espectro de la señal y lo representamos con X(ω) para señales a tiempo continuo y X(Ω) para señales a tiempo discreto. La herramienta matemática que permite el pasaje del dominio temporal al dominio de la frecuencia es la Serie de Fourier para las señales periódicas, y de la Transformada de Fourier para las señales de energía finita. En la Tabla 1, se muestran las ecuaciones de síntesis y análisis correspondientes a las series de Fourier y las transformadas de Fourier. Tabla 1: Serie de Fourier y Transformada de Fourier TIEMPO CONTINUO Dominio del tiempo Serie de Fourier +∞
∑
x (t ) =
k = −∞
⎛
2π ⎞
⎟⎟
⎜⎜ To =
ω
o ⎠
⎝
Transformada de Fourier x(t ) =
Dominio de la frecuencia a k ⋅ e j ⋅ k ⋅ω o ⋅ t
1
To
ak =
∫ x (t ) ⋅ e
− j ⋅ k ⋅ω o ⋅t
Tiempo continuo Frecuencia discreta Periódica en tiempo Aperiódica en frecuencia 1
2π
+∞
j ⋅ω ⋅t
∫ X (ω ) ⋅ e ⋅ dω
−∞
X (ω ) =
dt
To
+∞
∫ x(t ) ⋅ e
− j ⋅ω ⋅t
⋅ dt
−∞
Tiempo continuo
Frecuencia continua
Aperiódica en tiempo Aperiódica en frecuencia Dominio del tiempo Dominio de la frecuencia TIEMPO DISCRETO Serie de Fourier ⎛
2π
⎜⎜ N =
Ωo
⎝
∑a
k= N
⎞
⎟⎟
⎠ Transformada de Fourier x[n] =
x[n] =
k
⋅ e j⋅k (2π / N )⋅n
ak =
1
N
∑ x[n]⋅ e
− j . K ( 2π
n =< N >
Tiempo discreto Frecuencia discreta Periódico en tiempo Periódico en frecuencia 1
X (Ω ) ⋅ e j.Ω.n ⋅ dΩ
∫
2π 2π
X (Ω ) =
+∞
∑ x[n]⋅ e
− j .Ω.n
n = −∞
Tiempo discreto Frecuencia continua Aperiódico en tiempo Periódico en frecuencia N ).n
Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 3 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
Series de Fourier Es de amplio conocimiento de las propiedades que presentan las funciones seno o coseno, de una sola frecuencia, y como estas están relacionadas a través de las exponenciales complejas armónicamente relacionadas. De la misma manera si contamos con una señal producto de la combinación lineal de señales seno y coseno. Este concepto puede trasladarse al resto de las funciones periódicas, por ejemplo un tren de pulsos rectangulares el cual consiste en la suma de un número infinito de senos de distinta amplitud. De este modo podemos describir cualquier señal periódica compleja en forma de una suma de muchos fasores (senos o cosenos). Un método de describir una señal de esta forma, es las llamadas series de Fourier, en las cuales asumimos que el conjunto de fasores tienen frecuencias múltiplos de alguna frecuencia fundamental, f0 (o frecuencia angular ω0): x (t ) =
+∞
∑
k = −∞
sien d o e
j ⋅ k ⋅ω o ⋅ t
a k ⋅ e j ⋅ k ⋅ω o ⋅ t
(1) = co s( k ⋅ ω o ⋅ t ) + j sin ( k ⋅ ω o ⋅ t )
Los componentes frecuenciales individuales son conocidos como armónicos. Series de Fourier Discretas Necesitamos traducir estas ecuaciones de tiempo continuo al dominio discreto o digital para poder derivar algunas fórmulas útiles para los DSP’s. El análisis anterior se puede extender a sistemas de tiempo discreto. Lo único que necesitamos es reemplazar la función continua, t, con otra que varíe en saltos de ω0.Ts, así para el caso en que la señal es periódica: x[n] =
∑a
k= N
k
⋅ e j⋅k (2π / N )⋅n (2) Es interesante advertir que cuando existe un incremento de la fase para el k‐ésimo armónico está dado por: kω0Ts = k ( 2π / N )
siendo Ω =
2π
N
(3) Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 4 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
en donde Ω es la frecuencia discreta con N como el periodo fundamental. Recordar que la relación 2π/Ω es un número racional y que la tasa de oscilación es Ω + 2π, por lo que se tienen ak = ak+rN, esto es N coeficientes distintos. Esto significa que la respuesta en frecuencia de una señal discreta es periódica. La Transformada de Fourier En aplicaciones reales la mayor parte de las señales no son periódicas y debemos transformar nuestras series de Fourier para poder analizarlas. Consideremos la serie de Fourier general en la cual todas las frecuencias son múltiplos de la fundamental, es decir: ωk = kω0 (4) El hecho de que la señal no es periódica se puede representar por: ω0 → 0 (5) Esta simple ecuación expresa que no hay mínimo común denominador entre las frecuencias de todos lo fasores. Cuando el número de fasores tiende a infinito nuestro sumatoria se convierte en la siguiente integral: 1
x(t ) =
2π
+∞
∫ X (ω ) ⋅ e
j ⋅ω ⋅t
⋅ dω
(6) −∞
En la anterior ecuación asumimos que la amplitud de la señal se puede definir como función de la frecuencia ω, es decir, X(ω). La ecuación inversa que define X(ω), viene dada por : X (ω ) =
+∞
∫ x(t ) ⋅ e
− j ⋅ω ⋅t
⋅ dt
(7) −∞
Por lo tanto, ahora tenemos una ecuación que nos permite calcular la respuesta en amplitud de una señal continua en el dominio de la frecuencia usando su respuesta en el dominio del tiempo. Estas dos ecuaciones se denominan el par de Transformadas de Fourier, las cuales son muy útiles para los matemáticos, pero desafortunadamente no es posible implementarlas directamente en un DSP. Por ello debemos deducir la forma discreta de estas ecuaciones. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 5 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
LA TRANSFORMADA DISCRETA DE FOURIER (DFT) Para poder encontrar el equivalente discreto de la transformada de Fourier debemos transformar la variable continua t por la variable discreta nTs. Fuera de los límites ±π/Ts, el espectro se repite, por lo tanto podríamos cambiar los límites de este valor. Por conveniencia, sin embargo, haremos que la variable de integración sea ω.Ts así la integral se convierte en: x[n] =
1
X (Ω ) ⋅ e j.Ω.n ⋅ dΩ (8) ∫
2π 2π
La transformada inversa es: X (Ω ) =
+∞
∑ x[n]⋅ e
− j .Ω. n
(9) n = −∞
Hay que advertir que la segunda ecuación aún usa un sumatoria en lugar de una integral. Podríamos haber esperado esto porque sabemos que x[n] sólo es válido en los instantes de tiempo nTs. Estas dos ecuaciones forman la transformada de Fourier a tiempo discreto. El espectro que obtenemos al usar esta transformada tiene algunas propiedades interesantes, por ejemplo, es periódica. También para una señal real, como los fasores aparecen en forma de complejos conjugados, el espectro siempre tiene simetría par a lo largo del eje real, y simetría impar en el eje imaginario. Esto simplemente significa que si nosotros sabemos que trabajamos con una señal real, la cantidad de información que necesitamos recordar sobre el espectro en frecuencias es menor, ya que es repetitivo. La continuidad y periodicidad de la transformada hace imposible su implementación en un DSP, por lo que es necesario reformular las ecuaciones (8) y (9) de manera de contar con una representación discreta tanto en el dominio del tiempo como en dominio de la frecuencia. Si acotamos la sumatoria a N elementos, de la respuesta en frecuencia obtenida de la transformada de Fourier a tiempo discreto y teniendo en cuenta las propiedades de periodicidad de la transformada, notaremos una similitud entre los coeficientes ak de la serie discreta de Fourier (ver Tabla 1). Se define entonces a la transformada de Fourier discreta (por su sigla en ingles DFT por Discrete Fourier Transform) de la siguiente manera: N −1
X (k ) = ∑ x[n]W nk
k = 0,1,..., N − 1
n =0
1
x[n] =
N
N −1
∑ X (k ) W
(10) − nk
n = 0,1,..., N − 1
k =0
Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 6 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
Donde las constantes W son conocidas como factores twiddle y definidas como: W = e− j 2π / N (11) Observar que W es una función de longitud N, por ello, también suele expresarse como WN. Notar además que: ⎛ 2π
W n = cos ⎜
⎝ N
⎞
⎛ 2π
n ⎟ − j sin ⎜
⎠
⎝ N
⎞
n ⎟ (12) ⎠
Con lo anterior, el cálculo de un punto de la transformada discreta de Fourier está dada por: X (k ) = x[0]W 0 + x[1]W k + x[2]W 2 k + ... + x[ N − 1]W k ( N −1) , k = 0,1,..., N − 1 (13) Desarrollando (13) para los N valores posibles de k se obtiene una matriz de tamaño NxN. De (13) se puede calcular el número de operaciones necesarias para realizar la transformación de los datos mediante este algoritmo. El número de sumas complejas que se deben realizar es de (N‐1)N y la cantidad de multiplicaciones complejas asciende a N2. Es claro que ésta cantidad de operaciones es alta y requiere de un enorme poder de cálculo. El cálculo directo de la DFT no es eficiente debido, fundamentalmente, a que no explota las propiedades de simetría y periodicidad del factor de fase WN. De la observación de (13) es claro que no es necesario realizar las N2 multiplicaciones ya que los valores de los factores W0 = 1 no son necesarios de multiplicar. Además existen propiedades de periodicidad y simetría en estos factores de forma tal que: W k+N = W k
W
k+
N
2
(14) = −W
k
La simetría y periodicidad de los factores W quedan de manifiesto en la Figura 1. El ejemplo mostrado en dicha figura es para N = 8. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 7 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
Note además que la DFT es obtenida al multiplicar los datos de entrada por una cantidad finita de funciones sinusoidales de frecuencia 2πn/N, por lo que DFT’s de N puntos entregan N componentes espectrales equiespaciadas cada 2π/ N, donde 2π representa la frecuencia de muestreo fs. Figura 1: Periodicidad y simetría de los factores W A partir de la DFT y las consideraciones anteriores es posible llegar a un método de cálculo mucho más eficiente, que entrega los mismos resultados y con un número menor de operaciones. Es el llamado algoritmo de Transformada Rápida de Fourier (FFT por sus siglas en ingles de Fast Fourier Transform). TRANSFORMADA RÁPIDA DE FOURIER (FFT) Y EL ALGORITMO FFT BASE 2 El término genérico “transformada rápida de Fourier” abarca distintos algoritmos con distintas características, ventajas y desventajas. Por ejemplo, una FFT diseñada y optimizada usando un lenguaje de alto nivel probablemente no funcionará correctamente en un DSP de coma fija. Sin embargo, todas las FFT’s usan la misma aproximación para reducir el algoritmo en un número reducido de DFT’s sucesivas, cortas y simples. Hay que tener en cuenta que: ƒ
La FFT es un algoritmo (no una aproximación) a iguales intervalos de espaciamiento. ƒ
Las limitaciones de la FFT surgen de las que tiene la DFT. ƒ
No es ni mejor ni peor. Sin embargo se logra una eficiencia debido a los números de operaciones menores que utiliza la FFT para ser resuelta. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 8 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
El algoritmo de FFT a presentar en este trabajo, descompone la DFT de N puntos en transformadas más pequeñas. Una DFT de N puntos es descompuesta en dos DFT’s de N/2 puntos. Cada DFT de N/2 puntos se descompone a su vez en dos DFT’s de N/4 puntos y así sucesivamente. Al final de la descomposición se obtienen N/2 DFT´s de 2 puntos cada una. La transformada más pequeña viene determinada por la base de la FFT. Para una FFT de base 2, N debe ser una potencia de 2 y la transformada más pequeña es la DFT de 2 puntos. Para implementar la FFT existen dos procedimientos: diezmado en el tiempo (DIT del inglés Decimation In Time) y diezmado en frecuencia (DIF del inglés Decimation In Frequency). Algoritmo FFF en Base 2 y Diezmado en el tiempo. Consideremos el cálculo de la DFT de N = 2v a partir de dividir la secuencia de datos de N puntos, en dos secuencias de N/2, correspondientes a las muestras pares e impares de x[n], respectivamente, esto es: f1[n] = x[2n]
f 2 [n] = x[2n + 1] , n = 0,1,...,
(15) N
−1
2
Obsérvese, que se realizó el diezmado de la secuencia x[n], una vez. La DFT de N puntos puede expresarse ahora en términos de las DFTs de las secuencias diezmadas como sigue: N −1
X (k ) = ∑ x[n]WNnk
k = 0,1,..., N − 1
n =0
=
( N / 2) −1
∑
2 mk
N
x[2m]W
m=0
+
( N / 2) −1
∑
(16) k (2 m +1)
N
x[2m + 1]W
m=0
Pero WN2 = WN / 2 . Sustituyendo esta igualdad en la expresión (16) se obtiene: X (k ) =
( N / 2) −1
∑
m=0
f1 (m) WNkm/ 2 + WNk
( N / 2) −1
∑
m=0
f 2 (m) WNkm/ 2
(17) = F1 (k ) + WNk F2 (k ) , k = 0,1,..., N − 1
donde F1(k) y F2(k) son las DFTs de N/2 puntos de las secuencias de la expresión (15). Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 9 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
Puesto que F1(k) y F2(k) son periódicas, de periodo N/2, tenemos F1(k+N/2)= F1(k) y F2(k+N/2)= F2(k). Por otro lado, se cumple que WNk + N / 2 = −WNk . Por lo que se puede rescribir la expresión (17) de la siguiente manera: X (k ) = F1 (k ) + WNk F2 (k )
X (k +
N
) = F1 (k ) − WNk F2 (k )
2
N
−1
2
(18) N
, k = 0,1,..., − 1
2
, k = 0,1,...,
Se observa que el calculo directo de F1(k) requiere (N/2)2 multiplicaciones complejas al igual que F2(k). Además, se requieren N/2 multiplicaciones más para calcular WNk F2 (k ) . De aquí que el calculo de X(k) requiere N2 /2 + N/2 multiplicaciones complejas. El primer paso realizado de una reducción en el número de multiplicaciones de N2 a N2 /2 + N/2, lo que equivale aproximadamente a dividir por dos el número de multiplicaciones cuando N es grande. Habiendo realizado el diezmado en tiempo una vez, podemos repetir el proceso para cada una de las secuencias de la expresión (15). Por lo tanto, se obtendrá dos secuencias de N/4 puntos: N
−1
4
N
v12 [n] = f1[2n + 1] , n = 0,1,..., − 1
4
(19) N
, n = 0,1,..., − 1
v21[n] = f 2 [2n]
4
N
v22 [n] = f 2 [2n + 1] , n = 0,1,..., − 1
4
v11[n] = f1[2n]
, n = 0,1,...,
Calculando las DFTs de N/4 puntos se obtienen las DFTs de N/2 puntos F1(k) y F2(k) a partir de las siguientes relaciones: Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 10 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
N
−1
4
N
, k = 0,1,..., − 1
4
(20) N
, k = 0,1,..., − 1
4
N
, k = 0,1,..., − 1
4
F1 (k ) = V11 (k ) + WNk / 2 V12 (k )
F1 (k +
, k = 0,1,...,
N
) = V11 (k ) − WNk / 2 V12 (k )
4
F2 (k ) = V21 (k ) + WNk / 2 V22 (k )
F2 (k +
N
) = V21 (k ) − WNk / 2 V22 (k )
4
donde Vij(k) son las DFTs de N/4 puntos de las secuencias vij[n]. Se observa que el calculo de Vij(k) requiere 4(N/4)2 multiplicaciones y por lo tanto el calculo de F1(k) y F2(k) puede realizarse con N2/4 + N/2 multiplicaciones complejas. Se requieren N/2 multiplicaciones complejas más para calcular X(k) a partir de F1(k) y F2(k). Consecuentemente, el número total de multiplicaciones necesarias N2/4 + N/2 se reduce otra vez aproximadamente por un factor de dos. El diezmado de la secuencia de datos se repite v = log2 N veces, ya que se tienen N = 2v datos. Por lo tanto el número total de multiplicaciones complejas se reduce a ( N / 2) log 2 N , mientras que el número de sumas complejas es N log 2 N . En la Tabla 2 se muestra la comparación entre el número de multiplicaciones complejas usando la FFT y el cálculo directo de la DFT. En la Figuras 2 y 3 se representan esquemáticamente el desarrollo del algoritmo de la FFT en base 2. Tabla 2: Comparación entre la cantidad de multiplicaciones complejas a realizar por parte de la DFT y el algoritmo FFT de base 2 (Proakis y Manolakis, 2003). Números de Puntos, N Multiplicaciones Complejas en calculo 2
directo, N Multiplicaciones Complejas en el algoritmo FFT, ( N / 2) log 2 N Factor de mejora de la velocidad 4 16 4
4.0 8 64 12
5.3 16 256 32
8.0 32 1024 80
12.8 64 4096 192
21.3 128 16384 448
36.6 256 65536 1024
64.0 512 262144 2304
113.8 1024 1048576 5120
204.8 Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 11 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
Figura 2: Tres etapas en el calculo de la FFT de 8 puntos (Proakis y Manolakis, 2003). Figura 3: Algoritmo para la FFT de diezmado en tiempo de 8 puntos (Oppenheim et al. 1999). Como puede observarse, el calculo que se realiza en cada etapa, el cual consiste en aplicar las operaciones de una transformada DFT de dos puntos o “mariposa” (ver Figura 4). En general cada mariposa implica una multiplicación y dos sumas complejas. Para N puntos, tenemos N/2 mariposas por Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 12 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
cada etapa del proceso y log 2 N etapas de mariposas. Por lo tanto podemos guardar el resultado de cada operación de la mariposa (A, B), en las mismas posiciones de sus operandos (a, b). En consecuencia, necesitamos una cantidad fija de memoria, en concreto 2N registros de almacenamiento para guardar los resultados de N números complejos. Figura 4: Mariposa básica del algoritmo para la FFT de diezmado en el tiempo (Oppenheim et al. 1999). Con respecto a la tarea de diezmado, esta se puede entender como un reacomodamiento antes de proceder con el algoritmo de la FFT. Por ejemplo si N = 16 la tarea de diezmar queda graficada a través de la Figura 5, esto es (v‐1) = log2 N veces. Figura 5: Secuencia de diezmado para N = 16 (Smith, 1999). Notar que al realizar el diezmado, las posiciones de la secuencia de datos x[n], o sea n, cambian de tal manera, que si asumimos la generación de dicho numero a través de un numero binario tal como se lo Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 13 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
ilustra en la Figura 6; se dice que luego del diezmado la secuencia de datos x[n], se almacena en orden binario invertido. Figura 6: Mezclado de los datos e inversión binaria (Smith, 1999). Algoritmo FFF en Base 2 y Diezmado en frecuencia. Para deducir el algoritmo empezamos dividiendo la formula de la DFT en dos sumatorias, una de las cuales contiene los primeros N/2 puntos de datos y el otro los últimos N/2 puntos de datos. De esta manera se obtiene: X (k ) =
( N / 2) −1
∑
n =0
=
( N / 2) −1
∑
x[n]WNkn +
N −1
∑
n= N / 2
x[n]W + W
n =0
kn
N
x[n]WNkn
N k/2
N
( N / 2) −1
∑
n =0
N
x[n + ]WNkn
2
(21) Dado que WNkN / 2 = (−1) k , la expresión (21) puede rescribirse como: X (k ) =
( N / 2) −1
∑
n =0
N ⎤ kn
⎡
k
⎢⎣ x[n] + (−1) x[n + 2 ]⎥⎦ WN (22) Realizamos el primer diezmado X(k) (diezmado en frecuencia), obtenemos dos secuencias, par e impar respectivamente de la transformada, esto es: Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 14 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
( N / 2) −1
N ⎤ kn
⎡
⎢⎣ x[n] + x[n + 2 ]⎥⎦ WN / 2
n =0
( N / 2) −1
N ⎤
⎧⎡
⎫
X (2k + 1) = ∑ ⎨ ⎢ x[n] − x[n + ]⎥ WNn ⎬WNkn/ 2
2 ⎦
n =0 ⎩ ⎣
⎭
X (2k ) =
∑
, k = 0,1,...,
N
−1
2
N
, k = 0,1,..., − 1
2
(23) en donde se utilizó la propiedad de simetría WN2 = WN / 2 . Definiendo las secuencias de N/2 puntos g1 [n] y g2 [n] como: N
]
2
(24) N ⎤
N
⎡
g 2 [n] = ⎢ x[ n] − x[n + ]⎥ WNn , n = 0,1,..., − 1
2 ⎦
2
⎣
g1[ n] = x[n] + x[n +
puede rescribirse la expresión (23) de la siguiente manera: X (2k ) =
( N / 2) −1
∑
n =0
X (2k + 1) =
g1[n] WNkn/ 2
(25) ( N / 2) −1
∑
n =0
kn
N /2
g 2 [ n] W
El calculo de las secuencias g1 [n] y g2 [n] según la expresión (24) y el uso de estas secuencias para el cálculo de las DFTs de N/2 puntos se muestra en la Figura 7. Figura 7: Mariposa básica del algoritmo FFT de diezmado en frecuencia (Oppenheim et al. 1999). Este procedimiento computacional puede repetirse diezmando las DFTs de N/2 puntos, X(2k) y X(2k+1). El proceso completo conlleva v = log2 N etapas de diezmado, donde cada etapa implica N/2 mariposas. Consecuentemente, el calculo de la DFT de N puntos por medio de la DFT a través del algoritmo FFT de diezmado en frecuencia requiere ( N / 2) log 2 N multiplicaciones complejas y N log 2 N sumas complejas. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 15 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
En la Figura 8, se grafica como es la entrada de la secuencia de datos x[n] y en la Figura 9 se muestra el algoritmo de diezmado en frecuencia completo de ocho puntos. Figura 8: Primera etapa del algoritmo para la FFT de diezmado en frecuencia (Oppenheim et al. 1999). Figura 9: Algoritmo para la FFT de diezmado en frecuencia para N= 8 (Oppenheim et al. 1999). Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Página 16 de 16
FCEFyN Universidad Nacional de Cordoba
TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT
BIBIOGRAFIA DSP56800 Family Manual. 16‐Bit Digital Signal Controllers. DSP56800FM Rev. 3.1 11/2005. Freescale. Higgins, R. J., 1990. Digital Signal Processing In Vlsi. Prentice‐Hall,Inc. New Jersey. Orfanidis, S. J., 1996. Introduction to Signal Processing. Prentice may, Inc. Smith, S. W., 1999. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing, Second Edition. Proakis, J. G. y Manolakis, D. G., 2003. Tratamiento Digital de Señales. Tercera Edición. Prentice Hall. Madrid. Oppenheim, A. V., Schafer, R. W. and Buck, J. R., 1999. Discrete‐Time Signal Processing. 2nd Ed. Prentice‐
Hall Signal Processing Series. Procesamiento Digital de Señales – FCEFyN – UNC TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT 
Descargar