多相滤波器、数字信号处理系统和滤波方法

文档序号:7536016阅读:411来源:国知局

专利名称::多相滤波器、数字信号处理系统和滤波方法
技术领域
:本发明涉及一种滤波器和滤波方法、以及含有该滤波器的数字信号处理系统,尤其涉及一种具有系数偶对称的多相分解结构的多相插值滤波器及其滤波方法。本发明所提供的滤波器、滤波方法、以及数字信号处理系统可广泛地应用于例如移动通信、图像处理、雷达定位、声纳信号处理、智能天线等数字信号处理
技术领域
当中。
背景技术
:当前,在数字信号处理领域当中,经常利用插值滤波。这里,插值通常是指在离散数据之间填充数据,以使所填充的数据能够符合某个连续函数。在实际应用中,对于数字信号的插值操作,较为简便的是先对数字信号进行零插值,然后经过低通滤波器(LowPassFilter,LPF)得到插值信号。例如,当对采样率为fs的离散信号进行L倍内插时,首先,在每两个离散值之间插入L-l个零,此时离散信号采样率为插值前的L倍,即为LXfs,这称为L倍内插;然后将插值后的信号通过相应的低通滤波器即可得到处理后的信号。这里,经常采用的滤波器有两种,即有限冲激响应(FiniteImpulseResponse,FIR)滤波器和无限冲激响应(InfiniteImpulseResponse,IIR)滤波器。IIR滤波器用于能够容忍相位失真的系统中,而FIR滤波器则用于需要线性相位且具备内在稳定结构的系统中。一般地,在很多系统设计中都采用了FIR滤波器,这是由于数字信号插值处理通常需要线性相位,因此插值信号的处理通常采用FIR滤波器。在实际应用中,插值处理前的信号可能是含有噪声或干扰的信号。在对含有噪声的信号进行插值滤波过程中,采用维纳(Wiener)滤波器可以获得比传统的低通滤波器更好的去噪性能。但是,维纳滤波器在实现时需要采用维纳霍夫(Wiener-Hoff)方程实时地计算维纳滤波器系数,维纳霍夫方程中自相关函数的获得和矩阵的求逆运算复杂度都很高。在实际应用中,由于插值操作,滤波器的工作速率得以提高,然而滤波器将会消耗较多的功耗;另一方面,当采用维纳滤波器时,实时计算的运算量很大,更加剧了系统复杂度的提升。关于上述内容,请具体参见《数字信号处理_理论、算法与实现(第二版)》,胡广书著,2003年8月出版,清华大学出版社。该出版物的全部内容都通过引用包括在这里作为参考。因此,在数字信号处理领域中,迫切需要提供一种通过巧妙的简化合并以达到有效节省逻辑资源并且降低运算复杂度的多相滤波器和滤波方法。
发明内容本发明所要解决的技术问题在于,通过巧妙地设计滤波器的相位结构以提高其容忍相位失真方面的能力,使得根据本发明设计的滤波方法获得更好的去除噪声的性能,并且降低在插值滤波中为获得自相关函数和矩阵求逆等方面的运算复杂度。5根据本发明的第一方面,提供了一种数字信号的滤波方法,通过多相滤波器对时域或频域上的数字信号进行插值滤波,其中所述滤波方法包括下列步骤步骤A.多相滤波器系数自适应处理步骤,其中根据输入的数字信号、所述多相滤波器的长度2N+1、以及插值倍数L,自适应地改变所述多相滤波器的各分支滤波器系数,其中N和L都是大于等于2的正整数,并且所述多相滤波器的各分支滤波器系数呈偶对称;和步骤B.多相滤波器插值滤波步骤,其中所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘,并在各分支内求和,以得到所述多相滤波器的输出结果。优选地,在上述滤波方法中,在所述步骤B中进一步包括如下步骤在每次所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘之后,通过至少一个以栈方式进出的存储器,利用所述多相滤波器的各分支滤波器系数的偶对称特性,使得所述输入信号序列与所述多相滤波器的前N点相乘的结果作为所述输入信号序列与所述多相滤波器的后N点相乘的结果以栈的方式被读出,其中栈方式进出是指以后进先出方式进出所述存储器。优选地,在上述滤波方法中,通过删除多相滤波器中的一个系数,以使滤波器系数成为等差数列形式。优选地,在上述滤波方法中,所述步骤A中的自适应地改变所述多相滤波器的各分支滤波器系数的处理进一步包括下列步骤步骤A-l.求解输入信号的自相关函数矩阵;步骤A-2.对所述自相关函数矩阵的各分支作求逆运算;以及步骤A-3.根据输入信号的自相关函数矩阵、多相滤波器的输入输出信号的互相关向量、以及噪声方差,求解所述多相滤波器的各分支滤波器系数。优选地,在上述滤波方法中,所述步骤A-l进一步包括下列步骤步骤A-l-l.对输入信号作快速傅立叶变换得到其对应的频域信号;步骤A-l-2.计算所述频域信号各分支的功率谱密度,得到功率谱密度矩阵;以及步骤A-l-3.对所述功率谱密度矩阵作快速傅立叶逆变换,以得到输入信号的自相关函数。优选地,在上述滤波方法中,所述步骤A-l进一步包括下列步骤步骤A-l-4.对输入信号作快速傅立叶逆变换得到其对应的时域信号;步骤A-l-5.计算所述时域信号各分支的功率时延包络,得到功率时延包络矩阵;以及步骤A-l-6.对所述功率时延包络矩阵作快速傅立叶变换,以得到输入信号的自相关函数。优选地,在上述滤波方法中,在所述步骤A-1-1或步骤A-l-4中,先对长度为r的输入信号作快速傅立叶变换或快速傅立叶逆变换以得到输入信号离散序列,之后在所述输入信号离散序列中插入(L-l)Xr个零。优选地,在上述滤波方法中,在所述步骤A-1-1或步骤A-l-4中,先对长度为r的输入信号每两点之间插入L-l个零,再对插值后的输入信号作快速傅立叶变换或快速傅立叶逆变换的pruning算法处理以得到输入信号离散序列。优选地,在上述滤波方法中,在所述步骤A-l-3或步骤A-l-6中,先删除所述功率谱密度矩阵中多余的零,再对其进行离散傅立叶变换或离散傅立叶逆变换。优选地,在上述滤波方法中,在所述步骤A-l-3或步骤A-l-6中,先平移所述功率谱密度矩阵中的各元素,再对其进行少点的离散傅立叶变换或离散傅立叶逆变换。优选地,在上述滤波方法中,在所述步骤A-l-3或步骤A-l-6中,通过设置噪声判决门限T,当所述功率谱密度矩阵或功率时延包络矩阵中的各元素小于T时就将该元素置6位为零,而当所述功率谱密度矩阵或功率时延包络矩阵中的各元素大于等于T时保持该元素不变,对经过门限判决处理后的序列作快速傅立叶变换或快速傅立叶逆变换的priming算法处理。优选地,在上述滤波方法中,在所述步骤A-3中,通过维纳霍夫方程来求解所述多相滤波器的各分支滤波器系数。优选地,在上述滤波方法中,所述步骤B还包括下列步骤步骤B-l.在时刻tk,其中0《k《N/L,所输入的数字信号序列分别乘以根据步骤A处理后的系数列向量中的对应列的滤波器系数,将其中一列的滤波器系数与其余列的对应乘法结果相加,得到该时刻滤波器各分支的对应输出结果,并且将该输出结果保存在存储器当中;步骤B-2.在时刻tm,其中(N/L)+l《m《(2N/L),停止计算输入信号与其对应的分支系数的乘积,而从所述存储器中逆序取出所保存的步骤B-1中的输出结果作为一列的滤波器系数,并且与其余列的乘法结果相乘,得到该时刻滤波器各分支的对应输出结果,同时释放存储器中相应的存储空间。根据本发明的第二方面,还提供了一种多相滤波器,在数字信号处理操作中所使用,对于时域或频域上的数字信号进行滤波处理,其中所述多相滤波器具有线性相位并且系数呈偶对称,并且自适应地改变所述多相滤波器的各分支滤波器系数,所述多相滤波器至少包括多相滤波器系数自适应处理模块,其中根据输入的数字信号、所述多相滤波器的长度2N+1、以及插值倍数L,自适应地改变所述多相滤波器的各分支滤波器系数,其中N和L都是大于等于2的正整数,并且所述多相滤波器的各分支滤波器系数呈偶对称;和多相滤波器插值滤波模块,其中所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘,并在各分支内求和,以得到所述多相滤波器的输出结果。优选地,在上述多相滤波器中,所述多相滤波器系数自适应处理模块进一步包括自相关函数计算模块,其用于求解输入信号的自相关函数矩阵;求逆运算模块,其对所述自相关函数矩阵的各分支作求逆运算;以及滤波器系数计算模块,其根据输入信号的自相关函数矩阵、多相滤波器的输入输出信号的互相关向量、以及噪声方差,求解所述多相滤波器的各分支滤波器系数。优选地,在上述多相滤波器中,所述自相关函数计算模块进一步执行下列步骤对输入信号作快速傅立叶变换得到其对应的频域信号;计算所述频域信号各分支的功率谱密度,以得到功率谱密度矩阵;以及对所述功率谱密度矩阵作快速傅立叶逆变换,以得到输入信号的自相关函数。优选地,在上述多相滤波器中,优选地,在上述多相滤波器中,所述自相关函数计算模块进一步执行下列步骤对输入信号作快速傅立叶逆变换得到其对应的时域信号;计算所述时域信号各分支的功率时延包络,得到功率时延包络矩阵;以及对所述功率时延包络矩阵作快速傅立叶变换,以得到输入信号的自相关函数。优选地,在上述多相滤波器中,在所述对输入信号作快速傅立叶变换或快速傅立叶逆变换得到其对应的频域信号或时域信号的步骤中,先对长度为r的输入信号作快速傅立叶变换或快速傅立叶逆变换以得到输入信号离散序列,之后在所述输入信号离散序列中插入(L-l)Xr个零。优选地,在上述多相滤波器中,在所述对输入信号作快速傅立叶变换或快速傅立叶逆变换得到其对应的频域信号或时域信号的步骤中,先对长度为r的输入信号每两点之间插入L-1个零,再对插值后的输入信号作快速傅立叶变换或快速傅立叶逆变换的priming算法处理以得到输入信号离散序列。优选地,在上述多相滤波器中,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,先删除所述功率谱密度矩阵或功率时延包络矩阵中多余的零,再对其进行离散傅立叶变换或离散傅立叶逆变换。优选地,在上述多相滤波器中,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,先平移所述功率谱密度矩阵或功率时延包络矩阵中的各元素,再对其进行少点的离散傅立叶变换或离散傅立叶逆变换。优选地,在上述多相滤波器中,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,通过设置噪声判决门限T,当所述功率谱密度矩阵或功率时延包络矩阵中的各元素小于T时就将该元素复位为零,而当所述功率谱密度矩阵或功率时延包络矩阵中的各元素大于等于T时保持该元素不变,对经过门限判决处理后的序列作快速傅立叶变换或快速傅立叶逆变换的pr皿ing算法处理。根据本发明的第三方面,还提供了一种数字信号处理系统,所述数字信号处理系统至少包括如上所述的一种多相滤波器、以及具有栈结构且具有后进先出的出入顺序的队列存储器。图1是根据本发明的数字信号处理系统100的架构组成的方框图2是关于传统的蝶形因子和本发明所作改进的蝶形因子的比较示意图3是根据本发明的实施例4中所采用的FFTpriming输出端少点算法的示意图;图4是根据本发明的滤波器的多相高效分解结构的示意图;图5是根据本发明的队列存储器的结构示意图,在图5中示出了处理中和/或处理后的数据入队/出队的特殊方式;图6是现有技术中公知的插值滤波器原型的方框示意图;以及图7是利用根据本发明实施例的多相维纳插值滤波器进行滤波处理的示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。系统架构图1是根据本发明的数字信号处理系统架构组成的方框图。在图1所示的系统100中至少包括多相插值滤波器101和队列存储器102。进而,多相插值滤波器101还包括滤波器系数自适应处理模块1001和滤波器系数矩阵1002。当然,本领域技术人员应该可以理解的是,可选地,还可在系统100中追加FFT或IFFT模块,并且对于这两者是可以选择使用的。这里,如果在滤波处理前的输入数据是时域信号时,则采用FFT模块将时域上的数字信号变换为频域上的数字信号;而如果在滤波处理前的输入数据是频域信号时,则采用IFFT模块将频域上的数字信号变换为时域上的数字信号。另外,本领域技术人员还可理解的是,数字信号处理系统100还可包括本领域中所公知的其他一些处理模块,以便更佳地处理数字信号以及适应于不同的应用场合,本领域技术人员可以在所掌握的知识的基础上,适当地加以修改或补充,在此不再赘述。下面参照附图,具体说明多相插值滤波器101和队列存储器102的特殊结构及其工作原理。滤波器设i十首先,说明根据本发明的多相插值滤波器的设计原理,包括1.滤波器阶数的选择对于一个插值倍数为L的FIR维纳滤波器,设计滤波器长度为N=KXL+1,采用多相分解后的各分支滤波器系数个数就为K=[N/L]。2.自相关函数的计算设输入信号x(n)=卜(0),^1),...},长度1~,插值倍数1^。自相关函数的计算包括如下步骤步骤(1):对输入信号x(n)作FFT变换到频域信号;步骤(2):计算功率谱密度(PowerSpectrumDensity,即PSD),得到P(k);以及步骤(3):对P(k)作IFFT得到插值后信号的自相关函数。另外,上述流程同样适用于输入为频域信号的情形,先作IFFT后得到其功率时延包络(PowerDelayProfile,即PDP),再经过FFT变换得到其频域下的自相关函数。因此,在下面给出的说明中,由于时域和频域的对偶性,因此将不再强调时域与频域的概念。对于步骤(1),可采取如下两种实施方式进行简化实施例1.先IFFT后插值的方式首先,对输入信号x(n)作FFT得到X(k);之后,在X(k)中间插入(L-l)Xr个零得到插值后信号Y(k)。这里,Y(k)序列长度为X(k)的L倍。实施例2.先插值后IFFTpruning的方式首先,对输入信号x(n)每两点间插入L-l个零得到插值后序列,再补零使其成为2的整数次幂;之后,对插值后的序列采用FFTpriming算法变换得到Y(k)。这里,所求的Y(k)是中间为(L-l)r个零点的插值信号Y(k),因此只保留了信号两端的r点。关于这里提到的FFTpruning算法,请参考"GeneralFFTPruningAlgorithm",由RogerioG.Alves,P丄0sorio禾口M.N.S.Swamy等人在Proc.43rdIEEEMidwestS卿.onCircuitsandSystems,LansingMI,第1192至1195页,2000年8月,该出版物的全部内容都通过引用包括在这里,并且作为参考。这里,本领域技术人员应该理解的是,从实现算法所需执行的运算量的角度,实施例l通常是优选的。对于步骤(2),可得P(k)=IY(k)12;对于步骤(3),在这里,由于作FFT变换的输入信号是少点序列P(k),并且求解维纳滤波系数所需要的自相关函数序列长度远远小于FFT变换点数,故又可采取如下三种实施方式进行简化实施例3.直接采用DFT变换矩阵公式,而非通过FFT获得自相关函数r(n)。,=,…Pg-1),,P(r.L-。…P(r.L-1)},<formula>formulaseeoriginaldocumentpage10</formula>实施例4.对输入序列进行平移,再利用r点FFTpriming算法得到自相关函数再通过乘以旋转因子获得最终的自相关函数r(n)。<formula>formulaseeoriginaldocumentpage10</formula>①设插值后信号y(n)所对应的Y(k)为<formula>formulaseeoriginaldocumentpage10</formula>②插值后信号y(n)的自相关函数r(n)所对应的功率谱密度为P(k)=|Y(k)③对P(k)信号进行频谱搬移,得到<formula>formulaseeoriginaldocumentpage10</formula>又由于r'(n)=^;i:i^fP'(k)eJ^<formula>formulaseeoriginaldocumentpage10</formula>(n)与插值后信号r(n)的关系为r(n)<formula>formulaseeoriginaldocumentpage10</formula>对P'(k)作少点FFT运算,求得r'(n)。在这里,以时间抽取FFT(即DIT)中的FFT为例说明r'(n),只需要作r点的FFT即可获得r'(n)。令W;"Lkn=e)TT,Y'(k)=|X'(k)|2可见,只需要将传统的蝶形运算的旋转因子加以修改即可用r点实现r'(n)的FFT,如图2所示。图2是关于传统的蝶形因子和本发明所作改进的蝶形因子的比较示意图。⑤再通过r(n)=r'(n)e—"n/、即可获得插值后序列的自相关函数r(n)。根据本发明,由于所设计的FIR维纳滤波器阶数为N,且根据滤波器系数的对称性,所需求解的滤波器系数个数仅为(N-l)/2+l点(远小于rXL),考虑到自相关矩阵中的元素{r(0),r(L),...r((K_l)XL)},其所对应维纳霍夫方程求解所需的自相关函数也相应地仅需要(N-l)/2+l+(K-l-N/2L)点。因此,在通过功率谱密度函数P'(k)经IFFT运算求解自相关函数r(n)时,其IFFT输出信号r(n)所需要的非零点个数仅为前(N_l)/2+l点,即{r((K/2+1)XL),r((K/2+2)XL),...,r((K_l)XL)},故可以采用FFTpriming算法进一步降低运算复杂度,其中采用的FFTpriming输出端少点算法的示意如图3所示。实施例5.直接对序列P(k)作FFTpruning变化获得自相关函数r(n)。考虑P(k)为一含噪信号,采用判决门限法对其进行去噪处理,设判决门限为T,若P(k)<T,则P(k)=0。得到一点数少于r点的序列P'(k),对其采用输入输出都为少点的FFTpriming算法即可得自相关函数r(n)。关于判决门限T的选取,本领域技术人员可以通过仿真实验方式来适当地选择,同时应当考虑滤波器及滤波方法所应用的不同
技术领域
,例如图像滤波处理或移动通信等来适当地选择。关于如何选取判决门限T,在此不再赘述。这里,本领域技术人员应该理解的是,可以从滤波器的阶数和输入信号的信噪比质量两方面来适当地选择实施例3至实施例5,以期在运算量、运算速度、以及所需的队列存储器的存储空间大小等方面获得改进。(4)(5)有'P(k)={P(0),...,P(|-1),g,…,g,P(r.L-i),…,P(r'L-1)},£点(L—l)r点r点11具体的,一方面,当滤波器的阶数较低时,优选地选择实施例3;而当阶数较高时,则可选择实施例4或实施例5。例如,若滤波器的长度(阶数)大于25,诸如31、49等,则实施例3的运算复杂度会成比例增加,因此优选地使用实施例4或实施例5;进而,当滤波器长度继续增大时,例如超过100点,则实施例4的运算复杂度也会急剧增加,故优选地采用实施例5。另一方面,当输入信号中所含噪声信号较大时,即信号的信噪比较低时,优选地选择采用阈值判决的实施例5。3.维纳霍夫方程化简维纳滤波器系数求解是通过维纳霍夫(Wiener-Hoff)方程实现的,如下wLMMSE=(Ryy)_1rSy=(R$s+cj21)—工r效(7)其中,R效为输入序列的自相关矩阵,02为噪声方差,rsy为滤波器输入输出信号的互相关向量。因此,对一N阶维纳滤波器,需要求解NXN阶矩阵的逆。采用如上所述的根据本发明的多相分解结构后,维纳滤波器系数求解转化为每一分支上的维纳霍夫方程求解。由于采用多相分解后的各分支滤波器系数排列呈等差数列并且其差为插值倍数L,如下所示「r(O)r*(L)…"((K一l).L)l—r(L)r(O)…;;…...r*(L).r((K-l).L)…r(L)r(O).因此可以在求解维纳霍夫方程的求逆运算中,仅通过求解一次KXK阶的矩阵求逆,即可获得每一分支上的自相关矩阵求逆,因此可以相应地大大降低运算量。再分别乘以各自分支对应的互相关系数矩阵,即可得L个K阶维纳插值滤波器系数。当然,本领域技术人员应该可以理解的是,这里仅是以通过求解维纳霍夫方程的求逆运算实现的维纳滤波器为例进行说明,并非用于限制本发明的范围。在本说明书相关内容的教示下,本领域技术人员还可以通过适当的修改或补充,来实现本领域所公知的其他形式的滤波器。另外,这里也不对滤波器的阶数作任何限制。在本发明的教示下,本领域技术人员可以适当地设置滤波器的阶数。4.高效多相分解结构通过Nobel恒等式可以将传统插值滤波器升采样运算置于滤波器多相各分支处理之后,故可以降低滤波器处理频率,使滤波器中的乘法器处在较低的工作频率,以降低功耗。其高效多相分解结构如图4所示。關剤诸i殳i十为了配合上面说明的根据本发明的多相插值滤波器的处理,需要相应地设计队列存储器,以便在相应步骤中适当地存储处理中/处理后的数据。下面,分别从两个方面,即从时序关系和信号滤波处理两方面来说明根据本发明设计的队列存储器的结构。假设本发明所设计的滤波器系数长为2N+1,插值倍数为L,采用多相分解结构后,12滤波器的每一相系数为2N/L。首先,针对时序关系来说,假设输入信号x进入滤波器的时刻在时序图上对应于时刻1,则在时刻N/L之前,信号x与滤波器多相系数的乘积均需要作入队处理,并且从时刻N/L+l时刻至2N/L时刻信号x均需要作出队处理。故信号x与滤波器系数的乘积是以栈的方式(后进先出)出入队列。针对信号插值滤波来说,由于滤波器系数的对称性,信号x在与滤波器前N点相乘的结果,在后N点以栈方式读出所存储的前N点相乘的结果作为后N点相应的结果,这是因为滤波器系数中是以点N+l为轴两侧呈镜像对称。考虑到信号为连续进入滤波器,为了简化队列存储器,故采用如图5所示的两端队列,对入队的每个序列点x表现为栈结构输出。同时,考虑到该滤波器为多相滤波器,故信号x分别与滤波器多相系数的每一相乘积的结果并行同时入队。具体的,在FPGA或ASIC设计中,如果直接按照图4所示的原理结构进行逻辑实现,并行乘法运算将会消耗大量的逻辑资源;对于一FIR插值滤波器,由于其线性相位,滤波器系数呈偶对称,如下面给出的式(8)所示。因此在实际中,可以考虑利用滤波器偶对称的特点进一步降低乘法运算量以减少逻辑资源消耗。h(i)=h(N-l-i),iG[O,N-l](8)进而,由于滤波器的对称性,其多相分支系数还可以写成「Eo(z)=h(O)+h(6)z-1+h(12)z-2+h(6)z-3Ejz)=h(l)+h(7)z-1+h(ll)z-2+h(5)z-3JE2(z)"(2)+h(8)z-丄+h(10)z-2+h(4)z-3卩9、jE3(z)=h(3)+h(9)z-1+h(9)z-2+h(3)z-3、"E4(z)=h(4)+h(10)z—1+h(8)z一2+h(2)z一3、Es(z)=h(5)+h(ll)z-1+h(7)z-2+hCQz-3利用各分支系数之间的对称性,设置一类似队列结构的查找表,如图5所示,对于每一输入信号,通过查找表避免其第二次与相同系数的乘法运算,以降低乘法运算次数。设输入信号{...1(1)...},其当前时刻多相滤波器系数对应列分支为仏(j),h(j+l),h(j+2),h(j+3),h(j+4),h(j+5)},滤波器进行当前乘法动作的时刻为tk(k>0)。根据本发明的队列存储器可执行如下处理1.计算x(i)与仏(j),h(j+l),h(j+2),h(j+3),h(j+4),h(j+5M的乘法结果,记为{x(i)h(j),x(i)h(j+l),x(i)h(j+2),x(i)h(j+3),x(i)h(j+4),x(i)h(j+5)};2.将该乘法结果与tk时刻其余列的乘法结果相加,得出该时刻滤波器相应各分支输出结果;3.将(x(i)h(j),x(i)h(j+l),x(i)h(j+2),x(i)h(j+3),x(i)h(j+4),x(i)h(j+5)}存入队列存储器中;4.在t班—hk时刻,不再计算x(i)与其相应分支系数乘积,而将tk时刻所存储的乘法结果逆序得到{x(i)h(j+5),x(i)h(j+4),x(i)h(j+3),x(i)h(j+2),x(i)h(j+l),x(i)h(jM,将此结果与其余列的乘法结果相加,得出该时刻滤波器相应各分支输出结果,随后释放相应的队列存储器,对x(i+N/L-l-k)所对应的多相滤波器系数的对应列分支开始执行循环操作。根据上述实施例中的相关设计,如图7所示,可以得到利用多相维纳插值滤波器进行滤波处理的示意图。滤波处理方法下面,将会举例说明利用根据本发明的多相插值滤波器和队列存储器所实现的滤波处理方法。这里,该滤波处理方法可以应用到长期演进项目(LTE)系统信道估计频域插值滤波当中。参考如上所述的滤波器设计和队列存储器设计部分的讨论,对应地说明滤波处理方法的具体步骤。1.滤波器阶数的选择其中,具体的LTE系统参数,如表1所示。表l<table>tableseeoriginaldocumentpage14</column></row><table>该实施例的维纳插值滤波器阶数为24阶(滤波器长度N=25),插值倍数为6,每分支滤波器阶数为4。X(n)表示进行零插值之前的离散序列。插值滤波器原型为H(z)=h(-12)+h(-11)z—丄+h(-10)z—2+."+h(-1)z—"+h(0)z—12+h(1)z—13+...+h(10)z—22+h(11)z—23+h(12)z—24。采用多相分解结构后的滤波器各分支为<formula>formulaseeoriginaldocumentpage14</formula>2.自相关函数的计算例如,输入信号为X(k)=(0)^(1),..^(99)},插值倍数为6。步骤(1),对输入信号X(k)作IFFT得到x(n);下面分别对应上面提到的实施例1和实施例2说明如下如果采用实施例l,则首先,对输入信号x(n)作100点FFT得到X(k);再在X(k)中间插500个零得到插值后信号Y(k)。如果采用实施例2,则首先,对输入信号x(n)每两个点之间插入5个零得到插值后序列,之后在序列中间补零使其成为2的整数次幂。0149]补零后的序列为0150]S(n)={x(0),0,…,x(l),...,x(49),0151]之后,对插值后序列S(ii)采用FFTpriming算法变换得到插值后信号Y(k);这里,FFTpruning算法的输入点数仅为100点,因此输出也仅为100点。0152]最后,将XintCTp(k)序列中间的896点置零,得到插值后信号Y(k)。0153]下面,以插值后为21Q=1024点序列为例进行说明,当然本领域技术人员还可理解的是,例如600点序列的包含其他适当点数的序列也同样是适用的。0154]步骤(2),插值后信号Y(k)的频域自相关函数r(k)所对应的功率时延包络如下所不0155]0156].,0,0,■■,0,x(50),0■■,x(99),0,…,0};300点424点300点P(n)=|y(n)y(n)Xy*(n)lx(m)卩=《0mE,nne其他x(m)l2me[50,99],ne[210-50,210-1]步骤(3),对P(k)作IFFT得到插值后信号的自相关函数。下面,分别对应于如上所述的实施例3、实施例4和实施例5说明如下如果采用了实施例3,则直接由离散傅立叶变换(DFT)的矩阵表示可得"n)=,—12'^^可得其矩阵表示为0157]0158]0159]0160]0161]输出序列N点Lr一N点0162]0163]KO)、r(N_l》12X1e-j2^-l)/NFFTe-j8TT/NFFTe-jl2it/NFFT-j2Tt(r'L—3)/NFFT-j2(N_i:)TT(^_l)/NFFTe—j2(N—l)TlOL—5)/NFFT...g.e-j2TT(r.L-l)/NFFT\e-j4ii:(r'L—1)/NFFTe-j6TU(r.L_l)/NFFT-j2(N-l)TT(r-L—l)/NFFT/P(O)i2xioo\P(rL—100x1如果采用了实施例4,则首先,对P(n)信号进行功率时延包络搬移,得到lx(m)l2P'(n)=〗lx(m)l2、0me[50,99],nem£,ne[50,99]其他设x'(m)U(n)50^nS990SnS49:152100170]之后,对y'(n)作少点FFT运算,求得Y'(k)。0171]值得注意的是,在这里的FFT是100点的少点FFT运算,并且采用的是输出端少点FFTpruning算法。0172]最后,再通过r(k)=r'(k).eJ2,k/2l°,即可获得插值后序列的自相关函数r(k)。0173]如果采用了实施例5,则0174]首先,设置噪声判决门限T,若P(k)〈T,则P(k)=0;0175]其次,直接对序列P(k)作输入输出均为少点的FFTpriming变化,由此获得自相关函数r(n)。0176]3.维纳霍夫方程化简3-1.各分支(R4x4+o2I)—H十算由于每一分支系数均为公差为L=6的等差数列,因此每一分支的自相关系数矩0168]由于"k)=^2^。-lp'(n)e-J,画]e—j2Ttkn0177]0178]车均为0179]R4x4=(12)r(O)r*(6)r*(12)r*(18)ir(6)r(O)r*(6)r*(12)r(12)r(6)r(O)r*(6)r(18)r(12)r(6)r(O)0180]其中,r(t)=RE{E[h(x+Oh*(x)]}。为了保证维纳滤波器为FIR滤波器,故仅取实部部分。0181]接下来,对(R4x4+o2I)—1求逆时,可以采用奇异值分解(singularvaluedecomposition,艮卩SVD)简化计算。0182]令Rh=R4X4,对矩阵Rh采用SVD分解有Rh=USVH,贝U(Rh+o2I)—1=(o2I+USVH)—1(13)再由矩阵求逆引理,得=(。21)-L(。21)-力(S—'+V11(。21)—力)—h(。21)—1(14)因为u和vH满足yHu=I(15)0183]0184]0185]0186]0187]其中,S-1+^I为一对角阵,定义S。=(S-1+*I),有CT2CT20188]0189]0190]0191]0192]0193]互相关向量。0194]对应的互相关列向量各分支系数如表2所示,0195]表2(16)3-2.维纳滤波器系数计算维纳滤波器系数求解是通过Wiener-Hoff方程实现的,即w國se=(Rm+a21)—、(17)其中,rm为输入序列的自相关矩阵,02为噪声方差,1^为滤波器输入输出信号的16<table>tableseeoriginaldocumentpage17</column></row><table>将(R4x4+o2I)—工分别乘以每一分支的自相关列向量可得每一分支的维纳滤波器系数。4.高效多相分解结构利用Nobel恒等式,可以将图6所示的滤波器原型的前级联中设置的升采样单元移至根据本发明的多相滤波器之后,这样可以使多相滤波器中每个乘法器运算频率降低L倍,从而进一步降低滤波器的功耗。5.插值滤波过程由于所得到的是一个FIR滤波器以及FIR滤波器的对称性,因此多相分支系数可以写成式(9)所示%(z)=h(O)+h(6)z-1+h(12)z-2+h(6)z-3E工(z)=h(l)+ha)z-1+h(ll)z-2+h(5)z-3「02031JE2(Z)=h(2)+h(8)z—1+h(10)z_2+h(4)z—3)E3(z)=h(3)+h,-1+h(9)z-2+h(3)z-3E4(z)=h(4)+h(10)z-1+h(8)z-2+h(2)z-3JEs(z)=h(5)+h(ll)z-1+h(7)z-2+h(l)z-3请参考图5,滤波过程中队列的入队出队过程如图5所示,输入滤波器插值前的离散序列X(n)=(x(0),x(l),x(2),x(3),…)。在时刻t。,x(0)分别与每一分支第一列系数相乘,并在分支内求和,得到滤波器输出结果。同时,存储信号序列{x(0)h(0),x(0)h(1),...,x(0)h(5)}。在时刻tl,x(O)分别与每一分支第二列系数相乘,x(l)分别与每一分支第一列系数相乘,并在分支内求和,而得到滤波器输出结果。同时,将信号序列k(l)h(0),x(l)h(1),,x(1)h(5)}{x(0)h(6),x(0)h(7),,x(0)h(11)}分别存储到队列存储器中。在时刻t2,x(O)分别与每一分支第三列系数相乘,x(l)分别与每一分支第二列系数相乘,x(2)分别与每一分支第一列系数相乘,并在分支内求和,得到滤波器输出结果。注意,在x(O)分别与每一分支第三列系数相乘时,由于第三列系数除h(12)夕卜,均与^时刻系数相同,故无需再次计算,从队列存储器中将原先存储的结果取出即可。同时,信号序列{x(2)h(0),x(2)h(1),,x(2)h(5)}{x(1)h(6),x(1)h(7),,x(1)h(11)}分别存储到队列存储器中。在时刻^,需要x(O)分别与每一分支第四列系数相乘,x(l)分别与每一分支第三列系数相乘,注意,这些乘法结果均已经在t2时刻存储在队列存储器中,故无需再次计算,直接将原先存储的结果取出即可。同时,信号序列{x(3)h(0),x(3)h(1),...,x(3)h(5)}{x(2)h(6),x(2)h(7),,x(2)h(11)}分别存储到队列存储器中。值得注意的是,这里的{x(3)h(0),x(3)h(1),...,x(3)h(5M存储到对应于原先存储信号序列副h(O),x(O)h(l),...,x(0)h(5M的存储单元中,故存储单元可以被重复使用。此后,循环上述操作。明显的,对于输入信号的每一个值,其计算量均减少为原来的一半。i愤,靴,下面,通过比较通过传统滤波器及其滤波方法与根据本发明的滤波器及其滤波方法的计算复杂度,展示出根据本发明的多相滤波器及其滤波方法所取得的有益技术效果。在如下所示的表3中,分别比较了在如上所述的各步骤中传统滤波方法和本发明所提供的改进滤波方法的效果。表3<table>tableseeoriginaldocumentpage18</column></row><table>相应地,在下面给出的表4中示出了运算复杂度的比较。表4<table>tableseeoriginaldocumentpage19</column></row><table>综上,根据本发明所提供的技术方案包含以下关键技术点第一,根据多相滤波器各分支系数呈等差数列,且公差恒为插值倍数L的特点,将N阶维纳滤波器系数计算的N阶矩阵求逆简化为N/L阶矩阵求逆,以减少系数计算的运算第二,根据FIR插值滤波器系数偶对称的特点,将tk时刻的乘法运算结果保存起来,在tNA—k时刻通过从队列存储器直接取出tk时刻的乘法运算结果而不需要再次进行乘法运算,从而减少乘法器运算次数。第三,根据原始信号与插值后信号的频谱多零点的特点,通过频谱搬移,只需要采用原始信号长度的类似FFT运算及FFTpriming算法而不需要直接采用插值后信号的FFT即可获得插值后信号的自相关函数,大幅减少了FFT运算量。最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。权利要求一种数字信号的滤波方法,通过多相滤波器对时域或频域上的数字信号进行插值滤波,其特征在于,所述滤波方法包括下列步骤步骤A.多相滤波器系数自适应处理步骤,其中根据输入的数字信号、所述多相滤波器的长度2N+1、以及插值倍数L,自适应地改变所述多相滤波器的各分支滤波器系数,其中N和L都是大于等于2的正整数,并且所述多相滤波器的各分支滤波器系数呈偶对称;步骤B.多相滤波器插值滤波步骤,其中所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘,并在各分支内求和,以得到所述多相滤波器的输出结果。2.根据权利要求1所述的滤波方法,其特征在于,在所述步骤B中进一步包括如下步骤在每次所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘之后,通过至少一个以栈方式进出的存储器,利用所述多相滤波器的各分支滤波器系数的偶对称特性,使得所述输入信号序列与所述多相滤波器的前N点相乘的结果作为所述输入信号序列与所述多相滤波器的后N点相乘的结果以栈的方式被读出,其中栈方式进出是指以后进先出方式进出所述存储器。3.根据权利要求1所述的滤波方法,其特征在于,通过删除多相滤波器中的一个系数,以使滤波器系数成为等差数列形式。4.根据权利要求1所述的滤波方法,其特征在于,所述步骤A中的自适应地改变所述多相滤波器的各分支滤波器系数的处理进一步包括下列步骤步骤A-l.求解输入信号的自相关函数矩阵;步骤A-2.对所述自相关函数矩阵的各分支作求逆运算;以及步骤A-3.根据输入信号的自相关函数矩阵、多相滤波器的输入输出信号的互相关向量、以及噪声方差,求解所述多相滤波器的各分支滤波器系数。5.根据权利要求4所述的滤波方法,其特征在于,所述步骤A-1进一步包括下列步骤步骤A-l-l.对输入信号作快速傅立叶变换得到其对应的频域信号;步骤A-l-2.计算所述频域信号各分支的功率谱密度,得到功率谱密度矩阵;以及步骤A-l-3.对所述功率谱密度矩阵作快速傅立叶逆变换,以得到输入信号的自相关函数。6.根据权利要求4所述的滤波方法,其特征在于,所述步骤A-1进一步包括下列步骤步骤A-l-4.对输入信号作快速傅立叶逆变换得到其对应的时域信号;步骤A-l-5.计算所述时域信号各分支的功率时延包络,得到功率时延包络矩阵;以及步骤A-1-6.对所述功率时延包络矩阵作快速傅立叶变换,以得到输入信号的自相关函数。7.根据权利要求5或6所述的滤波方法,其特征在于,在所述步骤A-l-l或步骤A-l-4中,先对长度为r的输入信号作快速傅立叶变换或快速傅立叶逆变换以得到输入信号离散序列,之后在所述输入信号离散序列中插入(L-l)Xr个零。8.根据权利要求5或6所述的滤波方法,其特征在于,在所述步骤A-l-l或步骤A-l-4中,先对长度为r的输入信号每两点之间插入L-l个零,再对插值后的输入信号作快速傅立叶变换或快速傅立叶逆变换的pruning算法处理以得到输入信号离散序列。9.根据权利要求5或6所述的滤波方法,其特征在于,在所述步骤A-l-3或步骤A-l-6中,先删除所述功率谱密度矩阵中多余的零,再对其进行离散傅立叶变换或离散傅立叶逆变换。10.根据权利要求5或6所述的滤波方法,其特征在于,在所述步骤A-l-3或步骤A-l-6中,先平移所述功率谱密度矩阵中的各元素,再对其进行少点的离散傅立叶变换或离散傅立叶逆变换。11.根据权利要求5或6所述的滤波方法,其特征在于,在所述步骤A-l-3或步骤A-l-6中,通过设置噪声判决门限T,当所述功率谱密度矩阵或功率时延包络矩阵中的各元素小于T时就将该元素置位为零,而当所述功率谱密度矩阵或功率时延包络矩阵中的各元素大于等于T时保持该元素不变,对经过门限判决处理后的序列作快速傅立叶变换或快速傅立叶逆变换的pruning算法处理。12.根据权利要求4所述的滤波方法,其特征在于,在所述步骤A-3中,通过维纳霍夫方程来求解所述多相滤波器的各分支滤波器系数。13.根据权利要求2所述的滤波方法,其特征在于,所述步骤B还包括下列步骤步骤B-l.在时刻tk,其中0《k《N/L,所输入的数字信号序列分别乘以根据步骤A处理后的系数列向量中的对应列的滤波器系数,将其中一列的滤波器系数与其余列的对应乘法结果相加,得到该时刻滤波器各分支的对应输出结果,并且将该输出结果保存在存储器当中;步骤B-2.在时刻tm,其中(N/L)+l《m《(2N/L),停止计算输入信号与其对应的分支系数的乘积,而从所述存储器中逆序取出所保存的步骤B-1中的输出结果作为一列的滤波器系数,并且与其余列的乘法结果相乘,得到该时刻滤波器各分支的对应输出结果,同时释放存储器中相应的存储空间。14.一种多相滤波器,在数字信号处理操作中所使用,对于时域或频域上的数字信号进行滤波处理,其特征在于,所述多相滤波器具有线性相位并且系数呈偶对称,并且自适应地改变所述多相滤波器的各分支滤波器系数,所述多相滤波器至少包括多相滤波器系数自适应处理模块,其中根据输入的数字信号、所述多相滤波器的长度2N+1、以及插值倍数L,自适应地改变所述多相滤波器的各分支滤波器系数,其中N和L都是大于等于2的正整数,并且所述多相滤波器的各分支滤波器系数呈偶对称;禾口多相滤波器插值滤波模块,其中所述输入信号分别与所述多相滤波器的各分支滤波器系数相乘,并在各分支内求和,以得到所述多相滤波器的输出结果。15.根据权利要求14所述的多相滤波器,其特征在于,所述多相滤波器系数自适应处理模块进一步包括自相关函数计算模块,其用于求解输入信号的自相关函数矩阵;求逆运算模块,其对所述自相关函数矩阵的各分支作求逆运算;以及滤波器系数计算模块,其根据输入信号的自相关函数矩阵、多相滤波器的输入输出信号的互相关向量、以及噪声方差,求解所述多相滤波器的各分支滤波器系数。16.根据权利要求15所述的多相滤波器,其特征在于,所述自相关函数计算模块进一步执行下列步骤对输入信号作快速傅立叶变换得到其对应的频域信号;计算所述频域信号各分支的功率谱密度,以得到功率谱密度矩阵;以及对所述功率谱密度矩阵作快速傅立叶逆变换,以得到输入信号的自相关函数。17.根据权利要求15所述的多相滤波器,其特征在于,所述自相关函数计算模块进一步执行下列步骤对输入信号作快速傅立叶逆变换得到其对应的时域信号;计算所述时域信号各分支的功率时延包络,得到功率时延包络矩阵;以及对所述功率时延包络矩阵作快速傅立叶变换,以得到输入信号的自相关函数。18.根据权利要求16或17所述的多相滤波器,其特征在于,在所述对输入信号作快速傅立叶变换或快速傅立叶逆变换得到其对应的频域信号或时域信号的步骤中,先对长度为r的输入信号作快速傅立叶变换或快速傅立叶逆变换以得到输入信号离散序列,之后在所述输入信号离散序列中插入(L-l)Xr个零。19.根据权利要求16或17所述的多相滤波器,其特征在于,在所述对输入信号作快速傅立叶变换或快速傅立叶逆变换得到其对应的频域信号或时域信号的步骤中,先对长度为r的输入信号每两点之间插入L-l个零,再对插值后的输入信号作快速傅立叶变换或快速傅立叶逆变换的pruning算法处理以得到输入信号离散序列。20.根据权利要求16或17所述的多相滤波器,其特征在于,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,先删除所述功率谱密度矩阵或功率时延包络矩阵中多余的零,再对其进行离散傅立叶变换或离散傅立叶逆变换。21.根据权利要求16或17所述的多相滤波器,其特征在于,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,先平移所述功率谱密度矩阵或功率时延包络矩阵中的各元素,再对其进行少点的离散傅立叶变换或离散傅立叶逆变换。22.根据权利要求16或17所述的多相滤波器,其特征在于,在所述对所述功率谱密度矩阵或功率时延包络矩阵作快速傅立叶逆变换或快速傅立叶变换,以得到输入信号的自相关函数的步骤中,通过设置噪声判决门限T,当所述功率谱密度矩阵或功率时延包络矩阵中的各元素小于T时就将该元素复位为零,而当所述功率谱密度矩阵或功率时延包络矩阵中的各元素大于等于T时保持该元素不变,对经过门限判决处理后的序列作快速傅立叶变换或快速傅立叶逆变换的pruning算法处理。23.—种数字信号处理系统,其特征在于,所述数字信号处理系统至少包括根据权利要求14-17中任一项所述的多相滤波器、以及具有栈结构且具有后进先出的出入顺序的队列存储器。全文摘要一种多相滤波器、数字信号处理系统和滤波方法。根据本发明的数字信号处理系统(100)中包括多相插值滤波器(101)和队列存储器(102)。进而,多相插值滤波器(101)还包括滤波器系数自适应处理模块(1001)和滤波器系数矩阵(1002)。根据本发明设计的多相滤波器、数字信号处理系统和滤波方法可以降低滤波器的功耗,简化滤波器的计算复杂度,并且可以进一步降低系统资源开销。文档编号H03H17/00GK101741348SQ20091024182公开日2010年6月16日申请日期2009年12月9日优先权日2009年12月9日发明者唐治汛申请人:北京天碁科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1