Vous êtes sur la page 1sur 23

Trabajo Prctico n3

Trabajo Prctico n3
A
A
NLISIS
NLISIS
F
F
RECUENCIAL
RECUENCIAL
DE
DE
S
S
EALES
EALES
Objetivos del prctico
Objetivos del prctico
!Estudiar el uso de la Transformada
de Fourier en Tiempo Discreto (DTFT)
para el anlisis espectral de seales.
!Implementacin en Matlab de
algortmos de clculo de la DTFT.
Estudiar el uso de la (
Estudiar el uso de la (
DTFT
DTFT
)
)
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 DTFT
Definicin de DTFT
Para 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 X
n j
n
Problemas en el clculo de DTFT
Problemas 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 DTFT
Problemas 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 cmputo
Problemas en el clculo de DTFT
Problemas 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 cmputo
Realiza el clculo en un nmero finito de frecuencias,
grande para obtener una aproximacin suave de la DTFT
Generalmente se toman frecuencias equiespaciadas
en el intervalo [- , ) , es decir:
( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
1 , , 0 ; .
.
/ 2










N k e n x
e n x X
n N k j
n
n j
n
k
k
!



1 , , 0 ;
2
N k
N
k
k
!


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 ; .
.
/ 2
1
0
1
0










N k e n x
e n x X
n N k j
L
n
n j
L
n
k
k
!



( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) ) 1 1 0
1
1 1 0
2
1 1 0
1
1 1 0
0
1 1 1
2 2 2
1 1 1
0 0 0
1 1 0
1 1 0
1 1 0
1 1 0






+ ++ + + ++ + + ++ +
+ ++ + + ++ + + ++ +
+ ++ + + ++ + + ++ +
+ ++ + + ++ + + ++ +
L j j j
N
L j j j
L j j j
L j j j
N N N
e L x e x e x X
e L x e x e x X
e L x e x e x X
e L x e x e x X








!
" " " "
!
!
!
Evaluando la expresin anterior en
k
para k =0,...,1,
tenemos:
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
( (( ( ) )) )
] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
, ,, ,
, ,, ,
, ,, ,
, ,, ,

, ,, ,

] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
, ,, ,
, ,, ,
, ,, ,
, ,, ,

, ,, ,

] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
] ]] ]
, ,, ,
, ,, ,
, ,, ,
, ,, ,

, ,, ,





1
1
0
.
1 1 0
1 1 0
1 1 0
1
1
0
1 1 1
1 1 1
0 0 0
L x
x
x
e e e
e e e
e e e
X
X
X
L j j j
L j j j
L j j j
N
N N N
"
!
" " "
!
!
"






Y escribiendola en forma matricial, resulta:
Desarrollo del Prctico
Desarrollo del Prctico
Problema 1: Propone la implementacin de
una funcin que calcule la DTFT para una
seal finita en el tiempo.
Problema 2: Propone la implementacin de
una 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
3
3
!Ventana Rectangular ( boxcar )
0 5 10 15
0
0.5
1
1.5
Ventana Rectangular de longitud L=10
Tiempo
-4 -3 -2 -1 0 1 2 3 4
0
1
2
3
4
5
6
7
8
9
10
Es pectro de amplitud de una ventana rectangular
Frecuencia
Implementando la funcin del Problema 1,
podemos obtener los espectros correspon-
dientes:
L=10
-4 -3 -2 -1 0 1 2 3 4
0
2
4
6
8
10
12
14
16
18
20
Es pectro de amplitud de una ventana rectangular
Frecuencia
L=20
Tomando una ventana del doble de longitud de
la anterior, tenemos:
-4 -3 -2 -1 0 1 2 3 4
0
10
20
30
40
50
60
70
80
90
100
Es pectro de amplitud de una ventana rectangular
Frecuencia
L=100
Finalmente, para una ventana de longitud
L=100, resulta:
Problema
Problema
3
3
!Ventana de Hann ( hanning )
0 2 4 6 8 10 12 14 16 18 20
0
0.5
1
1.5
Ventana de Hann de longitud L=20
Tiempo
Problema
Problema
3
3
!Ventana de Hamming ( hamming )
0 2 4 6 8 10 12 14 16 18 20
0
0.5
1
1.5
Ventana de Hamming de longitud L=20
Tiempo
Problema
Problema
3
3
!Considere la seal de longitud infinita:
Calcule el espectro de dicha seal
usando distintas ventanas
que en el dominio transformado queda:
( (( ( ) )) )
( (( (
, ,, ,
\ \\ \
, ,, ,
( (( (
j jj j
n n x
2
cos

( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )
( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) )




d W X X
n w n x n x




.
2
1

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





N k e n x k X
n N k j
L
n
!

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 FFT
Implementacin Matlab de la FFT
Problema 4
Problema 4
El 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 F
s
=1
KHz. Se asume que el ruido es blanco Gaussiano
Usar 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 de longitudes de ventana.

Vous aimerez peut-être aussi