http://www.eieworld.com/html/EDA/FPGA/20090909/193.html
首先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生成的滤波器。简要流程如下:
Step-1:在Matlab的命令行上输入:fdatool,启动Filter Design & Analyze Tool;
Step-2:Filter Design & Analyze Tool(fdatool)的主界面;
Step-3:基于等纹波法设计一个FIR滤波器;
Step-4:这个滤波器的幅频特性;
Step-5:在fdatool主界面的File菜单中选取Export...
可以对系数先进行参数化,点击右下方的set quantization parameter按钮,设置参数化位数(可以通过Analysis->Filter coefficient查看系数,此时系数仍为小数),小数需要归一化为整数,可以再输入Xilinx和Altera的IP中,归一化即将生成的小数系数乘以2^8(归一化为8位系数,第九位可以是符号位)。
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文件(再次强调把文件头尾的那些%打头的废话删掉)。搞定了,之后再按照需求做其他的设定和仿真就可以了。
用户264616 2016-2-25 12:51
用户264616 2016-2-25 12:44
用户1365269 2010-7-28 20:20
用户101529 2010-5-22 09:47
用户160638 2010-4-8 10:53