利用FPGA设计IIR多相滤波器(0)

这篇博客算是前言吧,最近在做IIR滤波器的多相结构设计,目的是解决在较低速率的情况下,完成对高频采样信号的滤波。采用FIR的多相滤波结构,会产生较长的滤波器延迟和浪费很多的乘法器资源,而对于小的FPGA来说,资源不够丰富。同时对于极端条件下的滤波(针对可变滤波参数设计),例如低通滤波的Fp相对于采样频率来说很低,这样的滤波器如何设计。另外,还要考虑到FPGA乘法器的运行速度,如何将一个包含有延迟乘法器的IIR滤波结构(主要是反馈部分需要解决延迟乘法器的问题)在FPGA中进行实现。本博客系列将对此进行展开讲解。


根据工程需要,我所设计的IIR多相滤波器,已经通过检验(matlab和FPGA交叉检验,以及示波器前端滤波器测试),所有的设计程序都是合理有效的。


对于第一篇,仅给出滤波器的设计要求,今天时间有限,先写到这了。


滤波器设计要求:

滤波器类型:LPF 或者HPF

-3dB带宽可变,即参数可变

滤波器类型:IIR滤波器

滤波器通带频点:Fp=50kHz~200MHz

滤波器阶数:一阶或二阶

信号采样率:400MHz

FPGA时钟速率:200MHz

AD采样率:800MHz


在每个FPGA时钟内,前端AD共送入4个采样点数据,要求FPGA最终能够给后级输出采样率为800MHz信号,(这里用低通滤波器为例子)低通滤波器参数可变,变化范围(50kHz~200MHz).


首先,这样的滤波器在200MHz主频的FPGA里面,采用简单的FIR滤波器设计,要保证-3dB点准确的话,滤波器的阶数是变化的,最长的滤波器阶数可能达到几千阶(matlab中FDAtool给出的设计),这个复杂度是我们不能够忍受的。因此直接采用了IIR结构的滤波器。采用cyclone III或者IV,以及spartan 6系列的FPGA,主频一般在200MHz左右,而其中的乘法器DSP48则需要3~4个时钟才能够给出稳定的输出,这对于带有反馈结构的IIR滤波器而言,是无法给出有效设计的。因此决定采用IIR滤波器的多相结构来进行设计。多相结构的IIR滤波器的研究比较少,在接下来的几篇博客里,将针对该问题,给出我自己的滤波器设计,该设计已经通过FPGA验证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值