《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 用MATLAB設(shè)計(jì)FIR濾波器的方法解析
用MATLAB設(shè)計(jì)FIR濾波器的方法解析
摘要: 介紹了利用MATLAB信號(hào)處理工具箱進(jìn)行FIR濾波器設(shè)計(jì)的三種方法:程序設(shè)計(jì)法、FDATool設(shè)計(jì)法和SPTool設(shè)計(jì)法,給出了詳細(xì)的設(shè)計(jì)步驟,并將設(shè)計(jì)的濾波器應(yīng)用到一個(gè)混和正弦波信號(hào),以驗(yàn)證濾波器的性能。
Abstract:
Key words :

介紹了利用MATLAB信號(hào)處理工具箱進(jìn)行FIR濾波器設(shè)計(jì)的三種方法:程序設(shè)計(jì)法、FDATool設(shè)計(jì)法和SPTool設(shè)計(jì)法,給出了詳細(xì)的設(shè)計(jì)步驟,并將設(shè)計(jì)的濾波器應(yīng)用到一個(gè)混和正弦波信號(hào),以驗(yàn)證濾波器的性能。

1 前言

數(shù)字濾波器是一種用來(lái)過(guò)濾時(shí)間離散信號(hào)的數(shù)字系統(tǒng),通過(guò)對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來(lái)達(dá)到頻域?yàn)V波的目的。根據(jù)其單位沖激響應(yīng)函數(shù)的時(shí)域特性可分為兩類:無(wú)限沖激響應(yīng)(IIR)濾波器和有限沖激響應(yīng)(FIR)濾波器。與IIR濾波器相比,F(xiàn)IR的實(shí)現(xiàn)是非遞歸的,總是穩(wěn)定的;更重要的是,F(xiàn)IR濾波器在滿足幅頻響應(yīng)要求的同時(shí),可以獲得嚴(yán)格的線性相位特性。因此,它在高保真的信號(hào)處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。

2 FIR濾波器的窗函數(shù)設(shè)計(jì)法

FIR濾波器的設(shè)計(jì)方法有許多種,如窗函數(shù)設(shè)計(jì)法、頻率采樣設(shè)計(jì)法和最優(yōu)化設(shè)計(jì)法等。窗函數(shù)設(shè)計(jì)法的基本原理是用一定寬度窗函數(shù)截取無(wú)限脈沖響應(yīng)序列獲得有限長(zhǎng)的脈沖響應(yīng)序列,主要設(shè)計(jì)步驟為:

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

(2) 由性能指標(biāo)確定窗函數(shù)W(n)和窗口長(zhǎng)度N。

(3) 求得實(shí)際濾波器的單位脈沖響應(yīng)h(n), h(n)即為所設(shè)計(jì)FIR濾波器系數(shù)向量b(n)。

(4) 檢驗(yàn)濾波器性能。

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

3 程序設(shè)計(jì)法

MATLAB信號(hào)處理工具箱提供了各種窗函數(shù)、濾波器設(shè)計(jì)函數(shù)和濾波器實(shí)現(xiàn)函數(shù)。本文的帶通濾波器設(shè)計(jì)及濾波程序如下:

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

%得出濾波器的階數(shù)n=38,beta=3.4

w1=2*fc1/fs; w2=2*fc2/fs;%將模擬濾波器的技術(shù)指標(biāo)轉(zhuǎn)換為數(shù)字濾波器的技術(shù)指標(biāo)

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

b=fir1(n,[w1 w2],window);使用標(biāo)準(zhǔn)頻率響應(yīng)的加窗設(shè)計(jì)函數(shù)fir1

freqz(b,1,512);%數(shù)字濾波器頻率響應(yīng)

t = (0:100)/Fs;

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

sf = filter(b,1,s);%對(duì)信號(hào)s進(jìn)行濾波

程序執(zhí)行的結(jié)果如圖1所示:

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

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

4 FDATool設(shè)計(jì)法

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

4.1 帶通濾波器設(shè)計(jì)

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

4.2 Simulink仿真

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

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

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

5 SPTool設(shè)計(jì)法

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

創(chuàng)建并導(dǎo)入信號(hào)源。

在MATLAB命令窗口輸入命令:

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

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

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

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

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

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

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

SPTool主界面
SPTool主界面

圖3 SPTool主界面 圖4 濾波前后的時(shí)域波形和頻域特性

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

6 結(jié)束語(yǔ)

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 国产91短视频 | 午夜影院观看 | 高跟鞋性xxxxhd| 国产日韩欧美精品一区二区三区 | 久久福利| 国产专区在线 | 黄色在线网站视频 | 欧美激情综合色综合啪啪五月 | 婷婷在线网 | 日本黄网在线观看 | 717影院理论午夜伦不卡久久 | 亚洲天堂久久久 | 26uuu中文字幕 | free性欧美69| 欧美在线日韩在线 | 在线观看免费播放网址成人 | 在线看无码的免费网站 | 制服丝袜在线视频 | 国产精品久久久久久亚洲伦理 | 波多久久夜色精品国产 | 亚洲视频网址 | 精品久久久久国产免费 | 深夜在线免费 | 中文字幕手机在线播放 | 在线视频国产一区 | 亚洲一级片网站 | 手机国产精品一区二区 | 一级毛片不收费 | 久久精品免费播放 | 欧美爽爽爽爽爽爽视频 | 国内精品视频 在线播放 | 成人免费福利 | 国产亚洲一区二区精品张柏芝 | 欧美一级手机免费观看片 | 国产亚洲精品一品区99热 | 精品国产一区二区三区四 | 免费国产黄色片 | 最新欧美精品一区二区三区不卡 | 欧美成人观看视频在线 | 国产日本欧美在线观看乱码 | 亚洲午夜精品aaa级久久久久 |