并行FIR滤波器在FPGA中的实现

两路任意阶数并行滤波的实现方法:
尽管是并行滤波,但是在本质上仍是卷积的过程,对于滤波阶数N的滤波系数,滤波的系数为N+1,在两路并行中,阶数N应该是偶数,系数N+1是奇数;
y[n]=∑_(k=0)^(k=N-1)▒〖X(n-k)h(k)〗
y(2n)=x(2n)h(0)+x(2n-1)h(1)+x(2n-2)h(2)+⋯+x(2n-396)h(396)

y(2n+1)=x(2n+1)h(0)+x(2n)h(1)+⋯+x(2n-395)h(396)
最终的实现就是乘累加的过程,先对应相乘,再去相加
在乘的过程中,需要注意数据的缓存问题,在进入396个系数之后才是正确的值,而对于两路的并行,需要先用一个buffer进行缓冲。
1 2 3 4 5 … 196 197 198 199
X(0) X(2) X(4) X(6) X(8) X X(390) X(392) X(394) X(396)
X(1) X(3) X(5) X(7) X(9) X X(391) X(393) X(395) X(397)
对于396需要的buffer为199,其次分为buffer1和buffer2,在乘的时候注意对应的输入和滤波系数,对于乘的结果进行累加的话,采用多级两两相加的方式,对于非偶数的项数让最后一个系数和0相加,最终得到简化的相加的结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值