FPGA(FIR)数字信号处理

本篇的实验平台是quartus,想了解vivado开发环境可以了解下一篇文章。
本篇在B站有对应操作讲解视频:FIR滤波器视频

(1)滤波器系数设计:

在MATLAB中输入fdatool即可打开滤波器设计工具,如图所示。里面可以设置滤波器的类型,采样频率,截止频率等。

在这里插入图片描述

实现FIR滤波器的过程其实就是实现卷积的过程:

x(n)是待滤波信号,h(n)是滤波器系数,卷积的过程就是一个乘、累加的过程。

在这里插入图片描述

(2)程序编写:

Verilog编写:

用FPGA实现FIR滤波器的主要分成三级流水线,第一级、将输入信号延时,这样才能将信号和滤波器系数相乘。第二级、将输入信号和系数相乘。第三级、将乘积进行累加得到结果。

在这里插入图片描述

Verilog在FPGA内部编写fir滤波器很大的一个缺点是只能实现阶数较少的滤波器,否则会造成资源占用过多。所以针对多阶数FIR滤波器采用IP核的方式来实现。

IP核方式实现FIR滤波器:
在这里插入图片描述

实际硬件电路测试:

在这里插入图片描述

Rtl视图:

在这里插入图片描述

通过AD将数字信号输出给FPGA,并将FPGA处理转换之后的数据通过DA模块输出,观察经过FIR滤波器之后的信号。

在这里插入图片描述

频率500KHz

在这里插入图片描述

频率600KHz

在这里插入图片描述

频率1MHz

作者:FPGA小学生
QQ:2859340499(不懂可以咨询,也可下方留言,相关资料获取途径)
B站出处链接
出处: bilibili

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值