xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

1、滤波器阶数的获得 采样filter solutions软件

实现方法【lmplementation】选择数字方式【Digtal】,滤波器类型为FIR

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

选择滤波器阶数及截止频率

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

选择滤波器方式 这里我们选择低通

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

接下来选择采样频率 FPGA的时钟为50M 这里我们选择50M

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

最后选择加窗类型

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

到此为止 数字滤波器·设置完毕

整个设计完成界面如下

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

接下来查看抽头系数

点击Transfer Function

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

点击vec 抽头系数便可出现

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

需要用科学计数法 我们这里进行手动转化 结果如下

0.01862,0.02074,0.02282,0.02484,0.02678,0.02864,0.03039,0.03201,0.03349,0.03482,0.03598,0.03697,0.03777,0.03838,0.03878,0.03899,0.03899,0.03878,0.03838,0.03777,0.03697, 0.03598,0.03482,0.03349,0.03201,0.03039,0.02864,0.02678,0.02484,0.02282,0.02074,0.01862

中间用逗号隔开

2、FIR IP核的使用

fir ip核应该在DSP类目下 自己去找好了

在这里 导入抽头系数 可以直接导入文件 也可以手撸 我们选择后者

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

滤波器选择单一采样率 并设置好输入时钟

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

coefficient width直接影响精度 在小数的定点数中 根据位宽会损失一定的精度 位宽越高 越接近浮点数 误差越低 这个系数位宽一般我们选择10或者12

Coefficient Fractional Bits也会影响精度 可以通过修改它的值 观察左侧响应变化

输入数据类型选择有符号数

输入数据位宽为9位【仿真需要 实际可改 关于原因 后续介绍】

输出数据位宽为8位

并将输出进行截断【数字信号处理中的内容】

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

接下来的一页 默认即可 初始化完成

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

3、DDS IP核的使用【仿真需要】

例化两个DDS ip核 以产生两个不同频率信号叠加的波形 我们选择了100KHz与2MHz的信号进行叠加 以观看滤波效果

具体配置不再将 配置如下:

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

仅选择正弦波

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

输出可选

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

选择频率

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

配置完成

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

 

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】

【关于占用了多少资源 我也没去考虑 emmm 也不会 正如师兄所言 随便用 资源不够了 就换资源丰富的片子 显然土豪作风 反正像我这种菜鸡也不会考虑 搞个32阶滤波器也无妨 反正我只关注效果】

 

4、例化

这就比较简单了 只是该注意下 两个有符号数相加问题 用如下语句:

assign sin_out_3 = $signed(sin_out_1)+$signed(sin_out_2);

方能实现两个正弦波相加 由于 8位加8位 会产生进位 所以输出设置为9位 则滤波器的输入也要设置为9位

例化很简单 简单到令人发指 根本不用写啥代码 就略过了

 

5、testbench的书写

这就更简单了 只需写个时钟就好

 

6、仿真

可以看出 2MHz的杂波被很好地滤掉了 【代码下载地址:https://download.csdn.net/download/yulang007_/10568899

xilinx IP核设计 FIR滤波器【小白专属 大佬勿喷 傻瓜教程】