CN101977031A - 一种时空均衡的数字滤波器优化设计方法 - Google Patents
一种时空均衡的数字滤波器优化设计方法 Download PDFInfo
- Publication number
- CN101977031A CN101977031A CN 201010535480 CN201010535480A CN101977031A CN 101977031 A CN101977031 A CN 101977031A CN 201010535480 CN201010535480 CN 201010535480 CN 201010535480 A CN201010535480 A CN 201010535480A CN 101977031 A CN101977031 A CN 101977031A
- Authority
- CN
- China
- Prior art keywords
- data
- space
- subframe
- time
- data element
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种时空均衡的数字滤波器优化设计方法。包括:将处理长度为L的数据帧划为i个子帧,满足L=iM,i为整数;子帧内采用移动数据起始位置的方式实现数据元素更新,每计算一次,数据起始位置前移一个元素空间,将本次新计算得到的数据添加到现在数据起始位置;每一子帧内完成更新后,按逐个移动数据的方法移动全部N个元素到数组另一端,满足M=jN,j为整数,接着进行下一子帧的滤波,如此循环往复,从而实现子帧间的数据元素更新。本发明综合考虑算法实现的时间和空间需求,特别适合处理速度和内存资源均相对受限的嵌入式系统实现方式,既保证了滤波器计算中数据的快速更新操作,又在一定程度上减少了空间资源的浪费,达到了时空资源的均衡。
Description
技术领域
本发明属于数字滤波器技术领域,特别针对于数字滤波器FIR和IIR部分需要参数移位更新计算时,而采取的一种时空均衡滤波器优化设计方法。其目的是提升并均衡这种滤波器算法的时空性能,促进其在各领域的实用性,特别是时空资源紧张的嵌入式系统中的应用。
背景技术
数字滤波器能对输入离散的数字代码进行运算处理,以达到改变信号频谱的目的,并被广泛应用于数字信号处理中,如通信、电信、计算机、微电子等领域。数字滤波器有两种基本类型:FIR(finite impulse response)和IIR(infinite impulse response)。对于FIR滤波器(如公式1),冲激响应在有限的时间范围内衰减为零,其输出仅取决于当前和过去的输入信号值;而IIR滤波器(如公式2),冲激响应理论上会无限持续,其输出不仅取决于当前和过去的输入信号值,还取决于过去信号的输出值。在更多情况下,要结合这两种滤波器进行信号的处理(如公式3),以达到不同的应用目的。
在实际应用中,一般会多次连续使用数字滤波器,滤波器系数之间会有紧密的联系,比如对于公式(3)中分子和分母的参数和会由前一帧计算的结果移动一个位置而得到。针对于一些滤波器的这种特点,最直接的原实现方法就是简单地在一个固定空间中逐个移动数据,如附图1所示,而把新生成的数据放在移出剩下的位置上。这样一来,在大数据量的滤波器运算中,会有许多这样的连续移数操作,导致很多时间花费在更大量的移数操作中,而没有进行实际操作中更有意义的运算。滤波器的这种实现方法将占用大量的处理器时间,严重情况下会成为系统或处理过程中的一个运算瓶颈,使处理器不停的忙于反复漫长的移动数据操作。特别是在实时性要求较高的场合,这种实现方法不能很好的满足性能的需求。
而对上述方法的现有修正方案中是以空间换取时间,不移动数据,而只改变所移数据的起始位置,即将数据的起始位置前移一个元素空间。这样,现在的后M-1个元素将与前一帧的前M-1个元素相对应,再将新的累加乘运算得到的数据元素添加到现在的数据起始位置即可。从而将花费较多时间的移数循环由一步改变数据头的操作代替完成,仍然实现了整体数据的更新,大大提高了处理的执行速度。
上述修正方案相较原实现方法虽然大大减少了移动数据的操作,但是需要开辟很大的空间,前一帧数据的第M个元素以后的所有数据将没有用处,而上述原实现方法也未对之进行处理,会一直占用这部分空间资源。随着处理的继续运行,这样的占用空间将越来越多,从而造成了一定的资源浪费,这种情况是不合理的,特别是对于嵌入式系统内存空间相对紧缺的环境下,影响将更为显著。
发明内容
为解决在数字滤波器需要大量移动数据时,现有滤波器实现方法为反复移动数据、仅以空间换时间,从而影响处理速度或造成空间资源浪费的问题。本发明提供了一种利用前后数据的强依赖关系,以空间换时间,提高编码时效性的时空均衡的数字滤波器优化设计方法。
本发明提供的时空均衡的数字滤波器优化设计方法的具体步骤如下:
第一、将处理长度为L的数据帧划为i个子帧,满足,其中i为整数,M为子帧长度,不同类型的数据帧长度不同,每帧大小根据数据帧包含的样点更新。本发明实施例中是将帧长为30ms的语音帧分为四个子帧,滤波器的FIR部分和IIR部分分别用两个数组FirDl[70]和IirDl[70]保存滤波器分子和分母的相关系数。
第二、子帧内部数据元素的动态更新采用改变所移数据起始位置的操作实现,即以空间换取时间,不移动数据元素,每次计算一次,数据起始位置前移一个元素空间,而将本次新计算得到的数据元素添加到本次更新后的数据起始位置。对于本发明实施例而言,将两个数组FirDl和IirDl分别赋指针*FirDlp和*IirDlp,并保持数据在原来的位置不变,通过两个指针的自减运算(FirDlp--和IirDlp--)从而改变了数组元素的位置,再将新的累加乘运算得到的数据元素存放到数组FirDl和IirDl现在的起始位置,实现了子帧内数据的逐次移动。
第三、在每一子帧内部数据元素的动态更新完成后,按照在固定空间内逐个移动数据的原实现方法移动全部N个数据元素到数组的另一端,接着进行下一子帧的滤波,如此循环往复,从而可以实现子帧间的数据元素更新,即子帧间需做j次数据头移动,满足,j为整数,N为一次运算所需的数据,0<N<M。对于本发明实施例而言,子帧间采用逐个移动数据的原实现方法,即FirDl[j]=FirDl[j-1](或IirDl[j]=IirDl[j-1]),N=10,建立一个循环逐个移动全部10个数据元素到数组的另一端。
若采用原实现方法,所需的移数次数为,所需的空间资源大小为,在大数据量处理时,消耗的空间资源很小,但大量的移数操作会消耗较多的时间资源;若采用上述现有的修正方案,如附图2所示,不需要移数操作,但需要的空间资源大小为,这样占用空间资源较大还会造成一定的空间资源浪费;而本发明方案中,所需的移数次数为,所需的空间资源远远小于。
本发明提出的方案综合考虑算法实现的时间和空间需求,特别适合于处理速度和内存资源均相对受限的嵌入式环境中使用滤波器的实现中,既保证了滤波器计算中数据的快速更新操作,又在一定程度上减少了空间资源的浪费,达到了时空资源的均衡。
本发明的优点和积极效果:
原方法每次FIR和IIR部分各需要进行9次数据搬移,每个子帧进行60次,则一个整帧的数据移动次数为:4×60×2×9=4320。对现有的修正方案中全部采用移动数组起始部分的方式,一帧共需250个元素空间,而不需要移动数据元素。而对于本发明技术方案,子帧间采取移数操作而子帧内部采用数组起始部分移动的方式,一帧需要70个元素空间,小于250个;而移数次数为:4×2×10=80,也大大小于4320次ITU算法。
G.723.1协议包含6.3kbps和5.3kbps两种码率,当协议中所有能够使用本发明方法优化的位置均进行处理后,对于1分钟录音整体编码性能提升如下表1所示:
表1 本发明优化G.723.1协议编码的有益效果(单位:秒)
由此可见,整体性能有1.5秒以上的提升,这对实时性要求较高的应用,特别是基于嵌入式系统的实现方式非常重要。
附图说明
图1是原实现方法的数据更新;
图2是现有仅以空间换取时间实现的数据更新;
图3是本发明的均衡时空资源实现数据更新。
具体实施方式
现结合附图并举实施例对本发明的具体实施方式进行详细说明。
本发明所述的一种时空均衡滤波器优化设计方法,参见附图3所示,具体包括以下步骤:
步骤2:子帧内部数据元素的动态更新采用改变所移数据起始位置的操作实现,即以空间换取时间,不移动数据元素,每次计算一次,将数据起始位置前移一个元素空间,而将本次新计算得到的数据元素添加到本次更新后的数据起始位置。
在完成了步骤2所述的每一子帧内数据元素的动态更新后,便可继续执行以下步骤,实现子帧间的数据元素更新。
步骤3:按照原实现方法所述的在固定空间内逐个移动数据的方式移动全部N个元素到数组的另一端,接着进行下一子帧的滤波,如此循环往复,从而可以实现子帧间的数据元素更新,即子帧间需做j次数据头移动,满足,N为一次运算所需的数据(0<N<M)。
下面将以基于G.723.1协议的音素感知加权滤波器优化为例,对本发明的具体实施方式做进一步详细描述。
G.723.1协议中使用了许多滤波器,有一个音素感知加权滤波器模块,它主要起着减弱人耳的“掩蔽效应”,联系整帧与各子帧,提升语音音质的重要作用。所谓人耳的“掩蔽效应”,就是一个较弱声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象。
滤波器的FIR部分和IIR部分分别由原来的数组FirDl[10]和IirDl[10]改用数组FirDl[70]和IirDl[70]保存滤波器分子和分母的相关系数。即修改ITU原实现方法里Cst_lbc.h下的一个数据结构CODSTATDEF,将其中的四个元素WghtFirDl、WghtIirDl、RingFirDl、RingIirDl的大小由LpcOrder变为SubFrLen+LpcOrder,其中RingFirDl、RingIirDl是其它位置可采用类似方法优化的结构元素。
接着,对于数字滤波器FIR和IIR部分保存数据元素的数组分别赋指针*FirDlp和*IirDlp。子帧内部采用数组起始部分移动的方式,不移动数据元素,每次计算一次,这两个指针都向前移动一个数据元素位置,即FirDlp--和IirDlp--,而将新的累加乘运算得到的数据元素存放到本次的数组起始位置(如FirDlp[0]和IirDlp[0]),从而实现了数据逐次移动的功能,完成子帧内的数据元素更新。
最后,考虑空间资源因素,为实现子帧间的数据移动,在每一子帧完成后采用逐个移动数据的原实现方法,建立一个小循环逐个移动全部10个数据元素到数组的另一端。这样,采用本发明技术方案,实施例中所进行的移数次数为:4×2×10=80;而一帧共需70个元素空间。
由于ITU G.723.1协议中存在大量的卷积和滤波算法,很多位置都可以运用本发明所给出的方法进行优化处理,如冲激响应计算、振铃相减计算、组合滤波器系数更新等操作。同时,本发明并未修改处理值,所以不会对音质造成损伤。
这里仅给出了该滤波器实现在G.723.1协议中的应用,还可以应用到其他许多类似滤波器实现中。特别的,对于硬件实现的滤波器,可以直接修改数据头地址的方式来实现数据的搬移,会更加方便该方法的实施。
Claims (2)
1.一种时空均衡的数字滤波器优化设计方法,其特征在于该方法的具体步骤如下:
第二、子帧内部数据元素的动态更新采用改变所移数据起始位置的操作实现,即以空间换取时间,不移动数据元素,每次计算一次,数据起始位置前移一个元素空间,而将本次新计算得到的数据元素添加到本次更新后的数据起始位置;
2.根据权利要求1所述的方法,其特征在于第二步所述的子帧内部数据元素的动态更新的具体操作是:将两个数组FirDl和IirDl分别赋指针*FirDlp和*IirDlp,并保持数据在原来的位置不变,通过两个指针FirDlp--和IirDlp--的自减运算从而改变了数组元素的位置,实现了数据的逐次移动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010535480 CN101977031B (zh) | 2010-11-09 | 2010-11-09 | 一种时空均衡的数字滤波器优化设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010535480 CN101977031B (zh) | 2010-11-09 | 2010-11-09 | 一种时空均衡的数字滤波器优化设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101977031A true CN101977031A (zh) | 2011-02-16 |
CN101977031B CN101977031B (zh) | 2013-07-03 |
Family
ID=43576885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010535480 Expired - Fee Related CN101977031B (zh) | 2010-11-09 | 2010-11-09 | 一种时空均衡的数字滤波器优化设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101977031B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811161A (zh) * | 2015-04-27 | 2015-07-29 | 上海磐启微电子有限公司 | 用于集成电路设计的中值滤波实现方法 |
CN105162433A (zh) * | 2015-09-17 | 2015-12-16 | 广西大学 | 一种基波分量的提取方法及装置 |
CN105227157A (zh) * | 2015-11-09 | 2016-01-06 | 天津理工大学 | 二维dft域全相位数字滤波器实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090187615A1 (en) * | 2005-12-16 | 2009-07-23 | Matsushita Electric Industrial Co., Ltd. | Digital filter |
CN101577534A (zh) * | 2009-03-13 | 2009-11-11 | 福建三元达通讯股份有限公司 | 数字滤波频率自补偿电路 |
-
2010
- 2010-11-09 CN CN 201010535480 patent/CN101977031B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090187615A1 (en) * | 2005-12-16 | 2009-07-23 | Matsushita Electric Industrial Co., Ltd. | Digital filter |
CN101577534A (zh) * | 2009-03-13 | 2009-11-11 | 福建三元达通讯股份有限公司 | 数字滤波频率自补偿电路 |
Non-Patent Citations (1)
Title |
---|
《光电子技术》 20050930 刘艳艳等 一种采用N先于M环路滤波器的全数字锁相环路的设计实现 第141-145,149页 1-2 第25卷, 第3期 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811161A (zh) * | 2015-04-27 | 2015-07-29 | 上海磐启微电子有限公司 | 用于集成电路设计的中值滤波实现方法 |
CN105162433A (zh) * | 2015-09-17 | 2015-12-16 | 广西大学 | 一种基波分量的提取方法及装置 |
CN105227157A (zh) * | 2015-11-09 | 2016-01-06 | 天津理工大学 | 二维dft域全相位数字滤波器实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101977031B (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1051392C (zh) | 矢量量化器方法 | |
CN104347067B (zh) | 一种音频信号分类方法和装置 | |
EP2599082B1 (en) | Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization | |
CN109948774B (zh) | 基于网络层捆绑运算的神经网络加速器及其实现方法 | |
Garcia | Optimal filter partition for efficient convolution with short input/output delay | |
Allred et al. | LMS adaptive filters using distributed arithmetic for high throughput | |
EP2327156B1 (en) | Method for determining updated filter coefficients of an adaptive filter adapted by an lms algorithm with pre-whitening | |
US8782110B2 (en) | Signal processing system employing time and frequency domain partitioning | |
CN110009092A (zh) | 用于深度神经网络的激活函数 | |
US8175866B2 (en) | Methods and apparatus for post-processing of speech signals | |
KR100804053B1 (ko) | 2 이상의 입력 값을 처리하기 위한 장치 및 방법 | |
CN1193226A (zh) | 回波消除法和实施这样一个过程的回波消除器 | |
CN101227537A (zh) | 一种宽带声学回声消除方法 | |
CN101371299B (zh) | 固定码本搜索装置以及固定码本搜索方法 | |
CN101977031B (zh) | 一种时空均衡的数字滤波器优化设计方法 | |
KR20130007601A (ko) | 신호 프로세서 및 신호를 처리하기 위한 방법 | |
CA2955765A1 (en) | Pyramid vector quantizer shape search | |
CN110265002A (zh) | 语音识别方法、装置、计算机设备及计算机可读存储介质 | |
US5857000A (en) | Time domain aliasing cancellation apparatus and signal processing method thereof | |
JP6484325B2 (ja) | 復号方法、復号装置、プログラム及び記録媒体 | |
CN111653261A (zh) | 语音合成方法、装置、可读存储介质及电子设备 | |
CN108510996B (zh) | 一种快速迭代自适应滤波方法 | |
CN110164418B (zh) | 基于卷积网格长短时记忆递归神经网络的自动语音识别加速方法 | |
Belloch et al. | Accelerating multi-channel filtering of audio signal on ARM processors | |
CN101630242B (zh) | G.723.1编码器快速计算自适应码书的贡献模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130703 Termination date: 20131109 |