fpga:fir低通滤波器ip核使用方法

在进行fpga程序编写和项目开发的过程中,fir滤波器IP核充当着非常重要的部分,在这里讲述一下fir滤波器的使用方法和理解。

以滤波为例,两个频率分别为20kHz和100kHz的正弦信号叠加,滤除100kHz的信号,留下20kHz的信号,通过fir 滤波器IP核实现这个过程。

首先第一步,生成两个频率的正弦信号,这里面利用ddsIP核,根据设置的位宽,和20kHz和100kHz的目标频率,设置频率控制字,这里dds位宽为[23:0],所以对应的两个频率控制字分别为24’h1A37和24’h8312(20kHz和100kHz),把两个波形进行叠加,得到的波形为:
在这里插入图片描述
第一路为20kHz信号,第二路为100kHz信号,第三路为叠加信号。

设计滤波器参数:通过滤波器fdatool设计低通滤波器,为了保留20kHz频率,截止频率选择25kHz,采样率设置为400kHz,采样率的设置要保证大于最高频率的2倍,即大于100kHz的2倍,同时不能取太大,这样会影响滤波器频率响应的过渡带,要想达到好的效果,就需要设置更大的阶数,需要更多的计算资源。
在这里插入图片描述
上面为MATLAB设置的参数,然后生成系数文件,导入fir IP核中,注意选择定点数,否则无法生成。
fir滤波器设置
在这里插入图片描述
主要图中的输入采样率,需要和MATLAB中设置的保持一致400kH,输入时钟为系统时钟这里面为50MHz,利用左边的频响看是否满足设计,注意这个频响是归一化的频响,需要利用采样率的一半乘以归一化的横坐标来计算。通过图可以看出,200kHz*0.1为20kHz,在通带内,100kHz的衰减很大,被滤掉。
同时注意理解采样率,相当于采样周期,系统时钟50MHz,相当于每125个系统周期,滤波器采集一个点。
同时在例化IP核的过程中,需要把输入有效位输入400kHz的时钟。
在这里插入图片描述
这样才算完成fir 滤波器的参数设计和使用,这里的clk_400k_pls为利用系统时钟分频计数得到的400kHz的周期脉冲。
把叠加的波形输入到fir中,得到的滤波后的结果如图
在这里插入图片描述

最下面的波形firdata即为滤波后的结果。

  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一支绝命钩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值