CN101567672B - 获取增益的方法及系统 - Google Patents
获取增益的方法及系统 Download PDFInfo
- Publication number
- CN101567672B CN101567672B CN 200910138868 CN200910138868A CN101567672B CN 101567672 B CN101567672 B CN 101567672B CN 200910138868 CN200910138868 CN 200910138868 CN 200910138868 A CN200910138868 A CN 200910138868A CN 101567672 B CN101567672 B CN 101567672B
- Authority
- CN
- China
- Prior art keywords
- digital audio
- gain
- audio signal
- current
- signal
- 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.)
- Active
Links
Images
Abstract
本发明公开了获取增益的方法及系统。方法包括:对于每个时刻输入的数字音频信号,根据该数字音频信号的幅度,计算当前增益。本发明降低了增益计算的复杂度,从而降低了数字信号处理芯片的资源消耗,节约了成本。
Description
技术领域
本发明涉及音频信号处理技术领域,具体涉及获取增益的方法及系统。
背景技术
在视频会议应用中,主讲人随着讲话位置改变或者音量大小变化,会导致会议中其他人尤其是其他会场人员收听到的信号强度发生变化,影响会议效果。自动增益控制(AGC,Automatic Gain Control)技术通过会议系统的数字信号处理芯片(DSP,Digital Signal Processor)或者相关硬件,通过AGC算法获得增益,调节信号强弱。使输入的语音信号发声变化时,输出的信号大小稳定在一个水平上,提高会议的质量。
现有方法在对语音信号进行放大时,根据输入的音频信号能量,按照特定的阈值,计算音频信号需要放大的增益值,通过滤波算法、对数、内积或积分等运算,调节音频信号的能量大小,从而满足不同强度信号输入时,输出信号保持稳定。
现有方法使用信号能量作为增益判断的基础。能量涉及到乘法或平方的运算,甚至具有积分和对数运算,对资源消耗较大。而在视频会议系统中,依靠DSP完成声音的处理,DSP的资源是有限的。
发明内容
本发明提供一种获取增益的方法及系统,以减少获取增益消耗的资源。
本发明的技术方案是这样实现的:
一种获取增益的方法,该方法包括:
对于每个时刻输入的数字音频信号,根据该数字音频信号的幅度,计算当前增益。
所述根据该数字音频信号的幅度,计算当前增益之前进一步包括:
计算数字音频信号以及该数字音频信号附近预定帧数信号的幅度峰值,计算所有幅度峰值的最大值;
判断是否满足:所述数字音频信号的幅度峰值小于预设噪声阈值、且所述最大值不大于预设噪声阈值,若满足,判断所述数字音频信号是否仍在预设语音尾音长度之内,若是,确定所述数字音频信号为语音尾音,否则,确定所述数字音频信号为噪声;若不满足,确定所述数字音频信号为非噪声非语音尾音。
所述计算数字音频信号附近预定帧数信号的幅度峰值为:计算该数字音频信号之后第一、第二帧音频信号的幅度峰值。
当确定所述数字音频信号为噪声时,所述计算当前增益包括:
确定当前增益为1。
当确定所述数字音频信号为语音尾音时,所述根据该数字音频信号的幅度计算当前增益包括:
计算
A(n)=Apre(n-1)×(C0-c(n-2))/C0,Apre(n)=Apre(n-1)
其中,A(n)为当前增益,n为数字音频信号的帧序号,C0为预设语音尾音长度,c(n-2)为当前数字音频信号在当前语音尾音中的帧序号,Apre(n-1)为当前保留增益,且Apre(0)=1,Apre(n)为更新后的保留增益。
当确定所述数字音频信号为非噪声非语音尾音时,所述根据该数字音频信号的幅度计算当前增益包括:
计算数字音频信号以及该数字音频信号之后第一、二帧信号的幅度峰值,计算该三帧信号幅度峰值的最大值;
发现数字音频信号为非噪声非语音尾音,若所述数字音频信号的幅度峰值在预设上、下限之间,则当前增益为1,且不更新保留增益;
若所述数字音频信号的幅度峰值大于预设上限,则调整当前增益对应的调整步长,将保留增益减去调整后的步长,得到当前增益,以当前增益更新保留增益;
若所述数字音频信号的幅度峰值小于预设下限,则调整当前增益对应的调整步长,将保留增益加上调整后的步长,得到当前增益,以当前增益更新保留增益。
所述发现数字音频信号为非噪声非语音尾音之后进一步包括:计算预设门限峰值与所述最大值的比值,得到期望放大倍数;
当所述数字音频信号的幅度峰值大于预设上限时,所述调整当前增益对应的调整步长包括:
若所述数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第一调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第二调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第三调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
且,所述第一调整系数<第二调整系数<第三调整系数<1。
所述发现数字音频信号为非噪声非语音尾音之后进一步包括:计算预设门限峰值与所述最大值的比值,得到期望放大倍数;
当所述数字音频信号的幅度峰值小于预设下限时,所述调整当前增益对应的调整步长包括:
若所述数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第四调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第五调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第六调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
1>所述第四调整系数>所述第五调整系数>所述第六调整系数。
预先将预设门限峰值乘以一预设大于1的整数,得到放大后的预设门限峰值,
所述计算预设门限峰值与所述最大值的比值为:计算所述放大后的预设门限峰值与所述最大值的比值;
且所述得到当前增益之后进一步包括:
将该当前增益除以所述预设大于1的整数,以得到的商值更新当前增益。
所述计算当前增益之后进一步包括:
判断当前增益是否大于预设最大增益,若是,将预设最大增益作为当前增益;否则,保持当前增益不变。
所述计算当前增益之后进一步包括:将当前增益转换成模拟信号放大装置的放大值,模拟信号放大装置使用该放大值对下一时刻输入的模拟音频信号进行放大。
一种获取增益的系统,该系统包括:
音频信号接收模块,接收输入的音频信号,将音频信号发送给增益计算模块;
增益计算模块,对于每个时刻接收到的数字音频信号,根据该数字音频信号的幅度,计算当前增益。
所述增益计算模块包括:
幅度计算模块,计算缓存中的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值,计算该三帧信号的幅度峰值的最大值,将该三帧信号的幅度峰值和该最大值输出到信号分类模块和增益确定模块;
信号分类模块,根据幅度计算模块发来的当前数字音频信号的幅度峰值和所述最大值以及预设噪声阈值,确定当前数字音频信号为噪声还是语音尾音还是非噪声非语音尾音,将当前数字音频信号的类型发送给增益确定模块;
增益确定模块,根据幅度计算模块发来的三帧信号的幅度峰值、最大值和信号分类模块发来的当前数字音频信号的类型,确定当前增益,将当前增益输出到增益转换模块。
所述增益确定模块包括:
第一模块,接收幅度计算模块发来的三帧信号的幅度峰值、最大值,接收信号分类模块发来的当前数字音频信号的类型,若发现当前数字音频信号为噪声,则确定当前增益为1。
所述增益确定模块包括:
第二模块,接收幅度计算模块发来的三帧信号的幅度峰值、最大值,接收信号分类模块发来的当前数字音频信号的类型:语音尾音,计算预设语音尾音长度与当前数字音频信号在当前语音尾音中的帧序号的差值,将该差值与当前保留增益相乘,将所得乘积除以预设语音尾音长度,所得商值即为当前增益,且不更新当前保留增益。
所述增益确定模块包括:
第三模块,接收幅度计算模块发来的三帧信号的幅度峰值、最大值,接收信号分类模块发来的当前数字音频信号的类型:非噪声非语音尾音,若发现当前数字音频信号的幅度峰值位于预设上、下限之间,则确定当前增益为1,且确定当前保留增益不变;
若发现当前数字音频信号的幅度峰值大于预设上限,则根据三帧信号的幅度峰值、最大值,调整当前增益对应的调整步长,将保留增益减去调整后的步长,得到当前增益,以当前增益更新保留增益;
若所述数字音频信号的幅度峰值小于预设下限,则根据三帧信号的幅度峰值、最大值,调整当前增益对应的调整步长,将保留增益加上调整后的步长,得到当前增益,以当前增益更新保留增益。
所述第三模块包括:
第一子模块,接收幅度计算模块发来的三帧信号的幅度峰值、最大值,接收信号分类模块发来的当前数字音频信号的类型:非噪声非语音尾音,若发现当前数字音频信号的幅度峰值位于预设上、下限之间,则确定当前增益为1,且确定当前保留增益不变;若发现当前数字音频信号的幅度峰值大于预设上限,则将三帧信号的幅度峰值、最大值发送给第二子模块;若发现当前数字音频信号的幅度峰值小于预设下限,则将三帧信号的幅度峰值、最大值发送给第三子模块;
第二子模块,接收第一子模块发来的三帧信号的幅度峰值、最大值,若发现当前数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第一调整系数,得到当前调整步率;若发现当前数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第二调整系数,得到当前调整步率;若发现当前数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第三调整系数,得到当前调整步率;计算预设门限峰值与所述最大值的比值,得到期望放大倍数,计算期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长,将当前保留增益减去调整后的步长得到当前增益,将当前增益输出到增益转换模块;其中,第一调整系数<第二调整系数<第三调整系数<1;
第三子模块,接收第一子模块发来的三帧信号的幅度峰值、最大值,若发现当前数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第四调整系数,得到当前调整步率;若发现当前数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第五调整系数,得到当前调整步率;若发现当前数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第六调整系数,得到当前调整步率;计算预设门限峰值与所述最大值的比值,得到期望放大倍数,计算期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长,将当前保留增益加上调整后的步长得到当前增益,将当前增益输出到增益转换模块;其中,1>第四调整系数>第五调整系数>第六调整系数。
所述增益计算模块进一步用于,将当前增益输出;
该系统进一步包括:
增益转换模块,接收增益计算模块发来的增益,将该增益转换成模拟信号放大装置使用的放大值,将该放大值输出到模拟信号放大装置;
且,模拟信号放大装置使用增益转换模块发来的放大值对下一时刻输入的模拟音频信号进行放大。
与现有技术相比,本发明利用数字音频信号的幅度计算增益,降低了增益计算的复杂度,从而降低了数字信号处理芯片的资源消耗,节约了成本。
附图说明
图1为本发明实施例提供的获取增益的流程图;
图2为本发明实施例提供的通过数字音频信号的幅度计算增益的流程图;
图3为本发明实施例提供的当图2中的p(n-2)>b×peakT时的增益计算流程图;
图4为本发明实施例提供的当图2中的p(n-2)<a×peakT时的增益计算流程图;
图5为本发明实施例提供的将当前放大倍数A(n)转换为可编程增益放大器(PGA,Programmable Gain Amplifier)2310或PGA2311或PGA2320使用的放大值的流程图;
图6为本发明实施例提供的增益获取的系统的组成图;
图7为当模拟信号放大装置为PGA2320时,本发明提供的自动增益控制系统的示例图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的增益获取的流程图,如图1所示,其具体步骤如下:
步骤101:模拟信号放大装置接收输入的模拟音频信号,使用当前放大值P对该模拟音频信号进行放大,将放大后的模拟音频信号输出到数字信号处理装置。
步骤102:数字信号处理装置将放大后的模拟音频信号转换为数字音频信号。
步骤103:数字信号处理装置根据转换后的数字音频信号的幅度,计算当前增益。
步骤104:数字信号处理装置将当前增益转换为模拟信号放大装置使用的放大值P’,将该放大值P’输出到模拟信号放大装置。
步骤105:模拟信号放大装置以P’更新P,返回步骤101。
图2为本发明实施例提供的通过数字音频信号的幅度计算增益的流程图,如图2所示,其具体步骤如下:
步骤201:模拟信号放大装置接收tn时刻的模拟音频信号x(tn),采用当前放大值p(tn-1)对x(tn)进行放大,得到放大后的模拟音频信号x’(tn),将x’(tn)输入DSP,DSP将x’(tn)转换成数字音频信号x(n),将x(n)输入三帧缓存。
这里,初始化p(t0)=1。n为正整数。
步骤202:DSP计算三帧缓存中的x(n-2)、x(n-1)、x(n)的幅度峰值p(n-2)、p(n-1)、p(n),设p(n-2)、p(n-1)、p(n)中的最大值为Peak(n),即:max(p(n-2),p(n-1),p(n))=peak(n)。
这里,可设置最小零值保护:若Peak(n)=0,则令Peak(n)=1。
步骤203:判断p(n-2)<Tnoise和Peak(n)≤Tnoise是否同时成立,若是,执行步骤204;否则,执行步骤207。
其中,Tnoise为噪声阈值。
当p(n-2)<Tnoise和Peak(n)≤Tnoise同时成立时,确定x(n-2)为噪声或者为语音尾音;否则,确定x(n-2)为非噪声非语音尾音。
步骤204:判断x(n-2)为噪声还是语音尾音,若为噪声,执行步骤205;若为语音尾音,执行步骤206。
步骤205:确定A(n)=1,令Apre(n)=Apre(n-1),本流程结束。
其中,A(n)为当前放大倍数,初始化A(1)=1;Apre(n-1)为保留放大倍数,且初始化Apre(0)=1。
步骤206:计算A(n)=Apre(n-1)×(C0-c(n-2))/C0,令Apre(n)=Apre(n-1),本流程结束。
其中,c(n-2)为音频信号x(n-2)在当前语音尾音中的帧序号,C0为预设的语音尾音长度,C0的单位为帧。
由于人的语音可认为是由短时、连续的正弦信号组成。因此,当音频信号的幅度峰值从某帧开始小于噪音阀值Tnoise了,则表明后续音频信号可能为噪声也可能为语音尾音。而语音尾音通常持续一段时间后就会消失,因此,可预设一语音尾音长度C0,当从某帧发现音频信号的幅度峰值开始小于噪声阈值Tnoise且最近三帧幅度峰值的最大值不小于Tnoise,则设置一个帧计数器Cf=C0,之后每收到一帧音频信号x(n-2)作如下处理:
若p(n-2)<Tnoise和Peak(n)≤Tnoise同时成立,则先将Cf减1,然后判断Cf=0是否成立,若是,确定音频信号x(n-2)为噪声;否则,确定音频信号x(n-2)为语音尾音;若p(n-2)<Tnoise、Peak(n)≤Tnoise不同时成立,则确定音频信号x(n-2)为非噪声非语音尾音。
例如,设从A点开始音频信号x(A)满足:p(A-2)<Tnoise和Peak(A+2)≤Tnoise同时成立,则设置帧计数器Cf=C0,A点到B点之间的任一帧音频信号x(m)(A<m<B)都满足:p(m)<Tnoise和Peak(m+2)≤Tnoise同时成立,且A到B之间的帧数小于C0,到B点时,音频信号x(B)不满足:p(B)<Tnoise和Peak(B+2)≤Tnoise同时成立,则确定A到B之间的音频信号都为语音尾音,B点为非噪声非语音尾音,并在B点时,删除Cf;B点之后的C点,音频信号x(C)又开始满足:p(C)<Tnoise和Peak(C+2)≤Tnoise同时成立,则重新设置计数器Cf=C0,此后,从C点一直持续C0帧到D点,其间的任一音频信号x(l)都满足:p(l)<Tnoise和Peak(l+2)≤Tnoise同时成立,则C与D之间的音频信号都为语音尾音,且在D点删除Cf,若D点之后直到E点,其间的任一音频信号x(o)都满足:p(o)<Tnoise和Peak(o+2)≤Tnoise同时成立,则确定D与E之间的音频信号为噪声。
由上,可得到判断x(n-2)为噪声还是语音尾音的方法,具体如下:
01:判断是否存在Cf,若是,执行步骤03;否则,执行步骤02。
02:判断x(n-3)是否为噪声,若是,确定x(n-2)为噪声;否则,确定x(n-2)为语音尾音,并设置计数器Cf=C0。
03:将Cf减1,判断得到的Cf是否为0,若是,确定x(n-2)为噪声,删除Cf;否则,确定x(n-2)为语音尾音。
步骤207:计算期望放大倍数AE(n)=peakT/peak(n)。
peakT为预设门限峰值。
步骤208:判断a×peakT≤p(n-2)≤b×peakT是否成立,若是,执行步骤209;否则,执行步骤210。
其中,a<1,通常取0.9;b>1,通常取1.1。
步骤209:令A(n)=1,令Apre(n)=Apre(n-1),本流程结束。
步骤210:判断p(n-2)>b×peakT是否成立,若是,执行步骤301-306;否则,确定p(n-2)<a×peakT,执行步骤401-406。
图3为本发明实施例提供的当图2中的p(n-2)>b×peakT时的增益控制流程图,如图3所示,其具体步骤如下:
步骤301:判断p(n-2)=peak(n)是否成立,若是,执行步骤302;否则,执行步骤303。
步骤302:将预设标准调整步率乘以第一调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n),转至步骤306。
p(n-2)=peak(n)说明峰值处于下降趋势,又由于p(n-2)>peakT,则增益需要快速向下调整。这里,第一系数通常取0.7。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.7=70次,从而增益调整步长step(n)=AE(n)/Vstep(n)。
步骤303:判断p(n-1)=peak(n)是否成立,若是,执行步骤304;否则,执行步骤305。
步骤304:将预设标准调整步率乘以第二调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n),转至步骤306。
p(n-1)=peak(n)说明峰值先升后降,此时的增益调整步率相对p(n-2)=peak(n)时要减慢。这里,第二调整系数通常取0.8。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.8=80次,增益调整步长step(n)=AE(n)/Vstep(n)。
步骤305:确定p(n)=peak(n),将预设标准调整步率乘以第三调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n)。
p(n)=peak(n)说明峰值处于上升趋势,此时的增益调整步率相对p(n-1)=peak(n)时要减慢。通常,第三调整系数取0.9。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.9=90次,增益调整步长step(n)=AE(n)/Vstep(n)。
可见,步骤302中的第一调整系数,步骤304中的第二调整系数,步骤305中的第三调整系数之间的关系为:第一调整系数<第二调整系数<第三调整系数<1。
步骤306:计算A(n)=Apre(n-1)-step(n),且令Apre(n)=A(n)。
图4为本发明实施例提供的当图2中的p(n-2)<a×peakT时的增益控制流程图,如图4所示,其具体步骤如下:
步骤401:判断p(n-2)=peak(n)是否成立,若是,执行步骤402;否则,执行步骤403。
步骤402:将预设标准调整步率乘以第四调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n),转至步骤406。
p(n-2)=peak(n)说明峰值处于下降趋势,又由于p(n-2)<peakT,则增益需要缓慢向上调整。这里,第四系数通常取0.9。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.9=90次,从而增益调整步长step(n)=AE(n)/Vstep(n)。
步骤403:判断是否p(n-1)=peak(n),若是,执行步骤404;否则,执行步骤405。
步骤404:将预设标准调整步率乘以第五调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n),转至步骤406。
p(n-1)=peak(n)说明峰值先升后降,此时的增益调整步率相对p(n-2)=peak(n)时要加快。这里,第五调整系数通常取0.8。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.8=80次,增益调整步长step(n)=AE(n)/Vstep(n)。
步骤405:确定p(n)=peak(n),将预设标准调整步率乘以第六调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n)计算增益调整步长step(n)。
p(n)=peak(n)说明峰值处于上升趋势,此时的增益调整步率相对p(n-1)=peak(n)时要加快。通常,第六调整系数取0.7。例如:预设标准增益调整步率为100次,则本步骤中的当前增益调整步率Vstep(n)为100×0.7=70次,增益调整步长step(n)=AE(n)/Vstep(n)。
可见,步骤402中的第四调整系数,步骤404中的第五调整系数,步骤405中的第六调整系数之间的关系为:1>第四调整系数>第五调整系数<第六调整系数。
步骤406:计算A(n)=Apre(n-1)+step(n),且令Apre(n)=A(n)。
可见,图2~4中得到的A(n)为放大倍数,当模拟信号放大装置为PGA2310或PGA2311或PGA2320时,通过如图5所示的过程将A(n)转换成PGA2310或PGA2311或PGA2320使用的放大值:
图5为本发明实施例提供的将当前放大倍数A(n)转换为PGA2310或PGA2311或PGA2320使用的放大值的流程图,如图5所示,其具体步骤如下:
步骤501:计算Gain(n)=20lg(A(n))。
Gain(n)的单位为db。
步骤502:根据Gain(n)=31.5-[(255-p(tn))/2],得到p(tn),将p(tn)输入PGA2310或PGA2311或PGA2320,PGA2310或PGA2311或PGA2320以p(tn)更新p(tn-1)。
需要说明的是,在实际应用中,预设门限峰值peakT通常都较小,这样,若直接以peakT参与增益计算,则对精度要求较高,增加了处理复杂度;因此,为了方便计算,通常预先将预设门限峰值peakT乘以一个大于1的整数q,以得到的peakT’=q×peakT参与增益计算,即将图2~4中的peakT都以peakT’代替,同时,在得到A(n)后,要进行如下处理:A’(n)=A(n)/q,同时步骤501中的A(n)以A’(n)代替,且步骤306、406中的“Apre(n)=A(n)”要替换成“Apre(n)=A’(n)”。
另外,在计算得到A(n)后,还可以对A(n)进行最大增益控制,具体如下:
判断A(n)>Amax是否成立,若是,令A(n)=Amax;否则,保持A(n)不变。
图6为本发明实施例提供的增益获取系统的组成图,如图6所示,其主要包括:模拟信号放大装置61、信号转换模块62、幅度计算模块63、信号分类模块64、增益确定模块65和增益转换模块66,其中:
模拟信号放大装置61:初始化p(t0)=0,接收tn时刻的模拟音频信号x(tn),采用当前放大值p(tn-1)对x(tn)进行放大,得到放大后的模拟音频信号x’(tn),将x’(tn)输入信号转换模块62;接收增益转换模块66发来的p(tn),以p(tn)更新p(tn-1)。
信号转换模块62:接收模拟信号放大装置61发来的x’(tn),将x’(tn)转换成数字音频信号x(n),将x(n)输入三帧缓存。
幅度计算模块63:计算三帧缓存中的x(n-2)、x(n-1)、x(n)的幅度峰值p(n-2)、p(n-1)、p(n),设p(n-2)、p(n-1)、p(n)中的最大值为Peak(n),即:max(p(n-2),p(n-1),p(n))=peak(n),将p(n-2)、p(n-1)、p(n)和Peak(n)输出到信号分类模块64和增益确定模块65。
信号分类模块64:接收幅度计算模块63发来的p(n-2)、p(n-1)、p(n)和Peak(n),根据p(n-2)、Peak(n)、Tnoise确定x(n-2)为噪声还是语音尾音还是非噪声非语音尾音,将x(n-2)的信号类型发送给增益确定模块65。
如图8所示,增益确定模块65可包括:第一模块、第二模块和第三模块,其中:
第一模块:接收幅度计算模块63发来的p(n-2)、p(n-1)、p(n)和Peak(n),接收信号分类模块64发来的x(n-2)的信号类型;若x(n-2)为噪声,则确定A(n)=1,且令Apre(n)=Apre(n-1),将A(n)输出到增益转换模块66。
第二模块:接收幅度计算模块63发来的p(n-2)、p(n-1)、p(n)和Peak(n),接收信号分类模块64发来的x(n-2)的信号类型;若x(n-2)为语音尾音,确定A(n)=Apre(n-1)×(C0-c(n-2))/C0,且令Apre(n)=Apre(n-1),将A(n)输出到增益转换模块66。
第三模块可包括:第一子模块、第二子模块和第三子模块,其中:
第一子模块:接收幅度计算模块63发来的p(n-2)、p(n-1)、p(n)和Peak(n),接收信号分类模块64发来的x(n-2)的信号类型;若x(n-2)为非噪声非语音尾音,则:若p(n-2)在预设上、下限之间,则确定A(n)=1,且令Apre(n)=Apre(n-1),将A(n)输出到增益转换模块66;若p(n-2)大于预设上限,则将p(n-2)、p(n-1)、p(n)和Peak(n)发送给第二子模块;若p(n-2)小于预设下限,则将p(n-2)、p(n-1)、p(n)和Peak(n)发送给第三子模块。
第二子模块:接收第一子模块发来的p(n-2)、p(n-1)、p(n)和Peak(n),若p(n-2)=peak(n),则将预设标准调整步率乘以第一调整系数,得到当前增益调整步率Vstep(n);若p(n-1)=peak(n),则将预设标准调整步率乘以第二调整系数,得到当前增益调整步率Vstep(n);若p(n)=peak(n),则将预设标准调整步率乘以第三调整系数,得到当前增益调整步率Vstep(n),根据当前增益调整步率Vstep(n);计算期望放大倍数AE(n)=peakT/Peak(n),计算增益调整步长step(n)=AE(n)/Vstep(n),计算A(n)=Apre(n-1)-step(n),且令Apre(n)=A(n),将A(n)输出到增益转换模块66。其中,第一调整系数<第二调整系数<第三调整系数<1。
第三子模块:接收第一子模块发来的p(n-2)、p(n-1)、p(n)和Peak(n),若p(n-2)=peak(n),则将预设标准调整步率乘以第四调整系数,得到当前增益调整步率Vstep(n);若p(n-1)=peak(n),则将预设标准调整步率乘以第五调整系数,得到当前增益调整步率Vstep(n);若p(n)=peak(n),则将预设标准调整步率乘以第六调整系数,得到当前增益调整步率Vstep(n);计算期望放大倍数AE(n)=peakT/peak(n),计算增益调整步长step(n)=AE(n)/Vstep(n),计算A(n)=Apre(n-1)+step(n),且令Apre(n)=A(n),将A(n)输出到增益转换模块66。其中,1>第四调整系数>第五调整系数>第六调整系数。
增益转换模块66:接收增益确定模块65发来的A(n),将A(n)转换成模拟信号放大装置61使用的放大值p(tn),将p(tn)输出到模拟信号放大装置61。
其中,幅度计算模块63、信号分类模块64、增益确定模块65可统称为增益计算模块。
图7给出了当模拟信号放大装置为PGA2320时,本发明提供的自动增益控制系统的示例图,如图7所示,其中,DSP芯片包含信号转换模块62、幅度计算模块63、信号分类模块64、增益确定模块65和增益转换模块66,DSP芯片与PGA2320之间的接口为通用输入输出(GPIO,General PeripheralInput Output)接口,DSP将PGA2320使用的放大值发到PGA2320的SDI管脚上,图中的SCLK为时钟管脚,为片选管脚,VINL为输入的模拟音频的左声道信号,VINR为输入的模拟音频的右声道信号,VOUTL为输出的模拟音频的左声道信号,VOUTR为输出的模拟音频的右声道信号。
在实际应用中,PGA2320与DSP芯片之间的接口也可为串行外围接口(SPI,Serial Peripheral Interface)。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种获取增益的方法,其特征在于,该方法包括:
对于每个时刻输入的数字音频信号,计算数字音频信号以及该数字音频信号附近预定帧数信号的幅度峰值,计算所有幅度峰值的最大值;
判断是否满足:所述数字音频信号的幅度峰值小于预设噪声阈值、且所述最大值不大于预设噪声阈值,若满足,判断所述数字音频信号是否仍在预设语音尾音长度之内,若是,确定所述数字音频信号为语音尾音,否则,确定所述数字音频信号为噪声;若不满足,确定所述数字音频信号为非噪声非语音尾音;
根据该数字音频信号的幅度,计算当前增益;且,当确定所述数字音频信号为语音尾音时,计算预设语音尾音长度与当前数字音频信号在当前语音尾音中的帧序号的差值,将该差值与当前保留增益相乘,将所得乘积除以预设语音尾音长度,所得商值即为当前增益,且不更新当前保留增益。
2.如权利要求1所述的方法,其特征在于,所述计算数字音频信号附近预定帧数信号的幅度峰值为:计算该数字音频信号之后第一、第二帧音频信号的幅度峰值。
3.如权利要求1或2所述的方法,其特征在于,当确定所述数字音频信号为噪声时,确定当前增益为1。
4.如权利要求1所述的方法,其特征在于,当确定所述数字音频信号为非噪声非语音尾音时,
计算数字音频信号以及该数字音频信号之后第一、二帧信号的幅度峰值,计算该数字音频信号以及该数字音频信号之后第一、二帧信号幅度峰值的最大值;
发现数字音频信号为非噪声非语音尾音,若所述数字音频信号的幅度峰值在预设上、下限之间,则当前增益为1,且不更新当前保留增益;
若所述数字音频信号的幅度峰值大于预设上限,则调整当前增益对应的调整步长,将当前保留增益减去调整后的步长,得到当前增益,以当前增益更新当前保留增益;
若所述数字音频信号的幅度峰值小于预设下限,则调整当前增益对应的调整步长,将当前保留增益加上调整后的步长,得到当前增益,以当前增益更新当前保留增益。
5.如权利要求4所述的方法,其特征在于,所述发现数字音频信号为非噪声非语音尾音之后进一步包括:计算预设门限峰值与所述最大值的比值,得到期望放大倍数;
当所述数字音频信号的幅度峰值大于预设上限时,所述调整当前增益对应的调整步长包括:
若所述数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第一调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第二调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第三调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
且,所述第一调整系数<第二调整系数<第三调整系数<1。
6.如权利要求4所述的方法,其特征在于,所述发现数字音频信号为非噪声非语音尾音之后进一步包括:计算预设门限峰值与所述最大值的比值,得到期望放大倍数;
当所述数字音频信号的幅度峰值小于预设下限时,所述调整当前增益对应的调整步长包括:
若所述数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第四调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第五调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
若所述数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第六调整系数,得到当前调整步率,计算所述期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长;
1>所述第四调整系数>所述第五调整系数>所述第六调整系数。
7.如权利要求5或6所述的方法,其特征在于,预先将预设门限峰值乘以一预设大于1的整数,得到放大后的预设门限峰值,
所述计算预设门限峰值与所述最大值的比值为:计算所述放大后的预设门限峰值与所述最大值的比值;
且所述得到当前增益之后进一步包括:
将该当前增益除以所述预设大于1的整数,以得到的商值更新当前增益。
8.如权利要求1所述的方法,其特征在于,所述计算当前增益之后进一步包括:
判断当前增益是否大于预设最大增益,若是,将预设最大增益作为当前增益;否则,保持当前增益不变。
9.如权利要求1所述的方法,其特征在于,所述计算当前增益之后进一步包括:将当前增益转换成模拟信号放大装置的放大值,模拟信号放大装置使用该放大值对下一时刻输入的模拟音频信号进行放大。
10.一种获取增益的系统,其特征在于,该系统包括:
音频信号接收模块,接收输入的音频信号,将音频信号发送给增益计算模块;
增益计算模块,对于每个时刻接收到的数字音频信号,根据该数字音频信号的幅度,计算当前增益;
所述增益计算模块包括:
幅度计算模块,计算缓存中的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值,计算当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,将当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值和该最大值输出到信号分类模块和增益确定模块;
信号分类模块,根据幅度计算模块发来的当前数字音频信号的幅度峰值和所述最大值以及预设噪声阈值,确定当前数字音频信号为噪声还是语音尾音还是非噪声非语音尾音,将当前数字音频信号的类型发送给增益确定模块;
增益确定模块,根据幅度计算模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值和信号分类模块发来的当前数字音频信号的类型,确定当前增益,将当前增益输出到增益转换模块;
所述增益确定模块包括:
第二模块,接收幅度计算模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,接收信号分类模块发来的当前数字音频信号的类型:语音尾音,计算预设语音尾音长度与当前数字音频信号在当前语音尾音中的帧序号的差值,将该差值与当前保留增益相乘,将所得乘积除以预设语音尾音长度,所得商值即为当前增益,且不更新当前保留增益。
11.如权利要求10所述的系统,其特征在于,所述增益确定模块进一步包括:
第一模块,接收幅度计算模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,接收信号分类模块发来的当前数字音频信号的类型,若发现当前数字音频信号为噪声,则确定当前增益为1。
12.如权利要求11所述的系统,其特征在于,所述增益确定模块进一步包括:
第三模块,接收幅度计算模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,接收信号分类模块发来的当前数字音频信号的类型:非噪声非语音尾音,若发现当前数字音频信号的幅度峰值位于预设上、下限之间,则确定当前增益为1,且确定当前保留增益不变;
若发现当前数字音频信号的幅度峰值大于预设上限,则根据当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,调整当前增益对应的调整步长,将当前保留增益减去调整后的步长,得到当前增益,以当前增益更新当前保留增益;
若所述数字音频信号的幅度峰值小于预设下限,则根据当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,调整当前增益对应的调整步长,将当前保留增益加上调整后的步长,得到当前增益,以当前增益更新当前保留增益。
13.如权利要求12所述的系统,其特征在于,所述第三模块包括:
第一子模块,接收幅度计算模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,接收信号分类模块发来的当前数字音频信号的类型:非噪声非语音尾音,若发现当前数字音频信号的幅度峰值位于预设上、下限之间,则确定当前增益为1,且确定当前保留增益不变;若发现当前数字音频信号的幅度峰值大于预设上限,则将当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值发送给第二子模块;若发现当前数字音频信号的幅度峰值小于预设下限,则将当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值发送给第三子模块;
第二子模块,接收第一子模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,若发现当前数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第一调整系数,得到当前调整步率;若发现当前数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第二调整系数,得到当前调整步率;若发现当前数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第三调整系数,得到当前调整步率;计算预设门限峰值与所述最大值的比值,得到期望放大倍数,计算期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长,将当前保留增益减去调整后的步长得到当前增益,将当前增益输出到增益转换模块;其中,第一调整系数<第二调整系数<第三调整系数<1;
第三子模块,接收第一子模块发来的当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值、以及当前数字音频信号、当前数字音频信号之后第一、第二帧信号的幅度峰值的最大值,若发现当前数字音频信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第四调整系数,得到当前调整步率;若发现当前数字音频信号之后第一帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第五调整系数,得到当前调整步率;若发现当前数字音频信号之后第二帧信号的幅度峰值等于所述最大值,则将预设标准调整步率乘以预设第六调整系数,得到当前调整步率;计算预设门限峰值与所述最大值的比值,得到期望放大倍数,计算期望放大倍数与当前调整步率的比值,得到当前增益对应的调整步长,将当前保留增益加上调整后的步长得到当前增益,将当前增益输出到增益转换模块;其中,1>第四调整系数>第五调整系数>第六调整系数。
14.如权利要求10所述的系统,其特征在于,所述增益计算模块进一步用于,将当前增益输出;
该系统进一步包括:
增益转换模块,接收增益计算模块发来的增益,将该增益转换成模拟信号放大装置使用的放大值,将该放大值输出到模拟信号放大装置;
且,模拟信号放大装置使用增益转换模块发来的放大值对下一时刻输入的模拟音频信号进行放大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910138868 CN101567672B (zh) | 2009-05-15 | 2009-05-15 | 获取增益的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910138868 CN101567672B (zh) | 2009-05-15 | 2009-05-15 | 获取增益的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101567672A CN101567672A (zh) | 2009-10-28 |
CN101567672B true CN101567672B (zh) | 2013-04-17 |
Family
ID=41283669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910138868 Active CN101567672B (zh) | 2009-05-15 | 2009-05-15 | 获取增益的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101567672B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011100920A2 (zh) | 2011-04-13 | 2011-08-25 | 华为技术有限公司 | 无线接收机中自动增益调整的方法及装置 |
CN105355197B (zh) * | 2015-10-30 | 2020-01-07 | 百度在线网络技术(北京)有限公司 | 用于语音识别系统的增益处理方法及装置 |
CN108573709B (zh) * | 2017-03-09 | 2020-10-30 | 中移(杭州)信息技术有限公司 | 一种自动增益控制方法及装置 |
CN108777591B (zh) * | 2018-05-31 | 2020-06-02 | 清华大学 | 数字增益控制器及控制方法 |
CN109887522B (zh) * | 2019-01-24 | 2021-05-04 | 深圳市微纳感知计算技术有限公司 | 一种麦克风阵列增益调节方法、装置及终端设备 |
CN112133299B (zh) * | 2019-06-25 | 2021-08-27 | 大众问问(北京)信息科技有限公司 | 一种声音信号的处理方法、装置及设备 |
CN116233696B (zh) * | 2023-05-05 | 2023-09-15 | 荣耀终端有限公司 | 气流杂音抑制方法、音频模组、发声设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1183181A (zh) * | 1995-04-27 | 1998-05-27 | Rca汤姆森许可公司 | 调谐器的自动增益控制电路装置 |
CN101102098A (zh) * | 2006-07-07 | 2008-01-09 | 雅马哈株式会社 | 自动增益控制电路 |
WO2008029114A1 (en) * | 2006-09-07 | 2008-03-13 | Poem Technologies Company Limited | Digital gain control |
-
2009
- 2009-05-15 CN CN 200910138868 patent/CN101567672B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1183181A (zh) * | 1995-04-27 | 1998-05-27 | Rca汤姆森许可公司 | 调谐器的自动增益控制电路装置 |
CN101102098A (zh) * | 2006-07-07 | 2008-01-09 | 雅马哈株式会社 | 自动增益控制电路 |
WO2008029114A1 (en) * | 2006-09-07 | 2008-03-13 | Poem Technologies Company Limited | Digital gain control |
Also Published As
Publication number | Publication date |
---|---|
CN101567672A (zh) | 2009-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101567672B (zh) | 获取增益的方法及系统 | |
CN101388216B (zh) | 声音处理装置、控制增益的装置和方法 | |
CN104811154B (zh) | 声音产生系统和其音频放大的方法 | |
CN100492912C (zh) | 一种信号处理方法及装置 | |
CN101669284B (zh) | 移动音频装置的自动音量及动态围调整的方法和设备 | |
CN108573709B (zh) | 一种自动增益控制方法及装置 | |
CN105322904B (zh) | 一种数字音频信号的电平控制方法 | |
CN104699447B (zh) | 一种基于能量统计的语音音量自动调整方法 | |
US20100318353A1 (en) | Compressor augmented array processing | |
CN107277683B (zh) | 一种音频放大系统及方法 | |
CN100385794C (zh) | 一种信号处理方法及装置 | |
JP4850191B2 (ja) | 自動音量制御装置及びそれを用いた音声通信装置 | |
KR101726738B1 (ko) | 음성처리장치 및 그 방법 | |
CN108231088A (zh) | 一种应用于语音数字信号的快速自动增益控制方法和装置 | |
CN101459416A (zh) | 一种终端音频增益控制的装置及方法 | |
CN101740037B (zh) | 一种基于滑动增益的语音自动增益和动态范围控制方法 | |
JP2014052553A (ja) | 音量補正装置 | |
US7774079B2 (en) | Method and system for receiving and decoding audio signals | |
US10264366B2 (en) | Hearing aid and method for dynamically adjusting recovery time in wide dynamic range compression | |
GB2355607A (en) | Digital automatic gain control for speech signals | |
CN101789766A (zh) | 增益调节装置与方法 | |
CN109361997B (zh) | 一种扬声器多级音频增益控制系统 | |
JP3131226B2 (ja) | 改良された百分位数予測器を備えた補聴器 | |
CN205304747U (zh) | 语音采集系统的自动增益控制器控制电路 | |
US9514765B2 (en) | Method for reducing noise and computer program thereof and electronic device |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |