资源优化型FIR滤波器及其实现方法与流程
未命名
10-08
阅读:92
评论:0

资源优化型fir滤波器及其实现方法
技术领域
1.本发明涉及通讯技术和滤波器技术领域。更具体地说,本发明涉及一种资源优化型fir滤波器及其实现方法。
背景技术:
2.有限长滤波器(finite impulse response, fir)是数字信号处理系统中一种最基本的数字滤波器,在通信领域有着广泛的应用,主要可用于信号滤波、数字预失真对消等领域。随着通信带宽的增加和对信号质量要求的提升,fir滤波器的阶数也在逐渐增大。fir滤波器的时域表达式为,其中,n为样点的编号,h(k)为fir滤波器的第k个抽头的抽头系数,y(n)为第n个输出样点。fir滤波器中包括的加法器和乘法器与其包括抽头的数目成正比,当fir滤波器中包括大量的抽头时,其内包含大量的乘法器和加法器,如此使得fir滤波器的尺寸变的很大,功耗和成本也较高。在复杂通信系统中,需要多个高阶fir滤波器,逻辑实现的代价较大。不同场景下对fir滤波器在面积、功耗、速度方面的关注各不相同。高性能场景要求fir能工作在很高的运行速率上,而面向手持终端的场景需要更小的面积和功耗。针对不同场景下的fir滤波器的逻辑实现优化是一项具有挑战性的工作。因此,针对面积和速率敏感型应用使用高阶fir滤波器的场景,比如通信芯片中的数字滤波器,思考设计一种资源优化型fir滤波器,降低使用乘法器的数量,从而减少消耗的逻辑资源。
技术实现要素:
3.本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
4.为了实现根据本发明的这些目的和其它优点,提供了一种资源优化型fir滤波器,包括:数据延迟单元,其用于对输入数据进行延迟计算,得到实时延迟数据a0~am和b0~b3;数据预处理单元,其用于基于实时延迟数据a0~am和滤波器抽头系数实时计算,得到数据抽头混合变量;数据抽头混合内积计算单元,其用于基于数据抽头混合变量实时计算,得到数据抽头混合相乘分量;数据内积计算单元,其用于基于实时延迟数据b0~b3实时计算,得到数据内积分量;求和单元,其用于基于滤波器抽头系数计算,得到抽头内积分量,并储存,以及用于调用抽头内积分量、数据抽头混合相乘分量及数据内积分量求和,以及执行位宽处理后,即得fir滤波器的输出数据。
5.优选的是,实时延迟数据a0~am和b0~b3的生成法则如公式1所示:
公式1其中,x
(n)
表示n时刻的输入数据;当滤波器阶数n为奇数时,则令m=n+1,且抽头系数hm=0;当滤波器阶数n为偶数时,则令m=n。
6.优选的是,数据抽头混合变量的计算方法如公式2所示:公式2其中,h表示滤波器的抽头系数。
7.优选的是,数据内积分量、数据抽头混合相乘分量以及抽头内积分量的计算方法如公式3所示:公式3其中,d
xx
表示数据内积分量;d
xh
表示数据抽头混合相乘分量;d
hh
表示抽头内积分量。
8.优选的是,所述数据抽头混合内积计算单元和数据内积计算单元进行乘法运算时,还包括预编码子模块,其用于采用基4布斯编码方法对每串数据进行编码、部分积计算和映射,其中,编码、部分积计算和映射方法分别如公式4和公式5所示:公式4其中,xi、2xi、mi均表示预编码的编码结果,索引i由输入数据位宽决定;公式5其中,y
xi
表示单倍部分积;y
2xi
表示两倍部分积;ppti表示部分积映射结果;ei表示ppi的符号。
9.优选的是,所述数据抽头混合内积计算单元和数据内积计算单元进行乘法运算时,还包括压缩子模块,其用于对预编码子模块输出的部分积进行压缩并求和,如公式6所示:
公式6其中,每次输入4个数据d1、d2、d3、d4转换为中间变量tp1~tp7。。
10.提供所述资源优化型fir滤波器的实现方法,包括以下步骤:步骤一、对输入数据进行延迟计算,得到实时延迟数据a0~am和b0~b3;步骤二、基于实时延迟数据a0~am和滤波器抽头系数实时计算,得到数据抽头混合变量;步骤三、基于数据抽头混合变量实时计算,得到数据抽头混合相乘分量;步骤四、基于实时延迟数据b0~b3实时计算,得到数据内积分量;步骤五、基于滤波器抽头系数计算,得到抽头内积分量,以及基于抽头内积分量、数据抽头混合相乘分量及数据内积分量求和,即得fir滤波器的输出数据。
11.提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求所述的方法。
12.提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现权利要求所述的方法。
13.本发明至少包括以下有益效果:第一、本发明通过优化fir滤波器结构,减少需要使用的乘法器数量,具体通过重构滤波器内积,将原有的卷积求和修改为数据内积分量、数据抽头混合相乘分量和抽头内积分量。并考虑到抽头固定不变,提前存储抽头内积分量,并实时计算数据内积分量、数据抽头混合相乘分量,从而计算滤波器输出。
14.第二、针对重构后的fir滤波器结构,通过部分积预编码减少部分积分个数,以及使用压缩编码减少加法阵列逻辑延时,提升乘加逻辑运行效率。
15.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
16.图1为本发明的滤波器的各单元模块的连接结构的示意图;图2为本发明数据延迟单元实施例中的实现结构图;图3为本发明数据预处理单元实施例中的实现结构图;图4为本发明数据抽头混合内积计算单元实施例中的实现结构图;图5为本发明模块3-1实施例中的实现结构图;
图6为本发明模块3-1-1实施例中的实现结构图;图7为本发明模块3-2实施例中的实现结构图;图8为本发明模块3-2-1实施例中的实现结构图;图9为本发明模块3-2-2实施例中的实现结构图;图10为本发明数据内积计算单元实施例中的实现结构图;图11为本发明模块4-2实施例中的实现结构图;图12为本发明模块4-3实施例中的实现结构图;图13是本发明求和单元实施例中的实现结构图。
具体实施方式
17.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
18.需要说明的是,下述实施方案中所述实验方法,如无特殊说明,均为常规方法,所述试剂和材料,如无特殊说明,均可从商业途径获得;在本发明的描述中,术语指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,并不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
19.《实施例》以滤波器阶数n为19、20,输入数据和滤波器抽头均为16比特定点复数进行说明。如图1~13所示,模块1为数据延迟单元;模块2为数据预处理单元;模块3为数据抽头混合内积计算单元;模块4为数据内积计算单元;模块5为求和单元。
20.如图1~13所示,本发明资源优化型fir滤波器包括:数据延迟单元接受输入数据,将输入数据进行延迟,输出第一输出结果,a0、a1、
…
、a
18
、a
19
(共20个数据)和第二输出结果b0、b1、b2、b3(共4个数据),数据延迟单元如图2所示,其中,公式1x
(n)
表示n时刻的输入数据;当滤波器阶数n为奇数时,则令m=n+1,且抽头系数hm=0;当滤波器阶数n为偶数时,则令m=n。
21.数据预处理单元接受数据延迟单元的a0、a1、
…
、a
18
、a
19
和滤波器抽头系数h0、h1、
…
、h
18
、h
19
作为输入,输出c0、c1、
…
、c
18
、c
19
,数据预处理单元结构如图3所示,生成规则如公式2所示,公式2数据抽头混合内积计算单元接受数据预处理单元的c0、c1、
…
、c
18
、c
19
作为输入,使用2*20个模块3-1实现2*160个部分积生成,2个模块3-2分别实现160个部分积求和,得到第四输出结果d
xh
:dxh
表示数据抽头混合相乘分量。
22.如果n=19,则直接令h
19
=0即可。数据抽头混合内积计算单元如图4所示。
23.具体的,每个模块3-1,使用基4的布斯编码,将乘法计算(x*y)转换为8个部分积pp0~pp7,pp0~pp7的求和结果即为x*y,编码映射过程如图5所示。
24.其中,单个部分积的布斯编码及选择由模块3-1-1完成,图6中示出具体编码规则和部分积生成方式,图6的索引i=0,1,
…
,7。
25.编码公式:公式4其中,xi、2xi、mi均表示预编码的编码结果;单个部分积中间变量映射方式:公式5其中,y
xi
表示单倍部分积;y
2xi
表示两倍部分积;ppti表示部分积映射结果;ei表示ppi的符号。
26.最后使ppti表示部分映射成ppi。
27.如图7所示,模块3-2接受160个部分积,使用7级模块3-2-1压缩至2个数据,再通过模块3-2-2求和截位,得到所述第四输出结果。
28.如图8所示,每个模块3-2-1将4个数据压缩至2个数据,压缩方式如下:公式6如图9所示,模块3-2-2对压缩后的2个数据,首先截取f-2个比特(此处f=15),然后将数据分为高位部分和低2位部分,根据低2位的映射关系确定add1和add2,最后将2个输入数据的高位部分、add1和add2*2相加,得到第四输出结果(数据抽头混合相乘分量)。其中,add1和add2是两个标识;add1=1,表示需要在计算结果上加1;add1=0,表示不需要在计算结果上加1;add2=1,表示需要在计算结果上加2;add2=0,表示不需要在计算结果上加2。
29.如图10所示,数据内积计算单元接受数据延迟单元的第二输出结果b0、b1、b2、b3作为输入,使用模块3-1实现2*32个部分积生成,2个模块4-2分别实现32个部分积求和,并通过模块4-3进行累加得到第五输出结果:d
xx
表示数据内积分量。
30.具体的,如图11所示,模块4-2接受32个部分积,使用4级模块3-2-1将其压缩至2个数据,并通过模块3-2-2求和截位。
31.如图12所示,模块4-3使用延迟为2的累加器对模块4-2的输出进行累加,得到所述第五输出结果d
xx
。
32.如图13所示,求和单元,接受第四输出结果d
xh
(数据抽头混合相乘分量)、第五输出结果d
xx
(数据内积分量)和滤波器抽头预运算结果d
hh
(抽头内积分量),求和并截位饱和得到滤波结果。
33.其中,滤波器抽头预运算结果为:当滤波器阶数n=19时,则令h
19
=0。
34.通过上述滤波器的结构优化,使原本阶数为n的滤波器,需使用n个乘法器的现状改变为只需要使用(ceil(n/2)+2)个乘法器,ceil函数表示朝正无穷方向取整。即对于本实施例19和20阶滤波器,原来需要使用19和20个乘法器,经本技术结构优化后,均只需要使用12个乘法器,且阶数越高,收益越明显。
35.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
技术特征:
1.资源优化型fir滤波器,其特征在于,包括:数据延迟单元,其用于对输入数据进行延迟计算,得到实时延迟数据a0~a
m
和b0~b3;数据预处理单元,其用于基于实时延迟数据a0~a
m
和滤波器抽头系数实时计算,得到数据抽头混合变量;数据抽头混合内积计算单元,其用于基于数据抽头混合变量实时计算,得到数据抽头混合相乘分量;数据内积计算单元,其用于基于实时延迟数据b0~b3实时计算,得到数据内积分量;求和单元,其用于基于滤波器抽头系数计算,得到抽头内积分量,并储存,以及用于调用抽头内积分量、数据抽头混合相乘分量及数据内积分量求和,以及执行位宽处理后,即得fir滤波器的输出数据。2.如权利要求1所述的资源优化型fir滤波器,其特征在于,实时延迟数据a0~a
m
和b0~b3的生成法则如公式1所示:公式1其中,x
(n)
表示n时刻的输入数据;当滤波器阶数n为奇数时,则令m=n+1,且抽头系数h
m
=0;当滤波器阶数n为偶数时,则令m=n。3.如权利要求2所述的资源优化型fir滤波器,其特征在于,数据抽头混合变量的计算方法如公式2所示:公式2其中,h表示滤波器的抽头系数。4.如权利要求3所述的资源优化型fir滤波器,其特征在于,数据内积分量、数据抽头混合相乘分量以及抽头内积分量的计算方法如公式3所示:公式3其中,d
xx
表示数据内积分量;d
xh
表示数据抽头混合相乘分量;d
hh
表示抽头内积分量。5.如权利要求4所述的资源优化型fir滤波器,其特征在于,所述数据抽头混合内积计算单元和数据内积计算单元进行乘法运算时,还包括预编码子模块,其用于采用基4布斯编码方法对每串数据进行编码、部分积计算和映射,其中,编码、部分积计算和映射方法分别如公式4和公式5所示:公式4其中,x
i
、2x
i
、mi均表示预编码的编码结果,索引i由输入数据位宽决定;
公式5其中,y
xi
表示单倍部分积;y
2xi
表示两倍部分积;ppt
i
表示部分积映射结果;e
i
表示pp
i
的符号。6.如权利要求5所述的资源优化型fir滤波器,其特征在于,所述数据抽头混合内积计算单元和数据内积计算单元进行乘法运算时,还包括压缩子模块,其用于对预编码子模块输出的部分积进行压缩并求和,如公式6所示:公式6其中,每次输入4个数据d1、d2、d3、d4转换为中间变量tp1~tp7。7.如权利要求1~6任一项所述的资源优化型fir滤波器的实现方法,其特征在于,包括以下步骤:步骤一、对输入数据进行延迟计算,得到实时延迟数据a0~a
m
和b0~b3;步骤二、基于实时延迟数据a0~a
m
和滤波器抽头系数实时计算,得到数据抽头混合变量;步骤三、基于数据抽头混合变量实时计算,得到数据抽头混合相乘分量;步骤四、基于实时延迟数据b0~b3实时计算,得到数据内积分量;步骤五、基于滤波器抽头系数计算,得到抽头内积分量,以及基于抽头内积分量、数据抽头混合相乘分量及数据内积分量求和,即得fir滤波器的输出数据。8.电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求7所述的实现方法。9.存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求7所述的实现方法。
技术总结
本发明公开了一种源优化型FIR滤波器,包括:数据延迟单元;数据预处理单元,用于计算数据抽头混合变量;数据抽头混合内积计算单元,用于基计算数据抽头混合相乘分量;数据内积计算单元,用于计算数据内积分量;求和单元,用于计算抽头内积分量,以及调用抽头内积分量、数据抽头混合相乘分量及数据内积分量求和,得滤波结果。本发明对高阶滤波器具有显著减少乘法器使用数量的有益效果。提供本发明FIR滤波器的实现方法,包括对输入数据进行延迟计算;实时计算数据抽头混合变量;实时计算数据抽头混合相乘分量;实时计算数据内积分量;抽头内积分量、数据抽头混合相乘分量及数据内积分量求和得滤波结果。具有显著减少乘法器数量的有益效果。效果。效果。
技术研发人员:朱士彬 林点号 王闻迪
受保护的技术使用者:上海力通通信有限公司
技术研发日:2023.08.24
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/