前言
作为一个有一定工作经验(划水好多年)的FPGA工程师,很多模块都已经学习过或者使用过,但是如果让我重新实现,感觉又是一脸懵。因此,这是我发文档的原因。对于自己来说,这是一个总结归纳的过程,对读者,可能是一次解惑。
后期,将会逐渐分享DDR/ETH/SERDES/PCIe/SPI/FFT/FIR等等应用、调试经历。2022.8.4@gz
如果有疑惑的地方,可以站内信联系,共同探讨!
本文的仿真工程文件,放在末尾的公众号中,不需要积分就可以下载。
-
概述
在项目中,需要实现一个多通道的FIR滤波器,滤波器的信号速率不高,是一个300Hz~4KHz范围的滤波器。问题在于多通道,预计是需要实现16通道的。如果是实现16通道并行的滤波器,即使这个滤波器是串行结构,那消耗的资源也是非常可观的。幸好,xilinx提供的IP中支持实现多通道的滤波器。
设计目标:基于xilinx的FIR ip、单组系数、多通道(16通道)
有点感慨:xilinx提供的这个fir滤波器IP,功能实在是有点强大。不但可以实现多种结构的滤波器,还支持多通道、多组系数等功能,另外,matlab提供了超级简便的系数生成模块,弄一个fir模块,简直便捷到飞起。
瞬时,觉得自己以前手撕代码写的滤波器,有点low的感觉。
使用xilinx提供的FIR滤波器模块,要点有:
- 如何使用matlab设计fir滤波器系数并且导出coef文件;
- 如何对vivado提供的FIR滤波器系数进行重载;
- 如何对vivado提供的FIR滤波器