前言
讲完上次的设计优化,这次将学习到如何使用效率高的定点数类型来创建一个满足所需规范且资源更有效利用的设计,以及使用System Generator下Xilinx Blocksets中的模块来分析这些设计,分成了两个部分进行。
浮点数类型设计
打开System Generator,然后将第一次设计的滤波器文件Copy一份然后进行一些更改,或直接新建模型,可以参考前几篇文章
初识System Generator(安装+使用)
基于System Generator的数字滤波器
基于System Generator的数字滤波器设计所用资源优化
我做了些修改,把一些Lowpass Filter和scope删除,然后将Digital FIR Filter换成了一个由离散部件组成的FIR子系统,此时的设计如下,线上的数据类型都是double类型:
子系统滤波器系数将设置一个MyCoeffs的变量对其进行控制,因此需要在MATLAB的命令窗口进行赋值,在命令窗口输入:MyCoeffs = xlfda_numerator(‘FDATool’),然后回车,会在窗口出现由FDATool产生的滤波器系数,并储存在工作区中,结果如下:
这步设置好后,双击FIR这个子系统,进入它的内部,看它的组成,直接复制我这个模块到你自己的文件即可,如果自己进行制作也可,至于如何制作子系统(有的喊子模块),这个就自行研究了,不难~
由于图比较大,就只截取了一部分清晰的输入,整个组成的图如下,会比较模糊,但是大体上还是可以看出实现的方式和上一篇使用离散部件设计滤波器有相似之处,而且其