CN104539263A - 一种可重构低功耗数字fir滤波器 - Google Patents
一种可重构低功耗数字fir滤波器 Download PDFInfo
- Publication number
- CN104539263A CN104539263A CN201410819918.9A CN201410819918A CN104539263A CN 104539263 A CN104539263 A CN 104539263A CN 201410819918 A CN201410819918 A CN 201410819918A CN 104539263 A CN104539263 A CN 104539263A
- Authority
- CN
- China
- Prior art keywords
- module
- input
- data
- filter
- multiply
- 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
Links
Landscapes
- Power Sources (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及集成电路技术领域,特别涉及一种可重构低功耗数字FIR滤波器。本发明的FIR滤波器,包括串入并出模块、模式控制模块、系数存储模块、乘法单元动态开关模块、乘加运算模块和并入串出模块;主要通过所述模式控制模块接收串入并出模块输入的固定字长的数据,并在外部控制信号的控制下将滤波器置为配置模式或运算模式,配置模式用于对滤波器系数进行设定,然后通过所述乘法单元动态开关模块对每一阶的乘法运算单元进行判断,根据判断结果可取消乘法运算。本发明的有益效果为,可以根据需要配置系数,使滤波器能适用于不同的应用场景;通过动态地关闭一些对结果影响较小的乘法运算,能有效减小滤波器的动态功耗。本发明尤其适用于FIR滤波器。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种可重构低功耗数字FIR滤波器。
背景技术
数字FIR(Finite Impulse Response)滤波器在信号处理领域中,是一种非常通用的数字集成电路模块。它具有线性相频特性,而且单位冲击响应有限,没有输入到输出的反馈,是稳定的系统。因此,在音频、视频、通讯、自动控制等领域,数字滤波器被广泛地用于对各种类信号进行特定的处理,通过改变信号的频率特性,起到获取有用信号、滤除噪声、稳定环路等作用。
最简单的FIR滤波器如图1所示,由乘法和加法运算单元构成,实现如下的运算:
Y[n]=C0×X[n]+C1×X[n-1]+……+Cn-2×X[2]+Cn-1×X[1]+Cn×X[0]
式中:C0、C1、C2……Cn-1、Cn是能够决定滤波器特性的系数,其中n被称为滤波器的阶数。一旦滤波器的性能指标确定,那么它的系数值和阶数就可以通过Matlab工具确定。通过设定不同的系数,滤波器可以对信号进行低通、高通、带通、带阻等等不同的处理。X[0]、X[1]、X[2]、…….X[n-1]、X[n]是从外部输入的需要处理的数据,组成待处理的数据序列。
数字滤波器工作频率f是衡量电路运算速度的标准。图1中的结构,每隔一个周期T=1/f,原本存放在每一级中的数据序列X[0]、X[1]、X[2]、…….X[n-1]、X[n]就会集体向后传播一级,最后一级的X[0]被原来的X[1]覆盖,而X[n]从外部接收一个新的数据,这就构成新的数据序列,Y[n]也会被赋予一个新数值。从新的X[n]输入到计算得出新的Y[n]输出,这个时间不得长于一个周期,即在下个周期的上升沿到来之前,本次运算必须结束。
对于普通的FIR滤波器而言,系数和阶数都是设计之前给定的,芯片设计一旦完成,性能指标就无法改变。而在某些应用场景下,要求FIR的特性可以人为改变,这时固定系数和阶数的FIR就体现出了不够灵活的缺点。譬如:在有线通信和无线通信领域,随着各类通信标准的多样化,传统性能单一的滤波器已经逐渐无法满足这种多样化带来的应用需求。
此外,数字电路的功耗也逐渐成为人们关注的重点。数字电路的功耗由静态功耗和动态功耗两部分组成。我们可以通过降低FIR的动态功耗来降低电路的整体功耗,动态功耗公式如下:
其中,α是平均活动因子,表示电路中各个节点的翻转率,f表示工作频率,Vdd表示工作电压,Ctotal表示各个节点的电容总和。FIR滤波电路的动态功耗就是由以上因素共同决定的。通过降低其中任意一项就可以降低电路的总功耗。
传统FIR滤波器,对于输入的“数据”和“系数”会不加选择地进行处理,即使某些数据和系数绝对值很小,它们的乘积对于最终的结果影响非常小,FIR滤波器依然会像处理其他数据一样,对这些数据进行乘加运算。然而,这些绝对值较小的数据的高位都是全为0或者全为1,在运算过程中,这些位在从0到1或者从1到0转换的过程中,会引起大量的信号翻转,引入很高的动态功耗。但是由于它们绝对值较小,乘积对最终的结果影响很小,在某些对精度要求不高的应用中,这种影响甚至可以忽略。综上所述,这些对结果影响很小的数据引入了大量不必要动态功耗,这就使得传统的FIR功耗较高。相对于传统FIR而言,本发明改进之处就在于,在精度可接受的范围,省去这些对结果影响较小的乘法运算,实现降低动态功耗的目的。
发明内容
本发明的目的,就是针对目前数字FIR滤波器存在的应用范围不够广和功耗过大的缺点,提出一种应用更加灵活、功耗更低的可重构数字FIR滤波器结构。
本发明的技术方案:一种可重构低功耗数字FIR滤波器,包括串入并出模块、模式控制模块、系数存储模块、乘法单元动态开关模块、乘加运算模块和并入串出模块;所述串入并出模块的输入端接外部数据输入端,其输出端接模式控制模块的数据输入端;所述模式控制模块的控制信号输入端接外部控制信号,其数据输出端接乘加运算模块的数据输入端和乘法单元动态开关模块的输入端,其系数输出端接系数存储模块的输入端;所述乘法单元动态开关模块的输出端接乘加运算模块;所述乘加运算模块的系数输入端接系数存储模块的输出端;所述乘加运算模块的输出端接并入串出模块的输入端;所述并入串出模块的输出端为滤波器的数据输出端;其中,
所述串入并出模块用于将外部数据输入端输入的单个数据转换为固定字长的数据,然后输入到模式控制模块;
所述模式控制模块接收串入并出模块输入的固定字长的数据,并在外部控制信号的控制下将滤波器置为配置模式或运算模式;
所述系数存储模块用于接收模式控制模块输入的系数数据,存储滤波器每一阶的系数,其系数输出端接乘加运算模块;
所述乘法单元动态开关模块用于对每一阶的乘法运算单元进行判断,根据判断结果保留或者取消乘法运算;所述判断方法为将模式控制模块输入的数据与预设的阈值进行比较,若大于阈值则保留乘法运算,若小于阈值则取消乘法运算;
所述乘加运算模块用于完成滤波器要求的乘、加运算,并将运算结果输入到并入串出模块;
所述并入串出模块用于将乘加运算模块输入的固定位宽的运算结果串行输出。
模式控制模块在外部信号的控制下置为配置模式时,其用于确定滤波器的系数,将串入并出模块输入的系数输入到系数存储模块进行存储;
模式控制模块在外部信号的控制下置为运算模式时,将串入并出模块输入的数据输入到乘加运算模块进行处理。
乘法单元动态开关模块对每一阶的乘法运算单元进行判断的方法为,根据输入数据的大小,与预先设定的阈值进行比较:若输入的数据绝对值小于或等于阈值,说明该数据通过乘法运算得到的结果值很小,对最终结果影响也很小,则该数据所对应的乘法单元会通过使能信号关断,取消此次乘法运算,从而节省一次乘法运算所消耗的功耗;若输入的数据绝对值大于阈值,说明该数据通过乘法运算得到的结果较大,对最终结果影响也较大,那该数据就被送入对应的乘法单元进行乘法运算。通过预判某一阶的运算结果对最终输出结果的精度影响大小,选择性的舍弃一些对结果精度影响较小的乘法运算,在降低动态功耗的同时又可以保证运算结果的精度。
本发明的有益效果为,可以根据需要配置系数,使滤波器能适用于不同的应用场景;同时,通过动态地关闭一些对结果影响较小的乘法运算,能有效减小滤波器的动态功耗。
附图说明
图1为传统直接型FIR滤波器的逻辑结构图;
图2为本发明中提出的FIR滤波器的逻辑结构图;
图3为乘加运算模块框图;
图4为部分积产生模块结构图;
图5为华莱士树结构图;
图6为乘累加模块结构图;
图7为乘法单元动态开关模块结构图;
图8为绝对值比较模块结构图;
图9为比较结果计数模块结构图。
具体实施方式
下面结合附图对本发明进行详细的描述
本发明实施例提供一种可重构低功耗数字FIR滤波器,可以根据需要配置系数,适用于不同的应用场景;同时,通过动态地关闭一些对结果影响较小的乘法运算,减小滤波器的动态功耗。
如图2所示,整个滤波器系统是一个25阶16×16的FIR滤波器,包含:串入并出模块、模式控制模块、系数存储模块、乘法单元动态开关模块、乘加运算模块、并入串出模块6个模块。首先,FIR滤波器需要对系数进行配置,模式控制模块会控制整个FIR滤波器处于“配置模式”,配置使能信号翻高,运算使能信号保持低电平。串入并出模块从数据输入端进来一位数据,调整后输出固定位宽的数据,送入后级的模式控制模块,模式控制模块根据当前FIR滤波器所处的模式,对数据进行处理。在“配置模式”下,数据被当做“系数”送入后级的系数存储模块,如果系数存储模块判断所有的系数都已经接收到,就输出高电平状态标志信号,表示系数配置已经完成,不再接收系数,而FIR滤波器可以切换到“运算模式”开始运算。通过将运算使能信号翻高,使FIR滤波器进入“运算模式”,在“运算模式”下,串入并出模块输出的数据会被送入乘加运算模块,与之前配置好的系数进行滤波运算。
如图3,乘加运算模块由25个部分积产生模块、1个华莱士树、1个移位累加模块组成。图4为部分积产生模块结构,图5为华莱士树结构图,图6为移位累加模块结构图。该乘加模块采用先求权重相同的部分积之和,再移位累加得到最终结果的思想实现乘法运算。乘加运算模块接收16位数据和16位“系数”作为输入,输出乘加运算之后的结果。部分积产生模块的结构如图4,在一个运算周期Tcompute内,数据不变,系数每隔一个时钟周期Tperiod整体右移一位(bit),用系数最右位与整个数据相“与”,得到系数这一位所对应的部分积,所以每个时钟周期会得到25个权重相同的部分积。所有的部分积输入到后级的华莱士树,经过华莱士树压缩后再输入到后级的移位累加模块中存起来。等到下一个时钟周期,系数又会右移一位,系数最右位更新,与运算之后得到新的25个部分积,这25个部分积的权重是上个周期的部分积的1/2,所以经过华莱士树压缩的结果不能直接移位累加器中存放的结果相加,而是先将原有结果进行移位,调整权重之后,再与新得到的部分积之和相加,保证权重的相同。相加的结果接续存放在移位累加模块中,等待下一个部分积相加结果的到来。16个时钟周期过后,16位系数的每一位都经过了求对应部分积、部分积压缩、移位累加三步运算。移位累加得到的结果已经把每一个权重的部分积都加了起来,得到的就是25阶乘加运算的最终结果。后级的并入串出单元会每隔16个时钟周期采样一次运算结果,然后串行输出。到此完成一次滤波运算,一个滤波运算周期结束,所以运算周期Tcompute=16*Tperiod,每隔十六个时钟周期,就完成一次运算,部分积产生模块中“系数”初始化,新数据从模式控制模块输入进来,并入串出模块输出最后计算结果,开始新的一个运算周期。
本发明采用的乘加运算结构,利用系数在寄存器中的移位操作和与门代替了传统的乘法器,省去了25个乘法器。同时,华莱士树的规模也大大减小,本发明中的华莱士树是对25个16位的部分积进行压缩,而传统的乘法单元中,华莱士树需要对25个32位的“积”进行压缩。所以,本发明采用的乘加运算模块减小了电路规模,节省了硬件资源。
本发明采用了乘法单元动态开关模块,如图7所示,该模块将对需要进行乘法运算的数据的绝对值通过绝对值比较模块进行判断,该模块结构图如图8所示。绝对值比较模块中的阈值在设计伊始确定,此处正数阈值设为“0000_0111_1111_1111”,负数阈值设为“1111_1000_0000_0000”。图8中,五输入与门和五输入或门分别对正数和负数的绝对值进行检查。如果数据为正,且绝对值小于阈值,则五输入与门输出0,五输入或门也输出0,同或门输出1,绝对值比较模块结果输出“1”,此时就表明数据的绝对值小于阈值,该数据对应的部分积产生模块的使能端使能无效,该模块不进行运算。如果数据为负,且绝对值小于阈值,则五输入与门输出1,五输入或门也输出1,同或门输出1,绝对值比较模块结果输出“1”,此时同样表明数据的绝对值小于阈值,该数据对应的部分积产生模块的使能端同样使能无效,该模块不进行运算。反之,如果绝对值比较模块输出为“0”,表示数据无论正负,绝对值都大于阈值,该数据对应的部分积产生模块的使能端使能有效,该模块进行运算。
本发明为了避免使能端频繁的开关引入大的功耗,所以规定当连续三次检测到数据绝对值小于阈值时,才一次性关断三个数据对应的部分积产生模块。所以,引入了比较结果计数模块,如图9所示,输入为绝对值比较模块的输出比较结果信号,输出为关断控制信号。每当比较结果信号为1,比较结果计数模块加1,如果连续三次比较结果信号都为1,计数的结果就会累加到三,即Q[2:0]等于2’b011,此时,输出关断控制信号就会为高,将三个连续的部分积产生模块一次性关断,直到检测到比较结果信号为0。比较结果计数模块只要检测到比较结果信号为0,就会立即将计数清零,即Q[2:0]等于2’b000,同时利用或门实现对三个乘法运算单元的一次性关断。通过这样动态关断乘法运算单元的操作,可以舍弃那些对结果影响比较小的乘法运算,从而达到节省功耗的目的。
Claims (1)
1.一种可重构低功耗数字FIR滤波器,包括串入并出模块、模式控制模块、系数存储模块、乘法单元动态开关模块、乘加运算模块和并入串出模块;所述串入并出模块的输入端接外部数据输入端,其输出端接模式控制模块的数据输入端;所述模式控制模块的控制信号输入端接外部控制信号,其数据输出端接乘加运算模块的数据输入端和乘法单元动态开关模块的输入端,其系数输出端接系数存储模块的输入端;所述乘法单元动态开关模块的输出端接乘加运算模块;所述乘加运算模块的系数输入端接系数存储模块的输出端;所述乘加运算模块的输出端接并入串出模块的输入端;所述并入串出模块的输出端为滤波器的数据输出端;其中,
所述串入并出模块用于将外部数据输入端输入的单个数据转换为固定字长的数据,然后输入到模式控制模块;
所述模式控制模块接收串入并出模块输入的固定字长的数据,并在外部控制信号的控制下将滤波器置为配置模式或运算模式;
所述系数存储模块用于接收模式控制模块输入的系数数据,存储滤波器每一阶的系数,其系数输出端接乘加运算模块;
所述乘法单元动态开关模块用于对每一阶的乘法运算单元进行判断,根据判断结果保留或者取消乘法运算;所述判断方法为将模式控制模块输入的数据与预设的阈值进行比较,若大于阈值则保留乘法运算,若小于阈值则取消乘法运算;
所述乘加运算模块用于完成滤波器要求的乘、加运算,并将运算结果输入到并入串出模块;
所述并入串出模块用于将乘加运算模块输入的固定位宽的运算结果串行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410819918.9A CN104539263B (zh) | 2014-12-25 | 2014-12-25 | 一种可重构低功耗数字fir滤波器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410819918.9A CN104539263B (zh) | 2014-12-25 | 2014-12-25 | 一种可重构低功耗数字fir滤波器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539263A true CN104539263A (zh) | 2015-04-22 |
CN104539263B CN104539263B (zh) | 2017-04-12 |
Family
ID=52854750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410819918.9A Expired - Fee Related CN104539263B (zh) | 2014-12-25 | 2014-12-25 | 一种可重构低功耗数字fir滤波器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539263B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656103A (zh) * | 2015-11-03 | 2017-05-10 | 深圳市中兴微电子技术有限公司 | 一种fir滤波器组及滤波方法 |
CN108647779A (zh) * | 2018-04-11 | 2018-10-12 | 复旦大学 | 一种低位宽卷积神经网络可重构计算单元 |
WO2018228399A1 (zh) * | 2017-06-13 | 2018-12-20 | 上海寒武纪信息科技有限公司 | 运算装置和方法 |
CN109086880A (zh) * | 2017-06-13 | 2018-12-25 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
CN113157034A (zh) * | 2021-01-19 | 2021-07-23 | 浙江大学 | 一种被动稳压电路实现的高线性度神经形态计算电路 |
US11544526B2 (en) | 2017-06-26 | 2023-01-03 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11727268B2 (en) | 2017-06-21 | 2023-08-15 | Shanghai Cambricon Information Technology Co., Ltd. | Sparse training in neural networks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070046507A1 (en) * | 2005-08-30 | 2007-03-01 | Oki Electric Industry Co., Ltd. | Sampling rate converting method and circuit |
CN101958697A (zh) * | 2010-09-30 | 2011-01-26 | 电子科技大学 | 一种多相滤波结构的实现方法及装置 |
CN102124650A (zh) * | 2008-10-06 | 2011-07-13 | 三菱电机株式会社 | 信号处理电路 |
CN102158200A (zh) * | 2011-04-20 | 2011-08-17 | 中兴通讯股份有限公司 | 一种多制式数字滤波实现方法及系统 |
CN102457251A (zh) * | 2010-11-01 | 2012-05-16 | 中兴通讯股份有限公司 | 一种实现通用数字滤波器的方法及装置 |
CN102983838A (zh) * | 2012-12-05 | 2013-03-20 | 天津光电通信技术有限公司 | 一种基于fpga实现高斯滤波器数字逻辑电路的方法 |
-
2014
- 2014-12-25 CN CN201410819918.9A patent/CN104539263B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070046507A1 (en) * | 2005-08-30 | 2007-03-01 | Oki Electric Industry Co., Ltd. | Sampling rate converting method and circuit |
CN102124650A (zh) * | 2008-10-06 | 2011-07-13 | 三菱电机株式会社 | 信号处理电路 |
CN101958697A (zh) * | 2010-09-30 | 2011-01-26 | 电子科技大学 | 一种多相滤波结构的实现方法及装置 |
CN102457251A (zh) * | 2010-11-01 | 2012-05-16 | 中兴通讯股份有限公司 | 一种实现通用数字滤波器的方法及装置 |
CN102158200A (zh) * | 2011-04-20 | 2011-08-17 | 中兴通讯股份有限公司 | 一种多制式数字滤波实现方法及系统 |
CN102983838A (zh) * | 2012-12-05 | 2013-03-20 | 天津光电通信技术有限公司 | 一种基于fpga实现高斯滤波器数字逻辑电路的方法 |
Non-Patent Citations (1)
Title |
---|
梁甲华: "基于可重构FPGA技术的自适应FIR滤波器的实现", 《电子工程师》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656103A (zh) * | 2015-11-03 | 2017-05-10 | 深圳市中兴微电子技术有限公司 | 一种fir滤波器组及滤波方法 |
WO2017075868A1 (zh) * | 2015-11-03 | 2017-05-11 | 深圳市中兴微电子技术有限公司 | 一种fir滤波器组及滤波方法 |
WO2018228399A1 (zh) * | 2017-06-13 | 2018-12-20 | 上海寒武纪信息科技有限公司 | 运算装置和方法 |
CN109086880A (zh) * | 2017-06-13 | 2018-12-25 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
US11537858B2 (en) | 2017-06-13 | 2022-12-27 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11544543B2 (en) | 2017-06-13 | 2023-01-03 | Shanghai Cambricon Information Technology Co., Ltd. | Apparatus and method for sparse training acceleration in neural networks |
US11544542B2 (en) | 2017-06-13 | 2023-01-03 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11727268B2 (en) | 2017-06-21 | 2023-08-15 | Shanghai Cambricon Information Technology Co., Ltd. | Sparse training in neural networks |
US11544526B2 (en) | 2017-06-26 | 2023-01-03 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
CN108647779A (zh) * | 2018-04-11 | 2018-10-12 | 复旦大学 | 一种低位宽卷积神经网络可重构计算单元 |
CN108647779B (zh) * | 2018-04-11 | 2021-06-04 | 复旦大学 | 一种低位宽卷积神经网络可重构计算单元 |
CN113157034A (zh) * | 2021-01-19 | 2021-07-23 | 浙江大学 | 一种被动稳压电路实现的高线性度神经形态计算电路 |
Also Published As
Publication number | Publication date |
---|---|
CN104539263B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539263A (zh) | 一种可重构低功耗数字fir滤波器 | |
CN103269212B (zh) | 低成本低功耗可编程多级fir滤波器实现方法 | |
CN109271133B (zh) | 一种数据处理方法及系统 | |
CN109194307B (zh) | 数据处理方法及系统 | |
CN110635781B (zh) | 一种数字滤波计算的方法 | |
CN102185587B (zh) | 一种低功耗的两相结构多阶内插半带滤波器 | |
CN104579240A (zh) | 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法 | |
CN203617974U (zh) | 一种基于fpga的可配置系数的滤波器及电子设备 | |
Akhter et al. | Design and analysis of distributed arithmetic based FIR filter | |
CN103580647B (zh) | 一种滤波器结构 | |
CN211791464U (zh) | 一种fpga数字滤波器 | |
CN112669819A (zh) | 基于不重叠分帧和串行fft的极低功耗语音特征提取电路 | |
CN201860303U (zh) | 数字滤波器电路 | |
CN101840322B (zh) | 滤波器运算单元复用的方法和滤波器的运算系统 | |
CN101494448A (zh) | 基于fpga设计的串行自适应消噪模块 | |
CN100536331C (zh) | 一种半并行滤波器及其实现方法 | |
CN104539258A (zh) | 一种低功耗数字fir滤波器 | |
CN114448390A (zh) | 一种Biquad数字滤波器装置及实现方法 | |
CN209881765U (zh) | 检测控制装置 | |
CN1330089C (zh) | 有限脉冲响应滤波与欠采样相结合的方法 | |
CN200976573Y (zh) | 采样率转换器 | |
Li et al. | Application of Distributed FIR filter based on FPGA in the analyzing of ECG signal | |
CN207283515U (zh) | 一种数字位增加装置 | |
JP2662694B2 (ja) | デジタル保護リレー装置 | |
CN103281053B (zh) | 快速响应的数字抽取滤波器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20191225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |