verilog matlab fir 滤波器设计

FPGA FIR滤波器设计

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

verilog matlab fir 滤波器设计_第1张图片

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

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

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

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

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

verilog matlab fir 滤波器设计_第2张图片

你可能感兴趣的:(verilog,嵌入式)