一种用于减少乘法器的FIR滤波器及其输出计算方法技术

技术编号:21437854 阅读:73 留言:0更新日期:2019-06-22 13:43
本发明专利技术公开了一种用于减少乘法器的FIR滤波器及其输出计算方法,所述FIR滤波器包括依次连接的直流计算单元,L个不同频率的点频计算单元以及补充计算单元,所述直流计算单元用于对滤波器系数为直流的滤波器部分输出结果S10(n)进行迭代运算;点频计算单元,包括从频率1到频率L共L个点频迭代计算单元,所述频率1到频率L均为对滤波器系数在频域截断后得到频率,用于对滤波器系数为不同点频的滤波器部分输出S1k(n)进行迭代运算;补充计算单元,用于计算不参与迭代运算的滤波器系数第一项与当前输入信号的乘积。本发明专利技术可以大大的减少滤波器实现时的乘法器个数,从而减少用FPGA或DSP实现FIR滤波器的资源消耗。

【技术实现步骤摘要】
一种用于减少乘法器的FIR滤波器及其输出计算方法
本专利技术涉及数字滤波器领域,具体涉及一种用于减少乘法器的FIR滤波器及其输出计算方法。
技术介绍
FIR滤波器是数字信号处理系统中的基本元件。它在通信信号处理、生物医学信号处理、天体物理学信号处理、视频处理、语音处理等领域有着广泛的应用。但在FIR滤波器的实现过程中,应考虑硬件成本。在一般情况下,过渡带越窄,过滤器的性能就愈好。这也意味着滤波器的阶数会很高,导致大量的乘法消耗。目前常用的FIR滤波器结构有直接型结构和对称型结构。直接型结构是最早提出的一种FIR滤波器结构,可直接由FIR滤波器的表达式推导而得,这种结构比较简单,直观,但是直接型结构消耗的乘法器个数与滤波器的系数长度相同,这导致消耗的乘法器资源较多,不利于实际应用。对称型结构是对直接型结构进行的优化,利用滤波器系数的对称性,可以将所消耗的乘法器资源减少到原来的一半,但是对于过渡带比较窄的滤波性能较好的滤波器来说,由于其滤波器阶数很高,对称型结构所节省的乘法器仍然比较有限。
技术实现思路
为了克服现有技术存在的缺点与不足,本专利技术提供一种新型的用于减少乘法器的FIR滤波器及其输出计算方法,本专利技术结构容易设计复杂度低、调试简单,同时减少了所需要乘法器个数,当滤波器的通带和过渡带越窄时,节省的乘法器个数越多。该结构能够有效解决FIR滤波器实现过程的乘法器消耗问题。为了达到上述目的,本专利技术采用如下技术方案实现:一种用于减少乘法器的FIR滤波器,包括依次连接的直流计算单元,L个不同频率的点频计算单元以及补充计算单元,所述直流计算单元用于对滤波器系数为直流的滤波器部分输出结果S10(n)进行迭代运算;点频计算单元,包括从频率1到频率L共L个点频迭代计算单元,所述频率1到频率L均为对滤波器系数在频域截断后得到频率,用于对滤波器系数为不同点频的滤波器部分输出S1k(n)进行迭代运算;补充计算单元,用于计算不参与迭代运算的滤波器系数第一项与当前输入信号的乘积。进一步地,所述的直流计算单元对滤波器系数为直流的滤波器部分输出结果进行迭代运算之前,还用于:首先计算得到滤波器系数的离散傅里叶变换在零频处的直流值作为迭代运算的初始启动值。进一步地,所述点频计算单元对滤波器系数为不同点频的滤波器部分输出结果S1k(n)进行迭代运算前,还用于:首先计算得到参数L、Ck,并赋予S1k(n)迭代运算的初始启动值,其中L表示不同频率的点频计算单元数量、表示不同频率的单位复指数函数,Ck表示不同频率复指数函数对应的权值。一种用于减少乘法器的FIR滤波器的输出计算方法,包括步骤:步骤一:生成FIR滤波器系数b(m),m为时间延时;步骤二:对生成的FIR滤波器系数b(m)进行离散傅里叶变换得到a(k),然后对a(k)截断得到k为频域的频率点;步骤三:利用步骤二得到的将FIR滤波器系数b(m)近似的表示为若干复指数函数的组合步骤四:利用步骤三得到的若干复指数函数的组合通过迭代计算的方法计算滤波器的输出y(n+1),从而减少滤波器实现所需的乘法器。进一步地,所述步骤一中,生成FIR滤波器系数b(m)具体包括:根据滤波器设计指标:通带截止频率ωp、阻带截止频率ωs、通带最大波动δp、阻带衰减δs,并采用等波纹滤波器设计法产生相应的FIR滤波器系数b(m)。进一步地,所述步骤二中,对于一个长度为M且阻带衰减比较大的滤波器,考虑到其频率响应主要集中在通带与过渡带中,在阻带的频率响应比较小,故对FIR滤波器系数b(m)的离散傅里叶变换a(k)进行截断,只保留频率响应比较大的部分,其表达式为:其中,代表向上取整函数。进一步地,所述步骤三中,利用步骤二中通过截断操作得到的并根据离散傅里叶逆变换理论和滤波器系数的共轭对称性,可近似将原始滤波系数表示为:其中,Ck为不同频率复指数函数对应的权值,为对应的复指数函数的角频率,进一步地,所述步骤四具体包括:考虑一个长度为M的FIR滤波器,其n时刻的输出表达式为:其中x(n)是n时刻输入信号,y(n)n时刻滤波器输出信号,S1(n)代表上式除最后一项以外的部分滤波输出结果;代入步骤三中得到的S1(n)可近似表示为:其中S10(n)为滤波器系数为直流的滤波器部分输出结果,S1k(n)为滤波器系数为不同点频的滤波器部分输出结果;故n+1时刻的滤波器输出可通过以下表达式计算得到:在(5)式中,一共需要4L+2次乘法,其中复数乘法可以通过3次实数乘法实现;当计算y(n+2)时,S10(n+1)和S1k(n+1)可以通过(6)、(7)式计算得到S10(n+1)=S10(n)+x(n+1)-x(n-M+2)(6)以此类推,通过上述方式计算得到其他时刻的滤波器输出,从而推导得到计算滤波器输出的迭代计算方法。相比现有技术,本专利技术具有的有益效果:本专利技术根据所需滤波器指标得到的滤波器系数在频域进行截断,将滤波器系数近似表示为从频率从0到L的不同复指数函数,从而可以在进行滤波计算时采用迭代的方法计算当前时刻的滤波器输出。该方法在FPGA或者DSP实现时一共只需要4L+2个乘法器(L远小于M),与传统的直接型滤波结构的M个乘法器以及对称型结构的M/2个乘法器相比,可以节省大量的乘法器。特别当通带和过渡带越窄时,节省的乘法器越多。附图说明图1是新型FIR滤波器总体结构示意图。图2是直流计算单元结构示意图。图3是点频计算单元结构示意图。具体实施方式下面结合FPGA实施例及附图,对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例考虑一个通带截止频率ωp=0.05πrad/sample、阻带截止频率ωs=0.09πrad/sample、通带最大波动δp=0.025dB、阻带衰减δs=60dB的长度为M=159的FIR低通滤波器。如图1所示,一种新型的基于迭代计算的滤波器,包括依次连接的直流计算单元,L个不同频率的点频计算单元以及补充计算单元,最后得到滤波输出信号。直流计算单元,具体如图2所示,用于对(4)式中的S10(n),即滤波器系数为直流的滤波器部分输出结果进行迭代运算。该单元需要首先计算得到参数并赋予S10(n)迭代运算的初始启动值。点频计算单元,具体如图3所示,点频计算单元包括从频率1到频率L共L个点频迭代计算单元,频率1到频率L都是对滤波器系数在频域截断后得到频率,用于对(4)式中S1k(n),即滤波器系数为不同点频的滤波器部分输出结果进行迭代运算。该单元需要首先计算得到参数L、Ck,并赋予S1k(n)迭代运算的初始启动值,其中L表示不同频率的点频计算单元数量、表示不同频率的单位复指数函数,Ck表示不同复指数函数对应的权值。补充计算单元,如(5)式所示,在利用迭代运算计算得到下划线部分的结果后,还需要计算不参与迭代运算的滤波器系数第一项与当前输入信号的乘积,即在图1中所表示的补充计算单元。一种用于减少乘法器的FIR滤波器的输出计算方法,包括步骤:首先根据以下步骤计算出该滤波器中各个计算单元所需要的参数。步骤1:根据该实例的滤波器设计指标:通带截止频率ωp、阻带截止频率ωs、通带最大波动δp、阻带衰减δs,并采用等波纹滤波器设计法产生相应的FIR滤波器系数b(m),m=0,1,…158。步骤2:对滤波器系数b(m)本文档来自技高网...

【技术保护点】
1.一种用于减少乘法器的FIR滤波器,其特征在于,包括依次连接的直流计算单元,L个不同频率的点频计算单元以及补充计算单元,所述直流计算单元用于对滤波器系数为直流的滤波器部分输出结果S10(n)进行迭代运算;点频计算单元,包括从频率1到频率L共L个点频迭代计算单元,所述频率1到频率L均为对滤波器系数在频域截断后得到频率,用于对滤波器系数为不同点频的滤波器部分输出S1k(n)进行迭代运算;补充计算单元,用于计算不参与迭代运算的滤波器系数第一项与当前输入信号的乘积。

【技术特征摘要】
1.一种用于减少乘法器的FIR滤波器,其特征在于,包括依次连接的直流计算单元,L个不同频率的点频计算单元以及补充计算单元,所述直流计算单元用于对滤波器系数为直流的滤波器部分输出结果S10(n)进行迭代运算;点频计算单元,包括从频率1到频率L共L个点频迭代计算单元,所述频率1到频率L均为对滤波器系数在频域截断后得到频率,用于对滤波器系数为不同点频的滤波器部分输出S1k(n)进行迭代运算;补充计算单元,用于计算不参与迭代运算的滤波器系数第一项与当前输入信号的乘积。2.根据权利要求1所述的一种用于减少乘法器的FIR滤波器,其特征在于,所述的直流计算单元对滤波器系数为直流的滤波器部分输出结果进行迭代运算之前,还用于:首先计算得到滤波器系数的离散傅里叶变换在零频处的直流值作为迭代运算的初始启动值。3.根据权利要求1所述的一种用于减少乘法器的FIR滤波器,其特征在于,所述点频计算单元对滤波器系数为不同点频的滤波器部分输出结果S1k(n)进行迭代运算前,还用于:首先计算得到参数L、Ck,并赋予S1k(n)迭代运算的初始启动值,其中L表示不同频率的点频计算单元数量、表示不同频率的单位复指数函数,Ck表示不同频率复指数函数对应的权值。4.一种用于减少乘法器的FIR滤波器的输出计算方法,其特征在于,包括步骤:步骤一:生成FIR滤波器系数b(m),m为时间延时;步骤二:对生成的FIR滤波器系数b(m)进行离散傅里叶变换得到a(k),然后对a(k)截断得到k为频域的频率点;步骤三:利用步骤二得到的将FIR滤波器系数b(m)近似的表示为若干复指数函数的组合步骤四:利用步骤三得到的若干复指数函数的组合通过迭代计算的方法计算滤波器的输出y(n+1),从而减少滤波器实现所需的乘法器。5.根据权利要求4所述的一种用于减少乘法器的FIR滤波器输出计算方法,其特征在于,所述步骤一中,生成FIR滤...

【专利技术属性】
技术研发人员:杨俊杨思源黎宝柱章秀银
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1