Xử lý tín hiệu số nâng cao
CHƯƠNG V
Bộ lọc số có đáp ứng xung hữu
hạn và vô hạn
Khái niệm
Lọc số: biến dạng sự phân bố tấn số
của các thành phần của một tín hiệu
Phân loại
FIR: hệ thống đặc trưng bởi đáp ứng xung có
chiều dài hữu hạn
IIR: Hệ thống đặc trưng bởi đáp ứng xung có
chiều dài vô hạn
2
Các mạch lọc đơn giản
Mạch lọc thông thấp
Mạch lọc thông cao
Mạch lọc thông chắn
Mạch lọc thông dải
3
Mạch lọc FIR
Mạch lọc FIR có hàm truyền dạng tổng
quát
H ( z)
M
bm z
m
m 0
4
Mạch lọc FIR thông thấp
Hàm truyền đạt
H ( z)
1
1 z
2
1
Hàm truyền này có một điểm không tại z=1 và
một điểm cực tại z=0
5
Mạch lọc FIR thông thấp
Đáp ứng tần số của mạch lọc này là:
j
H (e )
1
1 e
2
1
2 cos 2
2
2
j
2 j sin
j
H (e )
1
1 cos
2
2
cos
2
cos
j sin
cos
2
2
e
cos
j
2
j sin
2
2
6
Mạch lọc FIR thông thấp
Đáp ứng biên độ
j
H (e )
cos
2
e
j
2
cos
2
b=[0.5 0.5];
a=[1];
[H,w]=freqz(b,a,100);
subplot(1,2,1);plot(w/pi,abs(H));
subplot(1,2,2);plot(w/pi,angle(H));
7
Mạch lọc FIR thông thấp
Kết quả:
Tùy thuộc vào yêu cầu mà có thể sử dụng 1 lúc
nhiều bộ lọc
8
Mạch lọc FIR thông cao
Hàm truyền đạt
H ( z)
1
1 z
2
1
Đáp ứng tần số
j
H (e )
je
j
2
sin( )
2
9
Mạch lọc FIR thông cao
Đáp ứng biên độ
j
H (e )
je
j
2
sin( )
2
sin( )
2
10
Mạch lọc IIR
Mạch lọc IIR thông thấp
H ( z)
1
1 z
2 1 z
1
1
Đáp ứng tần số của của mạch lọc là:
j
H (e )
1
1 e
2 1 e
j
j
11
Mạch lọc IIR thông thấp
alpha1=0.9; b1=[1-alpha1, 1-alpha1]; a1=[2,-2*alpha1];
alpha2=0.7; b2=[1-alpha2, 1-alpha2]; a2=[2,-2*alpha2];
alpha3=0.4; b3=[1-alpha3, 1-alpha3]; a3=[2,-2*alpha3];
[H1,w]=freqz(b1,a1,100);
[H2,w]=freqz(b2,a2,100);
[H3,w]=freqz(b3,a3,100);
subplot(2,1,1);plot(w/pi,abs(H1),'b--',w/pi,abs(H2),'r',w/pi,abs(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
subplot(2,1,2);plot(w/pi,angle(H1),'b--',w/pi,angle(H2)
,'r-',w/pi,angle(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
12
Kết quả
13
Mạch lọc IIR thông cao
Hàm truyền đạt
H ( z)
1
1 z
2 1 z
1
1
Đáp ứng tần số
H (e j )
1
1 e j
j
2 1 e
14
Mạch lọc IIR thông cao
alpha1=0.9; b1=[1+alpha1, -1-alpha1]; a1=[2,-2*alpha1];
alpha2=0.7; b2=[1+alpha2, -1-alpha2]; a2=[2,-2*alpha2];
alpha3=0.4; b3=[1+alpha3, -1-alpha3]; a3=[2,-2*alpha3];
[H1,w]=freqz(b1,a1,100);
[H2,w]=freqz(b2,a2,100);
[H3,w]=freqz(b3,a3,100);
subplot(2,1,1);plot(w/pi,abs(H1),'b--',w/pi,abs(H2),'r',w/pi,abs(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
subplot(2,1,2);plot(w/pi,angle(H1),'b--',w/pi,angle(H2)
,'r-',w/pi,angle(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
15
Mạch lọc IIR thông cao
16
Mạch lọc IIR thông dải
Hàm truyền đạt
H ( z)
1
2 1
1 z
(1 ) z
2
1
z
2
17
Mạch lọc IIR thông dải
beta=0.3;
alpha1=0.9; b1=[1-alpha1,0, -1+alpha1];
a1=[2,-2*beta*(alpha1+1),2*alpha1];
alpha2=0.7; b2=[1-alpha2,0, -1+alpha2];
a2=[2,-2*beta*(alpha2+1),2*alpha2];
alpha3=0.4; b3=[1-alpha3,0, -1+alpha3];
a3=[2,-2*beta*(alpha3+1),2*alpha3];
[H1,w]=freqz(b1,a1,100);
[H2,w]=freqz(b2,a2,100);
[H3,w]=freqz(b3,a3,100);
subplot(2,1,1);plot(w/pi,abs(H1),'b--',w/pi,abs(H2),'r-',w/pi,a
bs(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
subplot(2,1,2);plot(w/pi,angle(H1),'b--',w/pi,angle(H2),'r-',w/
pi,angle(H3),'g-');
legend('alpha=0.9','alpha=0.7','alpha=0.4');
18
Mạch lọc IIR thông dải
19
Mạch lọc chắn dải
Hàm truyền đạt
H ( z)
1
1
2
1 2 z
z
1
2 1
(1 ) z
z
2
20