文档介绍:[转]将Matlab的fdatool生成的Coefficients导出到Altera FIR Megacore的方法
2009-08-25 09:57:52| 分类: 默认分类|举报|字号订阅
今天和列位交流一下fdatool和FIR MegaCore的一个使用技巧的问题(和这些软件有关的基本概念不在此赘述)。首先fdatool是Matlab自带的一个数字滤波器的设计分析软件,里面提供了丰富的参数供调整(具体的参阅Matlab的教材),大大降低了数字滤波器的设计难度,同时又可以设计出高质量的滤波器。fdatool虽然不是最好的滤波器设计软件,但是在Matlab响亮的名号下,得到了广泛的使用。FIR Megacore是Altera针对其主流FPGA推出的一款商业化的数字滤波器设计软件,可以直接生成HDL代码(可综合的,但是加密了),同时其结构针对Altera自己的FPGA做了各种各样的优化。尽管fdatool也可以生成可综合的HDL代码,但是没有针对FPGA的M4K、DSP Block做出相应的优化,所以性能和FIR Megacore生成的FIR滤波器有相当的差距。然而,FIR Megacore的滤波器设计工具相当的简单,只提供了窗函数法,用户只能定义有限的几个参数。而其他的设计方法,比如矩形系数更好的等纹波法则只能在fdatool里面找到。所幸的是,FIR Megacore提供了滤波器的Coefficients导入的选项,可以使用第三方工具生成的Coefficients。这使得我们能够用FIR Megacore来实现fdatool生成的滤波器。
FDATool的介绍
FDATool(Filter Design&Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB (Filter Design Toolbox)。FDATool可以设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。
FDATool。界面总共分两大部分,一部分是Design Filter。在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的 FIR滤波器。
Design Method(设计方法)选项,包括IIR滤波器的Butterwotth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、Chebyshev Type II(切比雪夫II型)法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、 Window(窗函数)法。
Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify Order="N-1")。如果选择Minimum Order,则MATLAB根