transformada tiempo discreto fourier

17
TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO PRODIS0 UPAO - Pagina- 1 -de 16 LABORATORIO Nº 2 Transformada de Tiempo Discreto de Fourier CURSO : PROCESAMIENTO DIGITAL DE SEÑALES DOCENTE : ING. DUBER PEREZ PEREIRA Autor : Moreno García José Saenz Paredes César Salazar Cueva Juan Pablo CICLO : VIII Trujillo Perú 2007

Upload: usernew2014

Post on 19-Jan-2016

93 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 1 -de 16

LABORATORIO Nº 2

Transformada de Tiempo

Discreto de Fourier

CCUURRSSOO :: PROCESAMIENTO DIGITAL DE SEÑALES

DDOOCCEENNTTEE :: IINNGG.. DDUUBBEERR PPEERREEZZ PPEERREEIIRRAA

Autor : Moreno García José

Saenz Paredes César

Salazar Cueva Juan Pablo

CICLO : VIII

TTrruujjiilllloo –– PPeerrúú

22000077

Page 2: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 2 -de 16

Transformada de Tiempo Discreto de Fourier

1. Autores :

Moreno García José

Saenz Paredes César

Salazar Cueva Juan Pablo

2. Introducción: En matemáticas, la transformada de Fourier discreta, designada con frecuencia por la

abreviatura DFT (del inglés discrete Fourier transform), y a la que en ocasiones se

denomina transformada de Fourier finita, es una transformada de Fourier ampliamente

empleada en tratamiento de señales y en campos afines para analizar las frecuencias

presentes en una señal muestreada, resolver ecuaciones diferenciales parciales y realizar

otras operaciones, como convoluciones.

Sin embargo, a la hora de realizar operaciones tenemos los mismos problemas que en

las series de Fourier ya que seguimos tratanto con señales continuas o con series de

datos de longitud infinita. La electrónica nos obliga a trabajar con un número finito de

datos discretos que además tienen una precisión finita.

De lo que se trata es de conseguir discretizar las variables continuas y de limitar el

números de muestras en los dos dominios (temporal y frecuencial). Esto nos lleva a

definir las series discretas de Fourier y la Transformada Discreta de Fourier (DFT).

3. Objetivos

Calcular la Transformada de Fourier de Tiempo Discreto ( DTFT ) y su inversa en

MATLAB.

Realizar la Transformada Discreta de Fourier ( DFT ) y su inversa

experimentalmente en MATLAB.

Realizar la convolución para 2 señales.

Diferenciar Convolución Lineal y Convolución Circular

Page 3: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 3 -de 16

4. Fundamento Teórico Para esto debemos entrar al Matlab y empezar un nuevo script. En este script que

estamos implementando vamos a crear la siguiente función, la cual es sencilla y solo

consta de las siguientes líneas:

La transformada discreta de Fourier (DFT) está definida como:

donde:

Donde T es el periodo de muestreo y fs es la frecuencia de muestreo.

La transformada inversa se define como:

Ahora podemos calcular el espectro de una señal arbitraria: La Transformada de Fourier

Discreta (DFT) calcula el espectro en N frecuencias igualmente espaciadas de una

longitud- N secuencias. Una edición que nunca se presenta en el "cálculo" análogo,

como la realizada por un circuito, es cuanto trabajo toma realizar la operación de

procesamiento de señal como la filtración. En computación, esta consideración traslada

del número de pasos básicos de computación requeridos para realizar el proceso.

El número de pasos, conocidos como, la complejidad, se vuelve equivalente a cuanto

tiempo toma el cálculo (que tanto tiempo tenemos que esperar para una respuesta). La

complejidad no esta atada a computadoras especificas o lenguajes de programación,

Page 4: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 4 -de 16

pero a cuantos pasos son requeridos en cualquier cálculo. Así, un procedimiento con

complejidad indicada dice que el tiempo tomado será proporcional a alguna cantidad

de datos utilizados en el cálculo y en la cantidad demandada.

Por ejemplo, considerar la formula para la transformada discreta de Fourier. Para cada

frecuencia que elijamos, debemos multiplicar cada valor de la señal por un número

complejo y sumar los resultados. Para una señal valorada-real, cada multiplicación real-

por-complejo requiere dos multiplicaciones reales, significa que tenemos 2N

multiplicaciones para realizarse.

Para sumar los resultados juntos, debemos mantener la parte real y la imaginaria

separadas. Sumando N números requiere N−1 sumas. Constantemente, cada frecuencia

requiere 2N+2(N−1) =4N−2 pasos básicos de realizar. Como tenemos N frecuencias, el

número total de operaciones es N(4N−2) .

El espectro de amplitud es la magnitud de cada componente en la DFT, | |. El

espectro de la energía es el cuadrado de los componentes en el espectro de amplitud:

Propiedades de la transformada discreta de Fourier (DFT) Linealidad

Es decir, la transformada de Fourier de una señal h(n) multiplicada por un escalar es

la transformada de Fourier de la señal, , multiplicada por el escalar .

Del mismo modo, la transformada de Fourier de la suma de dos señales, h(n) y g(n), es

la suma de las transformadas de Fourier de ambas señales.

Traslación en el tiempo (retardo)

Esto es, si una señal es desplazada k, la transformada discreta de Fourier sufre un

desplazamiento de fase de k.

Traslación de frecuencia

Page 5: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 5 -de 16

Similar a la anterior, multiplicar la señal por ein

o introduce un desfase de o en la

transformada de Fourier.

Convolución

La convolución de dos señales en el dominio temporal da como resultado una

transformada de Fourier que es la multiplicación de las transformadas de Fourier de las

dos señales originales. De igual forma, multiplicar dos señales en el dominio temporal

da como resultado una convolución en el dominio frecuencial.

Entrada de valor real

Si h(n) es real, como ocurre en la mayoría de procesos de lenguajes, H(ei

) es

simétrica. De igual forma, si h(n) es par, es decir h(n) = h(-n) entonces H(ei

) es real.

Las transformadas de Fourier de valores reales pueden obtenerse dos veces más rápido

(están presentes únicamente la mitad de los números complejos).

5. Materiales

Pc con Matlab 2006-a

Page 6: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 6 -de 16

6. Procedimiento La transformada de tiempo discreto de Fourier se obtiene usando como base la siguiente

ecuación:

Para esto debemos entrar al Matlab y empezar un nuevo script. En este script que

estamos implementando vamos a crear la siguiente función, la cual es sencilla y solo

consta de las siguientes líneas:

function X=dft(x,N) x1=zeros(1,N); x1(1:length(x))=x; n=0:N-1; k=n; WN=exp(-j*2*pi/N); WNnk=WN.^(n'*k); X=x1*WNnk;

Ahora la grabamos y con esto ya disponemos en Matlab de una función la cual nos

realiza las transformadas de Fourier. En el desarrollo del informe vamos a ponerle el

nombre de dft.m

También vamos a necesitar de la Transformada Inversa de Fourier la que se obtiene

usando como base la siguiente ecuación.

Ahora también debemos colocar la siguiente ecuación como una función en un nuevo

script de Matlab, una vez dentro ingresamos las siguientes líneas de código.

function x=idft(X,N) X1=zeros(1,N); X1(1:length(X))=X; n=0:N-1; k=n; WN=exp(j*2*pi/N); WNnk=WN.^(n'*k); x=X1*WNnk/N;

Page 7: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 7 -de 16

Primer Ejercicio : El primer ejercicio de este informe es como una continuación del informe anterior se

nos pide calcular la transformada de Fourier de:

Para lo cual usando el Matlab ingresamos el siguiente script

M=512; N=50; n=0:N; k=0:M-1; x=0.9.^n; X=x*exp(-j*6*pi*n'*k/M); subplot(2,1,1) plot(6*pi*k/M,abs(X)) title('Magnitud de X(w)') xlabel('Frecuencia en pi unidades') subplot(2,1,2) plot(6*pi*k/M,angle(X)) title('Angulo de X(w)') xlabel('Frecuencia en pi unidades')

Con este script obtenemos la transformada de Fourier para la función:

Pero ahora variando un poco el enunciado se nos pide hallar la Transformada de Fourier

de la función:

Ahora para esta función vamos a modificar nuestro script en la quinta línea, y nos va

quedar asi:

M=512; N=50; n=0:N; k=0:M-1; x=(0.9*exp(-j*pi/2)).^n; X=x*exp(-j*6*pi*n'*k/M); subplot(2,1,1) plot(6*pi*k/M,abs(X)) title('Magnitud de X(w)') xlabel('Frecuencia en pi unidades') subplot(2,1,2) plot(6*pi*k/M,angle(X)) title('Angulo de X(w)') xlabel('Frecuencia en pi unidades')

Page 8: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 8 -de 16

Segundo Ejercicio:

Se nos pide ahora hallar la transformada discreta de Fourier y

entonces procedemos a ingresar el siguiente script

n=0:44; x=cos(2*pi*3/44*n) subplot(2,1,1) stem(n,x) X=dft(x,64) subplot(2,1,2) k=0:64-1; stem(k,abs(X))

Vemos que k=0:64-1 son los valores que va tomar k, entonces para este caso 63 nos

varia la densidad de los espectros que se obtienen, para el mismo problema vamos a

probar con k=0:511 y k=0:1023. De esta manera vamos a poder comparar los diferentes

resultados obtenidos.

n=0:44; x=cos(2*pi*3/44*n) subplot(2,1,1) stem(n,x) X=dft(x,512) subplot(2,1,2) k=0:512-1; stem(k,abs(X))

n=0:44; x=cos(2*pi*3/44*n) subplot(2,1,1) stem(n,x) X=dft(x,1024) subplot(2,1,2) k=0:1024-1; stem(k,abs(X))

Page 9: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 9 -de 16

Tercer Ejercicio: Para este tercer ejercicio vamos a realizar la convolución

Bueno para realizar esta convolución necesitamos del siguiente script el cual nos realiza

ambas convoluciones

x=[1 2 3 2 1 -1 -2] h=[1/4 1/2 1/2 1/4] y1=conv(x,h) subplot(2,1,1) stem(y1) X=dft(x,8); H=dft(h,8); Y2=X.*H; y2=idft(Y2,8) g=real(y2) subplot(2,1,2) stem(g)

g=real(y2) para solo obtener los valores reales de y2 y no salga problemas en la gráfica

final, y asi eliminar el valor complejo que es 0i. Ahora vamos a realizar para una salida

de 10 valores en la convolución

x=[1 2 3 2 1 -1 -2] h=[1/4 1/2 1/2 1/4] y1=conv(x,h) subplot(2,1,1) stem(y1) X=dft(x,10); H=dft(h,10); Y2=X.*H; y2=idft(Y2,10) subplot(2,1,2) g=real(y2) stem(g)

Page 10: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 10 -de 16

7. Análisis de datos y resultados:

7.1 Análisis de Gráficas:

EJERCICIO 1

Figura1: Transformada Discreta de Fourier

0 2 4 6 8 10 12 14 16 18 200

2

4

6

8

10Magnitud de X(w)

Frecuencia en pi unidades

0 2 4 6 8 10 12 14 16 18 20-1.5

-1

-0.5

0

0.5

1

1.5Angulo de X(w)

Frecuencia en pi unidades

Page 11: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 11 -de 16

Figura2: Transformada Discreta de Fourier para la variante

Para el análisis podemos ver que tiene una transformada de Fourier similar en gráfica a

Pero varia la frecuencia que tiene un desfase que podemos notar en las gráficas.

0 2 4 6 8 10 12 14 16 18 200

2

4

6

8

10Magnitud de X(w)

Frecuencia en pi unidades

0 2 4 6 8 10 12 14 16 18 20-1.5

-1

-0.5

0

0.5

1

1.5Angulo de X(w)

Frecuencia en pi unidades

Page 12: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 12 -de 16

EJERCICIO 2

Figura3: Transformada discreta de Fourier para 64

En esta gráfica podemos notar que la densidad no es tan grande, y vemos las 64

señales que nos da la transformada discreta de Fourier para k=0:63

0 5 10 15 20 25 30 35 40 45-1

-0.5

0

0.5

1

0 10 20 30 40 50 60 700

5

10

15

20

Page 13: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 13 -de 16

Figura4: Transformada discreta de Fourier para 512

En esta gráfica podemos notar que la densidad aumenta considerablemente, y vemos

que con 512 señales que nos da la transformada discreta de Fourier para k=0:511, ya

no podemos diferencias las 512.

0 5 10 15 20 25 30 35 40 45-1

-0.5

0

0.5

1

0 100 200 300 400 500 6000

5

10

15

20

25

Page 14: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 14 -de 16

Figura5: Transformada discreta de Fourier para 1024

En esta gráfica podemos notar que la densidad mucho mayor aun, no se puede

diferenciar las 1024, imposible solo vemos un poco los tamaños de las señales que

nos da la transformada discreta de Fourier para k=0:1023

0 5 10 15 20 25 30 35 40 45-1

-0.5

0

0.5

1

0 200 400 600 800 1000 12000

5

10

15

20

25

Page 15: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 15 -de 16

EJERCICIO 3

Figura6: Convolución discreta y circular

En estas 2 graficas podemos observar que hemos conseguido lograr obtener los valores

similares en ambas convoluciones aunque los 2 primeros valores son incorrectos, no

coinciden pero todos los demás valores son iguales, porque hemos filtrado la parte

imaginaria. Aca tenemos que la señal de la convolución ha sido de 8 valores que pasan

a ser analizadas.

1 2 3 4 5 6 7 8 9 10-2

-1

0

1

2

3

4

1 2 3 4 5 6 7 8-2

-1

0

1

2

3

4

Page 16: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 16 -de 16

Figura7: Convolución discreta y circular

En estas 2 graficas podemos observar que hemos conseguido lograr obtener los valores

similares en ambas convoluciones aunque los 2 primeros valores son incorrectos, no

coinciden pero todos los demás valores son iguales, porque hemos filtrado la parte

imaginaria. En diferencia con la anterior aca hemos tomado 10 valores en el análisis de

la convolución

1 2 3 4 5 6 7 8 9 10-2

-1

0

1

2

3

4

1 2 3 4 5 6 7 8-2

-1

0

1

2

3

4

Page 17: Transformada Tiempo Discreto Fourier

TRANSFORMADA DE FOURIER EN TIEMPO DISCRETO

PRODIS0 – UPAO - Pagina- 17 -de 16

8. Conclusiones recomendaciones

Se verificó la utilización del comando dtft para hallar Transformada de Fourier de

Tiempo Discreto.

Se observó que a rangos mas pequeños de muestreo la señal se aproxima más a su

valor real.

Se verificó la utilización del comando dft para hallar Transformada Discreta de

Fourier y su inversa con comando idft.

Se observó que en intervalos pequeños el error en la cuantificación es mas pequeño.

Se apreció que cuando se aumenta ts aumenta la resolución y también el aumento

de densidad al aumentar N (N: número de muestras).

9. Referencias http://www.arrakis.es/~ppriego/fourier/fourier.htm

http://www.monografias.com/trabajos11/serfour/serfour.shtml http://www.wikilearning.com/que_es_la_transformada_de_fourier_discreta-

wkccp-20455-1.htm

http://es.wikipedia.org/wiki/Transformada_r%C3%A1pida_de_Fourier