Académique Documents
Professionnel Documents
Culture Documents
LABORATORIO N5
(Tarea)
1. Escriba el cdigo de una funcin que, utilizando la funcin fft(), calcule
la Transformada de Fourier de una seal discreta de la siguiente forma:
[Laboratorio de PDS]
o columnas. De lo contrario se obtendra un error de no correspondencia entre
matrices.
A fin de probar la funcin, calcular la Transformada de Fourier de una secuencia
de pulso rectangular de longitud 9 y centrado en 0, comprobando que la parte
imaginaria de su transformada es 0. Representar la parte real de dicha
transformada. Razonar acerca de la forma de la Transformada de Fourier del
pulso entre L/2 y L/2 a medida que L tiende a 1.
Solucin
La funcin fue probada con un pulso rectangular de longitud 9 y centrada en 0,
lo cual la programacin para esto fue el siguiente.
clear all;
close all;
clc;
h=[1 1 1 1 1 1 1 1 1];
subplot(2,3,1)
[H,w]=dtft(h,-3,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,2)
[H,w]=dtft(h,-2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,3)
[H,w]=dtft(h,-1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,4)
[H,w]=dtft(h,0,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,5)
[H,w]=dtft(h,1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,6)
[H,w]=dtft(h,2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
Se puede observar que si no tiene a la izquierda aparecern menos lbulos, sea que
la parte imaginaria est tendiendo a cero.
Ahora ejecutamos la funcin para un pulso rectangular de menor longitud (L=4) y
centrada en 0.
[Laboratorio de PDS]
clear all;
close all;
clc;
h=[1 1 1 1];
subplot(2,3,1)
[H,w]=dtft(h,-3,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,2)
[H,w]=dtft(h,-2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,3)
[H,w]=dtft(h,-1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,4)
[H,w]=dtft(h,0,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,5)
[H,w]=dtft(h,1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
subplot(2,3,6)
[H,w]=dtft(h,2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'),
[Laboratorio de PDS]
Se puede observar que para una longitud ms pequea ocurre lo mismo que en
la observacin anterior, sea que la parte imaginaria se hace ms pequea,
pero comparando un punto en especfico de no se puede ver que esta
reduccin de esta parte imaginaria ser mucho ms reducida.
Ahora ejecutamos la funcin para un pulso rectangular con una longitud que
tiende a uno y centrada en 0.
clear all;
close all;
clc;
h=[1];
subplot(2,3,1)
[H,w]=dtft(h,-3,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=-3')
subplot(2,3,2)
[H,w]=dtft(h,-2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=-2')
subplot(2,3,3)
[H,w]=dtft(h,-1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=-1')
[Laboratorio de PDS]
subplot(2,3,4)
[H,w]=dtft(h,0,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=0')
subplot(2,3,5)
[H,w]=dtft(h,1,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=1')
subplot(2,3,6)
[H,w]=dtft(h,2,128);
plot(w,H),grid
xlabel('W rad'); ylabel('H'), title('DTFT de h con no=2')
[Laboratorio de PDS]
[Laboratorio de PDS]
Solucin (b)
y[n] = 1/2y[n-1] + x[n] + x[n-1]
Hallando la Transformada de Fourier de la Respuesta al Impulso:
Y 0.5 e j Y ( e j )+ X ( e j ) + e j X ( e j )
Y ( e j )0.5 e j Y ( e j ) =X ( e j ) + e j X ( e j )
j
Y ( e j )
1+ e
=
j
X ( e j ) 10.5 e
1+e j
j
(
)
H e =
j
10.5 e
1+e j
j
j
H ( e )=
=0 e =1
j
10.5 e
= ( 2 k +1 ) para k=0,1,2,
7
[Laboratorio de PDS]
Para
= .
Solucin (c)
Para la seal de entrada (Usamos el audio grabado tipo WAV)
[x fs] = wavread('Vocal A.wav');
sound(x,fs);
subplot(131)
plot(x),grid
Fs=fs/2
L=length(x)/2;
NFFT=2^nextpow2(L);
X=fft(x,NFFT)/L;
f2=Fs/2*linspace(0,1,NFFT/2+1);
title('Entrada')
subplot(132)
plot(f2,2*abs(X(1:NFFT/2+1))),grid
title('Espectro de la Entrada')
subplot(133)
plot(f2,2*angle(X(1:NFFT/2+1))),grid
title('Respuesta en Fase de la Entrada')
[Laboratorio de PDS]
[Laboratorio de PDS]
10
[Laboratorio de PDS]
3. Considere una seal analgica xa(t)=cos(20t+ /4), 0 t 1. Esta es
muestreada con un periodo de muestreo de Tm= 0.05 seg para obtener
x[n].
a) Graficar xa(t) y superponerla sobre x[n] utilizando la funcin plot(n,x,o).
b) Reconstruir la seal analgica ya(t) a partir de las muestras de x[n] utilizando
interpolacin sinc (utilice t=0.001) y superpngalo sobre x[n].
c) Reconstruir la seal analgica ya(t) a partir de las muestras de x[n] utilizando
interpolacin cubic spline y superpngalo sobre x[n].
d) Debe usted observar que la reconstruccin resultante en cada caso tiene la
correcta frecuencia pero diferente amplitud. Explique esta observacin.
Comente el role de la fase de xa(t) sobre las seales de muestreo y
reconstruccin.
Solucin (a)
clear all;
close all;
clc;
t=0:0.001:1; % Vector tiempo
x1=cos((20*pi*t)+pi/4); % Vector seal
subplot(121)
plot(t,x1,'r') %Grafica de la seal x(t)
Ts=0.05;
fs=1/Ts; % Ts: Periodo de muestreo en segundos
N=fs*0.016; % N: Nmero de muestras en 16ms.
n=0:20; % Vector Tiempo Discreto
x=cos((20*pi*Ts*n)+pi/4);
subplot(122)
stem(n,x,'b') % Grfica de la secuencia x[n]
11
[Laboratorio de PDS]
Solucin (b)
clear all;
close all;
clc;
t=-pi:1/10:pi;
x=cos(20*pi*t+pi/4);
h=0.001*sin(10*t)/(10*pi*t);
x(t>=-2*pi & t<=2*pi)=2*pi;
h(t>=-2*pi & t<=2*pi)=2*pi;
y=conv(x,h);
figure(1)
plot(y,'b');grid
ylabel('y(t)');
xlabel('t');
title('y(t)=x(t)*h(t)');
12
[Laboratorio de PDS]
13