一种乘法优化的低通FIR滤波器实现方法技术

技术编号:34145457 阅读:56 留言:0更新日期:2022-07-14 18:50
本发明专利技术公开了一种乘法优化的低通FIR滤波器实现方法,包括初始计算单元、通用计算单元和求和电路。以流水线形式级联而成的N

【技术实现步骤摘要】
一种乘法优化的低通FIR滤波器实现方法


[0001]本专利技术属于数字滤波器设计领域,涉及一种乘法优化的低通FIR滤波器实现方法。

技术介绍

[0002]在数字信号处理领域,FIR滤波器被广泛应用于语音与图像处理、频谱分析、雷达信号处理,以及模式识别等方面。数字滤波器较模拟滤波器而言,具有精度高、稳定性好、体积小和配置灵活等优势,此外,还能有效避免温漂、噪声等问题。但是,在FIR滤波器实现过程中,随着滤波器阶数的增加,乘法器的消耗量也随之增加,而现实中为了获得过渡带窄、性能优越的FIR滤波器,往往采用高阶滤波器,从而导致乘法资源消耗较大,乘法电路面积较大。为有效解决上述问题,本专利技术提出了一种乘法优化的低通FIR滤波器实现方法,以传统直接I型FIR滤波器作为基础,针对乘法电路进行了输入参数的位宽优化和结构优化,只需增加少量寄存器,即可大大减小乘法电路的面积,且滤波器系数位宽越大,优化效果越明显。

技术实现思路

[0003]本专利技术针对传统直接I型FIR滤波器实现过程中乘法电路面积较大这一问题,提出了一种乘法优化的低通FIR滤波器实现方法。该方法针对乘法电路进行了输入参数的位宽优化和结构优化,只需增加少量寄存器,即可大大减小乘法电路的面积,且滤波器系数位宽越大,优化效果越明显。本专利技术的技术方案为一种乘法优化的低通FIR滤波器实现方法,方法实现的乘法优化的低通FIR滤波器包括以流水线形式级联而成的N

1个电路结构相同的通用计算单元、初始计算单元以及求和电路,其中,N

1为滤波器阶数;
[0004]所述初始计算单元包括寄存器组REG0、寄存器组REG1和乘法器,其中,寄存器组REG0对当前输入信号进行延时寄存,乘法器对当前输入信号和第一项滤波器系数进行乘积运算,并将运算结果寄存至寄存器组REG1;
[0005]所述通用计算单元包括寄存器组REG00、寄存器组REG11、加法器组和通用加法器,其中,寄存器组REG00对来自前级的输入信号进行延时,加法器组配合移位运算和通用加法器进行式(1)的计算:
[0006]res
i
=(a
i

a
i
‑1)*x(n

i)+res
i
‑1,i∈[1,N

1]且i∈Z
ꢀꢀꢀ
(1)
[0007]res0为来自初始计算单元中寄存器组REG1的输出数据,a
i
为预生成的第i个滤波器系数,x(n)为n时刻的输入信号,需要说明的是,res0由式(2)计算得到:
[0008]res0=a0*x(n)
ꢀꢀꢀ
(2)
[0009]寄存器组REG11对res
i
进行数据寄存;通用加法器对本级通用计算单元中加法器组的输出结果和初始计算单元的寄存器组REG1或前级通用计算单元的寄存器组REG11的值进行求和;
[0010]所述求和电路对N个计算单元中寄存器组REG1和寄存器组REG11所寄存的值进行求和运算,N个计算单元包括一个初始计算单元和N

1个通用计算单元;
[0011]所述通用计算单元中的加法器组对相邻两项原始滤波器系数a
i
和a
i
‑1进行有符号减法运算,获取低数据位宽的系数差值a
i

a
i
‑1,并利用该加法器组,配合移位运算,求得(a
i

a
i
‑1)*x(n

i)的值;
[0012]所述通用计算单元具有相同的电路结构,利用脚本语言自动生成通用计算单元硬件逻辑电路所对应的HDL代码。
[0013]优选地,所述利用脚本语言自动生成通用计算单元硬件逻辑电路所对应的HDL代码,具体包括以下步骤:
[0014]S10,利用MATLAB预先生成滤波器系数a0~a
N
‑1,并进行量化处理;
[0015]S20,脚本语言读取S10中生成的滤波器系数序列,进行有符号数减法运算a
i

a
i
‑1,其中i∈[1,N

1]且i∈Z,并判断有符号差值序列的最大数据位宽,将其设为DW;
[0016]S30,结合S10中a0、S20中有符号数a
i

a
i
‑1以及数据位宽DW,利用脚本语言自动生成通用计算单元硬件逻辑电路所对应的HDL代码,具体功能为:以加法电路配合移位运算,进行表达式(1)的计算。
[0017]优选地,S10中滤波器为阶数为N

1,长度为N的低通FIR滤波器,其系统差分方程如下:
[0018][0019]令S1=a(0)x(n)+[a(1)

a(0)]x(n

1)+

+[a(N

2)

a(N

3)]x(n

N+2)+[a(N

1)

a(N

2)]x(n

N+1);
[0020]令S2=a(0)x(n

N+1)+

+a(N

3)x(x

N+2)+a(N

2)x(n

N+1);
[0021]故其系统差分方程可简化为式(3):
[0022]y(n)=S1+S2
ꢀꢀꢀ
(3)。
[0023]优选地,所述表达式S1,是由N个计算单元中的寄存器组REG0、寄存器组REG00、乘法器和加法器组共同运算完成;N个计算单元包括一个初始计算单元和N

1个通用计算单元。
[0024]优选地,所述表达式S2,是由N个计算单元中寄存器组REG1和寄存器组REG11对前级计算单元的计算结果进行移位寄存,并配合通用加法器来完成运算;N个计算单元包括一个初始计算单元和N

1个通用计算单元。
[0025]本专利技术的有益效果如下:
[0026]本专利技术为一种乘法优化的低通FIR滤波器实现方法,以传统直接I型FIR滤波器作为基础,针对乘法电路进行了输入参数的位宽优化和结构优化,只需增加少量寄存器,即可大大减小乘法电路的面积,且滤波器系数位宽越大,优化效果越明显。经15阶低通FIR滤波
器(滤波器系数和输入信号数据位宽均为12bits)的FPGA实施例验证,本专利技术虽增加了约4.45%的DFF资源消耗,但使得LUT资源消耗量减少了13.12%,达到了通过乘法优化进行面积优化的目的。
附图说明
[0027]图1为乘法优化的低通FIR滤波器实现方法的实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种乘法优化的低通FIR滤波器实现方法,其特征在于,该方法实现的乘法优化的低通FIR滤波器包括以流水线形式级联而成的N

1个电路结构相同的通用计算单元、初始计算单元以及求和电路,其中,N

1为滤波器阶数;所述初始计算单元包括寄存器组REG0、寄存器组REG1和乘法器,其中,寄存器组REG0对当前输入信号进行延时寄存,乘法器对当前输入信号和第一项滤波器系数进行乘积运算,并将运算结果寄存至寄存器组REG1;所述通用计算单元包括寄存器组REG00、寄存器组REG11、加法器组和通用加法器,其中,寄存器组REG00对来自前级的输入信号进行延时,加法器组配合移位运算和通用加法器进行式(1)的计算:res
i
=(a
i

a
i
‑1)*x(n

i)+res
i
‑1,i∈[1,N

1]且i∈Z
ꢀꢀꢀ
(1)res0为来自初始计算单元中寄存器组REG1的输出数据,a
i
为预生成的第i个滤波器系数,x(n)为n时刻的输入信号,需要说明的是,res0由式(2)计算得到:res0=a0*x(n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)寄存器组REG11对res
t
进行数据寄存;通用加法器对本级通用计算单元中加法器组的输出结果和初始计算单元的寄存器组REG1或前级通用计算单元的寄存器组REG11的值进行求和;所述求和电路对N个计算单元中寄存器组REG1和寄存器组REG11所寄存的值进行求和运算,N个计算单元包括一个初始计算单元和N

1个通用计算单元;所述通用计算单元中的加法器组对相邻两项原始滤波器系数a
i
和a
i
‑1进行有符号减法运算,获取低数据位宽的系数差值a
i

a
i
‑1,并利用该加法器组,配合移位运算,求得(a
i

a
i
‑1)*x(n

i)的值;所述通用计算单元具有相同的电路结构,利用脚本语言自动生成通用计算单元硬件逻辑电路所对应的HDL代码。2.根据权利要求1所述的一种乘法优化的低通FIR滤波器实现方法,其特征在于,所述利用脚本语言自动生成通用计算单元硬件逻辑电路所对应的HDL代码,...

【专利技术属性】
技术研发人员:黄继业谢辉董哲康杨宇翔何志伟
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1