verilog matlab fir 滤波器设计

FPGA FIR滤波器设计

最近课程项目中需要用到低通滤波器,对已调信号进行低通滤波。之前用altera的fir ip核来做,但是fir ip核的仿真实在是太难了,一直找不到库,弄了好久也没搞好。直接上板用signaltap抓信号的话由于电脑太垃圾编译一次时间太长,调试的心累。只好先暂时不用ip核。这两天看到用matlab软件生成verilog语言的fir滤波器,感觉挺有意思,记录一下。

matlab滤波器设置界面

先进入matlab输入fdatool进入滤波器设置界面。

设置想用的窗函数和滤波器类型,设置采样率和截止频率(理论上采样率不低于奈奎斯特频率)。这里我的测试波形选用的是一个4Mhz的正弦波和一个0.04Mhz的正弦波的混叠波形。于是我将截止频率设置为1M。

同时在生成滤波器的时候要注意一点就是最好在设置的时候结合自己生成的波形的位宽来设置滤波器的输入输出位宽,否则后续处理会比较麻烦。

在这里插入图片描述

点击design fiter之后再点Targets–Generate HDL,选择语法为verilog,生成filter文件和tb_filter文件。

生成的filter文件有五个信号,我没有具体研究,我将clk_enable使能信号直接置1,reset信号直接置0。剩下的2个信号连接我的用来测试的正弦波文件的时钟引脚和混叠信号引脚,一个输出引脚用来观察滤波之后波形。

最终效果不错,滤波非常成功。

相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页