本文作者:kaifamei

一种采用并行流水设计的FIR通用滤波器及方法与流程

更新时间:2025-12-13 08:52:15 0条评论

一种采用并行流水设计的FIR通用滤波器及方法与流程


一种采用并行流水设计的fir通用滤波器及方法
技术领域
1.本发明属于滤波器领域,具体涉及一种采用并行流水设计的fir通用滤波器及方法。


背景技术:



2.fir(finite impulse response)滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,fir滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
3.fir滤波器中包含许多的由乘法和累加构成的卷积运算,最直观的方法是用可以时分复用的乘累加器来实现。这种实现方式占用资源较少,但处理速度较慢,所以只能适用于结构简单、对处理速度要求不高的系统。若采用具有流水结构的并行滤波器,可提高信号处理的速度,从而满足实时性要求。如果用大量的乘法器模块并行以实现所谓的并行结构,则会造成大量资源的占用。基于上述分析,如何优化fir滤波器的并行结构,解决并行结构资源占用大、并行处理速度慢等问题是非常迫切的。


技术实现要素:



4.基于现有技术存在的问题,本发明针对目前硬件实现方案中并行结构资源占用大、并行处理速度慢等问题,提出了一种新的实现方案在这上述问题上进行了平衡。利用并行方式同时处理多组数据,提高处理效率;使用的乒乓buf及循环取数、共用乘法器资源等方式,节约了数据处理存储的资源消耗。对待处理数据及向量数据的取值和长度没有特殊要求,实现了通用性。
5.在本发明的第一方面,本发明提出了一种采用并行流水设计的fir通用滤波器的方法,所述方法包括:
6.利用配置寄存器配置出ahb总线数据地址、fir滤波器参数以及并行处理个数q;
7.并行数据控制模块向ahb总线控制模块发起数据请求,请求读取待处理数据;
8.响应于所述数据请求,ahb总线控制模块向所述并行数据控制模块回复数据应答请求;
9.响应于所述应答请求,ahb总线控制模块根据配置寄存器配置出的ahb总线数据地址读取数据,将q个待处理数据输入到并行数据控制模块中;
10.并行数据控制模块并行读取q个待处理数据和k阶向量系数,输出q个乘法器的一个乘数x和q个乘法器的另一乘数b;
11.q个乘累加模块根据乘累加输入使能信号对乘数x和乘数b进行一次乘累加操作,当乘累加输入信号累加到k+1个数据时,向ahb总线控制模块输出乘累加输出使能信号,并输出乘累加结果。
12.在本发明的第二方面,本发明还提供了一种并行流水设计的fir通用滤波器,所述
fir通用滤波器包括配置寄存器、ahb总线控制模块、并行数据控制模块以及乘累加模块;所述配置寄存器通过控制信号线连接ahb总线控制模块和并行数据控制模块,所述ahb总线控制模块通过ahb总线连接并行数据控制模块以及乘累加模块。
13.本发明的有益效果:
14.本发明利用并行数据控制模块同时处理多组数据,能够提高fir滤波器处理效率;使用的乒乓buffer单元和向量buffer单元,能够以并行流水的方式读取待处理数据和向量数据,这种方式节约了数据处理存储的资源消耗,采用循环取数的方式能够提升fir滤波器的处理速度。对待处理数据及向量数据的取值和长度没有特殊要求,实现了通用性。
附图说明
15.图1是本发明实施例中一种采用并行流水设计的fir通用滤波器结构示意图;
16.图2是本发明实施例的一种乘累加模块结构示意图;
17.图3是本发明实施例中一种采用并行流水设计的fir通用滤波器的方法流程图;
18.图4是本发明实施例的并行处理数据的流程图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.图1是本发明实施例中一种并行流水设计的fir通用滤波器,如图1所示,所述fir通用滤波器包括配置寄存器、ahb总线控制模块、并行数据控制模块以及乘累加模块;所述配置寄存器通过控制信号线连接ahb总线控制模块和并行数据控制模块,所述ahb总线控制模块通过ahb总线连接并行数据控制模块以及乘累加模块。
21.在本发明实施例中,所述配置寄存器通过apb总线(apb_bus)连接有配置源模块,可以实现低功耗以及精简的接口设计,降低接口设计的复杂度。
22.在本发明实施例中,所述ahb总线控制模块通过总线连接有数据源模块,可以给大量数据传输的模块之间提供高带宽的接口。
23.在本发明实施例中,所述配置寄存器包括多个配置接口,其中一个配置接口连接ahb总线控制模块,另一个配置接口连接并行数据控制模块,例如可以通过控制信号线进行连接。
24.在本发明实施例中,所述配置寄存器还包括输入接口,通过apb总线(apb_bus)连接有配置源模块,可以实现低功耗以及精简的接口设计,降低接口设计的复杂度。
25.所述ahb总线控制模块包括多个输入端口和多个输出端口,本发明采用并行流水的设计方式,不需要像传统的fir滤波器中依赖于存储器进行读取,本发明的并行数据控制模块直接实时从ahb总线控制模块中分别读取待处理数据和向量系数,能够节约数据处理存储的资源消耗。
26.在本发明实施例中,所述ahb总线控制模块通过双向的ahb总线(ahb_bus)连接有数据源模块,可以给大量数据传输的模块之间提供高带宽的接口。
27.所述并行数据控制模块包括输入数据单元、乒乓buffer单元和向量buffer单元;所述输入数据单元与所述向量buffer单元分别通过不同的读总线与所述ahb总线控制模块相连接;所述乒乓buffer单元与所述输入数据单元相连接;所述乒乓buffer单元和所述向量buffer单元分别通过不同的数据传输线与所述乘累加模块相连接。
28.在本发明实施例中,图2是本发明实施例的一种乘累加模块结构示意图,如图2所示,以q=4为例,每次并行读取4个待处理数据x(n)、x(n-1)、x(n-2)、x(n-3)以及k阶向量系数,将读取出的这4个待处理数据x(n)、x(n-1)、x(n-2)、x(n-3)分别与4个相同系数b0通过4个乘法器相乘,得到4个中间结果,再继续通过循环移位以流水方式继续计算待处理数据x(n-1)、x(n-2)、x(n-3)、x(n-4)分别与下一阶的四个相同系数b1通过4个乘法器相乘,得到中间结果,依次得到待处理数据与各阶系数的乘积,进行累加后得到待处理数据x(n)、x(n-1)、x(n-2)、x(n-3)所一一对应的乘累加结果y(n)、y(n-1)、y(n-2)、y(n-3);当这四个待处理数据x(n)、x(n-1)、x(n-2)、x(n-3)处理完后,继续对下一次四个待处理数据进行处理,直至完成对所有待处理数据的乘累加处理。
29.图3是本发明实施例中一种采用并行流水设计的fir通用滤波器的方法流程图,如图3所示,所述方法包括:
30.利用配置寄存器配置出ahb总线数据地址、fir滤波器参数以及并行处理个数q;
31.并行数据控制模块向ahb总线控制模块发起数据请求,请求读取待处理数据;
32.响应于所述数据请求,ahb总线控制模块向所述并行数据控制模块回复数据应答请求;
33.响应于所述应答请求,ahb总线控制模块根据配置寄存器配置出的ahb总线数据地址读取数据,将q个待处理数据输入到并行数据控制模块中;
34.并行数据控制模块并行读取q个待处理数据和k阶向量系数,输出q个乘法器的一个乘数x和q个乘法器的另一乘数b;
35.q个乘累加模块根据乘累加输入使能信号对乘数x和乘数b进行一次乘累加操作,当乘累加输入信号累加到k+1个数据时,向ahb总线控制模块输出乘累加输出使能信号,并输出乘累加结果。
36.在本发明实施例中,如图4所示,所述并行数据控制模块并行读取q个待处理数据和k阶向量系数,输出q个乘法器的一个乘数x和q个乘法器的另一乘数b包括:
37.并行数据控制模块的输入数据单元读取q个待处理数据;
38.并行数据控制模块的乒乓buffer单元向并行数据控制模块的输入数据单元发起数据更新请求,请求实时更新数据;
39.响应于所述数据更新请求,输入数据单元向所述乒乓buffer单元回复更新应答请求;
40.响应于所述更新应答请求,输入数据单元将q个待处理数据更新到乒乓buffer单元中;
41.乒乓buffer单元通过循环移位取出q个待处理数据作为q个乘法器的乘数x;
42.并行数据控制模块的向量buffer单元从配置寄存器读取k阶向量系数,并取q个待处理数据对应的向量系数作为q个乘法器的一个乘数b。
43.在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
44.在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
45.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:


1.一种并行流水设计的fir通用滤波器,其特征在于,所述fir通用滤波器包括配置寄存器、ahb总线控制模块、并行数据控制模块以及乘累加模块;所述配置寄存器通过控制信号线连接ahb总线控制模块和并行数据控制模块,所述ahb总线控制模块通过ahb总线连接并行数据控制模块以及乘累加模块。2.根据权利要求1所述的一种并行fir通用滤波器的实现装置,其特征在于,所述并行数据控制模块包括输入数据单元、乒乓buffer单元和向量buffer单元;所述输入数据单元与所述向量buffer单元分别与所述ahb总线控制模块相连接;所述乒乓buffer单元与所述输入数据单元相连接;所述乒乓buffer单元和所述向量buffer单元分别与所述乘累加模块相连接。3.根据权利要求1所述的一种并行fir通用滤波器的实现装置,其特征在于,所述乘累加模块包括q个乘法器和q个累加器,每个乘法器分别连接一个乘数x和一个乘数b,q个乘法器输出的积分别送到q个累加器进行累加。4.一种采用并行流水设计的fir通用滤波器的方法,其特征在于,所述方法包括:利用配置寄存器配置出ahb总线数据地址、fir滤波器参数以及并行处理个数q;并行数据控制模块向ahb总线控制模块发起数据请求,请求读取待处理数据;响应于所述数据请求,ahb总线控制模块向所述并行数据控制模块回复数据应答请求;响应于所述应答请求,ahb总线控制模块根据配置寄存器配置出的ahb总线数据地址读回数据,将q个待处理数据输入到并行数据控制模块中;并行数据控制模块并行读取q个待处理数据和k阶向量系数,输出q个乘法器的一个乘数x和q个乘法器的另一乘数b;q个乘累加模块根据乘累加输入使能信号对乘数x和另一乘数b进行一次乘累加操作,当乘累加输入信号累加到k+1个数据时,向ahb总线控制模块输出乘累加输出使能信号,并输出乘累加结果。5.根据权利要求4所述的一种采用并行流水设计的fir通用滤波器的方法,其特征在于,所述并行数据控制模块并行读取q个待处理数据和k阶向量系数,输出q个乘法器的乘数x和q个乘法器的另一乘数b包括:并行数据控制模块的输入数据单元读取q个待处理数据;并行数据控制模块的乒乓buffer单元向并行数据控制模块的输入数据单元发起数据更新请求,请求实时更新数据;响应于所述数据更新请求,输入数据单元向所述乒乓buffer单元回复更新应答请求;响应于所述更新应答请求,输入数据单元将q个待处理数据更新到乒乓buffer单元中;乒乓buffer单元通过循环移位取出q个待处理数据作为q个乘法器的乘数x;并行数据控制模块的向量buffer单元从配置寄存器读取k阶向量系数,并取q个待处理数据对应的向量系数作为q个乘法器的乘数b。

技术总结


本发明属于滤波器领域,具体涉及一种采用并行流水设计的FIR通用滤波器及方法;所述FIR通用滤波器包括配置寄存器、AHB总线控制模块、并行数据控制模块以及乘累加模块;所述配置寄存器通过控制信号线连接AHB总线控制模块和并行数据控制模块,所述AHB总线控制模块通过AHB总线连接并行数据控制模块以及乘累加模块。本发明通过乒乓buffer交替更新数据和循环移位取数两个方法可实现持续输出待处理数据的流水线操作模式,提高数据处理效率。每次取一个对应向量数据,分别与这Q个数据相乘,然后分别累加获得计算结果。本发明具有硬件资源占用小、处理速度快、通用性等特点。通用性等特点。通用性等特点。


技术研发人员:

请求不公布姓名

受保护的技术使用者:

思澈科技(重庆)有限公司

技术研发日:

2022.11.04

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-70789-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-22 21:35:43

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论