Thiết Kế Bộ Lọc FIR Thông Thấp Phương Pháp Cửa Sổ (matlab Code)

share my experiences Tekforus.com - Electronic & life blog
  • youtube
Home / Matlab / Thiết kế bộ lọc FIR thông thấp phương pháp cửa sổ (matlab code) Thiết kế bộ lọc FIR thông thấp phương pháp cửa sổ (matlab code) Thiết kế bộ lọc số FIR sử dụng cửa sổ hamming với các thông số cho dưới đây : wp = 0.2 pi, Rp = 0.25 dB ws = 0.3 pi, As = 50 dB. wp = 0.2*pi; ws = 0.3*pi; tr_width = ws - wp M = ceil(6.6*pi/tr_width) + 1 n=[0:1:M-1]; wc = (ws+wp)/2 hd = ideal_lp(wc,M); w_ham = (hamming(M))'; h = hd .* w_ham; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; Rp = -(min(db(1:1:wp/delta_w+1))) As = -round(max(db(ws/delta_w+1:1:501))) % vẽ subplot(1,1,1) subplot(2,2,1); stem(n,hd); title('Đáp ứng xung lý tưởng') axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('hd(n)') subplot(2,2,2); stem(n,w_ham);title('Cửa sổ Hamming') axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)') subplot(2,2,3); stem(n,h);title('Đáp ứng xung thực tế') axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)') subplot(2,2,4); plot(w/pi,db);title('Đáp ứng biên độ theo dB');grid axis([0 1 -100 10]); xlabel('frequency in pi units'); ylabel('Decibels') set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]) set(gca,'YTickMode','manual','YTick',[-50,0]) set(gca,'YTickLabelMode','manual','YTickLabels',['50';' 0']) Dùng cửa sổ Kaiser wp = 0.2*pi; ws = 0.3*pi; As = 50; tr_width = ws - wp; M = ceil((As-7.95)/(14.36*tr_width/(2*pi))+1) + 1 n=[0:1:M-1]; beta = 0.1102*(As-8.7) wc = (ws+wp)/2; hd = ideal_lp(wc,M); w_kai = (kaiser(M,beta))'; h = hd .* w_kai; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; As = -round(max(db(ws/delta_w+1:1:501))) % Vẽ subplot(1,1,1) subplot(2,2,1); stem(n,hd); title('Đáp ứng xung lý tưởng') axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('hd(n)') subplot(2,2,2); stem(n,w_kai);title('Cửa sổ Kaiser') axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)') subplot(2,2,3); stem(n,h);title('Đáp ứng xung thực tế') axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)') subplot(2,2,4);plot(w/pi,db);title('Đáp ứng biên độ theo dB');grid axis([0 1 -100 10]); xlabel('frequency in pi units'); ylabel('Decibels') set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]) set(gca,'YTickMode','manual','YTick',[-50,0]) set(gca,'YTickLabelMode','manual','YTickLabels',['50';' 0']) Matlab

Related Posts

Matlab

Leave a Comment

7 nhận xét:

  1. Unknownlúc 21:40 29 tháng 9, 2016

    e viết code giống vậy nhưng matlap vẫn báo lỗi là Undefined function 'ideal_lp' for input arguments of type 'double'.Error in kaiser2 (line 11)hd= ideal_lp(wc,M);là sao vậy add?

    Trả lờiXóaTrả lời
    1. Minh Hiếu EClúc 13:59 30 tháng 9, 2016

      bạn xem thử đã thêm hàm ideal_lp() vào chưa?

      XóaTrả lời
        Trả lời
    2. Unknownlúc 11:13 29 tháng 5, 2018

      thêm hàm ideal_lp() tức là như nào anh ơi

      XóaTrả lời
        Trả lời
    3. Minh Hiếu EClúc 08:32 30 tháng 5, 2018

      bạn tạo function ideal_lp() như http://ratdongian.blogspot.com/2016/07/thiet-ke-bo-loc-fir-code-matlab.html, sau đó include vào code và sử dụng nha.

      XóaTrả lời
        Trả lời
    4. Trả lời
  2. Nặc danhlúc 10:17 9 tháng 10, 2018

    cho em hỏi 3 dòng lệnh dưới này delta_w là gì sao lại có công thức delta_w = 2*pi/1000;tại sao tính Rp và As lại có thể tính được khi lấy min và max ở mảng db vậy ạ..delta_w = 2*pi/1000;Rp = -(min(db(1:1:wp/delta_w+1)))As = -round(max(db(ws/delta_w+1:1:501)))

    Trả lờiXóaTrả lời
    1. Minh Hiếu EClúc 10:37 19 tháng 10, 2018

      hihi. Lâu quá Anh không đụng tới code matlab nên anh không nhớ sao lại như vậy nữa.Nếu em biết lý do thì em post lại trên này để chia sẻ cho mọi người nhé.Cảm ơn em!

      XóaTrả lời
        Trả lời
    2. Trả lời
  3. NVMlúc 12:15 14 tháng 12, 2021

    subplot(1,1,1); plot(w/pi,db);title('dap ung bien do theo dB');gridaxis([0 1 -100 10]); xlabel('frequency in pi units'); ylabel('Decibels')Error using stem (line 31)X must be same length as Y.Error in barlett (line 25)subplot(1,1,1); stem(n,h);title('dap ung xung thuc te')lỗi này thì sửa ntn ạ?

    Trả lờiXóaTrả lời
      Trả lời
Thêm nhận xétTải thêm... Đăng ký: Đăng Nhận xét ( Atom )

Recent Post

How to use emWin AppWizard and RA6M3G HMI

{tocify} $title = {Danh mục} Requirements Development tools and software e2 studio v2024-01.1: download link Renesas Flexible Software Packa...

Random Posts

Popular Posts

  • Dòng điện, điện áp 1 chiều và các định luật cơ bản Dòng điện, điện áp 1 chiều và các định luật cơ bản 1. Cường độ dòng điện Là đại lượng đặc trưng cho độ mạnh yếu của dòng điện hay đặc trưng cho số lượng các điện tích đi qua tiết diện của vậ...
  • Dòng điện 1 chiều (DC) là gì ? Dòng điện 1 chiều (DC) là gì ? 1. Khái niệm DC là viết tắt của Direct Current : Hiểu một cách đơn giản là dòng điện chảy theo một hướng cố định, không hề thay đổi (là ...
  • Các cách mắc điện trở Các cách mắc điện trở Có 3 cách mắc điện trở : - Mắc nối tiếp - Mắc song song - Mắc hỗn hợp trong đó, mắc nối tiếp và mắc song song là 2 cách mắc phổ biến, ...
  • Dòng điện xoay chiều Dòng điện xoay chiều 1. Khái niệm về dòng điện xoay chiều a. Giới thiệu chung Dòng điện xoay chiều viết tắt là AC - Alternating Current . Nghĩa là chiều của d...
  • Biến áp, Triết áp, Phân loại điện trở Biến áp, Triết áp, Phân loại điện trở 1. Phân loại điện trở Điện trở gồm có 3 loại : - Điện trở thường : Điện trở thường là các điện trở có công xuất nhỏ từ 0,125W đến 0,5W - ...

Tags

Raspberry PI (13) Sản phẩm (10) PHP (7) Matlab (6) soft (6) STM8S IAR (5) ESP8266 NONOS SDK (4) Intel Edison (4) Lập Trình Mikro C (4) Điện trở (4) Dòng Điện (3) arduino - esp8266 (3) KeilC (2) Pads_Layout (2) Tài Liệu (2) arm (2) keil (2) launchpad (2) vscode (2) Android (1) AppWizard (1) HTML (1) Microsoft Offices (1) PY32F002A (1) Python (1) RA6M3 (1) Renesas (1) Step-motor (1) Teardown (1) Thingsboard (1) compiler (1) dimensions (1) docker (1) dongcobuoc (1) e2studio (1) emWin (1) keil 8051 (1) mingw32 (1) mingw64 (1) mqtt (1) msys (1) pcb (1) pic16F887 (1) vscode 8051 (1) Động cơ bước (1)

Liên hệ với chúng tôi

Tên Email * Thông báo *

Recent Posts

Random Posts

Popular Posts

  • KEY SublimeText 3211 KEY SublimeText 3211
  • Dòng điện, điện áp 1 chiều và các định luật cơ bản Dòng điện, điện áp 1 chiều và các định luật cơ bản
  • BÀI 1: NHỮNG CHUẨN BỊ CẦN THIẾT ĐỂ HỌC LẬP TRÌNH ESP8266 NONOS SDK BÀI 1: NHỮNG CHUẨN BỊ CẦN THIẾT ĐỂ HỌC LẬP TRÌNH ESP8266 NONOS SDK

Thanks for your visit to my Blog - Tekforus.com

Created By SoraTemplates & Blogger Themes Được tạo bởi Blogger.

Từ khóa » Thiết Kế Bộ Lọc Fir Bằng Matlab