Professional Documents
Culture Documents
Tn:
Cao HongQu
NguynnhDng
PhmNgcSn
Problem 7.7
ThitkblcchndidngphngphpcasHanningviccthngskthutnhsau:
wp1=0,3 ; ws1=0,4 ; ws2=0,6 ; wp2=0.7 ; As=40dB , Rp=0.5dB
Vpngxungvpngbincablc.
Bigii:
Code:
clear; close all;
%% Bai7.7 :
% wp1 = 0.3*pi;
% ws1 = 0.4*pi;
% ws2 = 0.6*pi;
% wp2 = 0.7*pi;
% Rp = 0.5; Do gondai thong
% As = 40; suyhaodaichan
% chon M=60 la tot nhat, As =40 Rp=0.18 thoayeucaubaira
wp1 = 0.3*pi;
ws1 = 0.4*pi;
ws2 = 0.6*pi;
wp2 = 0.7*pi;
Rp = 0.5;
As = 40;
%
tr_width = min((ws1-wp1),(wp2-ws2));
M = ceil(6.2*pi/tr_width)+1
n = 0:M-1;
w_han = (hanning(M))';
wc1 = (ws1+wp1)/2;
wc2 = (ws2+wp2)/2;
hd = ideal_lp(pi,M)+ideal_lp(wc1,M)-ideal_lp(wc2,M);
h = hd .* w_han;
[db,mag,pha,grd,w] = freqz_m(h,1);
delta_w = pi/500;
As = floor(-max(db((ws1/delta_w)+1:(ws2/delta_w)+1))),
Rp = -min(db(1:(wp1/delta_w)+1)),
%% Ve dap ungboloc
subplot(2,2,1); stem(n,hd); title('Dap ungxunglytuong')
axis([0 M-1 -0.4 0.5]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_han);title('Cua so Hanning')
axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3); stem(n,h);title('Dap ungxungthucte')
axis([0 M-1 -0.4 0.5]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,db);axis([0 1 -150 10]);
title('Magnitude Response in dB');grid;
xlabel('frequency in pi units'); ylabel('Decibels')
; Rp=0.1563 dB
Rp= 0,1885dB
Problem 7.14
Thitkblcchndi bi 7.7 dngphngphplymutns.Chnbcblcthchhpsaochoc 1 mu
dichuyntip.Sdnggitrtiuchomuny.
Bigii:
Thitksaochocmtmu dichuyntip, nn ta ciukincn:
Suyra: M 40
thamnmtmu dichuyntip, ta cccgitr M thamn: 40, 35, 34, 30, 29, 28,27,
Chn M=40, Dngblc FIR loi 2.
HmHr(w) ctnhl
[ones(1,7),T1,zeros(1,5),T1,ones(1,13),T1,zeros(1,5),T1,ones(1,6)]
%%
wp1=0.3*pi;
ws1=0.4*pi;
ws2=0.6*pi;
M = 40; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l;
wp2=0.7*pi;
T1=0.39177246
Hrs = [ones(1,7),T1,zeros(1,5),T1,ones(1,13),T1,zeros(1,5),T1,ones(1,6)];
Hdr = [1,1,0,0,1,1]; wdl = [0,0.3,0.4,0.6,0.7,1];
k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1;
angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)];
H = Hrs.*exp(j*angH);
h = real(ifft(H,M));
[db,mag,pha,grd,w] = freqz_m(h,1);
[Hr,ww,a,L] = Hr_Type2(h);
delta_w = 2*pi/1000;
As = floor(-max(db((ws1/delta_w)+1:1:ws2/delta_w))), % Suyhaodaichan
Rp = -min(db(1:1:wp1/delta_w)), % do gongiai thong
%%
subplot(1,1,1)
subplot(2,2,1);plot(wl(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]); title('Frequency Samples: M=40')
xlabel('frequency in pi units'); ylabel('Hr(k)')
set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.6,0.7,1])
set(gca,'YTickMode','manual','YTick',[0,1]); grid
subplot(2,2,2); stem(l,h); axis([-1,M,-0.2,0.7])
title('Impulse Response'); xlabel('n'); ylabel('h(n)');
subplot(2,2,3); plot(ww/pi,Hr,wl(1:20)/pi,Hrs(1:20),'o');
axis([0,1,-0.2,1.8]); title('Amplitude Response')
xlabel('frequency in pi units'); ylabel('Hr(w)')
set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.6,0.7,1])
set(gca,'YTickMode','manual','YTick',[0,1]); grid
subplot(2,2,4);plot(w/pi,db); axis([0,1,-60,10]); grid
title('Magnitude Response'); xlabel('frequency in pi units');
ylabel('Decibels');
set(gca,'XTickMode','Manual','XTick',[0;0.3;0.4;0.6;0.7;1]);
set(gca,'YTickMode','Manual','YTick',[-33;0]);
set(gca,'YTickLabelMode','manual','YTickLabels',['33';' 0'])
%
th:
Hm
Hm