CN116961621A - 一种可动态调整计算速度的fir滤波器 - Google Patents

一种可动态调整计算速度的fir滤波器 Download PDF

Info

Publication number
CN116961621A
CN116961621A CN202311220928.6A CN202311220928A CN116961621A CN 116961621 A CN116961621 A CN 116961621A CN 202311220928 A CN202311220928 A CN 202311220928A CN 116961621 A CN116961621 A CN 116961621A
Authority
CN
China
Prior art keywords
operation unit
accumulator
data
multiplier
auxiliary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311220928.6A
Other languages
English (en)
Other versions
CN116961621B (zh
Inventor
钟晨峰
吴树伟
庄志青
胡红明
张希鹏
周玉镇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canxin Semiconductor Suzhou Co ltd
Original Assignee
Canxin Semiconductor Suzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canxin Semiconductor Suzhou Co ltd filed Critical Canxin Semiconductor Suzhou Co ltd
Priority to CN202311220928.6A priority Critical patent/CN116961621B/zh
Publication of CN116961621A publication Critical patent/CN116961621A/zh
Application granted granted Critical
Publication of CN116961621B publication Critical patent/CN116961621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种可动态调整计算速度的FIR滤波器,涉及FIR滤波器领域,其技术方案要点包括:控制器,用于产生读写控制信号和运算控制信号;数据存储模块,用于存储输入的数据样本和运算中间结果的数据。一种可动态调整计算速度的FIR滤波器,本发明通过设置FIR运算模块,主要是利用复用芯片内部的乘法器以及累加器资源,并在面积不变的前提下,通过设置副累加器运算单元和副乘法器运算单元,并利用数据存储模块动态调整副乘法器运算单元以及副累加器运算单元的数量,能够有效的缩短节拍数量,从而实现缩短计算时间,加快数据的处理速度的目的。

Description

一种可动态调整计算速度的FIR滤波器
技术领域
本发明涉及FIR滤波器技术领域,更具体地说,它涉及一种可动态调整计算速度的FIR滤波器。
背景技术
FIR滤波器即有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
相关技术中,对比文件1(基于AlteraFPGA的部分串行 FIR 滤波器,郭雨梅等,沈阳工业大学学报,2009年05期,第577-581页)公开了一种部分串行结构 FIR 滤波器,并具体公开了以下的技术特征(参见对比文件 1 的以下内容):对于N 阶FIR滤波器,在n时刻的差分方程可以表示为:
由上述方程可知,其第2项可以在 x(n)未输入时通过对延迟链中已有的数据移位并与对应的 h(n)做乘累加得到,其主要是从FPGA的角度考虑将延迟链中的数据进行位移相乘累加的,而这种方式,不仅计算速度缓慢,还会造成极大的资源开销,而且,其计算方式固定,并不具备动态可调整功能,不利于处理越来越多样化且复杂的数据信号类型。因此需要提供一种计算时间短、数据处理速度快、消耗资源小的具备可动态调整功能的FIR滤波器。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种可动态调整计算速度的FIR滤波器。
为实现上述目的,本发明提供了如下技术方案,包括:
控制器,用于产生读写控制信号和运算控制信号;
数据存储模块,用于存储输入的数据样本和运算中间结果的数据;
总线模块,用于对输入和输出的信号进行模数转换;
FIR运算模块,用于读出数据样本并进行FIR滤波运算,所述FIR运算模块包括乘法器运算单元、累加器运算单元、副乘法器运算单元和副累加器运算单元;
其中,所述乘法器运算单元用于将从所述数据存储模块中读取的数据进行数据相乘处理;所述累加器运算单元用于对运算的中间结果进行累加或累减处理;所述副乘法器运算单元和所述副累加器运算单元用于在计算前数据y[n]的同时,提前对未来M个y值进行运算。
优选地,所述副累加器运算单元和所述副乘法器运算单元在进行运算时的具体过 程为:根据求卷积在硬件中实现的特性,求y[n]需要用到的x的范围为(x[n-N],x[n]),其中 (x[n-N+1],x[n])会在下次求y[n+1]时被用到,以此类推,(x[n-N+2],x[n])会在求y[n+2] 时被使用,因此,当使用乘法器运算单元进行x[n]与h[0]进行乘法运算时,通过副累加器运 算单元提前将x[n]与h[1]运算好并进入所述累加器运算单元中等待与下一拍数x[n-1]h [2]进行累加,在计算完成y[n]后,只需要在下一节拍中利用所述副累加器运算单元累加上 x[n+1]h[0],即可完成对y[n+1]的计算。
优选地,所述副乘法器运算单元和所述副累加器运算单元的数量是通过所述数据存储模块进行动态选择配置。
优选地,所述数据存储模块为存储器,所述存储器包括数据样本和运算中间结果两个不同的存储区域。
优选地,所述总线模块包括信号输入单元、信号输出单元,所述信号输入单元设置为A/D信号转换器件,所述信号输出单元设置为D/A信号转换器件。
与现有技术相比,本发明具备以下有益效果:
本发明通过设置FIR运算模块,主要是利用复用芯片内部的乘法器以及累加器资源,并在面积不变的前提下,通过设置副累加器运算单元和副乘法器运算单元,并利用数据存储模块动态调整副乘法器运算单元以及副累加器运算单元的数量,能够有效的缩短节拍数量,从而实现缩短计算时间,加快数据的处理速度的目的。
附图说明
图1为现有的FIR滤波器的采用的主流信号图;
图2为现有的FIR滤波器的硬件结构框图;
图3为本发明提供的一种可动态调整计算速度的FIR滤波器的硬件结构框图;
图4为本发明提供的一种可动态调整计算速度的FIR滤波器在计算N=6,M=3的节拍时序图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。
参照图1至图4对本发明一种可动态调整计算速度的FIR滤波器实施例做进一步说明。
一种可动态调整计算速度的FIR滤波器,包括:
控制器,用于产生读写控制信号和运算控制信号;
数据存储模块,用于存储输入的数据样本和运算中间结果的数据;所述数据存储模块为存储器,所述存储器包括数据样本和运算中间结果两个不同的存储区域;
总线模块,用于对输入和输出的信号进行模数转换;所述总线模块包括信号输入单元、信号输出单元,所述信号输入单元设置为A/D信号转换器件,所述信号输出单元设置为D/A信号转换器件;
FIR运算模块,用于读出数据样本并进行FIR滤波运算,所述FIR运算模块包括乘法器运算单元、累加器运算单元、副乘法器运算单元和副累加器运算单元;
其中,所述乘法器运算单元用于将从所述存储器中读取的数据进行数据相乘处理;所述累加器运算单元用于对运算的中间结果进行累加或累减处理;所述副乘法器运算单元和所述副累加器运算单元用于在计算前数据y[n]的同时,提前对未来M个y值进行运算所述副乘法器运算单元和所述副累加器运算单元的数量是通过所述寄存器进行动态选择配置。
所述副累加器运算单元和所述副乘法器运算单元在进行运算时的具体过程为:根 据求卷积在硬件中实现的特性,求y[n]需要用到的x的范围为(x[n-N],x[n]),其中(x[n-N+ 1],x[n])会在下次求y[n+1]时被用到,以此类推,(x[n-N+2],x[n])会在求y[n+2]时被使 用,因此,当使用乘法器运算单元进行x[n]与h[0]进行乘法运算时,通过副累加器运算单元 提前将x[n]与h[1]运算好并进入所述累加器运算单元中等待与下一拍数x[n-1]h[2]进 行累加,在计算完成y[n]后,只需要在下一节拍中利用所述副累加器运算单元累加上x[n+ 1]h[0],即可完成对y[n+1]的计算。
作为本发明的一种实施例,以一个N=6阶的FIR滤波器为例,需要计算的次数以及结果如表一所示,采用串行的方式进行计算,每次完成一个y数据的计算,需要的节拍为6拍,例如求y[5]时,需要计算的步骤为:
读取x[0],计算h[5]x[0],并在累加器中进行存储。
读取x[1],计算h[4]x[1],并与步骤1的结果进行累加存储。
读取x[2],计算h[3]x[2].并与步骤2的结果进行累加存储。
读取x[3],计算h[2]x[3].并与步骤3的结果进行累加存储。
读取x[4],计算h[1]x[4].并与步骤4的结果进行累加存储。
读取x[5],计算h[0]x[5].并与步骤5的结果进行累加存储,完成y[n]的计算。
表一
而采用本发明设计的FIR滤波器进行计算时,假设目前硬件中可以使用1个副乘法器和1个副累加器,则计算的步骤变为:
0021.读取x[0],计算h[5]x[0],并在主累加器中进行存储
0022.读取x[1],计算h[4]x[1], 并在主累加器中与步骤1的主累加器结果进行累加存储。同时计算h[5]/>x[1]并在副累加器中进行存储。
读取x[2],计算h[3]x[2], 并在主累加器中与步骤2的主累加器结果进行累加存储。同时计算h[4]/>x[2]并在副累加器中与步骤2的副累加器结果进行累加存储。
读取x[3],计算h[2]x[3], 并在主累加器中与步骤3的主累加器结果进行累加存储。同时计算h[3]/>x[3]并在副累加器中与步骤3的副累加器结果进行累加存储。
读取x[4],计算h[1]x[4], 并在主累加器中与步骤4的主累加器结果进行累加 存储。同时计算h[2]x[4]并在副累加器中与步骤4的副累加器结果进行累加存储。
读取x[5],计算h[0]x[5], 并在主累加器中与步骤5的主累加器结果进行累加, 最终求得y[5]。同时计算h[1]x[5]并在副累加器中与步骤5的副累加器结果进行累加存 储。
读取x[6],计算h[0]x[6]并在副累加器中与步骤6的副累加器结果进行累加,最终求得y[6]。
通过上述计算步骤可以看出,原本串行计算y[5]以及y[6]需要的节拍总数为12个节拍,采用新的结构后,计算上面两个数据总节拍数变为7个节拍;本例只是增加了一个副乘法器以及副累加器,减少了5个节拍,因此,如果在硬件资源富裕的情况下,选择更多的副乘法器以及副累加器,将会更多的提高计算速度。而本发明通过设置FIR运算模块,主要是利用复用芯片内部的乘法器以及累加器资源,并在面积不变的前提下,通过设置副累加器运算单元和副乘法器运算单元,并利用数据存储模块动态调整副乘法器运算单元以及副累加器运算单元的数量,能够有效的缩短节拍数量,从而实现缩短计算时间,加快数据的处理速度的目的。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (3)

1.一种可动态调整计算速度的FIR滤波器,其特征在于,包括:
控制器,用于产生读写控制信号和运算控制信号;
数据存储模块,用于存储输入的数据样本和运算中间结果的数据;
总线模块,用于对输入和输出的信号进行模数转换;
FIR运算模块,用于读出数据样本并进行FIR滤波运算,所述FIR运算模块包括乘法器运算单元、累加器运算单元、副乘法器运算单元和副累加器运算单元;
其中,所述乘法器运算单元用于将从所述数据存储模块中读取的数据进行数据相乘处理;所述累加器运算单元用于对运算的中间结果进行累加或累减处理;所述副乘法器运算单元和所述副累加器运算单元用于在计算前数据y[n]的同时,提前对未来M个y值进行运算;
新增所述副累加器运算单元和所述副乘法器运算单元在进行运算时的具体过程为:根 据求卷积在硬件中实现的特性,求y[n]需要用到的x的范围为(x[n-N],x[n]),其中(x[n-N+ 1],x[n])会在下次求y[n+1]时被用到,以此类推,(x[n-N+2],x[n])会在求y[n+2]时被使 用,因此,当使用乘法器运算单元进行x[n]与h[0]进行乘法运算时,通过副累加器运算单元 提前将x[n]与h[1]运算好并进入所述累加器运算单元中等待与下一拍数x[n-1]h[2]进 行累加,在计算完成y[n]后,只需要在下一节拍中利用所述副累加器运算单元累加上x[n+ 1]h[0],即可完成对y[n+1]的计算;
所述副乘法器运算单元和所述副累加器运算单元的数量是通过所述数据存储模块进行动态选择配置。
2.根据权利要求1所述的可动态调整计算速度的FIR滤波器,其特征在于,所述数据存储模块为存储器,所述存储器包括数据样本和运算中间结果两个不同的存储区域。
3.根据权利要求1所述的可动态调整计算速度的FIR滤波器,其特征在于,所述总线模块包括信号输入单元、信号输出单元,所述信号输入单元设置为A/D信号转换器件,所述信号输出单元设置为D/A信号转换器件。
CN202311220928.6A 2023-09-21 2023-09-21 一种可动态调整计算速度的fir滤波器 Active CN116961621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311220928.6A CN116961621B (zh) 2023-09-21 2023-09-21 一种可动态调整计算速度的fir滤波器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311220928.6A CN116961621B (zh) 2023-09-21 2023-09-21 一种可动态调整计算速度的fir滤波器

Publications (2)

Publication Number Publication Date
CN116961621A true CN116961621A (zh) 2023-10-27
CN116961621B CN116961621B (zh) 2024-03-22

Family

ID=88458778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311220928.6A Active CN116961621B (zh) 2023-09-21 2023-09-21 一种可动态调整计算速度的fir滤波器

Country Status (1)

Country Link
CN (1) CN116961621B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494506A (zh) * 2009-03-10 2009-07-29 北京科技大学 一种流水结构的水声扩频通信带通信号捕获电路
CN106849908A (zh) * 2016-11-29 2017-06-13 西安空间无线电技术研究所 一种星上可重构fir滤波器的抗辐照加固方法
CN113890508A (zh) * 2021-09-28 2022-01-04 南京宁麒智能计算芯片研究院有限公司 一种批处理fir算法的硬件实现方法和硬件系统
CN115549644A (zh) * 2022-10-21 2022-12-30 中科芯集成电路有限公司 一种fir滤波器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494506A (zh) * 2009-03-10 2009-07-29 北京科技大学 一种流水结构的水声扩频通信带通信号捕获电路
CN106849908A (zh) * 2016-11-29 2017-06-13 西安空间无线电技术研究所 一种星上可重构fir滤波器的抗辐照加固方法
CN113890508A (zh) * 2021-09-28 2022-01-04 南京宁麒智能计算芯片研究院有限公司 一种批处理fir算法的硬件实现方法和硬件系统
CN115549644A (zh) * 2022-10-21 2022-12-30 中科芯集成电路有限公司 一种fir滤波器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭雨梅等: "基于AlteraFPGA的部分串行 FIR 滤波器", 沈阳工业大学学报, vol. 31, no. 5, pages 577 - 581 *

Also Published As

Publication number Publication date
CN116961621B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
CN201130369Y (zh) 一种基于vxi总线的多通道同步数据采集卡
CN109271133B (zh) 一种数据处理方法及系统
CN109783051B (zh) 一种时间序列相似性计算装置和方法
CN111694027A (zh) 超大动态扩频信号捕获方法与装置
CN109976660A (zh) 基于线性插值的任意重采样算法和数据采样系统
CN111049772A (zh) 应用于矢量信号分析仪平台的实现5g信号同步处理的系统及其方法
CN116961621B (zh) 一种可动态调整计算速度的fir滤波器
CN101072019B (zh) 一种滤波器及其滤波方法
CN100550622C (zh) 带有下采样功能的数字信号滤波装置及方法
CN100508395C (zh) 加减计数电路和加减计数方法
CN116961622B (zh) 一种可动态调整计算速度的iir滤波器
CN109687826B (zh) 一种基于模型设计的多通道下变频方法、装置和存储介质
CN100502240C (zh) 一种有限脉冲响应fir滤波器
CN109635929B (zh) 基于fpga的卷积实现方法及卷积器
CN1330089C (zh) 有限脉冲响应滤波与欠采样相结合的方法
CN101989350A (zh) 图像增强方法、图像增强装置及图像处理电路
CN117196931B (zh) 面向传感器阵列的数据处理方法、fpga及电子设备
CN218450071U (zh) 一种并行iir通用滤波器的实现装置
CN117420342B (zh) 多通道采集方法、装置、系统、fpga及采样示波器
CN115632632A (zh) 一种采用并行流水设计的fir通用滤波器及方法
CN115102524B (zh) 一种滤波器
CN101662577B (zh) 影像信号噪声滤除装置与方法
CN109921800B (zh) 基于自定制浮点格式的频域脉冲压缩方法
CN214228216U (zh) 一种无限长脉冲响应滤波器
CN116155236A (zh) 一种并行iir通用滤波器的实现方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant