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
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
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,
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
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
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;
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')
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))
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)
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
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
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
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
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
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
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
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
Top Related