Thiết kế bộ lọc IIR dùng matlab part2: phương pháp Butterword

Lu ROm

Administrator
Staff member
25 Tháng bảy 2014
481
119
43
32
One piece
vimach.net
5. Các phương pháp thiết kế bộ lọc IIR tương tự
Có 3 phương pháp:
+ Butterword.
+ Chebyshev.
+ Elliptic.

5.1. Bộ lọc thông thấp Butterworth
- Đáp ứng bình phương biên độ:
11.png
11.png

+ N: Bậc của bộ lọc
+ Ωc: Tần số cắt (rad/s)
12.png

**Nhận xét:
- Bộ lọc Butterworth chỉ phụ thuộc vào tần số cắt và bậc của bộ lọc.
Với N càng cao thì bộ lọc càng tiến về lý tưởng.Tuy nhiên N càng cao thì phần cứng sẽ càng phức tạp.
Bộ lọc này không có gợn trong cả dãi thông và dãi chắn.
13.png

14.png
15.PNG
16.png

- Nhận xét: Các cực đối xứng qua trục jΩ, các cực không bao giờ nằm trên trục ảo và có thể nằm trên trục thực khi N lẽ.
Công thức xác định tần số cắt và bậc của bộ lọc khi biết.
0.png
17.png

- Thường chọn Ωc nằm ở giữa.
Ví dụ:
18.png
19.png

Code matlab:
Mã:
% Digital Filter Specifications:
wp = 0.2*pi; % digital Passband freq in Hz
ws = 0.3*pi; % digital Stopband freq in Hz
Rp = 1; % Passband ripple in dB
As = 15;
% Analog Prototype Specifications: Inverse mapping for frequencies
T = 1; % Set T=1
OmegaP = wp / T; % Prototype Passband freq
OmegaS = ws / T; % Prototype Stopband freq
% Analog Butterworth Prototype Filter Calculation:
[cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As);
% Impulse Invariance transformation:
[b,a] = imp_invr(cs,ds,T);
[C,B,A] = dir2par(b,a) % chuyen doi hs sang hz

Link toàn bộ code:
minion_happy

Link driver: Butterword

c1.PNG