Tải bản đầy đủ (.pdf) (44 trang)

Bài giảng Xử lý tín hiệu nâng cao (Advanced signal processing) - Chương 5: Bộ lọc số có đáp ứng xung hữu hạn và vô hạn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (585.84 KB, 44 trang )

Xử lý tín hiệu nâng cao
-Advanced signal processingChương 5
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


Các mạch lọc đơn giản

Mạch lọc thông thấp (lowpass)
Mạch lọc thông cao (highpass)
Mạch lọc thông chắn (bandpass)
Mạch lọc thông dải (bandstop)


Mạch lọc FIR
Mạch lọc FIR có hàm truyền dạng tổng quát

M

H ( z ) = ∑ bm z


m =0

−m


Mạch lọc FIR thông thấp
Hàm truyền đạt

1
−1
H ( z) = 1 + z
2

(

)

Hàm truyền đạt này có một điểm không tại z=-1 và
một điểm cực tại z=0


Mạch lọc FIR thông thấp
Đáp ứng tần số của mạch lọc thông thấp:
1
1
− jω
H (e ) = (1 + e ) = (1 + cos ω − j sin ω )
2
2
1

ω
ω
2 ω 
=  2 cos   − 2 j sin cos 
2
2
2
2


ω

ω
ω 
= cos  cos   − j sin 
2
2
2
Vì:

 ω
cos ω = 2 cos 2   − 1
2
ω
ω
sin ω = 2sin cos
2
2



Mạch lọc FIR thông thấp
Đáp ứng tần số của mạch lọc thông thấp:
1
1
− jω
H (e ) = (1 + e ) = (1 + cos ω − j sin ω )
2
2
1
ω
ω
2 ω 
=  2 cos   − 2 j sin cos 
2
2
2
2


ω

ω
ω 
= cos  cos   − j sin 
2
2
2

 ω
H(e ) = cos   e

2


−j

ω
2


Mạch lọc FIR thông thấp
Đáp ứng biên độ
ω 
H (e ) = cos e
2


−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));

hàm freqz trả về đáp ứng tần số của một hệ thống tại một số hữu hạn
các điểm rời rạc trên vòng tròn đơn vị khi biết hàm truyền đạt của nó


Mạch lọc FIR thông thấp
Kết quả:

1

0

0.9

-0.2

0.8
-0.4
0.7
-0.6

0.6
0.5

-0.8

0.4

-1

0.3

-1.2
0.2
-1.4

0.1
0

0

0.5

1

-1.6

0

0.5

1

Tùy thuộc vào yêu cầu mà có thể sử dụng 1 lúc
nhiều bộ lọc


Mạch lọc FIR thông cao
Hàm truyền đạt

1
−1

H ( z) = 1 − z
2

(

)

Đáp ứng tần số



H (e ) = je

−j

ω
2

ω

sin( )
2


Mạch lọc FIR thông cao
Đáp ứng biên độ



H (e ) = je


−j

ω
2

ω

ω

sin( ) = sin( )
2
2


Mạch lọc FIR thông cao
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));
1

1.6

0.9

1.4

0.8

1.2
0.7
1

0.6
0.5

0.8

0.4

0.6

0.3
0.4
0.2
0.2

0.1
0

0

0.5

1

0

0


0.5

1


Mạch lọc IIR
Mạch lọc IIR thông thấp
−1

1−α 1+ z
H ( z) =
−1
2 1 − αz
Đáp ứng tần số của của mạch lọc là:
− jω

1−α 1+ e
H (e ) =
− jω
2 1 − αe



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');


Kết quả
1
alpha=0.9
alpha=0.7
alpha=0.4

0.8
0.6
0.4
0.2
0

0

0.1

0.2

0.3

0.4


0.5

0.6

0.7

0.8

0.9

1

0
alpha=0.9
alpha=0.7
alpha=0.4

-0.5
-1
-1.5
-2

0

0.1

0.2

0.3


0.4

0.5

0.6

0.7

0.8

0.9

1


Mạch lọc IIR thông cao
Hàm truyền đạt
−1

1+ α 1− z
H ( z) =
−1
2 1 − αz

Đáp ứng tần số
− jω

1+ α 1− e
H (e ) =

2 1 − αe − jω



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');


Mạch lọc IIR thông cao


Mạch lọc IIR thông dải
Hàm truyền đạt

−2

1−α
1− z
H ( z) =

−1
−2
2 1 − β (1 + α ) z + αz


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,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');


Mạch lọc IIR thông dải
1
alpha=0.9
alpha=0.7
alpha=0.4

0.8

0.6
0.4
0.2
0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

2
alpha=0.9
alpha=0.7

alpha=0.4

1
0
-1
-2

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1



Mạch lọc chắn dải
Hàm truyền đạt
−1

−2

1+ α
1 − 2βz + z
H ( z) =
−1
−2
2 1 − β (1 + α ) z + αz


Mạch lọc chắn dải
beta=0.3;
alpha1=0.9; b1=[1+alpha1,-2*beta*(1+alpha1), 1+alpha1];
a1=[2,-2*beta*(alpha1+1),2*alpha1];
alpha2=0.7; b2=[1+alpha2, -2*beta*(1+alpha2), 1+alpha2];
a2=[2,-2*beta*(alpha2+1),2*alpha2];
alpha3=0.4; b3=[1+alpha3, -2*beta*(1+alpha3), 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,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');


Mạch lọc chắn dải
1
alpha=0.9
alpha=0.7
alpha=0.4

0.8
0.6
0.4
0.2
0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7


0.8

0.9

1

2
alpha=0.9
alpha=0.7
alpha=0.4

1
0
-1
-2

0

0.1

0.2

0.3

0.4

0.5

0.6


0.7

0.8

0.9

1


SỬ DỤNG MATLAB ĐỂ THIẾT KẾ BỘ LỌC SỐ


×