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 độ:
+ N: Bậc của bộ lọc
+ Ωc: Tần số cắt (rad/s)
**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.
- 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.
- Thường chọn Ωc nằm ở giữa.
Ví dụ:
Code matlab:
Link toàn bộ code:
minion_happy
Link driver: Butterword
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 độ:
+ N: Bậc của bộ lọc
+ Ωc: Tần số cắt (rad/s)
**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.
- 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.
- Thường chọn Ωc nằm ở giữa.
Ví dụ:
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