毛片视频免费观看-毛片视频在线免费观看-毛片手机在线视频免费观看-毛片特级-中文亚洲字幕-中文一级片

用MATLAB設計FIR濾波器的方法

2012-02-14 來源:互聯網 字號:

摘  要 介紹了利用MATLAB信號處理工具箱進行FIR濾波器設計的三種方法:程序設計法、FDATool設計法和SPTool設計法,給出了詳細的設計步驟,并將設計的濾波器應用到一個混和正弦波信號,以驗證濾波器的性能。

關鍵詞  MATLAB,數字濾波器,有限沖激響應,窗函數,仿真

1 前言

    數字濾波器是一種用來過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理來達到頻域濾波的目的。根據其單位沖激響應函數的時域特性可分為兩類:無限沖激響應(IIR)濾波器和有限沖激響應(FIR)濾波器。與IIR濾波器相比,FIR的實現是非遞歸的,總是穩定的;更重要的是,FIR濾波器在滿足幅頻響應要求的同時,可以獲得嚴格的線性相位特性。因此,它在高保真的信號處理,如數字音頻、圖像處理、數據傳輸、生物醫學等領域得到廣泛應用。

2 FIR濾波器的窗函數設計法

    FIR濾波器的設計方法有許多種,如窗函數設計法、頻率采樣設計法和最優化設計法等。窗函數設計法的基本原理是用一定寬度窗函數截取無限脈沖響應序列獲得有限長的脈沖響應序列,主要設計步驟為:

   (1) 通過傅里葉逆變換獲得理想濾波器的單位脈沖響應hd(n)。



     (2) 由性能指標確定窗函數W(n)和窗口長度N。

    (3) 求得實際濾波器的單位脈沖響應h(n), h(n)即為所設計FIR濾波器系數向量b(n)。


      
    (4) 檢驗濾波器性能。

    本文將針對一個含有5Hz、15Hz和30Hz的混和正弦波信號,設計一個FIR帶通濾波器,給出利用MATLAB實現的三種方法:程序設計法、 FDATool設計法和SPTool設計法。參數要求:采樣頻率fs=100Hz,通帶下限截止頻率fc1=10 Hz,通帶上限截止頻率fc2=20 Hz,過渡帶寬6 Hz,通阻帶波動0.01,采用凱塞窗設計。

2  程序設計法

    MATLAB信號處理工具箱提供了各種窗函數、濾波器設計函數和濾波器實現函數。本文的帶通濾波器設計及濾波程序如下:

    [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100);

    %得出濾波器的階數n=38,beta=3.4

    w1=2*fc1/fs; w2=2*fc2/fs;%將模擬濾波器的技術指標轉換為數字濾波器的技術指標

    window=kaiser(n+1,beta);%使用kaiser窗函數

    b=fir1(n,[w1 w2],window);使用標準頻率響應的加窗設計函數fir1

    freqz(b,1,512);%數字濾波器頻率響應

    t = (0:100)/Fs;

    s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信號

    sf = filter(b,1,s);%對信號s進行濾波

    程序執行的結果如圖1所示:


      (1)濾波器幅頻特性和相頻特性          (2)濾波前后的波形

                   圖1 濾波器特性和濾波效果圖

4 FDATool設計法

    FDATool(Filter Design & Analysis Tool)是MATLAB信號處理工具箱專用的濾波器設計分析工具,操作簡單、靈活,可以采用多種方法設計FIR和IIR濾波器。在MATLAB命令窗口輸入FDATool后回車就會彈出FDATool界面。

4.1 帶通濾波器設計

    已知濾波器的階數n=38,beta=3.4。本例中,首先在Filter Type中選擇Bandpass;在Design Method選項中選擇FIR Window,接著在Window選項中選取Kaiser,Beta值為3.4;指定Filter Order項中的Specify order為38;采樣頻率Fs=100Hz,截止頻率Fc1=10Hz,Fc2=20Hz。設置完以后點擊窗口下方的Design Filter,在窗口上方就會看到所設計濾波器的幅頻響應,通過菜單選項Analysis還可以看到濾波器的相頻響應、組延遲、脈沖響應、階躍響應、零極點配置等。設計完成后將結果保存為kaiser15.fda文件。

4.2  Simulink仿真

    在Simulink環境下,將濾波器文件kaiser15.fda導入Digital Filter Design模塊,輸入信號為s(t)=sin(10πt)+sin(30πt)+sin(60πt),生成的仿真圖和濾波效果如圖2所示。



 (1)Simulink仿真圖          (2)濾波前后的離散波形

    圖2 Simulink仿真圖和濾波效果圖

5 SPTool設計法
    SPTool是MATLAB信號處理工具箱中自帶的交互式圖形用戶界面工具,它包含了信號處理工具箱中的大部分函數,可以方便快捷地完成對信號、濾波器及頻譜的分析、設計和瀏覽。在本例中按以下步驟完成濾波器的設計和濾波:

創建并導入信號源。

在MATLAB命令窗口輸入命令:

Fs=100;t = (0:100)/Fs;

s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);

    此時,變量Fs、t、s將顯示在workspace列表中。在命令窗口鍵入Sptool,將彈出Sptool主界面,如圖3所示;點擊菜單File/Import將信號s導入并取名為s。

    (2)單擊Filters列表下的New,按照參數要求設計出濾波器filt1,具體步驟類似于3.2.1。

    (3)將濾波器filt1應用到s信號序列。分別在Signals、Filters、Spectra列表中選擇s、filt1、mtlbse,單擊Filters列表下的Apply按鈕,在彈出的Apply Filter對話框中將輸出信號命名為sin15hz。

    (4)進行頻譜分析。在Signals中選擇s,單擊Spectra下的Create按鈕,在彈出的Spectra Viewer界面中選擇Method為FFT,Nfft=512,單擊Apply按鈕生成s的頻譜spect1。同樣的步驟可以生成信號sin15hz的頻譜spect2。

    分別選中信號s、sin15hz、spect1、spect2,單擊各自列表下方的View按鈕,即可觀察他們的波形,如圖4所示。

        圖3 SPTool主界面           圖4 濾波前后的時域波形和

頻域特性

    由圖4可以看出,帶通濾波器filt1使輸入信號s中頻率為15hz的正弦波信號通過,而將頻率為5hz和30hz的正弦波信號大大衰減。

6 結束語

    本文通過一個設計實例,介紹了利用MATLAB實現 FIR濾波器設計與濾波的三種方法,從仿真結果可以看出它們均可以達到技術指標要求,而且方法簡單、快捷,大大減輕了工作量。濾波器的設計工作完成后,可以借助于MATLAB的export操作導出所設計濾波器的系統函數H(z)。由于MATLAB具有強大的接口功能,仿真后的結果可以很方便的移植到 DSP、CPLD或FPGA等器件中。在實際應用中,只需按要求修改濾波器參數,并對程序作較少的改動,即可實現不同截止頻率的FIR濾波器,實用性較強。

主題閱讀:FIR濾波器  MATLAB
主站蜘蛛池模板: 精品日韩| 亚洲手机视频 | 日本韩国在线 | 麻豆网站视频 | 99久热这里只有精品免费 | 国产精品23p | 欧美日韩国产高清一区二区三区 | 日韩精品一区二区三区在线观看l | 毛片女人毛片一级毛片毛片 | 国产精品麻豆99久久 | 成人久久精品 | 欧美成人三级网站在线观看 | 国产亚洲欧美在线视频 | 最近中文字幕2018动漫 | 亚洲一区二区三区精品国产 | 日韩成人毛片高清视频免费看 | 榴莲草莓向日葵黄瓜丝瓜污 | 高清一区高清二区视频 | 六月婷婷在线观看 | 亚洲精品一二三区-久久 | 久9久9精品视频在线观看 | 99九九国产精品免费视频 | 成人高清在线视频 | 免费看羞羞视频 | 欧美亚洲图片 | 国产激情久久久久久影院 | 91精品欧美 | 成 人在线观看视频网站 | 国产日韩欧美综合在线 | 青青国产 | 在线观看国产免费高清不卡 | 精品国产一区二区三区成人 | 午夜官网| 欧美黑人巨大性极品hd欧 | 亚欧日韩毛片在线看免费网站 | 亚洲精品国产精品国自产 | 十八女下面流水不遮免费 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 黄色日b视频 | www.4虎.com| 亚洲精品国产精品国自产网站 |