Está en la página 1de 14

UNSA_EPIS

PROCESAMIENTO DIGITAL DE SEALES


QUINTA PRCTICA DE LABORATORIO
RESPUESTA DE SISTEMAS LTI TRANSFORMADA DE FOURIER
ANLISIS EN FRECUENCIA

Alumna: Ojeda Collazos Sharon Margoth
CUI: 20095943

I. ACTIVIDADES

1. La Transformada discreta de Fourier DTF muestra la descomposicin frecuencial de
una seal o sistema, es la discretizacin de la Transformada de Fourier y puede
obtenerse directamente de la TZ igualando z=e
jw


a) Para el sistema descrito por la ecuacin en diferencias
y[n]=0.4y[n-1]-0.25y[n-2]+0.5x[n]+0.4x[n-1]+0.8x[n-2]
obtenga la transformada discreta de Fourier e identifique su comportamiento, utilize las
sentencias














>> [H,w]=freqz(B,A);plot(w,abs(H))

B,A son numerador y denominador de la TZ de la funcin de transferencia del sistema
(descrita en potencias negativas de z y ordenados de menor a mayor orden)

2. FFT: La manera eficiente de calcular la DFT. En MATLAB la funcin es
0 0.5 1 1.5 2 2.5 3 3.5
0
0.5
1
1.5
2
2.5
3
3.5
4
A=[0.5 0.4 0.8];
B=[1 -0.4 0.25];
[H,w]=freqz(B,A);
plot(w,abs(H))

>> X=fft(x,N)
Calcula la FFT de N puntos del vector x, el resultado X es un vector de nmeros complejos
ordenados con ndice k=0,1, ...N-1. Si no se da el segundo parmetro se considera como N
la longitud del vector. Para que el algoritmo sea eficiente N debe ser potencia de 2. Si la
longitud de x es menor que N, el vector se rellena con ceros. Si es mayor el vector es
truncado.
>> x = ifft(X)
Calcula la transformada de Fourier inversa del vector X. Tambin se puede especificar el
nmero de puntos N con ifft(X,N)
>> X=fftshift(x)
Reordena el vector X en orden creciente de frecuencias de tal manera que la componente
continua queda centrada.

Para:
a = {1, 3, -2, 2, 4, 3,1,3,4}
b = {1, 5, 1, 4, 4, 2}
c = {1, 3, -2, 0, 0, 0, 0, 0}
d = {1, 5, 1, 0, 0, 0, 0, 0}
Encontrar la DFT (grafique mdulo de A,B,C,D, fase de A,B,C,D) use el comando fft,
corra el comando sin especificar el nmero puntos, luego crralo usando un nmero de
puntos potencia de dos menor que la longitud del vector
fft:

A = fft(a)
A =
Columns 1 through 6
19.0000 -1.5419 + 4.3588i 5.1382 + 4.2037i -3.5000 - 4.3301i -5.0963 -
2.7531i -5.0963 + 2.7531i
Columns 7 through 9
-3.5000 + 4.3301i 5.1382 - 4.2037i -1.5419 4.3588i


B=fft(b)
B =
17.0000 -2.0000 -1.0000 - 5.1962i -5.0000 -1.0000 + 5.1962i -
2.0000




C= fft(c)
C =
Columns 1 through 6
2.0000 3.1213 - 0.1213i 3.0000 - 3.0000i -1.1213 - 4.1213i -4.0000 -
1.1213 + 4.1213i
Columns 7 through 8
3.0000 + 3.0000i 3.1213 + 0.1213i



D=fft(d)
D =
Columns 1 through 6
7.0000 4.5355 - 4.5355i 0 - 5.0000i -2.5355 - 2.5355i -3.0000 -
2.5355 + 2.5355i
Columns 7 through 8
0 + 5.0000i 4.5355 + 4.5355i





3. Recupere la seal original usando el comando ifft

a1=ifft(A)
a1 =
Columns 1 through 6
1.0000 3.0000 + 0.0000i -2.0000 + 0.0000i 2.0000 4.0000 - 0.0000i
3.0000 - 0.0000i
Columns 7 through 9
1.0000 3.0000 - 0.0000i 4.0000 0.0000i
b1=ifft(B)
b1 =
1 5 1 4 4 2
c1=ifft(C)
c1 =
1.0000 3.0000 -2.0000 0 0 -0.0000 0 0
d1=ifft(D)
d1 =
1.0000 5.0000 1.0000 0 0 -0.0000 0 0

4. Comprobacin de la Propiedad de Linealidad
La transformada de fourier de y(n) = k1.a(n) + k2.b(n), donde k1 y k2 son constantes,
se puede encontrar ya sea aplicando directamente la transformada o tambin de esta
manera: Y(w) = k1.A(w) + k2.B(w). Comprobarlo para k1=2 y k2 =3 sustituidas en las
seales definidas arriba

X = fft(2*a + 3*b)
X =
41.0000 6.0000 - 5.0000i -33.0000 6.0000 + 5.0000i
F1 = 2*fft(a) + 3*fft(b)
F1 =
41.0000 6.0000 - 5.0000i -33.0000 6.0000 + 5.0000i
F2 =2*A + 3*B
F2 =
41.0000 6.0000 - 5.0000i -33.0000 6.0000 + 5.0000i

5. Comprobacin de que la convolucin en el dominio del tiempo es equivalente a la
multiplicacin de los espectros. La transformada de Fourier de: y(n) = a(n) * b(n), se
puede encontrar (adems de directamente) de la siguiente manera: Y(w) = A(w).B(w).
Comprobarlo usando las funciones c(n) y d(n)
encontrar y1 = conv(c,d)
encontrar Y2 = C*D
encontrar y2 = ifft(Y2)
comparar y1 con y2

c= 8 elementos , d = 8 elementos , truncamos a la potencia que contiene ambos = 8
F3=fft(conv(c,d))
F3 =
Columns 1 through 6
14.0000 15.7221 - 5.0115i 12.5091 -16.1698i -2.8090 -21.8541i -17.5205 -
10.8893i -16.0000 + 6.9282i
Columns 7 through 12
-1.6910 +14.0943i 10.2893 + 6.6592i 10.2893 - 6.6592i -1.6910 -14.0943i -16.0000 -
6.9282i -17.5205 +10.8893i
Columns 13 through 15
-2.8090 +21.8541i 12.5091 +16.1698i 15.7221 + 5.0115i

F4 = C.*D
F4 =
Columns 1 through 6
14.0000 13.6066 -14.7071i -15.0000 -15.0000i -7.6066 +13.2929i 12.0000
-7.6066 -13.2929i
Columns 7 through 8
-15.0000 +15.0000i 13.6066 +14.7071i

6. Calcular la DFT para la secuencia x[n] = cos(0.2n) + cos(0.4n)+ cos(0.45n). Se pide
utilizando la funcin matlab fft(x,N) con N=L= longitud de las secuencia x[n] y
representar su mdulo para diferentes valores de nmero de muestras L (16,32,64,128).
Indique a partir de qu valor de N son distinguibles las tres frecuencias de la seal.
function P6(L)
n = 0:L-1;
x= cos(.2*pi*n)+ cos(.4*pi*n)+cos(.45*pi*n);
X= fft(x,n);
stem(abs(X))



















16



32

64
0 2 4 6 8 10 12 14 16
0
0.5
1
1.5
2
2.5
3
0 5 10 15 20 25 30 35
0
0.5
1
1.5
2
2.5
3

128


7. Indique cmo estn relacionados los valores de L, N y la resolucin en frecuencias
L y N son iguales
8. Compruebe que sucede en el espectro de la seal si una secuencia de L= 90 muestras de
x[n] se rellena con ceros hasta N=128.
function P8(L)
n = 0:L-1;
n = [n,zeros(1,128-L)];
x= cos(.2*pi*n)+ cos(.4*pi*n)+cos(.45*pi*n);
X= fft(x,n);
stem(abs(X))
0 10 20 30 40 50 60 70
0
0.5
1
1.5
2
2.5
3
0 20 40 60 80 100 120 140
0
0.5
1
1.5
2
2.5
3

9. Calcular la inversa de la funcin X(w) utilizando la funcin ifft(X) para recuperar la
seal en el dominio de tiempo.
16


32





0 20 40 60 80 100 120 140
0
0.5
1
1.5
2
2.5
3
0 5 10 15 20
0
0.5
1
1.5
2
2.5
3
0 5 10 15 20
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 10 20 30 40
0
0.5
1
1.5
2
2.5
3
0 10 20 30 40
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7

64

128



DTFT
10. Crear la funcin dtft.m que calcula la transformada de Fourier en tiempo discreto de
manera apropiada, comente cada lnea de programa
function [H,W]=dtft(x,N)
% x: secuencia de L muestras, de la muestra L+1 a infinito la muestra toma valor 0.
% N: nmero de frecuencias a evaluar. N debe ser mayor que L.
% H: valores complejos de la DTFT
% W: vector de frecuencias correspondiente a la los valores H calculados
0 20 40 60 80
0
0.5
1
1.5
2
2.5
3
0 20 40 60 80
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0 50 100 150
0
0.5
1
1.5
2
2.5
3
0 50 100 150
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
N=fix(N); % redondea N al entero mas cercano

L=length(x); % extrae la longitud de x
if(L>N) % compara N con L
error(' DTFT: numero de muestras L, debe ser inferior al numero de frec a calcular
N')
end
W=2*pi/N*(0:N-1);
medio=ceil(N/2)+1 % busca pivot punto medio promedio
W(medio:N)=W(medio:N)-2*pi; % procesa solo la mitad de las partes puesto que por
ser un espectro son iguales
W=fftshift(W); % extrae solo la parte positiva de la transformada
H=fftshift(fft(x,N)); % extrae solo la parte positiva de la transformada
Explique la funcin que cumple el comando fftshift
11. Represente la dtft en mdulo y fase de la seal x[n]= 0.5
n
*exp ( j(2n/5)), con L= 32 y
N=128










12. Compare los resultados y explique que sucede si se toman valores de N=32, N=64 y
N=1024







0 20 40 60 80 100 120 140
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
L=32;
N=128;
n=0:L-1;
x=0.5.^n.*exp(i.*(2*pi*n/5));
X=dtft(x,N);
stem(abs(X));



N=32 N=64

N=1024



Rpta: Entre ms valor tenga la variable N, el espacio entre cada impulso es mnimo y la
seal se expande un poco ms y se puede observar mucho mejor.

13. Con N = 128 cambie el valor de L, por ejemplo L=10 y L=128, comente los resultados
0 5 10 15 20 25 30 35
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 10 20 30 40 50 60 70
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 200 400 600 800 1000 1200
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2



Rpta: La diferencia solo sera en el espacio de cada intervalo, presentan una ligera
diferencia.

II. CONCLUSIONES

Consignar al menos cinco conclusiones en torno a la respuesta de los sistemas LTI
Los sistemas invariantes en el tiempo o como se les conoce por sus siglas es
aplicado comnmente en aplicaciones matemticas, pero tiene aplicacin directa en
lo que sera circuitos procesamiento de seales teora de control y en otras reas
tcnicas
La trayectoria de este tipo de sistemas es comnmente forma de ondas pero en
aplicaciones como procesamiento de imgenes o en el campo terico los sistemas
LTI tienen una trayectoria en el espacio.
Un sistema sea lineal significa que cuando la entrada de un sistema es escalada por
un valor, la salida del sistema tambin es escalada por la misma cantidad.
La transformada de fourier y la transformada inversa no siempre nos dan el mismo
valor original por motivo de truncamiento.



0 20 40 60 80 100 120 140
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 20 40 60 80 100 120 140
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
III. CUESTIONARIO

1. Qu es la resolucin espectral?Cmo se evala en MatLab?

La resolucin espectral viene dada por la anchura de su lbulo principal: la resolucin
ser tanto mayor cuanto ms estrecho sea ste. Entendemos por resolucin espectral de
un determinado algoritmo su capacidad para distinguir dos frecuencias muy prximas.

2. Proponga un programa que extraiga una componente espectral de una seal?

% Script para el clculo del espectro total %
% Se calcula el mdulo del espectro y se normaliza %
% la seal de entrada tiene que llamarse senyi %
% la seal se suaviza con una ventana de Hanning %
senyal=senyi(:,2);
N=length(senyi);
N2=N/2;
w=hanning(N);
fs=100;
fnyquist=fs/2;
% vector de frecuencias %
fr=(0:fs/N:fnyquist-(fs/N));
% clculo del espectro de la componente Z %
X=fft(senyal)/fs;
x1=X(1:N2,1);
amp=abs(x1)/N;
espz=[fr',amp];
senyal=senyi(:,3);
% clculo del espectro de la componente N-S %
senyal=senyi(:,3);
X=fft(senyal)/fs;
x1=X(1:N2,1);
amp=abs(x1)/N;
espn=[fr',amp];
% clculo del espectro de la componente E-W %
senyal=senyi(:,4);
X=fft(senyal)/fs;
x1=X(1:N2,1);
amp=abs(x1)/N;
espe=[fr',amp];

También podría gustarte