您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

利用DSP实现IIR滤波器的精度扩展

时间:2007-1-20栏目:电子通信论文

MAC *AR2,*AR3,A ;A=(L1*L2+H1*H2)>>16+H1*H2

STL A,@R2 ;保存R2

STH A,@R3 ;保存R3

2 IIR滤波器的基本原理及编程实现

>

N级IIR滤波器的脉冲传递数表达式为

利用DSP实现IIR滤波器的精度扩展

它的差分方程表达式为

利用DSP实现IIR滤波器的精度扩展

由上式可见,y(n)由2部分构成;第1部分利用DSP实现IIR滤波器的精度扩展是一个对x(n)的M节延时结构。每节延时后加权相加,也就是一个横向结构网络。第2部分利用DSP实现IIR滤波器的精度扩展也是一个N节延时的横向网络结构,不过它是对y(n)延时,因此也是个反馈网络。

数字滤波器运算结构的不同,将会影响系统运算的精度、误差、速度和经济性等性能指标。在一般情况下,都要求使用尽可能少的常数乘法器和延迟器来实现系统,并要求运算误差尽可能小。然而,这些要求有时是互相矛盾的,例如,为了获得个有较小运算误差的结构,使用的乘法器和延迟器的数目往往并不是最少的。IIR滤波器有以下几种基本网络结构:直接I型、直接II型、级联型和并联型。各种结构都有其优缺点。鉴于级联型常用于均衡器中,而且优点比较突出,所以,以级联型为便详细介绍其算法实现。

IIR滤波器在采用级联实现的,将传递函数分解为二阶传递函数的乘积,即

H(z)=H1(Z)H2(Z)…HM(Z)

每一级的子滤波器Hk(z)常取以下的形式:

利用DSP实现IIR滤波器的精度扩展

一般级联实现都采用直接II型结构作为子滤波器的网络结构。使用直接II型的子滤波器的网络结构如图2所示。

二级级联IIR滤波器的主要实现程序如下:

;***已初始化了PMST=FFA0H,ST1=2300H,

;SWWSR=0,OVM=1,FRCT=1,SXM=1

STM #X,AR1

STM #Y,AR2

STM #d,AR3 ;AR3:d(n),d(n-1),d(n-2)

RPT A,#5 ;初始化d(n),d(n-1),d(n-2)=0

STL A,*AR3+

STM #2,AR0 ;初始化Arn是地址偏移量为常数

INLOOP:

STM #d+5,AR3 ;AR3:d(n),d(n-1),d(n-2)

STM #table,AR4 ;AR4:IIR的系数A2,A1,B2,B1,B0

PORTR 100H,*A

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页