1、彊近论文写到数字滤波器的设计,我使用FDATool工具来设ih网上资料很多,但是有些 杂论,因此在此做个小总结:l2首先在simulink中找到FDATool工具,双击打开:fWnlt ParnnMMrrM QiyMrJ FlUrr Dcfign5fe Bit Analysis Totijete Wen 财ndmv tiebD H昌a jSQQX 贮i S SS老=4" E厂國!iwldS0 楡ICunent RHct ln1orin:tionL 腹 gntuc “令p onse (cGIShudugOrder:St仙Source:DrM-FormllYxCorrverteoStor
2、e rater,FSer kanaoer ,LowDG&aHh:M55B ft 血63Band$topSS25003Fieqjfificy (kHz) FKer Oder Specif/ order 4q Uinimini oroer(CtrtonsL Frequency spediic£Clcrsurrts:HzFs12800FC50L Magntu 贺 SfsecmcdlicrsThe dtcnjsbun d ixioffffecfjencet i nxw sc 3 c6Oiffcrertator0c3on M&hg G BurterworthThrsic ere
3、 no eptonrf poroiiKtcr31or thb ctecixi mechDct(Wl the p dgbuE power)FIR EqmnppieDesign Fterf加001界面总共分两大部分,一部分是design filter.在界面的下半部,用来设1滤波器的 设汁参数,另一部分则是特性区,在界而的上半部分,用来显示滤波器的各种特性.design filter部分主要分为:filter type 滤波器类型)选项,包括lowpass (低通)、highpass (高通)、bandpass (带通)、 bandstop (带阻)和特殊的fir滤波器。design method
4、 (设计方法)选项,包括iir滤波器的buiterworth (巴特i灭思)法、Chebyshev type i (切比雪夫i型)法、Chebyshev type it (切比雪夫ii型)法、elliptic (椭圆滤波器)法和 fir滤波器的equiripple法、least-squares (最小乘方)法、window (窗函数)法。filter order(滤波器阶数)选项,是义滤波器的阶数,包括specify order(指左阶数)和minimum order(最小阶数)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify order =n-l),如果
5、选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。 frcnquency specifications选项,可以详细宦义频带的各参数,包括采样频率fs和频带的截I匕 频率。它的具体选项由filler type选项和design method选项决例如bandpass (带通)滤 波器需要定义fsiopl (下阻带截止频率)、fpassl (通带下限截止频率),fpass2 (通带上限截 止频率人fstop2 (上阻带截止频率),而10寂pass (低通)滤波器只需要定义fstopl、fpassl。 采用窗函数设il滤波器时,由于过渡带是由窗函数的类型和阶数所决
6、宦的,所以只需要定义 通带截止频率,而不必注义阻带参数。magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以上 义wstopi C频率fstopl处的幅值衰减)、wpass (通带范用内的幅值衰减)、wsiop2 C频率fstop2处的幅值衰减九当采用窗函数设计时,通带截止频率处的幅值衰减固圧为6db.所以不必window specifications选项,当选取采用窗函数设il时,该选项可怎义,它包含了各种窗函 数。我们这里以设计一个iir巴特沃斯低通滤波器为例:截止频率为50Hz,采样频率12.8KHZ, 阶数设左为4阶。设置好参数后点击
7、界面下方的Design Filter按钮即可得到一个设计好的滤 波器,如果只是想用它仿真的话,到此就ok 了,将这个界面关闭,搭建一个小系统去仿真 就可以了:但是有很多情况下我们是借助这个工具设计一个滤波器,最终目的还是自己编程实现,这就 涉及到所设il滤波器的系数如何导岀的问题。设il好一个滤波器后,首先选择Edit菜单下的Convert to Single Section选项,然后选择File 菜单下的Export选项.得到如下对话框:Workspace+ 画到电 Select data to plotNameValueB Al,-3.-9359j5.8a%r3.,.B B2. l-968
8、e8,&7874e 通过对这个对话框的简单设置即可将所设讣的滤波器的系数导入到Workspace中,这时在 Workspace中就会有两个矩阵A和B, A为所设计滤波器分碌系数,B为分子系数。C XMin-3.9352196.打开后进行一些相关的数据处理即可编程实现你所设计的数字滤波器了。同样的有时候还需要得到所设汁的滤波器的幅频响应图,虽然再设计好滤波器后,可以选在 设il数字滤波器界而中的Analysis菜单下的Magnitude response选项得到幅频响应图,比如 我们举得例子,经过上面操作得到的幅频响应图为:056234Frequency (kHz)L Maan ilude Resp onse (dB)112 2 - - - -这个我个人觉得不管横坐标还是纵坐标都不太合适,而且这个图很难看出自己设讣的50HZ 截止频率的滤波器的特性。那如何更改坐标呢?我没整明白。但是我有个笨方法:上而我们 已经将滤波器系数导入到Workspace中了,我们可以通过一些MATLAB命令得到我们想要 的幅频响应图:Fs=12800:H.W=freqzB,A);plolW*Fs/2/pi.20*logl0(abs(H):grid这两个命令后可以得到:与滤波器设讣界而中显示的幅频响应图一样的,但是这样我们可以
