一种并行FIR通用卷积滤波器的实现方法及装置制造方法及图纸

技术编号:37135511 阅读:13 留言:0更新日期:2023-04-06 21:34
本发明专利技术属于滤波器领域,具体涉及一种并行FIR通用卷积滤波器的实现方法及装置;将处理过程分为两部分数据输入部分和填充部分;建立大小为2Q的内部缓存空间,采用乒乓buffer方式并行读取输入序列中待处理数据,每次循环移位读出Q个数据,并使用Q个乘法器对Q个数据进行乘累加操作;数据输入部分每次并行计算开始时都从buffer的0地址开始循环取出Q个数据作为乘数a,从向量数据的第一个数据开始取数作为乘数b,进行并行乘累加计算;填充部分,根据输入数据长度,并行处理个数Q,计算每次卷积有效数据开始的偏移位置、有效向量起始位置。本发明专利技术能够提升处理速度和效率;具有硬件资源占用小、处理速度快、通用性等特点。通用性等特点。通用性等特点。

【技术实现步骤摘要】
一种并行FIR通用卷积滤波器的实现方法及装置


[0001]本专利技术属于滤波器领域,具体涉及一种并行FIR通用卷积滤波器的实现方法及装置。

技术介绍

[0002]FIR(Finite Impulse Response)滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
[0003]FIR滤波器中包含许多的由乘法和累加构成的卷积运算,最直观的方法是用可以时分复用的乘累加器来实现。这种实现方式占用资源较少,但处理速度较慢,所以只能适用于结构简单、对处理速度要求不高的系统。若采用具有流水结构的并行滤波器,可提高信号处理的速度,从而满足实时性要求。如果用大量的乘法器模块并行以实现所谓的并行结构,则会造成大量资源的占用;除此以外,根据硬件实现原理,通常是将卷积运算分为三部分分别进行运算,即第一部分是从0到阶数M,第二部分是从0到输入数据长度L

1,第三部分是从0到输出数据长度L

1+M,对卷积计算第三部分的处理通常是将输入数据填充为0,然后使用与第一第二部分相同的计算方式获得相应的序列信号,然而填充的0乘以任何数都为0,所以这种填充方式对最终结果并没有实质影响,浪费了处理时间。
[0004]基于上述分析,如何解决卷积第三部分填充所造成的硬件资源和时间资源浪费的问题是非常迫切的。

技术实现思路

[0005]基于现有技术存在的问题,本专利技术提供了一种并行FIR通用卷积滤波器的实现方法及装置,用以解决卷积第三部分填充所造成的硬件资源和时间资源。
[0006]在本专利技术的第一方面,本专利技术提供了一种并行FIR通用卷积滤波器的实现方法,所述方法包括:
[0007]将输入序列的处理过程分为数据输入部分和填充部分,并确定出并行处理数据个数Q;
[0008]建立大小为2Q的内部缓存空间,采用乒乓buffer方式并行读取所述输入序列中待处理数据;
[0009]在数据输入部分中,从乒乓buffer控制模块的0地址开始循环移位取出Q个待处理数据作为Q个乘数x,从向量数据的第1个数据开始取数作为乘数b,使用Q个乘法器对Q个乘数x分别与各个乘数b进行并行乘累加计算;
[0010]在填充部分中,从乒乓buffer控制模块的有效数据开始的偏移地址开始循环移位取出Q个待处理数据作为Q个乘数x

,从向量数据的有效向量偏移地址开始取数作为乘数b

,使用Q个乘法器对Q个乘数x

分别与各个乘数b

进行并行乘累加计算。
[0011]在本专利技术的第二方面,本专利技术还提供了一种并行FIR通用卷积滤波器的实现装置,所述实现装置包括配置寄存器、AHB总线控制模块、BMEM存储器、XMEM存储器、乒乓buffer控制模块、偏移控制模块以及乘累加模块;所述配置寄存器的输出端连接有AHB总线控制模块、乒乓buffer控制模块和偏移控制模块,所述AHB总线控制模块的输出端连接有BMEM存储器、XMEM存储器以及乘累加模块;所述BMEM存储器、XMEM存储器的输出端连接有乒乓buffer控制模块;所述偏移控制模块的输出端连接有乒乓buffer控制模块;所述乒乓buffer模块连接有乘累加模块。
[0012]本专利技术的有益效果:
[0013]本专利技术将滤波器分为两部分数据输入部分和填充部分,并行处理多个数据,填充部分通过偏移处理,仅处理有效数据部分,使得计算从有效数据开始,减少无效数据计算时间,能够提升处理速度和效率;同时,本专利技术具有硬件资源占用小、处理速度快、通用性等特点。
附图说明
[0014]图1是本专利技术实施例中一种并行FIR通用卷积滤波器的实现装置结构示意图;
[0015]图2是本专利技术实施例中一种偏移控制模块结构示意图;
[0016]图3是本专利技术实施例中一种乒乓buffer控制模块结构示意图;
[0017]图4是本专利技术实施例中一种并行FIR通用卷积滤波器的实现方法流程图;
[0018]图5是本专利技术实施例中填充部分的各数据组成示意图;
[0019]图6是本专利技术实施例中填充部分的并行分组示意图;
[0020]图7是本专利技术实施例中填充部分的并行处理有效数据部分的分组示意图;
[0021]图8是本专利技术实施例中有效输入部分乒乓buffer取数地址偏移、向量偏移值示意图;
[0022]图9是本专利技术实施例中填充部分乒乓buffer取数地址偏移、向量偏移值示意图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]图1是本专利技术实施例中一种并行FIR通用卷积滤波器的实现装置结构示意图,如图1所示,所述实现装置包括配置寄存器、AHB总线控制模块、BMEM存储器、XMEM存储器、乒乓buffer控制模块、偏移控制模块以及乘累加模块;所述配置寄存器的输出端连接有AHB总线控制模块、乒乓buffer控制模块和偏移控制模块,所述AHB总线控制模块的输出端连接有BMEM存储器、XMEM存储器以及乘累加模块;所述BMEM存储器、XMEM存储器的输出端连接有乒乓buffer控制模块;所述偏移控制模块的输出端连接有乒乓buffer控制模块;所述乒乓buffer模块连接有乘累加模块。
[0025]图2是本专利技术实施例中一种偏移控制模块结构示意图,如图2所示,所述偏移控制模块包括第一计算单元和第二计算单元,所述第一计算单元用于根据输入序列的长度L和
并行处理个数Q,计算每次卷积有效数据开始的偏移地址;所述第二计算单元用于根据输入序列的长度L和并行处理个数Q,计算向量数据的有效向量偏移地址。
[0026]所述第一计算单元在每次卷积有效数据开始的偏移地址的计算公式表示为:
[0027]offset_x=L mod Q
[0028]其中,mod表示取余数。
[0029]所述第二计算单元在向量数据的有效向量偏移地址的计算公式表示为:
[0030]offset_b=K*Q

(L mod Q)
‑1[0031]其中,K为填充部分并行处理的组数,mod表示取余数。
[0032]图3是本专利技术实施例中一种乒乓buffer控制模块结构示意图,如图3所示,所述乒乓buffer控制模块包括数据选择控制单元、第一单口SRAM电路、第二单口SRAM电路和计算数据输出电路;所述数据选择控制单元用于对第一单口SRAM电路和第二单口SRAM电本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并行FIR通用卷积滤波器的实现方法,其特征在于,所述方法包括:将输入序列的处理过程分为数据输入部分和填充部分,并确定出并行处理数据个数Q;建立大小为2Q的内部缓存空间,采用乒乓buffer方式并行读取所述输入序列中待处理数据;在数据输入部分中,从乒乓buffer控制模块的0地址开始循环移位取出Q个待处理数据作为Q个乘数x,从向量数据的第1个数据开始取数作为乘数b,使用Q个乘法器对Q个乘数x分别与各个乘数b进行并行乘累加计算;在填充部分中,从乒乓buffer控制模块的有效数据开始的偏移地址开始循环移位取出Q个待处理数据作为Q个乘数x

,从向量数据的有效向量偏移地址开始取数作为乘数b

,使用Q个乘法器对Q个乘数x

分别与各个乘数b

进行并行乘累加计算。2.根据权利要求1所述的一种并行FIR通用卷积滤波器的实现方法,其特征在于,所述输入序列所采用的计算公式表示为:其中,y
n
表示第n个输出数据,h
m
表示第m阶乘数,x
n

m
表示第n

m个输入数据;M表示滤波器阶数;L表示输入序列长度;公式(1)和公式(2)表示数据输入部分,公式(3)表示填充部分。3.根据权利要求1所述的一种并行FIR通用卷积滤波器的实现方法,其特征在于,所述方法还包括根据输入序列的长度L和并行处理个数Q,计算每次卷积有效数据开始的偏移地址以及有效向量偏移地址。4.根据权利要求3所述的一种并行FIR通用卷积滤波器的实现方法,其特征在于,每次卷积有效数据开始的偏移地址的计算公式表示为:of...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:思澈科技重庆有限公司
类型:发明
国别省市:

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

1