《将Matlab的fdatool生成的Coefficients导出到Altera FIR Megaco.doc》由会员分享,可在线阅读,更多相关《将Matlab的fdatool生成的Coefficients导出到Altera FIR Megaco.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、将Matlab的fdatool生成的Coefficients导出到Altera FIR Megaco今天和列位交流一下fdatool和FIR MegaCore的一个使用技巧的问题(和这些软件有关的基本概念不在此赘述)。首先fdatool是Matlab自带的一个数字滤波器的设计分析软件,里面提供了丰富的参数供调整(具体的参阅Matlab的教材),大大降低了数字滤波器的设计难度,同时又可以设计出高质量的滤波器。fdatool虽然不是最好的滤波器设计软件,但是在Matlab响亮的名号下,得到了广泛的使用。FIR Megacore是Altera针对其主流FPGA推出的一款商业化的数字滤波器设计软件,可
2、以直接生成HDL代码(可综合的,但是加密了),同时其结构针对Altera自己的FPGA做了各种各样的优化。尽管fdatool也可以生成可综合的HDL代码,但是没有针对FPGA的M4K、DSP Block做出相应的优化,所以性能和FIR Megacore生成的FIR滤波器有相当的差距。然而,FIR Megacore的滤波器设计工具相当的简单,只提供了窗函数法,用户只能定义有限的几个参数。而其他的设计方法,比如矩形系数更好的等纹波法则只能在fdatool里面找到。 所幸的是,FIR Megacore提供了滤波器的Coefficients导入的选项,可以使用第三方工具生成的Coefficients。
3、这使得我们能够用FIR Megacore来实现fdatool生成的滤波器。FDATool的介绍 FDATool(Filter Design&Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB 6.O以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox)。FDATool可以设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。 FDATool。界面总共分两大部分,一部分是Design Filter。在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的
4、各种特性。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(滤
5、波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify Order=N-1)。如果选择Minimum Order,则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frequency Specifications选项,可以详细定义频带的各参数,包括采样频率和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定。例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限
6、截止频率)、Fpass2 (通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定,所以只需定义通带截止频率,而不必定义阻带参数Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass (通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。简要流程如下: Step-1:在M
7、atlab的命令行上输入:fdatool,启动Filter Design & Analyze Tool; Step-2:Filter Design & Analyze Tool(fdatool)的主界面; Step-3:基于等纹波法设计一个FIR滤波器; Step-4:这个滤波器的幅频特性; Step-5:在fdatool主界面的File菜单中选取Export. Step-6:在Export的对话框中,Export To选择Coefficient File(ASCII),Format选择Decimal;Step-7:修改导出的fcf文件,把那些废话删掉(非常重要); Step-8:调用Altera FIR Megacore的,点击Parameters按钮; Step-9:在主界面中,我们可以看到一个默认的低通滤波器,不要管它,直接点击坐标图上面的那个Edit Coefficient Set按钮; Step-10:在Coefficients Generator Dialog窗口中,直接选取Imported Coeff Set,并输入刚才在Matlab中生成的fcf文件(再次强调把文件头尾的那些%打头的废话删掉)。搞定了,之后再按照需求做其他的设定和仿真就可以了。