Báo Cáo Tìm hiểu bộ lọc điểm cố định có đáp ứng xung hữu hạn FIR

Thảo luận trong 'Điện - Điện Tử' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    THIẾTKẾ LỌC SỐ VÀ MÃ HÓA BĂNG CONĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ ĐÁP ỨNG XUNGHỮU HẠN FIRLỜI MỞ ĐẦU Xử lý tín hiệu số (Digital Signal Processing – DSP) là một lĩnh vực mới, đã phát triển mạnh mẽ về mặt lý thuyết và công nghệ. Ngày nay, nó đã trở thành môn học không thể thiếu cho nhiều ngành học về khoa học và kỹ thuật. Các thuật toán của nó đã mang lại những thuận tiện cho công nghệ và ứng dụng mới, nhất là các lĩnh vực về kỹ thuật điện tử và điều khiển tự động.
    Phép xử lý cơ bản nhất của DSP là lọc, và các hệ thống được đề cập đến nhiều nhất trong xử lý tín hiệu số là các bộ lọc số (Digital Filter).
    Nếu xét về đáp ứng xung có thể chia các bộ lọc số thành 2 loại chính là bộ lọc có đáp ứng xung hữu hạn FIR (Finite Impulse Response) còn gọi là lọc không đệ quy, và bộ lọc có đáp ứng xung vô hạn IIR (Infinte Impulse Response) còn gọi là lọc đệ quy.
    Xét về đáp ứng tần số biên độ có thể chia các bộ lọc, FIR hay IIR, thành 4 loại cơ bản: thông thấp, thông cao, thông dải và chắn dải. Các bộ lọc này có thể được thiết kế bằng những phương pháp sau đây: Phương pháp cửa sổ (Window Design Techniques), Phương pháp lấy mẫu tần số (Frequency Sampling Design Techniques) và Phương pháp xấp xỉ tối ưu cân bằng gợn sóng (Optimal Equiripple Design Techniques). Mỗi phương pháp đều có những đặc điểm và ưu khuyết điểm riêng.
    Với tiểu luận này, nhóm em gồm Nguyễn Thanh Tùng và Nguyễn Xuân Tùng xin phép được trình bày bài toán “ Tìm hiểu bộ lọc điểm cố định” có đáp ứng xung hữu hạn FIR.
    Nội dung tiểu luận được chia thành 2 phần:
    Phần 1. Cơ sở lý thuyết
    Phần 2. Chương trình mô phỏng
    Chúng em xin trân trọng cảm ơn Thầy TS. Ngô Văn Sỹ đã tận giảng dạy và hướng dẫn để tôi có thể hoành thành tốt tiểu luận này. Phần lớn nội dung trình bày ở báo cáo này được lấy từ bài giảng, tài liệu tham khảo do thầy cung cấp.
    Trong quá trình thực hiện tiểu luận, tuy đã hết sức cố gắng song không tránh khỏi những sai sót. Rất mong nhận được sự góp ý của Thầy, các bạn học viên cùng lớp để nội dung của tiểu luận được hoàn chỉnh hơn.
    PHẦN 1. CƠ SỞ LÝ THUYẾT1.1. Mở đầu Việc thiết kế một bộ lọc số tiến hành theo 3 bước:
    - Đưa ra các chỉ tiêu (Specifications): Để thiết kế một bộ lọc, đầu tiên chúng ta cần xác định các chỉ tiêu. Các chỉ tiêu được xác định bởi các ứng dụng.
    - Tìm các xấp xỉ (Appproximations): Một khi chỉ tiêu đã được xác định, ta sử dụng các khái niệm và công cụ toán học khác nhau để tiến tới biểu diễn và tính gần đúng cho bộ lọc với tập các chỉ tiêu đã cho. Bước này là chủ đề chính của việc thiết kế lọc số.
    - Thực hiện bộ lọc (Implementation): Kết quả của các bước trên được mô tả dưới dạng một phương trình sai phân, hoặc một hàm hệ thống H(z), hoặc một đáp ứng xung h(n). Từ các mô tả này chúng ta có thể thi hành bộ lọc bằng phần cứng hoặc phần mềm mô phỏng trên máy tính.
    Ở trong nhiều ứng dụng như xử lý tiếng nói hoặc xử lý âm thanh, bộ lọc số được dùng để thực hiện các thao tác chọn tần. Do đó, các chỉ tiêu được đòi hỏi trong vùng tần số ở mỗi chu kỳ về số lượng và đáp ứng pha của bộ lọc mong muốn. Nói chung đáp ứng pha cần tuyến tính trong dải thông.
    - Trong trường hợp các bộ lọc FIR , Có thể đạt được chính xác yêu cầu về pha tuyến tính.
    - Trong trường hợp các bộ lọc IIR, một dải thông có pha tuyến tính là rất khó đạt.
    Do đó, chúng ta chỉ xét các chỉ tiêu về biên độ.
    Có 2 nhóm chỉ tiêu:
    · Các chỉ tiêu tuyệt đối (Absolute Specifications) : Đưa ra một tập các yêu cầu trên hàm đáp ứng biên độ |H(ejw)|. Những chỉ tiêu này được sử dụng chung cho các bộ lọc FIR.
    · Các chỉ tiêu tương đối (Relative Specifications - DB) : Đưa ra các yêu cầu tính theo decibels (dB), được cho bởi :

    [TABLE="align: left"]
    [TR]
    [TD][/TD]
    [TD][/TD]
    [TD][/TD]
    [TD][/TD]
    [/TR]
    [TR]
    [TD][/TD]
    [TD][TABLE="width: 100%"]
    [TR]
    [TD][​IMG]

    [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [TR]
    [TD][/TD]
    [TD][/TD]
    [TD][TABLE="width: 100%"]
    [TR]
    [TD](1.1)

    [/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    [TR]
    [TD][/TD]
    [/TR]
    [/TABLE]






    Phương pháp này được là một phương pháp phổ biến nhất trong thực tế và được sử dụng cho cả bộ lọc FIR và IIR.
    Trong những
    phần tiếp sau đây, để mô tả các chỉ tiêu của bộ lọc chúng ta sẽ xem xét việc thiết kế một bộ lọc thông thấp như một ví dụ cơ sở để thiết cho bộ lọc FIR.
    1.2. Các chỉ tiêu
    Trên hình (1.1) là mô tả các chỉ tiêu của bộ lọc FIR thông thấp (Low Pass Filter):
    1.2.1.Các chỉ tiêu tuyệt đối
    · Band [0, wp] được gọi là dải thông, và d[SUB]1[/SUB] là dung sai (gợn sóng) được chấp nhận trong đáp ứng dải thông lý tưởng.
    · Band [ws, p] được gọi là dải chắn, và d[SUB]2[/SUB] là dung sai ở dải chắn.

    BÀI 2: SỰ BIẾN ĐỔI ĐIỂM DI ĐỘNG THÀNH ĐIỂM CỐ ĐỊNH TRONG BỘ LỌC FIR

    Chúng tôi minh họa các khía cạnh chính của việc chuyển đổi bộ lọc FIR từ một dấu chấm động để thực hiện điểm cố định đến một điểm cố định. Chuyển đổi này đòi hỏi một quá trình 2-bước:
    * Lượng tử hóa các hệ số
    * Thực hiện Phân tích Dynamic Range
    Nội dung

    * Thiết kế bộ lọc
    * Bước 1: lượng tử hóa các hệ số
    * Xác định chiều rộng dữ liệu hạn chế
    * Bước 2: Thực hiện phân tích dãy động
    * Tóm tắt thông tin
    + Thiết kế bộ lọc
    Chúng tôi thiết kế một bộ lọc bandpass equiripple cho nhiệm vụ này. Passband được xác định bởi khoảng [0,45 0,55] tần số bình thường. Các gợn sóng chấp nhận được trong passband được thiết lập để 1 dB. Stopband đầu tiên bao gồm các [0 0,35] phạm vi tần số bình thường trong khi stopband thứ hai bao gồm các [0,65 1] phạm vi. Các Cả hai stopbands phải cung cấp của sự suy giảm 60 dB.

    f = fdesign.bandpass(.35,.45,.55,.65,60,1,60);
    Hd = design(f, 'equiripple');+ Bước 1: Lượng tử hóa các hệ số
    Đầu tiên ta quy định 12 bit là điều kiện để biểu diễn các hệ số

    Hd.Arithmetic = 'fixed'; % số học = cố định
    set(Hd, 'CoeffwordLength', 12); % hệ số chiều dài từ
    hfvt = fvtool(Hd, 'Color', 'white');
    legend(hfvt,' ', 'Location', 'Best'); %xác định vị trí tốt nhất
     
Đang tải...