La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Centro de Innovación y Desarrollo

Presentaciones similares


Presentación del tema: "Centro de Innovación y Desarrollo"— Transcripción de la presentación:

1 Centro de Innovación y Desarrollo
INSTITUTO POLITÉCNICO NACIONAL Centro de Innovación y Desarrollo Tecnológico en Computación La Transformada rápida de Fourier Expositor: José Luis Oropeza Rodríguez México D. F., a 17 de agosto de 2006

2 BOSQUEJO DE LA PRESENTACIÓN
OBJETIVO Presentar al alumno la forma de obtención de la Transformada Discreta de Fourier de un conjunto de muestras mediante el algoritmo de la Transformada Rápida de Fourier. BOSQUEJO DE LA PRESENTACIÓN Introducción Antecedentes Representación y fórmula matemática Aplicaciones

3

4

5

6

7

8

9

10

11

12

13

14

15

16 Transformada Discreta de Fourier
» x=[ ] x = » X=fft(x) X = i i

17 EL ALGORITMO DE LA FFT Como: Redefiniendo:
La expansión al hacer uso de la expresión anterior se convierte en:

18 EL ALGORITMO DE LA FFT La expresión anterior toma la forma matricial:

19 EL ALGORITMO DE LA FFT La expresión anterior se puede simplificar debido a que: Wnk=Wmod(nk,N), lo cual se puede verificar con: Considerando en este caso que N=8

20 EL ALGORITMO DE LA FFT Por lo tanto la expresión se convierte en:
La cual se puede descomponer en la forma: Que contiene el segundo y tercer renglón invertidos con relación a la matriz original.

21 EL ALGORITMO DE LA FFT La matriz anterior puede ser descompuesta como el producto de 2 partes separables, de tal forma que la expresión para la primera de ellas queda de la forma:

22 EL ALGORITMO DE LA FFT Con lo que se llega a la siguiente expresión:
Generalizando el algoritmo se puede observar que el coste de cálculo se reduce del orden de O(Nlog2 N) frente al orden O(N2).

23 EJEMPLO DE LA FFT Suponga la secuencia de entrada dada por el ejercicio antes analizado en esta presentación: Se aplica el algoritmo de la FFT (Cooley-Tukey) mencionado anteriormente para encontrar la DFT.

24 EJEMPLO DE LA FFT Aplicando bit reversi X(0)=4 X(1)=-2j X(2)=0 X(3)=2j

25 Se puede observar que en el caso de la decimación en el tiempo, la secuencia de entrada debe ser reordenada mientras que la salida aparece en el orden correcto. Para la decimación en frecuencia, la secuencia está ordenada mientras que la salida habrá que reordenarla. Se da la circunstancia que esa reordenación es implemente invertir el índice en binario. Por ejemplo, en la misma posición x[1[] aparece X[4], y 001 invertido es 100.

26 DECIMACIÓN EN TIEMPO Otra forma de visualizar la descomposición de la FFT es factorizar la expresión de la DFT en muestras de entrada par e impar, tal que: Considerando que f1 y f2 representen las componentes de la muestra de entrada par e impar respectivamente; esto es, f1(m)=x(2m) y f2(m)=x(2m+1), m=0,1,…..,(N/2)-1, la suma anterior puede escribirse de la forma. En donde , y cada una de los términos de la sumatoria es reducido a N/2 puntos de la DFT. Gráficamente, el cálculo se ha reducido a:

27 DECIMACIÓN EN TIEMPO Tomando en consideración el hecho de que:
Son las DFT’s de N/2 puntos de las secuencias f1(m) y f2(m), respectivamente La forma general que adoptan las ecuaciones anteriores es: Ya que la salida de la DFT es periódica, X1(k)=X1(k+N/2) y X2(k)=X2(k+N/2). La última ecuación es comúnmente llamada la mariposa de la FFT de la Decimación en Tiempo.

28 DECIMACIÓN EN TIEMPO Para ser consistentes con la notación que anteriormente se utilizó, se tiene: Así la DFT X(k) se puede expresar como: Este cálculo se muestra en la siguiente figura:

29 DECIMACIÓN EN TIEMPO DFT de N/2 puntos DFT de Factores de fase
G1(k) F1(N/2-1) x(N-2) X(N/2-1) DFT de N/2 puntos x(4) F1(2) x(2) F1(1) x(0) F1(0) F2(1) x(3) x(1) F2(0) X(N-1) X(1) X(0) DFT de 2 puntos Factores de fase X(N/2+1) X(N/2) G2(k)

30 DECIMACIÓN EN TIEMPO Habiendo realizado el diezmado en tiempo una vez, se puede repetir el proceso para cada una de las secuencias f1(n) y f2(n). Por lo tanto, f1(n) dará lugar a las dos secuencias de N/4 puntos. y f2(n) dará lugar a:

31 DECIMACIÓN EN TIEMPO Calculando las DFTs de N/4 puntos obtendremos las DFTs de dos puntos F1(k) y F2(k) a partir de las relaciones.

32

33

34

35

36

37

38 EJEMPLO

39 X0 X1 X2 X3 f1(0) f1(1) f2(0) f2(1) x(0) x(2) x(1) x(3) W04 W14 -1

40 DECIMACIÓN EN TIEMPO En esta primera descomposición, los factores gemelos son indexados consecutivamente y los valores de la mariposa son separados por N/2 muestras. Esta observación es importante por el desarrollo de expresiones generales usando las operaciones básicas de las mariposas. El orden de las secuencias de entrada se ordenan en relación a la operación de bit reversi. De tal forma que las muestras no se aplican de forma directa si no han pasado con antelación por este proceso. Aplicando el mismo enfoque a cada una de las N/2 muestras de la DFT cuando x11(m)=x1(2m) y x12(m)=x1(2m+1), m=0,1,……, (N/4)-1. Con lo que se obtienen los siguientes datos:

41 DECIMACIÓN EN TIEMPO Por tanto, la secuencia x1 se ha descompuesto en dos DFT’s de longitud N/4. El mismo proceso lo siguen las secuencias x2. La descomposición resultante de las dos N/2 puntos de la DFT se ilustra en la figura siguiente, para N=8, y las N/4 puntos de la mariposa se expresan como: Se puede observar que la secuencia de entrada es ordenada nuevamente, las muestras de entrada para cada mariposa se encuentran espaciadas N/4 muestras, y los factores exponenciales gemelos se encuentra a una distancia de dos. El número total de etapas en las que se descompone el proceso anterior se encuentra mediante la expresión:

42 DECIMACIÓN EN TIEMPO W80 -1 W80 -1 W80 W82 -1 -1 W80 -1 W80 W81 -1 -1

43 MARIPOSA BÁSICA DEL ALGORITMO DE LA FFT DE DIEZMADO EN EL TIEMPO
Obsérvese que el cálculo básico que se realiza en cada etapa, como se muestra en la figura de la diapositiva anterior, consiste en tomar dos números complejos, esto es (a,b), multiplicar por , y restar el producto obtenido de a para obtener los dos nuevos números complejos (A,B). Este cálculo básico, que se ilustra en la siguiente figura A=a+WN’b B=a-WN’b WN’ -1

44 DECIMACIÓN EN FRECUENCIA

45 ALGORITMO DE LA FFT POR DECIMACIÓN EN FRECUENCIA CON RADIX-2
Considere una secuencia de entrada en el dominio del tiempo x(n) que se puede separar en dos mitades y Tomando la DFT de cada conjunto de secuencia en las expresiones anteriores, queda Considerando en la segunda suma de 6.8; X(k) se convierte en En donde se toma fuera de la seguna sumatoria debido a que no es una función de n. Utilizando

46 DECIMACIÓN EN FRECUENCIA
Debido a que para cada k par y -1 para k impar, la ecuación anterior puede ser separada para k par e impar, o bien 1. Para k impar: 2. Para k par: Sustituyendo k=2k para k par, y k=2k+1 para k impar, las expresiones anteriores pueden escribirse de la forma k=0,1,…..,(N/2)-1 como

47 Debido a que la constante twiddle W es una función de longitud N, ésta puede ser representada como Entonces se puede escribir como Considere Las ecuaciones anteriores pueden ser escritas de forma más clara como DFTs de (N/2) puntos, o bien

48 La siguiente figura muestra la descomposición de una DFT de N puntos en dos DFTs de (N/2)-puntos para N=8. Como un resultado del proceso de descomposición, las Xs en la figura son pares en la mitad superior y los impares en la mitad más baja. El proceso de descomposición se puede repetir de tal forma que cada (N/2)-puntos será descompuesto en dos DFTs de (N/4) puntos, como se ilustra en la figura de la derecha, también para N=8.

49 Considere que la entrada x(n) representa una forma de onda rectangular, o x(0)=x(1)=x(2)=x(3)=1 y x(4)=x(5)=x(6)=x(7)=0. Los ocho puntos del diagrama de flujo de la figura anterior se pueden utilizar para encontrar las secuencias de salida X(k), k=0,1,…..,7. Con N=8, cuatro constantes gemelos (twiddle) a ser calculadas, o La salida de secuencia intermedia se puede encontrar después de cada etapa.

50 En donde x’(0), x’(1),…..,x’(7) representa la secuencia de la salida intermedia después de la primera iteración, lo cual se convierte en la entrada a la segunda etapa.

51 El resultado intermedio, la secuencia de salida de la segunda etapa x’’(0), x’’(1),……..,x’’(7) se convierte en la secuencia de entrada de la tercera etapa.

52 Ahora se utiliza la notación de X’s para representar la secuencia de salida final. Los valores de X(0), X(1), …… , X(7) froman la secuencia de salida invertida. Estos resultados pueden ser verificados con MATLAB, la secuencia de salida se debe de reordenar y con ellos graficar la magnitud de salida. La FFT de 16 puntos. Dados los valores de una señal de entrada x(0)=x(1)=……=x( 7)=1, y x(8)=x(9)=….=x(15)=0, la cual representa una secuencia de entrada rectangular. La secuencia de salida puede encontrarse utilizando el grafo de 16 puntos que se ilustra en la siguiente figura. Los resultados intermedios de la salida de cada etapa se encuentran de una forma similar a la del ejercicio anterior. Ocho constantes gemelas W0, W1,….,W7 se requieren calcular para N=16.

53

54 DECIMACIÓN EN FRECUENCIA
El algoritmo se estructura en niveles de cómputo Para el desarrollo de este algoritmo deben tenerse en cuenta los siguientes puntos: Cada par de puntos de un cierto nivel s obtienen a partir de otros dos del nivel anterior. Estos dos puntos origen se dicen que son nodos duales. El espaciado entre dos nodos duales es Cómputo de nodos duales: mariposas. El cómputo de dos nuevos nodos a partir de dos nuevos nodos duales se denomina mariposa. Su estructura se muestra en la gráfica (b) y se corresponde con la siguiente expresión: Lo cual se puede simplificar a la estructura mostrada en la parte c de la figura.

55 DECIMACIÓN EN FRECUENCIA
Determinación de Wp 1.Escribir k (nodo actual) en forma de número binario de bits 2.Desplazar bits a la derecha (rellenando con ceros) 3.Invertir el orden de los bits (001 pasa a 100). El resultado es p.

56 PSEUDOCÓDIGO PARA IMPLEMENTAR LA TRANSFORMADA RÁPIDA DE FOURIER
j=0 DO i=0, N-2 IF (i<j) THEN xt=xj xj=xi xi=xt yt=yj yj=yi yi=yt END IF k=N/2 DO IF (k>=j+1) EXIT j=j-k k=k/2 END DO j=j+k DO i=0, N-1 x(i)=x(i)/N y(i)=y(i)/N m=LOG(N)/LOG(2) N2=N DO k=1, m N1=N2 N2=N2/2 angle=0 arg=2(pi)/N1 DO j=0, N2-1 c=cos(angle) s=-sin(angle) DO i=j, N-1, N1 kk=i+N2 xt=x(i)-x(kk) x(i)=x(i)+x(kk) yt=y(i)-y(kk) y(i)=y(i)+y(kk) x(kk)=xt*c-yt*s y(kk)=yt*c+xt*s END DO angle=(j+1)*arg

57 CONCLUSIONES Se realizó un breve panorama histórico del algoritmo de la trasformada rápida de Fourier Se demostró la representación en algebra lineal del algoritmo de la FFT. Se encontraron los elementos adecuados para determinar de manera adecuada un algoritmo sencillo y práctico para determinar la Transformada rápida de Fourier.


Descargar ppt "Centro de Innovación y Desarrollo"

Presentaciones similares


Anuncios Google