傻大方


首页 > 学习 >

基于FPGA的IIR数字滤波器设计



按关键词阅读:


数字信号处理在科学和工程技术许多领域中得到广泛的应用,与FIR 数字滤波器相比,IIR 数字滤波器可以用较低的阶数获得较高的选择性,故本文采用一种基于FPGA 的IIR 数字滤波器的设计方案,分析了IIR 数字滤波器的原理及设计方法,采用EDA 技术中的模块化设计思想,就IIR 数字滤波器中的一些关键电路进行设计,主要内容包括:时序控制模块、延时模块、补码乘加模块、累加模块和IIR 数字滤波器的顶层设计 。各模块采用VHDL 进行描述后,进行了仿真和综合 。仿真结果表明,本文所设计的IIR 数字滤波器运算速度较快,系数改变灵活,有较好的参考价值 。
一、系统设计原理
1 IIR 数字滤波器的原理
一个数字滤波器的系统函数)(z H 可以表示为:
()()()∑∑=--=--==N
j j
j M i i i
z b z a z X z Y z H 110
1(1)直接由)(z H 得出表示输入输出关系的常系数线性差分方程为:
()()()j n y b i n x a n y N
j j M i i ---=∑∑=-=1
10(2)
式中i a 、1-j b 为滤波系数,当1-j b 均为零时,该滤波器为FIR 数字滤波器,当1-j b 不均为零时,则为IIR 数字滤波器 。与FIR 数字滤波器相比,IIR 数字滤波器可以用较低的阶数获得高的选择性,所用的存储单元少,成本低、信号延迟小,并且IIR 数字滤波器可以借助于模拟滤波器的设计成果,设计工作量相对较小,为此,本文就IIR 数字滤波器进行相关讨论 。
IIR 数字滤波器有直接型、级联型和并联型三种基本结构 。由IIR 数字滤波器的N 阶差分方程(2)式可知,设M =N =2,则网络结构如图1所示 。
基于FPGA的IIR数字滤波器设计
文章图片

图1直接型结构
2 IIR 数字滤波器的设计方法
IIR 数字滤波器的设计方法通常有模拟转换法、零极点累试法和优化设计法 。
1. IIR 数字滤波器的模拟转换设计法
利用模拟滤波器成熟的理论和设计方法来设计IIR 数字滤波器是经常使用的方法 。设计过程是:按照技术要求设计一个模拟滤波器,得到滤波器的传输函数)(s H a,再按一定的转换关系将)(s H a 转换成数字滤波器的系统函数)(z H。将传输函数)(s H a 从s 平面转移到z 平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法 。
2. IIR 数字滤波器的零极点累试法
上述介绍的模拟转换设计法实际上是数字滤波器的一种间接设计方法,而且幅度特性受到所选模拟滤波器特性的限制 。例如巴特沃斯低通幅度特性是单调下降,而切比雪夫低通特性带内或带外有上、下波动等,对于要求任意幅度特性的滤波器,则不适合采用这种方法 。下述介绍的在数字域直接设计IIR 数字滤波器的设计方法,其特点是适合设计任意幅度特性的滤波器 。
在IIR 数字滤波器的直接设计法中零极点累试法较为常用,设单位脉冲响应的零极点表达式为:
∏∏=-=---=N k k M r r z d
z c A z H 1111)
1()
1()((3)
按照(3)式,系统特性取决于系统零极点的分布,通过分析,我们知道系统极点位置主要影响系统幅度特性峰值位置及其尖锐程度,零点位置主要影响系统幅度特性的谷值位置及其凹下的程度;且通过零极点分析的几何作图法可以定性地画出其幅度特性 。上面的结论及方法提供了一种直接设计滤波器的方法 。这种设计方法是根据其幅度
特性先确定零极点位置,再按照确定的零极点写出其系统函数,画出其幅度特性,并与希望的进行比较,如不满足要求 。可通过移动零极点位置或增加(减少)零极点,进行修正 。
3.优化设计法
IIR 数字滤波器除模拟转换设计法和零极点累试法外,还有一种直接在频域或者时域中进行设计,联立方程后需要计算机作辅助运算的方法,即所谓的优化设计法 。3 IIR 数字滤波器的硬件实现方案
滤波器的实现主要包括两大类:DSPTMS320系列芯片的实现和ISP 器件的实现(主要包括FPGA 和CPLD ) 。其中利用DSPTMS320系列芯片实现滤波时速度较慢,而利用ISP 器件实现时,其运算速度比DSP 器件要快好多倍 。FPGA 的实现包括其自带的核的实现方法和自编程实现方法 。核的实现方法虽然好用并且结构缜密,但一般情况下使用的权限都会受到注册购买的限制,因此基于FPGA 的自编程实现方法成了滤波器实现的首选 。
以下简要介绍IIR 数字滤波器的设计方案和基于FPGA 的实现方法 。
1.方案一:直接相乘累加式
对于二阶的IIR 数字滤波器,其传递函数为:
2
1102
21101)(------++=z b z b z a z a a z H(4) 滤波器信号流图见图1,在第n 时刻,)(n X 是当时的输入样本; )(n Y 是n 时刻的IIR 滤波器的输出:


稿源:(未知)

【傻大方】网址:/a/2021/0402/0021244148.html

标题:基于FPGA的IIR数字滤波器设计


上一篇:基于SNMP的校园网络管理策略研究

下一篇:基于RFID的员工考勤应用系统