You are on page 1of 4

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN TỬ VIỄN THÔNG


---------o0o--------

BÁO CÁO BÀI LAB

Thiết kế lọc số và mã hóa băng con

Học viên thực hiện:

Nguyễn Thị Huyền Trang

Lâm Nguyễn Ngọc Xuân

Lớp: K29.KĐT.ĐN

Đà Nẵng, 04/2015

Problem P7.8
Design a bandpass filter using Hamming window design technique. The spec are:

lower stopband egde: 0.3π

lower passband egde: 0.4π

upper stopband egde: 0.6π

upper passband egde: 0.5π

Rp = 0.5dB

As = 50dB

MATLAB code
ws1 = 0.3*pi; wp1 = 0.4*pi;

wp2 = 0.5*pi; ws2 = 0.6*pi;

As = 50;

tr_width = min((wp1-ws1),(ws2-wp2))

M = ceil(6.6*pi/tr_width) + 1
n=[0:1:M-1];

wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2;

hd = ideal_lp(wc1,M) - ideal_lp(wc2,M) ;

w_ham = (hamming(M))';

h = hd .* w_ham;

[db,mag,pha,grd,w] = freqz_m(h,[1]);

delta_w = 2*pi/1000;

Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) % Actua; Passband Ripple

As = -round(max(db(ws2/delta_w+1:1:501))) % Min Stopband Attenuation

% plots

subplot(1,1,1);

subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')

axis([0 M-1 -0.3 0.3]); xlabel('n'); ylabel('hd(n)')

subplot(2,2,2); stem(n,w_ham);title('Hamming Window')

axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)')


subplot(2,2,3); stem(n,h);title('Actual Impulse Response')

axis([0 M-1 -0.3 0.3]); xlabel('n'); ylabel('h(n)')

subplot(2,2,4);plot(w/pi,db);%set(gca,'FontName','cmr12');

title('Magnitude Response in dB');grid;

xlabel('frequency in pi units'); ylabel('Decibels')

axis([0 1 -150 10]);

set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.5,0.6,1])

set(gca,'YTickMode','manual','YTick',[-60,0])

set(gca,'YTickLabelMode','manual','YTickLabels',['60';' 0'])

Kết quả:

Ta đượợc M=67, As = 51, Rp=0.0488. Đồ thị như sau:

Giải thích:

Sử dụng kỹ thuật cửa sổ Hamming, ta có công thức để chọn M (bậc của bộ lọc) theo transition
width band:

Extract value M =6.2*pi/tr_width


Từ đó dùng hàm M = ceil(6.2*pi/tr_width)+1, với tr_width = min((ws1-wp1),(wp2 - ws2)),
tính được M ban đầu bằng 67. As = 51dB, Rp = 0.0488 => Kếế t quaả saá t vợái yếê u caầ u cuả a đếầ baà i.
Tuy nhiên As trong trường hợp này vẫn còn lớn hơn As của spec. Do đó, ta có thể tối ưu bậc
của bộ lọc bằng cách lần lượt giảm M xuống M-1, M-2…

Với M = 66: Kết quả thu được Rp = 0.0431 dB, As = 52 dB. ( thỏa yêu cầu spec)

Với M = 65: Kết quả thu được Rp = 0.0432, As = 49dB. ( không thỏa yêu cầu spec)

Do vậy ta chọn M = 66, vừa thỏa yêu cầu spec thiết kế, lại đảm bảo bậc của bộ lọc dài vừa đủ.

Đồ thị trong trường hợp M = 66 như sau:

You might also like