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

Thảo luận trong 'XỬ LÝ TÍN HIỆU SỐ' bắt đầu bởi Lu ROm, 31 Tháng năm 2016.

Chia sẻ trang này

Lượt xem: 1,313

  1. Lu ROm

    By:Lu ROmin: 31 Tháng năm 2016
    Administrator Staff Member

    Tham gia ngày:
    25 Tháng bảy 2014
    Bài viết:
    475
    Đã được thích:
    102
    5.3.Bộ lọc thông thấp Elliptic
    · Các bộ lọc analog toàn cực (all pole) như Butterworth hay Chebyshev-I không chứa zero để giảm nhanh trong dải chắn, do đó khoảng chuyển tiếp rộng hơn.
    · Bộ lọc Elliptic có gợn sóng đều trong cả dải thông và dải chắn
    · Tương tự như bộ lọc FIR gợn sóng đều, bộ lọc Elliptic là bộ lọc tối ưu theo nghĩa nó có bậc N nhỏ nhất
    · Vì vậy việc phân tích và thiết kế cũng khó hơn.
    · Bộ lọc Elliptic cho tính năng tối ưu về đáp ứng bình phương biên độ nhưng lại cóđáp ứng pha phi tuyến tính hơn trong dải thông
    Các bộ lọc này, vì nhiều lý do đã xét trước đây, là rất khó để phân tích và thiết kế. Không thể thiết kế chúng bằng các công cụ đơn giản, và thường phải dùng các chương trình hoặc bảng để thiết kế.
    upload_2016-5-31_17-52-51.png
    Bậc của bộ lọc được tính như sau :
    upload_2016-5-31_17-53-35.png
    - Theo tiêu chuẩn, bộ lọc Elliptic là tối ưu, tuy nhiên xét trên thực tế bộ lọc Butterworth hay Chebyshev trong một số ứng dụng sẽ có đặc tuyến đáp ứng pha tốt hơn. Trong dải thông, đáp ứng pha của bộ lọc Elliptic không tuyến tính bằng bộ lọc Butterworth hay Chebyshev. Tùy thuộc vào bậc bộ lọc (ảnh hưởng đến tốc độ xử lý và độ phức tạp) và đặc tính pha (liên quan đến sái dạng pha).
    upload_2016-5-31_17-54-43.png
    Ví dụ minh họa
    1.1. Ví dụ 1
    - Thiết kế bộ lọc thông thấp bằng phương pháp Elliptic theo các điều kiện dưới :
    upload_2016-5-31_17-55-21.png
    Kết quả mô phỏng :
    upload_2016-5-31_17-55-52.png
    --Thiết kế bộ lọc IIR Lowpass Elliptic với các thông số sau:
    - Bậc : N = 10
    - Tần số cắt là 1700Hz.
    - Độ gợn dải thông Apass = 3dB và độ suy hao trong dải chắn Astop = 80 dB
    - Tần số lấy mẫu 8000Hz
    Kết quả mô phỏng :
    upload_2016-5-31_17-56-47.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 = 16;
    % 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 Elliptic Prototype Filter Calculation:
    [cs,ds] = afd_elip(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
    [db,mag,pha,grd,w] = freqz_m(b,a);
    LINK FULL CODE:
    minion_please
    GG DRIVER: Elliptic


    upload_2016-5-31_18-2-54.png