Está en la página 1de 23

Trabajo Práctico n°3

Trabajo Práctico n°3
A
A
NÁLISIS
NÁLISIS
F
F
RECUENCIAL
RECUENCIAL
DE
DE
S
S
EÑALES
EÑALES
Objetivos del práctico
Objetivos del práctico
!Estudiar el uso de la Transformada
de Fourier en Tiempo Discreto (DTFT)
para el análisis espectral de señales.
!Implementación en Matlab de
algorítmos de cálculo de la DTFT.
Estudiar el uso de la (
Estudiar el uso de la (
DTFT
DTFT
)
)
Se puede calcular en forma exacta si
la señal:
• es de longitud finita.
• es de longitud infinita, pero posee
una transformada Z racional.
Definición de DTFT
Definición de DTFT
Para una señal en tiempo discreto
x(n), la DTFT está definida por:
X(ω ωω ω) es una función a valores complejos y
periódica, con período fundamental 2π ππ π.
( ) ( ) π ≤ ω ≤ π − ω
ω −

∞ −

; e . n x X
n j
n
Problemas en el cálculo de DTFT
Problemas en el cálculo de DTFT
!No es posible usar la expresión anterior para
calcular la DTFT para señales de longitud
infinita, ya que Matlab sólo puede manipular
vectores de longitud finita.
!La DTFT es una función de variable continua
en el intervalo [-π,π). Para el cálculo con
Matlab, esto representa un problema de
muestreo en frecuencia.
Problemas en el cálculo de DTFT
Problemas en el cálculo de DTFT
!No es posible usar la expresión anterior para
calcular la DTFT para señales de longitud
infinita, ya que Matlab sólo puede manipular
vectores de longitud finita.
!La DTFT es una función de variable continua
en el intervalo [-π,π). Para el cálculo con
Matlab, esto representa un problema de
muestreo en frecuencia.
Excepción: Caso en que pueda obtenerse una expresión
analítica de la DTFT, que pueda usarse para el cómputo
Problemas en el cálculo de DTFT
Problemas en el cálculo de DTFT
!No es posible usar la expresión anterior para
calcular la DTFT para señales de longitud
infinita, ya que Matlab sólo puede manipular
vectores de longitud finita.
!La DTFT es una función de variable continua
en el intervalo [-π,π). Para el cálculo con
Matlab, esto representa un problema de
muestreo en frecuencia.
Excepción: Caso en que pueda obtenerse una expresión
analítica de la DTFT, que pueda usarse para el cómputo
Realiza el cálculo en un número finito de frecuencias,
grande para obtener una aproximación 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 expresión todavía no es computable, salvo para
señales de longitud finita. En este caso, si la señal 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 expresión 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 Práctico
Desarrollo del Práctico
Problema 1: Propone la implementación de
una función que calcule la DTFT para una
señal finita en el tiempo.
Problema 2: Propone la implementación de
una función que calcule la DTFT para una
señal con Transformada-Z del tipo racional.
Problema 3: Comparación de las diferentes
funciones “ventanas” utilizadas normalmente
para el truncamiento de señales de duración
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 función 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 señal de longitud infinita:
Calcule el espectro de dicha señal
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
ˆ
.
ˆ
Definición de DFT
Definición de DFT
Para una señal 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
!
π ππ π
Comparación de la cantidad de
Comparación de la cantidad de
cálculos para calcular la DFT
cálculos para calcular la DFT
!Dada una señal 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 número de puntos de la DFT puede
especificarse independientemente de la longitud
de la secuencia mediante el argumento de
entrada adicional de la función N.
!Matlab implementa la FFT en la función fft.
Implementación Matlab de la FFT
Implementación 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 señal inmersa
en ruido, muestreada con una frecuencia de F
s
=1
KHz. Se asume que el ruido es blanco Gaussiano
Usar la función fft de Matlab para calcular y graficar
la DTFT de la señal x , usando una ventana de
longitud apropiada. Estudiar el uso de diferentes
ventanas y de longitudes de ventana.

Objetivos del práctico
!Estudiar el uso de la Transformada de Fourier en Tiempo Discreto (DTFT) para el análisis espectral de señales. !Implementación en Matlab de algorítmos de cálculo de la DTFT.

• es de longitud infinita.Estudiar el uso de la (DTFT) Se puede calcular en forma exacta si la señal: • es de longitud finita. pero posee una transformada Z racional. .

Definición de DTFT Para una señal en tiempo discreto x(n). . con período fundamental 2π. la DTFT está definida por: X(ω) = n=−∞ ∑ ∞ x (n ) . e − j ω n . −π≤ω≤ π X(ω) es una función a valores complejos y periódica.

Problemas en el cálculo de DTFT !No es posible usar la expresión anterior para calcular la DTFT para señales de longitud infinita. Para el cálculo con Matlab. . ya que Matlab sólo puede manipular vectores de longitud finita. !La DTFT es una función de variable continua en el intervalo [-π.π). esto representa un problema de muestreo en frecuencia.

Problemas en el cálculo de DTFT !No es posible usar la expresión anterior para Excepción: Caso en que pueda obtenerse una expresión calcular la DTFT para señales de longitud analítica de laque Matlab sólo puede manipular infinita. . ya DTFT.π). que pueda usarse para el cómputo vectores de longitud finita. !La DTFT es una función de variable continua en el intervalo [-π. Para el cálculo con Matlab. esto representa un problema de muestreo en frecuencia.

ya DTFT. !La DTFT es una función de variable continua Realizaintervalo enπ.π).Problemas en el cálculo de DTFT !No es posible usar la expresión anterior para Excepción: Caso en que pueda obtenerse una expresión calcular la DTFT para señales de longitud analítica de laque Matlab sólo puede manipular infinita.un número finito de frecuencias. Para el cálculo con en el el cálculo [. que pueda usarse para el cómputo vectores de longitud finita. esto representa un problema la DTFT muestreo en frecuencia. grande para obtener una aproximación suave de de Matlab. .

k = 0. N −1 n=−∞ ∑ x (n) .π) .e − j (2π k / N )n .e ∞ = . k = 0.!.!. N −1 ωk = N − jω k n X (ω k ) = = n=−∞ ∞ ∑ x(n) .Generalmente se toman frecuencias equiespaciadas en el intervalo [-π. es decir: con lo que resulta: 2πk .

k = 0. En este caso. tenemos: X (ω k ) = ∑ x (n ) . salvo para señales de longitud finita.!.e n=0 L −1 L −1 − jω k n = ∑ x (n ) . N −1 . si la señal es de longitud L .Esta expresión todavía no es computable.e n=0 − j (2π k / N )n .

.. tenemos: X (ω 0 ) = x (0 ) e − j ω 0 0 + x (1) e − j ω 0 1 + ! + x (L − 1) e − j ω 0 ( L−1 ) X (ω 2 ) = x (0 ) e " X (ω 1 ) = x (0 ) e − j ω1 0 + x (1) e − j ω1 1 + ! + x (L − 1) e − j ω1 (L−1 ) − jω2 0 + x (1) e − jω 2 1 + ! + x (L − 1) e " − j ω 2 ( L −1 ) X (ω N −1 ) = x (0 ) e − j ω N −1 0 + x (1) e − j ω N −1 1 + ! + x (L − 1) e − j ω N −1 (L−1 ) " " .1.Evaluando la expresión anterior en ωk para k =0...

Y escribiendola en forma matricial. resulta: X (ω0 )   e− jω0 0 e− jω0 1 ! e− jω0 (L−1)   x(0)    X (ω )   − jω1 0  − jω1 1 − jω1 ( L−1)   x(1) e ! e 1  e .   =   "   "   " " "   − jωN−1 0 − jωN−1 1   − jω N −1 ( L−1)   ! e e  X (ωN −1 ) e   x(L − 1) .

Problema 2: Propone la implementación de una función que calcule la DTFT para una señal con Transformada-Z del tipo racional.Desarrollo del Práctico Problema 1: Propone la implementación de una función que calcule la DTFT para una señal finita en el tiempo. . Problema 3: Comparación de las diferentes funciones “ventanas” utilizadas normalmente para el truncamiento de señales de duración infinita.

Problema 3 !Ventana Rectangular ( boxcar ) Ventana Re ctangular de longitud L=10 1.5 1 0.5 0 0 5 Tiempo 10 15 .

podemos obtener los espectros correspondientes: Es pe c tro de amplitud de una ve ntana re c tangular 10 9 8 7 6 5 4 3 2 1 0 -4 -3 -2 -1 0 Frecuencia 1 2 3 4 L=10 .Implementando la función del Problema 1.

tenemos: Es pe ctro de amplitud de una ve ntana rec tangular 20 18 16 14 12 10 8 6 4 2 0 -4 -3 -2 -1 0 Frecuencia 1 2 3 4 L=20 .Tomando una ventana del doble de longitud de la anterior.

para una ventana de longitud L=100. resulta: Es pe c tro de amplitud de una ve ntana rec tangular 100 90 80 70 60 50 40 30 20 10 0 -4 -3 -2 -1 0 Frecuencia 1 2 3 4 L=100 .Finalmente.

5 0 0 2 4 6 8 10 Tiempo 12 14 16 18 20 .5 1 0.Problema 3 !Ventana de Hann ( hanning ) Ventana de Hann de longitud L=20 1.

5 1 0.5 0 0 2 4 6 8 10 Tiempo 12 14 16 18 20 .Problema 3 !Ventana de Hamming ( hamming ) Ventana de Hamming de lo ng itud L=20 1.

W (ω − λ )dλ .Problema 3 ! Considere la señal de longitud infinita:  π n x (n )= cos  2  Calcule el espectro de dicha señal usando distintas ventanas ˆ x (n )= x (n ). w (n ) que en el dominio transformado queda: ˆ (ω )= 1 X 2π π −π ∫ X (λ ).

e n=0 − j (2π k / N ) n .Definición de DFT Para una señal en tiempo discreto x(n). k = 0. de longitud finita L. su DFT está definida por: L−1 X (k ) = ∑ x(n) . N − 1 .!.

Comparación de la cantidad de cálculos para calcular la DFT .

el sig. Calcula la DFT con N=length(x) puntos de la secuencia x. ! Dada una señal guardada en el vector x. El número de puntos de la DFT puede especificarse independientemente de la longitud de la secuencia mediante el argumento de entrada adicional de la función N.N). Comando: >> y = fft(x. .Implementación Matlab de la FFT ! Matlab implementa la FFT en la función fft.

mat contiene un vector x que consiste de las muestras de una señal inmersa en ruido. usando una ventana de longitud apropiada.Problema 4 El archivo de datos tp3_1. Estudiar el uso de diferentes ventanas y de longitudes de ventana. muestreada con una frecuencia de Fs=1 KHz. . Se asume que el ruido es blanco Gaussiano Usar la función fft de Matlab para calcular y graficar la DTFT de la señal x .