第27卷第6期2008年12月北京生物医学工程BeijingBiomedicalEngineeringV01.27DecemberNo.62008基于MATLAB的FIR带阻数字滤波器的设计邢国泉摘要由于生物医学信号处理过程中易混入50Hz噪声的特点,本文利用程序设计法和FDATool设计法,设计一带阻滤波器,并将设计的滤波器应用到一混和正弦信号,通过测试检验,该滤波器可以很好地消除50Hz的工频干扰。关键词MATLAB;数字滤波器;FDATool;消噪中图分类号R318.6文献标识码A文章编号1002—3208(2008)06—0596—03DesignofFIRdigitalbandstopfilterbasedXiannmgCollege,Xtanmng,HubeiProvinceonMATLABXINGGuoquanBtomedwalEngmeermgDepartmentof437100signalsfrombeingdisturbedbya【Abstract】Topreventthebiomedical50Hznoise81neeasily,thewavepaperdesignsabandstopdigitalfilterbyprocedureandFDAToolmethod.Thefilteristestedbyresultshowsthatthefiltercanblendedexperimentallyandthecancelthe50Hznoiseverywell.【Keywords】MATLAB;digaalfilter;FDATool;noisecancelling随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科。作为数字信息处理分支之一的数字滤波器,也受到了人们越来越多的关注。它是通信、语言、图像、自动控制、雷达、航空航天、生物医学信号处理等领域中的一种基本处理部件,具有稳定性好、精度高、灵活性大等突出优点。数字滤波器包括有限冲激响应(finiteimpulse求给出相应的性能指标,通过计算使物理可实现的数字滤波器的频率响应特性逼近给出的频率响应特性。FIR数字滤波器系统的传递函数为:肌)=器=曩蜘矿4通过反:变换,数字滤波器的差分方程为:response,简称FIR)滤波器和无限冲激响应(infiniteimpulse,,(,1)=∑6(m)x(n—m)由此得到系统的差分方程:Y(It)=b(0)戈(凡)+b(1)z(It一1)+…+response.IIR)滤波器两大类,其中FIR滤波器因可以得到严格的线性相位,有限度精度的计算不会产生振荡,运算速度快等优点受到了人们更多的青睐。b(N一1)z[n一(N一1)]若FIR数字滤波器的单位脉冲响应序列为h(n),它就是滤波器系数向量b(n)。FIR滤波器的设计包括以下步骤,给出所需要的滤波器的技术指标,设计一个Ⅳ(z)使其逼近所需要的技术指标,实现所设计的日(:)。2数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现。l数字滤波器的设计原理数字滤波器的设计,实际上是对提出的设计要FIR数字带阻滤波器的直接程序设计方法FIR滤波器的主要设计方法有窗函数法、最优化设计法及约束最Ib:-乘逼近法。其中窗函数设计作者单位:成宁学院生物医学工程系(湖北咸宁437100)作者简介:邢国泉(1964一)。男。副教授。主要研究方向为生物医学信号处理法是根据W。和Ⅳ求出相应的的理想滤波器的单位脉冲响应h。(n),因为h。(It)一般是非因果的,且无限长,物理上是不可实现的。为此可选择适当的窗万方数据第6期基于MATLAB的FIR带阻数字滤波器的设计・597・函数截取有限长的h(n)[h(凡)=h。(n)加(r/,)],只要J7、r足够长,截取的方法合理,总能够满足频域的要求。其中可供选择的窗函数有hamming、boxcar、harming、b'artlatt、Blackman、Kaiser、chebwin等窗oWindow默认为hamming窗。根据人体生物医学信号的频率范围为0—100Hz,所以取样频率取200Hz即可达到要求;在人体生物医学信号的处理过程中,容易混入50Hz的工频噪声,要消除该噪声的干扰,可以利用窗函数设计一数字带阻滤波器,阻带下限截止频率,c。=49Hz,阻带上限截止频率厶=51Hz,通阻带波动0.01,采用凯塞窗设计,就可以消除50Hz的工频干扰,运行程序为:[n,wn,beta,ftype]=kalserord([45495l55],[101],[0.010,010.01],200);%得出滤波器的阶数n=112,beta=3.39fs=200;%采样频率取200Hzfcl=49;fc2=51;wl=2’fel/fs;w2=2’fe2/fs;%将模拟滤波器的指标转换为数字滤波器的技术指标wmdow=Kaiser(n+1,beta);%使用katser窗函数b=firl(U,[w1w2],。stop’,window);%调用加窗设计函数firlfigure(1),freqz(b,1,512);%数字滤波器频率响应t=(0:200)/fs;8=sin(90‘pi‘t)+sin(100’pi’t)+sin(110‘pi‘t);%混合正弦信号sf=filter(b,1,8);%对信号s进行滤波figure(2),subplot(2,1,1),plot(t’200,S);ylabel(magnitude’);xlabel(’Hz。);title('混合正弦信号’);figure(2),subplot(2,1,2),plot(t‘200,sf);ylabel(magnitude‘);xlabei(’Hz’);title(’滤波后的信号。);Y=fit(S,512);PYY=Y.’conj(Y)/512;f=1000/512‘(0:255);figure(3),subplot(2,1,1),plot(f/5,PYY(1:256));ylabel(。magnitude。);xlabel(+Hz’);title(’滤波前的频谱‘);Y:fit(sf,512);PYY=Y.’conj(Y)/512;f=1000/512‘(O:255);figure(3),subplot(2,1,2),plot(f/5,PYY(1:256));ylabel(’magnitude。);xlabel(’Hz。);title(’滤波后的频谱’);程序的执行效果如图l一图3所示。万方数据NormallzedFrequency/(×”rad/sample、NormahzedFrequency/(×zrad/sample)图l滤波器的幅频和相频特性曲线Figl11lemagmtudeandphasecurvesoffilter混合正弦信号f|Ht滤波后的信号!=兰£’图2滤波前后的波形比较・Fig2Signalwavebeforeandaftertilting滤波前的频谱,/lqz图3滤波前后信号的频谱Fig3Thesignalspectrumbeforeandaftertilting・598‘北京生物医学工程第27卷Scope图4Slmuhnk仿真图Flg4Digramofslmulatlon图5滤波前后的离散波形Fig5Thesignaldiscretewavebeforeandafterfihmg万方数据3基于信号处理的simulink仿真Matlab中提供了功能强大的simulink仿真软件。在simulink环境下,可以对所设的滤波器进行仿真。FDATool(filterdesignanalysist001)是Matlab信号处理工具箱专用的滤波器设计分析工具,操作简单、灵活,可以采用多种方法设计FIR和IIR滤波器。根据前面求得的n=112,beta=3.39;首先在FilterType中选择Bandstop;在DesignMethod选项中选择FIRWindow,接着在Window选项选取Kaiser,Beta值为3.39;指定FilterOrder项中的Specifyorder为112;再调用相应模块组成仿真框图,如图4所示。Frequency/Hz(a)SpectrumScopeFrequency/Hz(b)SpectrumScopeI图6滤波前后的频谱Ftg6Thessgnalspectrumbeforeandafterfihmg(下转第603页)第6期表1基于新型微泵的人造肛门括约肌系统不同线圈间隔距离下的无线能量传输输出功率表Theoutputpowerinthetranscutaneous・603・[2]ScottFB.BradleyincontinenceWE,TimmimplantableGW.TreatmentprostheticunnaffofunnaryTable1powerbyansphinctertransmissionunderdifierentcoildistancesJournalofUmlogy.1974.112:75—80.HartL.Ratan,Duncanal,DevelopmentandJSummerton。StevenoftheAMSK.Wilson,et800ArtlficlalCurrentStatusUnnarySphincter。eau—ebuupdateseries,2006,4:117一128.F,etreportofthe81.Germann[4]SchragHJPadlllaFFGoIdBchmldtbomgArtificialSphincterSystem“GASS”。firstnovelofand目前该能量传输效率较低,而且由实验数据可以看到当两线圈距离间隔增大时,输出功率下降。因此需要提高传输效率,来为体内模块提供更高的功率。4[5]hIgIllyfecalintegratedsphincterprosthesisfortherapymajorincontinence.BiomedTech,2004,49:274—278.F。etal,ADollA。HemnchsS,GoldschmldtboemgahJ【glIperformancebldlrectlonalmlcropumpforsystem,SensorsandnovelartificialsphincterActuatorsA,2006,130—131:445—453.结论本文研究了人造肛门括约肌的实现方法,给出[6,J樊华,郑小林。皮喜田.等.一种用于体内诊疗装置的无线能量传输方案[J].北京生物医学工程.2004,23(3):168一170.[71JTroykPR,SchwanMAKforClosed-LoopMicroclassETranscutaneousTransactions了系统设计原理,重点提出了一种新型微泵。该微泵可以双向控制液体的流动,并对肛管产生一定的压力。无线能量传输实验验证了提供的能量能够满足微泵的能量消耗。此设计已有初步产品,正在进一步改进,特别是微泵的材料、重量和可靠性,以及无线能量传输效率的提高,即将与医院合作进行动物实验。参考文献[9PowerandDataLinkonImplants[J].IEEEBiomedicalEngmeenng,1992,39(6):589—599.BS,TsalCM.Designof[8TsalCC,Chen,WirelessTranscutaneousEnergyTransmissionSystemforTotallyArtificialIEEEAPCCAS,Hearts[J].Circuitsand2000:646—649.Systems,2000Takeshilnoue。ToshlTranscutaneousOrgansbyusingHImNisMmura。MasaoSystemSalto.etforana1.AEnergynTransmlsmonArhfiClalNovelResonantConverter.IEEETransactions[1]FoleyF.AnAUS:aenuresisnewdeviceandoperationsforthecontrolofGeneralconsiderations.onPowerElectronics.1992,7(2):261—269.andunnaryincontinence.JournalofUrology,1947,58:250.(2008—03—07收稿,2008—05—12修回)(上接第598页)从图4可以看出,先调用三个正弦波模块,产生sin(90丌f),sin(1001Tt),sin(1lO,rrt)三个基本波形,经过加法器(add)混合后产生波源,将设计的滤波器导入设计文件中,信号经过滤波后输送到Scopel中显示。点击Simulink的s‘抓按钮,开始仿真。可以双击sc叩l、Scope、SpectrumScopel、Spectrum的结果可以很方便的移植到DSP、FPGA等器件中。在实际使用中,只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同截止频率的FIR滤波器,实用性较强。参考文献[1]程佩青・数字信号处理教程[M]・北京:清华大学出版社,Scope图框,打开它们的显示界面,实时观测信号源波形及滤波后的效果,示波器输出的波形和频谱图如图5和图6所示。[2]篆l:;;:毒,吴大正,高两全MATLAB及在电子信息课程中的4结束语在MATLAB平台上,采用直接程序法和利用FDAT001界面方法可以快捷有效地完成滤波器的设计,从滤波前后的波形和频谱分析,该数字滤波器能很好地消除50Hz的干扰信号,均可以达到技术指标要求。由于MATLAB具有强大的接口功能,设计。,,耋星:1MA北T裁LAB7电.磊淼筹磊应用。M,.北京:机械工业出版社.2005.[4]opPenhe-“・数字信号处理[M]・北京:科学出版社,1981・”1蓍鬻羔●数字信号处理mL武汉:华中科技大学(2008—03—28收稿)万方数据