Transcript

Trabajo Prctico n3Trabajo Prctico n3AANLISISNLISISFFRECUENCIALRECUENCIALDEDESSEALESEALESObjetivos del prcticoObjetivos del prctico!Estudiar el uso de la Transformada de Fourier en Tiempo Discreto (DTFT) para el anlisis espectral de seales.!Implementacin en Matlab dealgortmos de clculo de la DTFT.Estudiar el uso de la (Estudiar el uso de la (DTFTDTFT))Se puede calcular en forma exacta si la seal: es de longitud finita. es de longitud infinita, pero posee una transformada Z racional.Definicin de DTFTDefinicin de DTFTPara una seal en tiempo discreto x(n), la DTFT est definida por:X( ) es una funcin a valores complejos y peridica, con perodo fundamental 2 .( ) ( ) ; e . n x Xn jnProblemas en el clculo de DTFTProblemas en el clculo de DTFT!No es posible usar la expresin anterior para calcular la DTFT para seales de longitud infinita, ya que Matlab slo puede manipular vectores de longitud finita.!La DTFT es una funcin de variable continua en el intervalo [-,). Para el clculo con Matlab, esto representa un problema de muestreo en frecuencia.Problemas en el clculo de DTFTProblemas en el clculo de DTFT!No es posible usar la expresin anterior para calcular la DTFT para seales de longitud infinita, ya que Matlab slo puede manipular vectores de longitud finita.!La DTFT es una funcin de variable continua en el intervalo [-,). Para el clculo con Matlab, esto representa un problema de muestreo en frecuencia.Excepcin: Caso en que pueda obtenerse una expresin analtica de la DTFT, que pueda usarse para el cmputoProblemas en el clculo de DTFTProblemas en el clculo de DTFT!No es posible usar la expresin anterior para calcular la DTFT para seales de longitud infinita, ya que Matlab slo puede manipular vectores de longitud finita.!La DTFT es una funcin de variable continua en el intervalo [-,). Para el clculo con Matlab, esto representa un problema de muestreo en frecuencia.Excepcin: Caso en que pueda obtenerse una expresin analtica de la DTFT, que pueda usarse para el cmputoRealiza el clculo en un nmero finito de frecuencias, grande para obtener una aproximacin suave de la DTFTGeneralmente se toman frecuencias equiespaciadas en el intervalo [- , ) , es decir: ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )1 , , 0 ; ../ 2 N k e n xe n x Xn N k jnn jnkk! 1 , , 0 ;2 N kNkk! con lo que resulta:Esta expresin todava no es computable, salvo para seales de longitud finita. En este caso, si la seal es de longitud L , tenemos:( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )1 , , 0 ; ../ 21010

N k e n xe n x Xn N k jLnn jLnkk! ( (( ( ) )) ) ( (( () )) ) ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )( (( ( ) )) ) ( (( () )) ) ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )( (( ( ) )) ) ( (( () )) ) ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )( (( ( ) )) ) ( (( () )) ) ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) ) 1 1 011 1 021 1 011 1 001 1 12 2 21 1 10 0 01 1 01 1 01 1 01 1 0 + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + L j j jNL j j jL j j jL j j jN N Ne L x e x e x Xe L x e x e x Xe L x e x e x Xe L x e x e x X !" " " "!!!Evaluando la expresin anterior en k para k =0,...,1,tenemos:( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )( (( ( ) )) )( (( () )) )( (( ( ) )) )( (( ( ) )) )] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ], ,, ,, ,, ,, ,, ,, ,, , , ,, , ] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ], ,, ,, ,, ,, ,, ,, ,, , , ,, ,

] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ], ,, ,, ,, ,, ,, ,, ,, , , ,, , 110.1 1 01 1 01 1 01101 1 11 1 10 0 0L xxxe e ee e ee e eXXXL j j jL j j jL j j jNN N N"!" " "!!" Y escribiendola en forma matricial, resulta:Desarrollo del PrcticoDesarrollo del PrcticoProblema 1: Propone la implementacin deuna funcin que calcule la DTFT para una seal finita en el tiempo.Problema 2: Propone la implementacin deuna funcin que calcule la DTFT para una seal con Transformada-Z del tipo racional.Problema 3: Comparacin de las diferentes funciones ventanas utilizadas normalmente para el truncamiento de seales de duracin infinita.Problema Problema 33!Ventana Rectangular ( boxcar )0 5 10 1500.511.5Ventana Rectangular de longitud L=10Tiempo-4 -3 -2 -1 0 1 2 3 4012345678910Es pectro de amplitud de una ventana rectangular FrecuenciaImplementando la funcin del Problema 1, podemos obtener los espectros correspon-dientes:L=10-4 -3 -2 -1 0 1 2 3 402468101214161820Es pectro de amplitud de una ventana rectangularFrecuenciaL=20Tomando una ventana del doble de longitud de la anterior, tenemos:-4 -3 -2 -1 0 1 2 3 40102030405060708090100Es pectro de amplitud de una ventana rectangularFrecuenciaL=100Finalmente, para una ventana de longitud L=100, resulta:Problema Problema 33!Ventana de Hann ( hanning )0 2 4 6 8 10 12 14 16 18 2000.511.5Ventana de Hann de longitud L=20TiempoProblema Problema 33!Ventana de Hamming ( hamming )0 2 4 6 8 10 12 14 16 18 2000.511.5Ventana de Hamming de longitud L=20TiempoProblema Problema 33!Considere la seal de longitud infinita:Calcule el espectro de dicha seal usando distintas ventanasque en el dominio transformado queda:( (( ( ) )) )( (( (, ,, ,\ \\ \, ,, ,( (( (j jj j n n x2cos ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) d W X Xn w n x n x

.21.Definicin de DFTDefinicin de DFTPara una seal en tiempo discreto x(n), de longitud finita L, su DFT est definida por:( (( ( ) )) ) ( (( ( ) )) )( (( ( ) )) )1 , , 0 ; ./ 210

N k e n x k Xn N k jLn! Comparacin de la cantidad de Comparacin de la cantidad de clculos para calcular la DFT clculos para calcular la DFT !Dada una seal guardada en el vector x, el sig. Comando:>> y = fft(x,N);Calcula la DFT con N=length(x) puntos de la se-cuencia x. El nmero de puntos de la DFT puede especificarse independientemente de la longitud de la secuencia mediante el argumento de entrada adicional de la funcin N.!Matlab implementa la FFT en la funcin fft. Implementacin Matlab de la FFTImplementacin Matlab de la FFTProblema 4Problema 4El archivo de datos tp3_1.mat contiene un vector x que consiste de las muestras de una seal inmersa en ruido, muestreada con una frecuencia de Fs=1 KHz. Se asume que el ruido es blanco GaussianoUsar la funcin fft de Matlab para calcular y graficar la DTFT de la seal x , usando una ventana de longitud apropiada. Estudiar el uso de diferentes ventanas y delongitudes de ventana.


Recommended