插值滤波器的实现结构*
2019-09-04陈绍荣刘郁林
陈绍荣 ,刘郁林 ,何 为 ,徐 舜
(1.陆军工程大学通信士官学校,重庆 400035;2.重庆市经信委,重庆 400015)
0 引 言
在国内外《数字信号处理》教材及著作[1-2]中,从不同角度介绍了实现抽样频率转换的方法,归纳起来有3种实现抽样频率转换的方法:(1)若原模拟信号xa(t)可以再生或是已经记录下来,那么可以重新抽样;(2)将x(n)通过D/A变换成模拟信号xa(t)后,对xa(t)经A/D再抽样;(3)发展一套算法,对抽样后的数字信号x(n)在“数字域”作抽样率转换,以得到新的抽样。方法(1)有时不能实现,方法(2)要再一次受到D/A和A/D量化误差的干扰,方法(3)是最理想的方法。减少抽样率以去掉多余数据的过程称为序列的重排;增加抽样率以增加数据的过程,称为序列的插值[3-4]。本文只讨论有关插值滤波器的实现方法。
1 序列的插值
设周期为L的周期冲激序列为:
以均匀间隔T对连续时间信号xa(t)抽样,得到序列x(n)=xa(nT),若希望将抽样率fs增加L倍,即变成Lfs,则最简单的方法是对x(n)插值,用符号表示,即
式(2)表明,对序列x(n)插值,等价于将连续时间信号xa(t)的抽样间隔变成T/L,即抽样率变成Lfs。
2 插值滤波器
考虑到式(1),对式(2)两边取DTFT,可得插值序列f(n)的频谱,即:
式(3)表明,插值序列f(n)的频谱F(ejω)是序列x(n)的频谱X(ejω)压缩L倍的结果。换言之,在F(ejω)的主值区间 [-π,π]上,谱图重复出现了L次,多余的L-1次称为X(ejω)的映像。当|ω|≤π/L时,F(ejω)单一地等于X(ejLω)。可以利用后置数字低通滤波器来完成这一任务,如图1所示,其中后置数字低通滤波器的频率特性为:
式中,C为常数,G2π/L(ω)=ε(ω+π/L)-ε(ω-π/L),ε(ω)为单位阶跃函数。
图1 插值后的滤波
考虑到式(3)及式(4),则后置数字低通滤波器的输出序列y(n)的频谱为:
考虑到式(5),则有:
考虑到式(6),则有:
由式(7)可知,为保证y(0)=x(0),则应取C=L,于是式(4)可写成:
3 基于增抽样的等价系统
基于增抽样的系统Ⅰ,如图2所示。
图2 基于增抽样的系统Ⅰ
在图2中,有:
考虑到:
对式(10)两边取DTFT,并注意到式(3),则有:
将式(9)代入式(11),可得:
式中:
由式(12)及式(13),可得其等价系统,如图3所示。
图3 基于增抽样的系统Ⅱ
结论1:对比图3和图2可知,若插值器从后置变为前置,则系统的频率特性压缩L倍;反之,若插值器从前置变为后置,则系统的频率特性扩展L倍。这样才能够保证在相同输入序列x(n)作用下,级联系统有相同的输出序列y(n)。
4 插值滤波器的实现结构
在如图1所示的插值滤波中,数字低通滤波器H1(ejω)的单位冲激响应用h1(n)表示,一般都用FIR数字低通滤波器来实现该数字低通滤波器。设h1(n)的长度为N,即h1(n)=h1(n)RN(n),并且满足N/L为正整数。RN(n)=ε(n)-ε(n-N),其中,ε(n)为单位阶跃序列。
在实现如图1所示的插值滤波时,存在下述5种具体实现结构。
4.1 插值滤波器的直接实现结构
考虑到图1所示的插值滤波器,则有
由式(14)可知,如图1所示的插值滤波器,可以用如图4所示的直接结构实现。
图4 插值滤波器的直接实现
若对xa(t)以fs的速率抽样获得x(n),则插值滤波器的直接实现结构有一个缺点,因为h1(n)工作在高抽样率(即Lfs)状态,插值序列f(n)的每一位的值都要和FIR数字低通滤波器h1(n)的系数相乘。由于插值序列f(n)中相距L位才有一位的值非零,因此,采用如图4所示的直接实现结构,有较多的乘法浪费。
4.2 减少乘法次数的插值滤波器的直接实现结构
由于:
因此,从式(15)可知,一个序列与延迟n0位的单位冲激序列做线性卷和,等价于将该序列做n0位的延迟。
由图4,结合式(2)及式(15),可得:
式(16)表明,先将输入序列x(n)与h1(i)相乘,得到积序列再对积序列h1(i)x(n)做L点插值得到然后将延迟i位得到yi(n),最后将yi(n)按式(16)相加得到输出序列y(n),如图5所示。
图5 减少乘法次数的插值滤波器的直接实现结构
因此,与图4所示的插值滤波器的直接实现结构相对照,更合理的方法是用图5所示的结构来实现。在该图中,先将输入x(n)与h1(i)(i=0,1,…,N-1)相乘,然后再插值,所需要的乘法次数是图4所示的插值滤波直接实现结构的1/L。
4.3 插值滤波器的分段实现结构
若定义L倍插值滤波器第j段的单位冲激响应为
式中,j=0,1,2,…,N/L-1,RL(n)=ε(n)-ε(n-L)。
由式(17)可知,利用pj(n)可以将FIR数字低通滤波器h1(n)分成N/L个子FIR数字滤波器,即式(16)可写成:
考虑到式(17),则式(18)中的yj(n)可以表示为:
从式(18)及式(19)可知,可以将如图1所示的插值滤波器中的FIR数字低通滤波器h1(n)分成N/L段,其中每一段是长度为L的子FIR数字滤波器,并且都具有相同结构。
若FIR数字低通滤波器h1(n)的长度N=9,取L=3,则三倍插值滤波器的分段实现结构,如图6所示。
图6 三倍插值滤波器的分段实现结构
4.4 减少单位延迟器的插值滤波器的分段实现结构
与插值滤波器的分段实现结构图6相对照,更合理的方法是利用如图7所示的结构来实现。在该实现结构中,单位延迟器的数目减少了一半。
图7 减少单位延迟器的三倍插值滤波器的分段实现结构
4.5 基于多相分解的插值滤波器的实现结构
从三倍插值滤波器的分段实现结构图6可知,该实现结构对h1(n)的各段而言,其运算关系是先对输入序列或其延迟序列插值,再进行滤波处理。因此,存在乘法运算的浪费,需要改善该实现结构。
由于:
考虑到式(14)及式(20),则有:
式中,yj(n)可以表示为:
并且:
其中,ei(n)=h1(nL+i),并称ei(n)为h1(n)的第i个多相分量。
考虑到式(23)、式(22)及(21),则基于h1(n)多相分解的插值滤波器实现结构,如图8所示。
图8 基于h1(n)多相分解的插值滤波器实现结构
若h1(n)是N=9点的FIR数字低通滤波器,取L=3,则将h1(n)分成了L=3个子FIR数字滤波器,各子FIR数字滤波器的长度为N/L=3,并且具有相同结构。考虑到式(21)、式(22)及(23),则基于h1(n)多相分解的插值滤波器实现结构,如图9所示。
图9 基于h1(n)多相分解的三倍插值滤波器实现结构
其实,可以通过下述方式获得基于h1(n)多相分解的插值滤波器的实现结构。
设:
一般称ei(n)为h1(n)的第i个多相分量。
令:
由式(25),结合式(20),可得:
式(26)表明,数字低通滤波器h1(n)可以分解成多相分量ei(n)=h1(nL+i)(i=0,1,2,…,L-1)的L倍插值hi(n)=(i=0,1,2,…,L-1)的延迟之和。
对式(25)两边取ZT,可得:
对式(26)两边取ZT,并注意到式(27),可得:
考虑到式(28),则可得基于数字低通滤波器h1(n)多相分解的实现结构,如图10、图11所示。
考虑到如图11所示的基于数字低通滤波器h1(n)多相分解的实现结构,则如图1所示的插值滤波器可用图12来表示。
图10 基于h1(n)多相分解的实现结构Ⅰ
图11 基于h1(n)多相分解的实现结构Ⅱ
图12 基于h1(n)多相分解的插值滤波器的实现结构Ⅰ
图13 基于h1(n)多相分解的插值滤波器的实现结构Ⅱ
由于图12中H1(z)的L个多相分解子数字滤波器的输入序列f(n)是序列x(n)的L倍插值,因此可将图12画成图13。
由结论1可知,将图13中的插值器从前置变为后置,则子系统的频率特性扩展L倍,即将子系统的转移函数Ei(zL)(i=1,2,…,L-1)变成转移函数Ei(z)(i=1,2,…,L-1)。这样就得到了与图8相同的基于数字低通滤波器h1(n)多相分解的插值滤波器的实现结构,如图14所示,只不过其中的子系统用z域描述而已。
图14 基于h1(n)多相分解的插值滤波器的实现结构Ⅲ
5 结 语
本文针对插值滤波器的实现问题,给出了插值滤波器的直接实现结构、减少乘法次数的插值滤波器的实现结构、插值滤波器的分段实现结构、减少单位延迟器的插值滤波器的分段实现结构及基于多相分解的插值滤波器的实现结构,并用一种新的思路和方法,导出了基于多相分解的插值滤波器的实现结构。