一种有限脉冲响应滤波器的制作方法

文档序号:7523269阅读:287来源:国知局
专利名称:一种有限脉冲响应滤波器的制作方法
技术领域
本发明涉及电子行业数字信号处理技术领域,尤其涉及一种基于乘累加器的有限脉冲响应(Finite Impulse Response,简称 FIR)滤波器。
背景技术
HR滤波器在数字通信系统中有着广泛应用,业界也一直致力于改善其滤波性能。 该滤波器可以用来执行多种工作,比如匹配滤波、噪声隔绝、信道等化等。
一般情况下,FIR滤波器算法可以表示为
γ (k) =1! 1 ! -!), k=0,1,2,……,Nx_i (公式 1)
其中,H向量为滤波系数,其数目为K个,包含元素为H(O) H(K-I) ;X向量为待滤波的数据,其数目为Nx个,包含待滤波数据元素为X(0) X(Nx-I),算法中使用到的X向量索引小于0的部分,均用零代替;Y向量为滤波输出,其数目为Nx个,包含元素为Y (0) Y(Nx-I)。现有技术中,有多种结构及实现方法被提出来,以加速和简化FIR滤波器算法。
中国专利CN 1525642A公开了一种可重新配置的有限脉冲响应滤波器,该滤波器结构针对固定应用场合有较高的效率,其构造如图1所示。参照图1,该滤波器的工作过程如下根据应用场合固定滤波系数个数K,而后根据该K个滤波器系数设计K个数字处理单元,K个滤波系数预先存储在数字处理单元中,当待滤波数据从图1中左边输入时,每次可以完成K个待滤波数据和K个滤波系数的乘法运算,然后再横向累加,得到1个滤波结果, 从图ι所示FIR滤波器的右边输出。
在实现本发明的过程中,申请人意识到现有技术HR滤波器存在如下技术缺陷
1)当滤波系数K数目较大时,现有技术HR滤波器一般是将各个滤波系数同待滤波数据相乘,得到子结果,这个过程是并行完成,但是之后将各个子结果相加得到滤波结果时,该累加所需时间直接取决于滤波系数个数,在滤波系数数目较大的时候,滤波结果输出的关键路径很长,严重影响其工作效率;
2)数字处理单元个数受限于滤波系数个数,必须确定了应用场合中滤波系数的个数后,才能固定数字处理单元的个数,缺乏应用灵活性。即当滤波器系统固定后,该滤波器系统仅适用于一种应用场合,该场合所需滤波系数个数固定;
3)在一维滤波应用中,待滤波数据存在着局部性原理,加载重复的数据使得待滤波数据的使用效率很低,另外重复的访问存储器一方面会有较大的时间开销,另一方面会增大系统的功耗。发明内容
(一)要解决的技术问题
为解决上述的一个或多个问题,本发明提供了一种有限脉冲响应FIR滤波器,以提高FIR滤波器的工作效率。
(二)技术方案
根据本发明的一个方面,提供了一种有限脉冲响应FIR滤波器。该FIR滤波器包括滤波系数提供模块,用于预存K个滤波系数;在第η个运算周期,接收到读使能信号后, 提供1个滤波系数H(i);待滤波数据提供模块,用于预存Nx个待滤波数据;在第η个运算周期,接收到读使能信号后,提供1个待滤波数据组,该待滤波数据组包括BS个待滤波数据 X(nBS-i),X(nBS-i+l),……,X[ (n+l)BS-i_l],当待滤波数据的向量索引小于0时,该待滤波数据以0代替;乘法器,包括并行的BS个乘法单元;每一个乘法单元均与滤波系数提供模块和待滤波数据提供模块相连接,用于实现滤波系数H(i)与待滤波数据组中的1个待滤波数据的乘积运算;累加器,其控制端与比较器相连接,包括并行的BS个累加单元;每一累加单元与对应的乘法单元和累加寄存器中寄存单元相连接,用于实现乘法单元的当前乘积结果与寄存单元的中间数据的累加运算;累加器还用于当接收到比较器的输出有效信号时,将BS个累加结果作为第η组滤波结果输出;否则,将BS个累加结果作为中间数据分别输出至累加寄存器中对应的寄存单元;累加寄存器,包括BS个寄存单元;每一寄存单元的输入端和输出端分别与相应累加单元的输出端和输入端相连接,用于存放累加运算的中间数据;比较器,用于进行运算序号与滤波系数个数K的比较运算,当运算序号=K-I时,向累加器发送输出有效信号,随后执行第η+1个运算周期,运算序号为在第η个运算周期中,已经完成的乘积运算或累加运算的次数。(三)有益效果从上述技术方案可知,本发明HR滤波器具有以下有益效果1)并行计算的高效率,本发明采用BS个并行的乘法单元,可以同时进行BS个乘法运算,同时将BS个乘法结果同相应的寄存器中值并行进行BS个加法运算,从而大大提高了运算效率,节约运算时间,并且所有的控制信号均是数字信号,避免了采用延迟单元等模拟单元所带来的运算不准确性,提高了运算精度;2)可重构性,本发明在缓存空间尺寸范围内的滤波系数个数情况下,均取得高效的滤波效果,即使当滤波系数的个数发生变化时,只要其在缓存空间的范围之内,就不用重新更改相应硬件,从而实现了相当好的重构性;3)待滤波数据高利用率,本发明通过在整个算法层面分析,使用待滤波数据缓存器和滤波系数缓存器结构,充分利用了待滤波数据局部性原理,没有重复加载待滤波数据的现象,并且每访问一次存储器,可得出BS个结果,减少存储器访问次数,从而达到了“一次读取,多次计算”的效果,进而降低了整个设计的功耗。


图1为现有技术FIR滤波器的结构示意图;图2为本发明实施例FIR滤波器的结构示意图;图3为本发明实施例FIR滤波器中滤波系数缓存器的示意图;图4为本发明实施例FIR滤波器中待滤波数据缓存器的示意图;图fe为本发明实施例FIR滤波器在BS = 4时待滤波数据缓存器存储空间为4BS 下编码和初始化后的示意图;图恥为如图如所示待滤波数据缓存器在移位后的示意图;图6为本发明实施例FIR滤波器有效偏移地址产生图的示意图7a为本发明实施例FIR滤波器在BS = 4时待滤波数据缓存器存储空间为5BS 下编码和初始化后的示意图7b为如图6a所示待滤波数据缓存器在移位后的示意图为本发明实施例FIR滤波器中滤波系数在存储器中存储的示意图8b为本发明实施例HR滤波器中滤波系数在滤波系数缓存器中存储的示意图9a为本发明实施例FIR滤波器中待滤波数据在存储器中存储的示意图9b为本发明实施例FIR滤波器中待滤波数据在待滤波数据缓存器中存储的示意图IOa为本发明实施例FIR滤波器进行第1次乘累加运算的示意图IOb为本发明实施例FIR滤波器进行第2次乘累加运算的示意图IOc为本发明实施例FIR滤波器进行第18次乘累加运算的示意图IlA为当K’ = BS+3时本发明实施例待滤波数据缓存器初始化后的数据存储的示意图IlB为图IlA所述待滤波数据缓存器移位后的数据存储的示意图12A为当K’ = 3BS+2时本发明实施例待滤波数据缓存器初始化后的数据存储的示意图12B为图12A所述待滤波数据缓存器移位后的数据存储的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于所述值。
申请人发现,可以将公式1中HR滤波器的算法展开为如下的结果
权利要求
1.一种有限脉冲响应FIR滤波器,其特征在于,包括滤波系数提供模块,用于预存K个滤波系数;在第η个运算周期,接收到读使能信号后, 提供1个滤波系数H (i);待滤波数据提供模块,用于预存Nx个待滤波数据;在第η个运算周期,接收到读使能信号后,提供1个待滤波数据组,该待滤波数据组包括BS个待滤波数据X(nBS-i), X(nBS-i+l),……,X[(n+l)BS-i-l],当待滤波数据的向量索引小于0时,该待滤波数据以 0代替;乘法器,包括并行的BS个乘法单元;每一个乘法单元均与所述滤波系数提供模块和所述待滤波数据提供模块相连接,用于实现所述待滤波数据组中对应的1个待滤波数据与所述滤波系数H (i)的乘积运算;累加器,其控制端与比较器相连接,包括并行的BS个累加单元;每一累加单元与对应的乘法单元和累加寄存器中寄存单元相连接,用于实现所述乘法单元的当前乘积结果与所述寄存单元的中间数据的累加运算;所述累加器还用于当接收到所述比较器的输出有效信号时,将BS个累加结果作为第η组滤波结果输出;否则,将所述BS个累加结果作为中间数据分别输出至累加寄存器中对应的寄存单元;所述累加寄存器,包括BS个寄存单元;每一寄存单元的输入端和输出端分别与相应累加单元的输出端和输入端相连接,用于存放所述累加运算的中间数据;所述比较器,用于进行运算序号与滤波系数个数K的比较运算,当运算序号=K-I时, 向所述累加器发送输出有效信号,随后执行第η+1个运算周期,所述运算序号为在第η个运算周期中,已经完成的乘积运算或累加运算的次数。
2.根据权利要求1所述的HR滤波器,其特征在于,所述η依次取0、1、2、3,……, ceil(Nx/BS)-l, ceil为向邻近较大整数取值的符号。
3.根据权利要求2所述的HR滤波器,其特征在于,所述i依次取Κ-1、Κ-2、……、1、 O0
4.根据权利要求3所述的FIR滤波器,其特征在于,在每个运算周期中,所述运算序号从0开始,每次运算增加1,所述乘法器和累加器的其中之一,还用于向所述比较器提供所述运算序号;和/或所述比较器、乘法器和累加器的其中之一,还用于当运算序号< K-I时,向所述滤波系数提供模块和所述待滤波数据提供模块发送读使能信号。
5.根据权利要求4所述的HR滤波器,其特征在于,所述滤波系数提供模块包括 第二存储器,用于存储所述K个滤波系数;第二缓存器实体,包含K’个存储单元,K' ^K;第二初始化逻辑单元,与所述第二存储器和第二缓存器实体相连接,用于将所述K个滤波系数,Η[Κ-1]、Η[Κ-2]、……,H[l]及酬从所述第二存储器自前至后依次缓存入所述第二缓存器实体的前K个存储单元;第二读逻辑单元,用于收到读使能信号后,以K为周期,按自前至后的顺序依次读取所述第二缓存器实体存储单元中的一个滤波系数,并将该滤波系数发送至所述乘法器。
6.根据权利要求5所述的HR滤波器,其特征在于,所述K,=2BS+1。
7.根据权利要求5所述的HR滤波器,其特征在于,所述比较器,还用于当运算序号=K-I时,向所述待滤波数据提供模块发送移位信号;所述待滤波数据提供模块包括第一存储器,用于依次存储Nx个待滤波数据;第一缓存器实体,包含至少K’ -1+2BS个存储单元,该K’ -1+2BS个存储单元用于缓存待滤波数据;第一初始化逻辑单元,用于在第0个运算周期,对所述第一缓存器实体进行初始化,将地址为0 K,-2的存储单元初始化为0 ;将待滤波数据X(O) ,X(I)、X⑵,……,X(2BS-1) 从所述第一存储器依次缓存入所述第一缓存器实体的地址为K’ -1 K’ -2+2BS的存储单元;第一读逻辑单元,其控制端与所述比较器相连接,用于收到所述读使能信号后,以有效偏移地址为起点,按照自前至后的顺序依次读取所述第一缓存器实体中BS个存储单元的待滤波数据,并将该BS个待滤波数据发送至所述乘法器;第一移位逻辑单元,其控制端与所述比较器相连接,用于接收到所述比较器的移位信号后,将所述第一缓存器实体中地址为BS至K’-2+2BS的存储单元中的待滤波数据前移BS 个位置;从所述第一存储器中依次读取BS个待滤波数据依次缓存入所述第一缓存器实体中地址为K,-1+BS K,-2+2BS的存储单元。
8.根据权利要求7所述的HR滤波器,其特征在于,所述待滤波数据提供模块中第一缓存器实体包括4BS或5BS个存储单元。
9.根据权利要求7所述的HR滤波器,其特征在于,所述K’= 2BS+1时,所述有效偏移地址=K’ -K+运算序号。
10.根据权利要求9所述的HR滤波器,其特征在于,所述滤波系数提供模块中的第一存储器与所述待滤波数据提供模块中的第二存储器为同一存储器;该存储器还用于存储所述第η组滤波结果。
11.根据权利要求1至10中任一项所述的HR滤波器,其特征在于,所述滤波结果、滤波系数和待滤波数据的关系如下Y(O) =H (0) X (0) +H(I)X (-1) +H (2) X (-2) +—+H (K-I) X (-K+1)Y(I) = H (O)X(I)+H (I)X(O)+H (2) X (-1)+...+H (K-I) X (-Κ+2)Y(2) =H (0) X (2) +H(I)X(I) +H (2) X (0) +—+H (K-I) X (-Κ+3)Y(BS-I) = H(O)X (BS-I) +H(I)X (BS-2) +H (2) X (BS-3) +—+H (K-I) X (BS-K)Y(BS) = H(O)X (BS) +H(I)X (BS-I) +H (2) X (BS-2) +—+H (K-I) X (BS-K+1)Y(BS+1) = H(O)X (BS+1) +H(I)X (BS) +H (2) X (BS-I) +—+H (K-I) X (BS-K+2)Y(BS+2) = H(O)X (BS+2) +H(I)X (BS+1) +H (2) X (BS) +—+H (K-I) X (BS-K+3)Y(2BS-1) = H(O)X (2BS-1) +H(I)X (2BS-2) +H (2) X (2BS-3) +—+H (K-I) X (2BS-K)Y(Nx-I) = !1(0)父(队-1)+!1(1)父(队-2)+对2)父(队-2)+丨+!1(1^-1)父(1-10其中,所述Η(0)、Η(1)、Η(2)、……、H(K-I)为K个待滤波系数;所述 X (-K+1)、X (-Κ+2)、X (-Κ+3)、X (BS-K)、......、X (0)、X (1)、X (2)、......、X (BS-I)、X (BS)、X (BS+1)、X (BS+2)、……、X (2BS-1)、X (Nx-I)为 Nx 个待滤波数据;所述Y(O)、Y(I)、Y⑵、……、Y(BS-I)为第0组滤波结果;Y(BS)、Y(BS+1)、 Y(BS+2)、……、Y(2BS-1)为第1组滤波结果;Y(Nx-I)为最后1组滤波结果中的最后一个滤波结果。
全文摘要
本发明公开了一种有限脉冲响应FIR滤波器。该FIR滤波器由滤波系数缓冲器、待滤波数据缓冲器、乘法器、累加器、累加寄存器和比较器构成。其中滤波系数缓冲器用来缓冲滤波器中用到的系数,待滤波数据缓冲器用来缓冲待滤波数据,乘法器用来计算单个滤波系数与BS个待滤波数据的乘法结果,累加器用来计算乘法器输出和累加寄存器输出的和,累加寄存器用来存放累加器的结果,比较器的输出用来指示当前累加器的输出是否为滤波输出。本发明FIR滤波器可以达到并行计算的高效率。
文档编号H03H17/02GK102510273SQ201110442668
公开日2012年6月20日 申请日期2011年12月27日 优先权日2011年12月27日
发明者尹磊祖, 张志伟, 汪涛, 王东琳, 谢少林 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1