Utp pds_l5_transformada discreta de fourier

44
Procesamiento Digital de Señales (TC61) Laboratorio: 5 Ing. José C. Benítez P. La Transformada Discreta de Fourier (DFT) y la Transformada Rápida de Fourier (FFT)

Transcript of Utp pds_l5_transformada discreta de fourier

Page 1: Utp pds_l5_transformada discreta de fourier

Procesamiento Digital de Señales(TC61)

Laboratorio: 5

Ing. José C. Benítez P.

La Transformada Discreta de Fourier (DFT) y la Transformada Rápida de Fourier (FFT)

Page 2: Utp pds_l5_transformada discreta de fourier

Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P. 2

Índice

La Convolución, la Transformada Discreta de Fourier (DFT) y la Transformada Rápida de Fourier (FFT)

� Objetivo� La DFT y la FFT� DFT

Page 3: Utp pds_l5_transformada discreta de fourier

Objetivo

� Comprender la DTF.

� Calculo de la DFT mediante la FFT.

3Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 4: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

4Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Una señal periódica puede representarse como suma de ondas sinusoidales.

� Las que nos interesarán especialmente serán las que tienen unas frecuencias determinadas, y en eso se basa el análisis de Fourier.

� Las frecuencias elegidas son; la frecuencia que

caracteriza la señal que queremos analizar, y sus múltiplos; el doble, el triple…: f, 2f, 3f, 4f, 5f…

Page 5: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

5Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Y así, cualquier señal podrá descomponerse en una suma como la siguiente:

Esta forma de descomponer una señal en el dominio de la frecuencia se llama la Transformación de Fourier.

Page 6: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

6Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� La ventaja de elegir estas funciones, que se llamarán armónicos, es que analizar una señal cualquiera para ver sus componentes con esas frecuencias será una tarea sencilla.

� La formulación matemática para señales discretas se ha desarrollado en la clase teórica.

� Veremos la capacidad de Matlab para obtener las componentes no ya de una señal continua, sino de la señal discreta que la representa en forma de muestreo.

� Esto se llamará la Transformada Discreta de Fourier (DFT), y hay muchas formas de calcularla. La más eficiente es la Transformada Rápida de Fourier (FFT).

Page 7: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

7Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Matlab tiene implementada una función para calcular una FFT:>>fft(x)

� En donde x es nuestra señal discreta (secuencia discreta de datos).

� El resultado numérico de la transformación son números complejos, que tendrán un módulo –que será la amplitud - y un ángulo – la fase - de cada una de las componentes.

� Además estarán repetidos, dando una serie de datos simétrica. Nos interesa sólo la mitad. Y además estarán multiplicados por N/2, siendo N el número de datos de nuestra serie. Si

recuperaremos la última señal que generamos.

Page 8: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

8Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Ejemplo:>>t=[0:0.01:1];>>x1=5*sin(4*pi*t);>>x2=2*sin(8*pi*t+1);>>x=x1+x2;>>plot(t,x)

Page 9: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

9Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Si nuestro espacio de tiempo es 1 seg, nuestra frecuencia f es 1/1seg = 1Hz. Si hacemos

ahora la fft, y nos quedamos sólo con las amplitudes (con la función abs) podemos escribir:>>y=abs(fft(x));

Lo representaremos ahora con un nuevo tipo de gráfico: un gráfico de barras –bar graph-con la función bar:>>bar(y)

Page 10: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

10Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Tal y como se dijo, tenemos los datos repetidos en un gráfico simétrico, nos interesan sólo la mitad, y para ser más concretos, los primeros, porque a partir de un determinado valor son muy pequeños.

Podemos representar una parte del gráfico escribiendo

>>bar(y(1:20))

Page 11: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

11Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Nuestro gráfico tiene dos barras mucho mayores que las anteriores, vamos a ver lo que representa cada una.

Nuestras barras representan las amplitudes de la serie:

La que hemos generado es:x = x1 + x2 = 5*sin(4*pi*t)+2*sin(8*pi*t+1)

Page 12: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

12Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

La que hemos generado es:

x = x1 + x2 = 5*sin(4*pi*t)+2*sin(8*pi*t+1)

La primera barra representa A0, la componente continua. Nuestra señal no tenía.

La segunda barra representa la amplitud A1, correspondiente frecuencia fundamental f que tampoco existía en la señal que nos hemos generado.

Tampoco tenemos en A3.

Page 13: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

13Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

En cambio si tenemos componentes con frecuencias 2f y 4f, y eso

es lo que nos muestra el gráfico.

Page 14: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

14Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Como hemos dicho, los valores de amplitudes en el gráfico están multiplicados por N/2, siendo N el número elementos de la secuencia (100 en este caso). Si queremos verlos sólo hay que dividir por N/2.

Page 15: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

15Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

>>t=[0:0.01:1];>>x1=5*sin(4*pi*t);>>x2=2*sin(8*pi*t+1);>>x=x1+x2;>>y=abs(fft(x))/50;>>bar(y(1:20))

Los pequeños valores (aprox. cero) en otros armónicos se deben a utilizar pocos puntos para muestrear la señal. El resultado con 1000 puntos es el siguiente gráfico:>> t=[0:.001:1];>> x1=5*sin(4*pi*t);>> x2=2*sin(8*pi*t+1);>> x=x1+x2;>> y=abs(fft(x))/500;>> bar(y(1:20))

Page 16: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

16Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

El resultado con 100 puntos es el siguiente gráfico:

El resultado con 1000 puntos es el siguiente gráfico:

Page 17: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

17Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Vamos a probar ahora con la misma señal pero con una componente continua>>t=[0:0.01:1];>>x1=5*sin(4*pi*t);>>x2=2*sin(8*pi*t+1);>>x=3+x1+x2;>> plot(t,x);

Page 18: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

18Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

>>y=abs(fft(x))/50;>>bar(y(1:20))Podemos ver a A0 en la barra ahora. Los valores de amplitud de la componente continua están multiplicados por N en lugar de N/2. Por eso aparece con valor 6.

Page 19: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

19Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Si ahora en lugar de una componente continua añadimos el término de alta frecuencia que vimos que podía representar ruido>>t=[0:0.01:1];>>x1=5*sin(4*pi*t);>>x2=2*sin(8*pi*t+1);>>x3=0.5*sin(50*pi*t+1);>>x=x1+x2+x3;>>plot(t,x)

Page 20: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

20Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Y ahora vemos sus componentes en la FFT>>y=fft(x);>>A=abs(y)/50;>>bar(A)En el gráfico de barras podemos ver ahora la componente de ruido. Esa componente podrá ser eliminada ahora. La forma más directa es borrarla en la variable y.

Page 21: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

21Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Para ello podemos editarla dentro de Matlab haciendo doble click en y. Entraremos en el editor de tablas, con un aspecto similar a una hoja de cálculo, y en él podemosborrar los elementos que representan el ruido, el 26 y el 77.

Page 22: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

22Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

La nueva fft será ahora>>y=abs(y)/50;>>bar(A);

Page 23: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

23Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

En un caso real para “limpiar” mejor las componentes de ruido podríamos eliminar también los cercanos (24al 28, y 75 al 79, se deja como ejercicio).

Page 24: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

24Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

La nueva fft será ahora>>y=abs(y)/50;>>bar(A);

Page 25: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

25Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Una vez eliminados podemos invertir la transformación de Fourier con el comando ifft.

El resultado, de nuevo es un número complejo. Nos interesa sólo su parte real

>>z=ifft(y);

>>plot(real(z))

¡Hemos filtrado la señal!

Page 26: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

26Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Si el muestreo lo hubiésemos hecho con más puntos el resultado sería mejor, pero el obtenido es suficientemente bueno para la mayor parte de las necesidades.>>t=[0:0.005:1];>>x1=5*sin(4*pi*t);>>x2=2*sin(8*pi*t+1);>>x3=0.5*sin(50*pi*t+1);>>x=x1+x2+x3;>>plot(t,x)

Page 27: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

27Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

>>y=fft(x);>>bar(abs(y))

Page 28: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

28Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

>>y(24:28)=[0,0,0,0,0];>>y(175:179)=[0,0,0,0,0];>>z=real(ifft(y));>>plot(z);

Page 29: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

29Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

FTTs en más de una dimensión.

Haremos ahora una breve introducción a la transformación de Fourier en dos dimensiones, que no es más que una extensión de los mismos conceptos.

Al igual que cualquier señal puede representarse como suma de ondas sinusoidales, cualquier superficie puede representarse como suma de ondas sinusoidales en dos dimensiones.

Page 30: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

30Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Dibujaremos una superficie para ver de qué estamos hablando.

>>t=[0:0.01:1];>> x1=5*sin(2*pi*t);>> x2=2*sin(8*pi*t+1);>> z=x1'*x2;>> surf(z)

Page 31: Utp pds_l5_transformada discreta de fourier

La transformada de Fourier y la FFT

31Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Y al igual que antes, si la superficie está dada por un tabla de datos, podrá ser transformada, haciendo ahora una FFT en dos dimensiones. Esta transformación dará como resultado otra tabla de amplitudes y fases de ondas como la del dibujo, también en 2D.

>>y=fft2(z);>>surf(abs(y))

Page 32: Utp pds_l5_transformada discreta de fourier

DFT

32Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 33: Utp pds_l5_transformada discreta de fourier

DFT

33Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 34: Utp pds_l5_transformada discreta de fourier

DFT

34Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 35: Utp pds_l5_transformada discreta de fourier

DFT

35Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 36: Utp pds_l5_transformada discreta de fourier

DFT

36Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 37: Utp pds_l5_transformada discreta de fourier

DFT

37Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 38: Utp pds_l5_transformada discreta de fourier

DFT

38Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 39: Utp pds_l5_transformada discreta de fourier

Ejercicios

39Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 40: Utp pds_l5_transformada discreta de fourier

Ejercicios

40Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 41: Utp pds_l5_transformada discreta de fourier

Ejercicios

41Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

Page 42: Utp pds_l5_transformada discreta de fourier

Informe de Laboratorio

42Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� El informe de laboratorio se presentará con el desarrollo de todos los ejercicios desarrollados y preguntas de esta presentación.

� El informe debe ser básicamente un documento gráfico en lo posible y debe adjuntarse los códigos con los comentarios solicitados en USB.

� Lo mas importante de un informe de laboratorio son los conclusiones, comentarios y observaciones.

� Si han utilizado fuentes adicionales, adjuntarlas sólo en USB.

� EL Informe presentar impreso y en formato digital (en USB).

Page 43: Utp pds_l5_transformada discreta de fourier

Presentación

43Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Todas las fuentes, archivos utilizados y el Informe deben presentarse en USB, dentro de una carpeta que lleve las

iniciales del curso, sus Apellidos, guion bajo y luego el numero

de laboratorio. Ejemplo:PDS_BenitezPalacios_L5

� Si adjunta fuentes adicionales, debe conservar el nombre

original y agregar _tema.� Revisar permanentemente el blog del Curso:

http://utppds.blogspot.com.

� Las Tareas que no cumplan las indicaciones no serán recepcionados por el profesor.

Page 44: Utp pds_l5_transformada discreta de fourier

Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 44

Agradecimiento