在Vivado调用fir滤波器时,我们会遇到需要填充滤波器抽头系数的问题,手工计算又不现实,所以在此向大家介绍一个生成系数的工具。
首先,我们打开matlab软件,在命令窗口输入fdatool并回车,就会弹出滤波器设计工具。
在图中第一个红色框内,我们根据自己需要选择低通或者高通,第二个框,在fir的设计方法中,我们也是可以根据自己需要进行选择,在此,比如我选择窗函数。
在窗函数中,我们选择合适的窗口。
对于计算阶数大家可以根据需要进行选择,默认是最小,但是有时候滤波效果不是很好,所以我们可以自定义。
自定义时选择第一个选项,计算阶数越大,运算量越大,最后仿真时等待的时间可能更久,这个大家自行均衡。
接下来是频率设置,units是频率单位,根据自己波形的频率进行设置合适的单位。Fs为采样频率,在满足奈奎斯特采样定律的情况下设置合适的频率。Fpass为通带频率,指的是滤波器允许通过的频率范围。Fstop为截止频率,指的是滤波器需要抑制的频率范围。
Apass表示通带衰减,指的是滤波器在通带内的衰减量。Astop表示阻带内的衰减量。
在此,给大家一个示例,窗函数我选择的是汉明窗,采样频率为10MHz,截止频率为4MHz。计算阶数为20。大家可以看一下效果图,还是比较理想的。
在左边窗口,我们选择第三个选项,然后选择Fixed-point。然后我们就可以输出我们的抽头系数了。
大家可以直接输出数据,然后在IP核配置界面直接填充,不过在此为了减少麻烦,我直接输出XILINX的coe文件,在配置时,用文件直接来填充。
审核编辑:刘清
-
matlab
+关注
关注
186文章
2983浏览量
231265 -
fir滤波器
+关注
关注
1文章
95浏览量
19118 -
Vivado
+关注
关注
19文章
816浏览量
66985
原文标题:Matlab生成fir滤波器抽头系数
文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于matlab FPGA verilog的FIR滤波器设计
基于MATLAB与QUARTUS II的FIR滤波器设计与验
基于MATLAB与QUARTUS II的FIR滤波器设计与验
![基于<b class='flag-5'>MATLAB</b>与QUARTUS II的<b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>设计与验](https://file1.elecfans.com//web2/M00/A5/65/wKgZomUMOD2AfqYqAADiJ3J3iPs158.jpg)
基于MATLAB及FPGA的FIR低通滤波器的设计
![基于<b class='flag-5'>MATLAB</b>及FPGA的<b class='flag-5'>FIR</b>低通<b class='flag-5'>滤波器</b>的设计](https://file.elecfans.com/web2/M00/49/0F/pYYBAGKhtDaAawH-AAATep93Mp4827.jpg)
基于MATLAB与FPGA的FIR滤波器设计与仿真
![基于<b class='flag-5'>MATLAB</b>与FPGA的<b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>设计与仿真](https://file.elecfans.com/web2/M00/49/67/pYYBAGKhtEyAeyxsAAAPtwt146s214.jpg)
如何使用Verilog实现具有预生成系数的简单FIR滤波器?
![如何使用Verilog实现具有预<b class='flag-5'>生成</b><b class='flag-5'>系数</b>的简单<b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>?](https://file1.elecfans.com/web2/M00/89/49/wKgaomSAIuuAKiczAALMf6ZCV0A979.jpg)
评论