CN101977031B - 一种时空均衡的数字滤波器优化设计方法 - Google Patents

一种时空均衡的数字滤波器优化设计方法 Download PDF

Info

Publication number
CN101977031B
CN101977031B CN 201010535480 CN201010535480A CN101977031B CN 101977031 B CN101977031 B CN 101977031B CN 201010535480 CN201010535480 CN 201010535480 CN 201010535480 A CN201010535480 A CN 201010535480A CN 101977031 B CN101977031 B CN 101977031B
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.)
Expired - Fee Related
Application number
CN 201010535480
Other languages
English (en)
Other versions
CN101977031A (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.)
Nankai University
Original Assignee
Nankai University
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 Nankai University filed Critical Nankai University
Priority to CN 201010535480 priority Critical patent/CN101977031B/zh
Publication of CN101977031A publication Critical patent/CN101977031A/zh
Application granted granted Critical
Publication of CN101977031B publication Critical patent/CN101977031B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种时空均衡的数字滤波器优化设计方法。包括:将处理长度为L的数据帧划为i个子帧,满足
Figure DEST_PATH_IMAGE001
,i为整数;子帧内采用移动数据起始位置的方式实现数据元素更新,每计算一次,数据起始位置前移一个元素空间,将本次新计算得到的数据添加到现在数据起始位置;每一子帧内完成更新后,按逐个移动数据的方法移动全部N个元素到数组另一端,满足
Figure 410981DEST_PATH_IMAGE002
,j为整数,接着进行下一子帧的滤波,如此循环往复,从而实现子帧间的数据元素更新。本发明综合考虑算法实现的时间和空间需求,特别适合处理速度和内存资源均相对受限的嵌入式系统实现方式,既保证了滤波器计算中数据的快速更新操作,又在一定程度上减少了空间资源的浪费,达到了时空资源的均衡。

Description

一种时空均衡的数字滤波器优化设计方法
技术领域
本发明属于数字滤波器技术领域,特别针对于数字滤波器FIR和IIR部分需要参数移位更新计算时,而采取的一种时空均衡滤波器优化设计方法。其目的是提升并均衡这种滤波器算法的时空性能,促进其在各领域的实用性,特别是时空资源紧张的嵌入式系统中的应用。
背景技术
数字滤波器能对输入离散的数字代码进行运算处理,以达到改变信号频谱的目的,并被广泛应用于数字信号处理中,如通信、电信、计算机、微电子等领域。数字滤波器有两种基本类型:FIR(finite impulse response)和IIR(infinite impulse response)。对于FIR滤波器(如公式1),冲激响应在有限的时间范围内衰减为零,其输出仅取决于当前和过去的输入信号值;而IIR滤波器(如公式2),冲激响应理论上会无限持续,其输出不仅取决于当前和过去的输入信号值,还取决于过去信号的输出值。在更多情况下,要结合这两种滤波器进行信号的处理(如公式3),以达到不同的应用目的。
Figure 123507DEST_PATH_IMAGE001
Figure 202321DEST_PATH_IMAGE002
Figure 326397DEST_PATH_IMAGE003
在实际应用中,一般会多次连续使用数字滤波器,滤波器系数之间会有紧密的联系,比如对于公式(3)中分子和分母的参数
Figure 222678DEST_PATH_IMAGE004
Figure 799415DEST_PATH_IMAGE005
会由前一帧计算的结果移动一个位置而得到。针对于一些滤波器的这种特点,最直接的原实现方法就是简单地在一个固定空间中逐个移动数据,如附图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个数据元素到数组的另一端。
若采用原实现方法,所需的移数次数为,所需的空间资源大小为
Figure 290253DEST_PATH_IMAGE009
,在大数据量处理时,消耗的空间资源很小,但大量的移数操作会消耗较多的时间资源;若采用上述现有的修正方案,如附图2所示,不需要移数操作,但需要的空间资源大小为,这样占用空间资源较大还会造成一定的空间资源浪费;而本发明方案中,所需的移数次数为
Figure 809539DEST_PATH_IMAGE011
,所需的空间资源远远小于
Figure 47622DEST_PATH_IMAGE010
本发明提出的方案综合考虑算法实现的时间和空间需求,特别适合于处理速度和内存资源均相对受限的嵌入式环境中使用滤波器的实现中,既保证了滤波器计算中数据的快速更新操作,又在一定程度上减少了空间资源的浪费,达到了时空资源的均衡。
本发明的优点和积极效果:
原方法每次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所示,具体包括以下步骤:
      步骤1:将处理长度为L的数据帧划分为i个子帧,满足
Figure 823259DEST_PATH_IMAGE006
,其中i为整数,M为子帧长度,由不同类型的数据帧所包含的不同样点数决定。
       步骤2:子帧内部数据元素的动态更新采用改变所移数据起始位置的操作实现,即以空间换取时间,不移动数据元素,每次计算一次,将数据起始位置前移一个元素空间,而将本次新计算得到的数据元素添加到本次更新后的数据起始位置。
       在完成了步骤2所述的每一子帧内数据元素的动态更新后,便可继续执行以下步骤,实现子帧间的数据元素更新。
       步骤3:按照原实现方法所述的在固定空间内逐个移动数据的方式移动全部N个元素到数组的另一端,接着进行下一子帧的滤波,如此循环往复,从而可以实现子帧间的数据元素更新,即子帧间需做j次数据头移动,满足
Figure 9390DEST_PATH_IMAGE007
,N为一次运算所需的数据(0<N<M)。
下面将以基于G.723.1协议的音素感知加权滤波器优化为例,对本发明的具体实施方式做进一步详细描述。
G.723.1协议中使用了许多滤波器,有一个音素感知加权滤波器模块,它主要起着减弱人耳的“掩蔽效应”,联系整帧与各子帧,提升语音音质的重要作用。所谓人耳的“掩蔽效应”,就是一个较弱声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象。
G.723.1协议中规定,该滤波器由没有经过量化的10阶LPC系数来构造。滤波器的传输函数如下式所示:
Figure 332366DEST_PATH_IMAGE014
首先,本发明实施例中的G.723.1编码器帧长为30ms,即一个输入语音帧
Figure 484999DEST_PATH_IMAGE015
包括240个样点,采样率8kHz,则将语音帧分为四个子帧,并分别使用各自的滤波器滤波,得到加权的输出语音信号
Figure 482353DEST_PATH_IMAGE017
滤波器的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 (1)

1.一种时空均衡的数字滤波器优化设计方法,其特征在于该方法的具体步骤如下:
第一、将处理长度为L的数据帧划为i个子帧,满足                                                
Figure 2010105354803100001DEST_PATH_IMAGE001
,其中i为整数,M为子帧长度,由不同类型的数据帧所包含的不同样点数决定;
第二、子帧内部数据元素的动态更新,采用改变所移数据起始位置的操作实现,即以空间换取时间,不移动数据元素,每次计算一次,数据起始位置前移一个元素空间,而将本次新计算得到的数据元素添加到本次更新后的数据起始位置;所述的子帧内部数据元素的动态更新的具体操作是:将两个数组FirDl和IirDl分别赋指针*FirDlp和*IirDlp,并保持数据在原来的位置不变,通过两个指针*FirDlp和*IirDlp的自减运算从而改变了数组元素的位置,实现了数据的逐次移动;
第三、在每一子帧内的数据元素完成动态更新后,按照在固定空间内逐个移动数据元素的原实现方法移动全部N个元素到数组的另一端,接着进行下一子帧的滤波,如此循环往复,从而实现子帧间的数据元素更新,即子帧间需做j次数据头移动,满足
Figure 163571DEST_PATH_IMAGE002
,j为整数,N为一次运算所需的数据,且0<N<M 。
CN 201010535480 2010-11-09 2010-11-09 一种时空均衡的数字滤波器优化设计方法 Expired - Fee Related CN101977031B (zh)

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 CN101977031A (zh) 2011-02-16
CN101977031B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577534A (zh) * 2009-03-13 2009-11-11 福建三元达通讯股份有限公司 数字滤波频率自补偿电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4982080B2 (ja) * 2005-12-16 2012-07-25 パナソニック株式会社 デジタルフィルタ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577534A (zh) * 2009-03-13 2009-11-11 福建三元达通讯股份有限公司 数字滤波频率自补偿电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘艳艳等.一种采用N先于M环路滤波器的全数字锁相环路的设计实现.《光电子技术》.2005,第25卷(第3期),第141-145,149页. *

Also Published As

Publication number Publication date
CN101977031A (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
CN1051392C (zh) 矢量量化器方法
US7873227B2 (en) Device and method for processing at least two input values
CN102132491B (zh) 用于通过预白化确定通过lms算法调整的自适应滤波器的更新滤波系数的方法
TW202139071A (zh) 一種模型壓縮方法及圖像處理方法、電腦設備及儲存介質
KR100778349B1 (ko) 이산값의 시퀀스를 갖는 신호 처리 장치 및 방법
KR20130036361A (ko) 멀티-스테이지 형상 벡터 양자화를 위한 시스템, 방법, 장치, 및 컴퓨터 판독가능 매체
WO2021208186A1 (zh) 基于块浮点的fblms算法的fpga实现装置及方法
US20080126461A1 (en) Signal processing system employing time and frequency domain partitioning
Albu et al. The Gauss-Seidel fast affine projection algorithm
KR101445290B1 (ko) 신호 프로세서 및 신호를 처리하기 위한 방법
US20080228474A1 (en) Methods and apparatus for post-processing of speech signals
CN1193226A (zh) 回波消除法和实施这样一个过程的回波消除器
CN101977031B (zh) 一种时空均衡的数字滤波器优化设计方法
JP2019514056A (ja) オーディオ源分離
CN102194462A (zh) 固定码本搜索装置
JP2004531151A (ja) 時間離散オーディオサンプル値を処理する方法と装置
CN104272593A (zh) 多级iir滤波器和利用其对数据进行并行化的滤波
US5857000A (en) Time domain aliasing cancellation apparatus and signal processing method thereof
CA2955765A1 (en) Pyramid vector quantizer shape search
JP6486450B2 (ja) 符号化方法、符号化装置、プログラム及び記録媒体
CN113287167A (zh) 用于混合语音合成的方法、设备及系统
Pasupuleti et al. Low complex & high accuracy computation approximations to enable on-device RNN applications
CN108510996B (zh) 一种快速迭代自适应滤波方法
CN109509481A (zh) 音频信号回声降低
Hirano et al. Implementation of stereophonic acoustic echo canceller on nvidia geforce graphics processing unit

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