53 lines
844 B
Matlab
53 lines
844 B
Matlab
% value of a
|
|
wc=0.4*pi;
|
|
|
|
% signal x(n)
|
|
for n=-50:50
|
|
if (n == 0)
|
|
x(n+51) = wc/pi;
|
|
else
|
|
x(n+51) = sin(wc*n)/(pi*n);
|
|
end
|
|
end
|
|
figure(1)
|
|
n=-50:1:50;
|
|
stem(n,x)
|
|
xlabel('n')
|
|
ylabel('x(n)')
|
|
|
|
% Ideal lpf
|
|
n=0;
|
|
for w=0:0.05*pi:pi;
|
|
n=n+1;
|
|
wfreq(n)=w;
|
|
if (w <= wc)
|
|
hlpf(n)=1;
|
|
else
|
|
hlpf(n)=0;
|
|
end
|
|
end
|
|
figure(2)
|
|
plot(wfreq,hlpf,'b','linewidth',2)
|
|
xlabel('Frequency')
|
|
ylabel('DTFT of Ideal Lowpass Filter')
|
|
|
|
% partial dtft for k =10
|
|
k=10;
|
|
[h2]=freqz(x(51-k:51+k),1,wfreq);
|
|
h2mag=abs(h2);
|
|
hold
|
|
plot(wfreq,h2mag,'r','linewidth',2)
|
|
|
|
% partial dtft for k =20
|
|
k=20;
|
|
[h3]=freqz(x(51-k:51+k),1,wfreq);
|
|
h3mag=abs(h3);
|
|
plot(wfreq,h3mag,'m','linewidth',2)
|
|
|
|
% partial dtft for k =30
|
|
k=30;
|
|
[h4]=freqz(x(51-k:51+k),1,wfreq);
|
|
h4mag=abs(h4);
|
|
plot(wfreq,h4mag,'k','linewidth',2)
|
|
|