在公共环境中自动调节音量的方法及设备
技术领域
本发明涉及发声设备的音量调节,特别是涉及在公共环境中自动调节音量的方法及设备。
背景技术
很多场合下需要对声音进行自动调节。例如,在手机通话中,背景噪声很大的情况下,人们倾向于大声说明,这是人体自然的调节反应。这种场合,由于通话时间不定,且较短,因此其音量调节方法是,通话之前先检测环境噪声的大小,据此调节扬声器的输出音量。因此,通话过程中的音量被设定在一个固定大小的位置上。
检测背景噪声大小的关键是怎样剔除伴音输出产生的声响叠加到周围环境的那部分。这有点类似于通讯系统中的回波,包括声学回波和电学回波。在通讯系统中,常用自适应滤波器LMS(Least mean square,最小均方)对回波进行抵消处理。其基本原理是,如果用一个自适应权向量W和主信号X的乘来模拟回波信号,那么模拟后的误差的平方将是W的二次函数,从而存在一个W,使得该误差最小。LMS寻求最速下降,以便使误差快速收敛到最小误差。这样一来,从主信号X中减去WX,就相当于抵消了大部分回波。
Widrow-Hoff LMS算法的迭代式为:W(k+1)=W(k)+2ue(k)X(k),其中u为收敛因子,e(k)为误差信号,可以证明,当迭代次数逼近无限时,W的数学期望收敛到Wiener解,条件是收敛因子u满足:0<u<1/(λmax),λmax是Rxx的最大特征值,Rxx是主信号自相关函数矩阵:Rxx=E{X(k)XT(k)}。
参见图1,B(n)为广播信号b(n)经音量调节K、功放和扬声器输出G、声学耦合F后叠加到环境噪声r(n)的采样序列R(n)中的那部分分量,需要采用LMS抵消,以准确反映实际上的环境噪声。本文中的采样信号为R(n)和S(n)。图1中的F、G、K为各环节的系统传递函数。推导如下:
设^B(n)是对实际上的广播信号声响B(n)的最佳估计,r(n)为真正的环境噪声,S(n)为经音量调节后输出的广播信号的采样值。R(n)为环境噪声的采样值,其中含有B(n)分量。b(n)与r(n)不相关(即正交, ),但B(n)要跟随r(n)而变化,因此B(n)与r(n)相关,且与S(n)相关。设权向量为W,那么^B(n)可用权向量W与S(n)的积进行估计:
其中M为权向量的阶。
估计误差:^e(n)=B(n)-^B(n)=R(n)-r(n)-^B(n)=R(n)-r(n)-WT(n)S(n-m)
估计误差的平方:[^e(n)]2=[R(n)-r(n)]2-2[R(n)-r(n)]ST(n-m)W(n)+WT(n)S(n-m)ST(n-m)W(n)
取数学期望,有:E{^e(n)}2=E{R(n)-r(n)}2-2E{[R(n)-r(n)]ST(n-m)}W(n)+WT(n)E{S(n-m)ST(n-m)}W(n)
定义互相关函数行向量:RTxd=E{[R(n)-r(n)]ST(n-m)}
=E{R(n)ST(n-m)}-E{r(n)ST(n-m)}
=E{R(n)ST(n-m)}-E{r(n)b(n)K(.)}
由于r(n)与b(n)不相关,且在一定时间内K固定不变,因此近似地有E{r(n)b(n)K(.)}=K(.)E{r(n)b(n)}=0,故
RTxd=E{R(n)ST(n-m)}
定义自相关函数行向量:RTxx=E{S(n-m)ST(n-m)}
则均方误差可写为:E{^e(n)}2=E{R(n)-r(n)}2-2RTxd W(n)+WT(n)RTxxW(n)
上式对权向量W有唯一最小值。故可用梯度法求最小值。
对W求导数,得到梯度函数:
令
得到W的最优解(Wiener解)Wopt=R
-1xx Rxd
从另一角度对此进行理解。如果把S(n)和R(n)看作是Rm欧氏空间的两个不同的向量,那么,这两个向量之间的夹角与Rxd高度相关,夹角越小,Rxd越大;夹角越大,Rxd越小;可用余弦公式求Rxd值(假定Rxd=1-cosα,α为S(n)和R(n)之间的夹角)。Wiener解(包括近似解W)可看作是向量S(n)在向量R(n)上的投影系数,因此,理论上可计算出广播信号声响B(n)的最佳估计^B(n)=Wopt(n)S(n)。
在没有先验知识的情况下,求Wopt是比较困难的,Widrow-Hoff提出了一种迭代方法求近似的W。下面的推导中,以误差平方代替误差平方的期望:
这样,用最速下降法求权向量的迭代式就是:
写成向量形式:
这即前文提到的Widrow-Hoff LMS迭代式。
然而,在检测背景噪声大小时,用Widrow-Hoff LMS求权向量W的近似解存在两个问题:
首先是采样信号的对齐(同步)问题。
由于声学耦合通道的长度是随实际安装场合变化的,B(n)从而R(n)就与S(n)存在一定时间的延迟。在公共场合,假定距离为2米,那么实际上的延迟可达到5.88ms,对8KHZ的采样频率而言,R(n)信号与S(n)信号之间就存在较大的时差。从式Wopt=R-1xx Rxd可以看出,如果不进行信号对齐,那么R(n)与S(n)之间的Rxd系数就可能很小(即弱相关)甚至0(不相关),难以真实地反映出S(n)信号在R(n)中的投影部分(即B(n)),这样,用Widrow-Hoff LMS算法求权向量W时的得到的估计值与真值之间就存在较大的偏差。
实验结果证明了这一推测。实验结果表明,由于没有进行信号对齐,LMS最优估计值与R(n)之间具有高度正相关性,表明^B(n)是对R(n)的最优估计,但不是对B(n)的最优估计。
要进行信号对齐,存在较大的困难:真实的环境噪声r(n)是瞬变的随机信号,广播声响往往淹没在环境噪声中,信噪比很小。要进行信号对齐,只能依据特定的声学耦合路径长度预先进行估计。
其次是误差信号的计算问题。
根据上面的推导,误差信号^e(n)=R(n)-r(n)-^B(n)
其中是r(n)是未知的,需要改写成^e(n)=R(n)-^B(n),带来的后果是,迭代过程可能不收敛。
LMS回波抵消方法理论上是非常好的一种音量调节方法,但由于信号同步问题尚不能有效解决,因此在实践中带来了较大的偏差。
另外一种剔除自激励量的方法是在频域进行处理。对一段时长的R(n)信号和S(n)信号经过FFT变换后,根据S(n)中的主分量信号(PCA)频段剔除R(n)信号中对应的信号,从而剔除自激励分量。在一个22MHZ的8位单片机中,实现256点的FFT约花费0.3~0.5秒时间,计算能力可以达到低成本、实用的要求。假定每一点的采样时间为10us,那么256点的采样时间约2.56ms;再假定声学耦合路径长1米,那么广播信号的采样延迟约2.9ms,大于2.56ms;这样采样到的R(n)信号和S(n)信号之间仍然不能同步,自然,用这种方法也存在上面的问题。
以上说明,要进行回波抵消,不管采用哪种方法,都会面对声学耦合路径不定而带来的信号不同步问题。这表明,仍然需要寻求一种经济有效实用的解决方法,在公共场合对广播设备的伴音音量进行调节。
发明内容
本发明要解决的技术问题在于克服上述现有技术的不足和困难,而提出一种新的经济方法及设备,能够经济有效实用地在公共场合对广播设备的伴音音量进行调节。
本发明解决上述技术问题采用的技术方案包括,提出一种在公共环境中自动调节音量的方法,用一设定时长内的采样值的算术平均来表征该设定时长内的噪声。
本发明的方法,包括:
一采样及预处理过程,对环境进行采样和处理,得到该设定时长内的噪声表征;
一长程平均过程,对设定的一长时长内的采样值进行平均,得到一长程平均值;
一短程平均及微分累计过程,对设定的一短时长内的采样值进行平均,得到一短程平均值,并对短程平均值进行微分和累计,得到一累计值;
一音量嵌位过程,依据该长程平均值以及一控制周期和一测试周期,该测试周期的时间较控制周期要短,而得到一控制周期音量的嵌位和浮动范围和一测试周期音量的嵌位和浮动范围;
一负混沌扰动过程,选取一种混沌函数,当某一个环境噪声级别维持的时间稍长时,得到一负的混沌扰动值;
一控制过程,依据该累计值、控制周期音量的嵌位和浮动范围、测试周期音量的嵌位和浮动范围以及负的混沌扰动值,得到一控制量,将该控制量与一阈值进行比较,再根据比较的结果以确定音量的下降、维持或上升。
在本发明中,在控制周期和测试周期,控制定时到达后,首先依据长程平均判别当前音量应当设定的范围:如果超出该范围的最高音量,就令控制量=负阈值-1;如果低于该范围的最低音量,就令控制量=阈值+1;如果处于该范围内,那么控制量就加上本次的微分值;然后根据控制量产生音量上升/下降信号:如果控制量>阈值,则发生音量上升信号,然后令控制量减去阈值;如果控制量<负阈值,则发生音量下降信号,然后令控制量加上阈值。
在本发明中,该测试周期的时间是控制周期的1/3-1/2。
在本发明中,在将音量划分为15个等级的情况下,允许该测试周期音量范围的最低音量较控制周期音量范围的最低音量要低1-3个音量等级。
在本发明中,该控制过程中采用定时器,只在定时时间到时,才会输出信号来控制一调节器以调节音量。
在本发明的一个优选实施例中,得到采样值的过程具体包括:以8KHz的采样频率,对每100毫秒的采样值进行算术平均后,折算成C权db值。
得到短程平均值的过程具体包括:对每2秒的采样值进行算术平均。
得到长程平均值的过程具体包括:对每10秒的采样值进行算术平均。
该混沌函数为:Xn+1=uXn(1-Xn),其中,Xn为前一时刻的音量控制信号,Xn+1为当前的音量控制信号,u为收敛因子。
本发明解决上述技术问题采用的技术方案还包括,提出一种在公共环境中自动调节音量的设备,用一设定时长内的采样值的算术平均来表征该设定时长内的噪声,包括:
一采样及预处理单元,用以对环境进行采样和处理,得到该设定时长内的噪声表征;
一长程平均单元,用以对设定的一长时长内的采样值进行平均,得到一长程平均值;
一短程平均及微分累计单元,用以对设定的一短时长内的采样值进行平均,得到一短程平均值,并对短程平均值进行微分和累计,得到一累计值;
一音量嵌位单元,用以依据该长程平均值以及一控制周期和一测试周期,该测试周期的时间较控制周期要短,而得到一控制周期音量的嵌位和浮动范围和一测试周期音量的嵌位和浮动范围;
一负混沌扰动单元,用以选取一种混沌函数,当某一个环境噪声级别维持的时间稍长时,得到一负的混沌扰动值;
一控制单元,用以依据该累计值、控制周期音量的嵌位和浮动范围、测试周期音量的嵌位和浮动范围以及负的混沌扰动值,得到一控制量,将该控制量与一阈值进行比较,再根据比较的结果以确定音量的下降、维持或上升。
在本发明中,该采样及预处理单元的采样频率为8KHz,该采样及预处理单元是能够对每100毫秒的采样值进行算术平均后、折算成C权db值的。
在本发明中,该短程平均及微分累计单元是能够对每2秒的采样值进行算术平均的。
在本发明中,该长程平均单元是能够对每10秒的采样值进行算术平均的。
在本发明中,该长程平均单元、短程平均及微分累计单元控制单元、音量嵌位单元以及负混沌扰动单元是采用一微处理器实现的。
在本发明中,该控制周期和测试周期之和与该微处理器的一个计算周期相等。
在本发明中,该测试周期的时间是控制周期的1/3-1/2。
在本发明中,该微处理器具有一定时器,只在定时时间到时,该微处理器才会输出信号来控制一调节器以调节音量。
在本发明中,该采样及预处理单元也是采用该微处理器实现的。
与现有技术相比,本发明的在公共环境中自动调节音量的方法及设备,通过用一设定时长内的采样值的算术平均来表征该设定时长内的噪声,可以经济有效实用地在公共场合对广播设备的伴音音量进行调节。
附图说明
图1为现有的采用LMS进行回波抵消的系统模型。
图2为本发明的在公共环境中自动调节音量设备实施例的信号处理流程图。
图3为采用本发明的在公共环境中自动调节音量设备实施例得到的音量跟随曲线。
图4为本发明的在公共环境中自动调节音量设备实施例中的各有关信号关系示意。
具体实施方式
以下结合附图所示之最佳实施例作进一步详述。
对公共场合下的广播设备的伴音音量进行控制时,涉及到的第一个问题是如何计量采样到的环境噪声。
目前普遍采用的是A权/C权网络计量方法。根据实验数据,在公交/地铁等低频噪声为主的环境中,A权通常比C权少约20db。但这两种方法得出的结果与人的主观感受不太一致。其他的方法也要涉及到频域变换、复杂耗时的数学运算。这些在低成本解决方案中会耗费大量的CPU计算资源,不太合用。
因此,本发明直接采用更简单的方法:用一段时长,例如100ms内的采样值的算术平均,来表征该时长内的噪声值。
参见图2所示的本发明的在公共环境中自动调节音量方法实施例的信号处理流程图,其中:
采样及预处理:对环境进行采样和处理,按照本发明的计量方法,把采样值折算成对应的噪声db。
长程平均:获取较长时长内的平均值,可用来评价环境噪声的主观感受级别,例如C权声级90db对应非常吵闹、C权声级65db对应安静等;可依据长程平均值把音量嵌制在一个范围内。
短程平均:获取较短时长内的平均值;短程平均的微分结果,可用来预测环境噪声的变动方向,因此其累计值可构造控制量。
音量嵌位:依据长程平均所指示的环境噪声级别,把音量嵌位在一个范围内。由于长程平均值包含了广播信号的响度部分,当环境噪声较大程度地下降时,由于耦合的存在,所采样数据并不能真实的反映实际情况。因此音量将会维持在一个较高的水准,不容易调下来。需要采用某种方法进行控制。在本发明中,采用测试周期来解决这个问题:即把CPU计算周期,区别于采样周期,分成控制周期和测试周期。
在控制周期内,用以调节音量上升或下降的控制信号的产生要考虑两方面的因素:一个是控制量与阈值的比较;一个是环境噪声级别。控制周期内的控制算法是,先根据环境噪声级别的情况,把音量嵌位到一个合适的音量范围,既不得低于某个音量,也不得高于某个音量。然后,在此范围内,再依据控制量于阈值的比较情况,对音量进行浮动调节。
在测试周期内,控制算法与控制周期的一样。不过,时间比控制周期要短,例如:仅控制周期的1/3长,且最小嵌位音量要稍低一些:低1~3个音量。测试周期处理的功能在于:如果在测试周期内产生了音量下降的信号,那么音量就被允许降得更多一些,长程平均值也会减得更多一些。如果真实的环境噪声级别是下降的,那么这两种减少叠加到一起,就足以改变并降低控制算法中的环境噪声级别,从而使得音量可嵌位到更低的级别;如果真实的环境噪声级别没有下降,那么这种减少就不足以改变控制算法中的环境噪声级别,当控制周期到达时,音量就会恢复到原来的程度。
负混沌扰动:选取一种混沌函数,当某一个环境噪声级别维持的时间稍长时,就把负的混沌扰动值叠加到控制量上,从而形成音量下降信号。负混沌扰动和测试周期处理共同作用,在环境噪声变低时,可把音量从高位调下来。
定时控制:过于频繁的音量变化,会引起人耳的不舒服;因此,本发明引入定时控制的概念,只有当定时时间到时,才会输出信号来控制调节器。
参见图3,因为公众场合中的噪声往往是瞬变的大随机信号,所以调节音量必须经过平滑处理,既要跟随环境噪声而变动,又必须使人耳听起来舒服。
本发明把环境噪声声响分成6个级别:非常安静级、安静级、正常级、吵闹级、非常吵闹级、极其吵闹级,把音量分成15个等级,各级别对应的C权噪声值及音量范围如下表:
环境级别 |
C权噪声范围(db) |
控制周期音量范围 |
测试周期音量范围 |
非常安静级 |
<68 |
3-6 |
3-6 |
安静级 |
68-75 |
5-8 |
4-8 |
正常级 |
76-80 |
6-10 |
5-10 |
吵闹级 |
81-85 |
9-12 |
7-12 |
非常吵闹级 |
86-93 |
10-15 |
8-12 |
极其吵闹级 |
>93 |
13-15 |
10-15 |
本发明采用8KHZ频率采样,这个频率可覆盖一般的语音和公交、地铁环境中的低频噪声频段;每100毫秒的采样值经算术平均后,按照前面说明的计量方法折算成C权db值;对每2秒的采样值进行算术平均,计为短程平均值;每10秒的采样值进行算术平均,计为长程平均值。长程平均值用于判别当前噪声环境等级,从而决定音量的调节范围;对短程平均值进行微分后,其累计值就是控制量。
在控制周期,控制定时到达后,首先依据长程平均值判别当前音量应当设定的范围:如果超出该范围的最高音量,就令控制量=负阈值-1;如果低于该范围的最低音量,就令控制量=阈值+1;如果处于该范围内,那么控制量就加上本次的微分值;然后,根据控制量产生音量上升/下降信号:如果控制量>阈值,则发生音量上升信号,然后令控制量减去阈值;如果控制量<负阈值,则发生音量下降信号,然后令控制量加上阈值。
在测试周期,控制算法是一样的。差异在于,测试周期的时间只是控制周期的1/2到1/3,且允许的最低音量要低1-3个音量(请参见上表)。
混沌函数为:Xn+1=uXn(1-Xn)。
参见图4,示出了音量与长程平均、短程平均和噪声信号之间的关系。
需要说明的是,本发明的在公共环境中自动调节音量的设备可以通过一微处理器及与其相连的辅助电路构成。该长程平均单元、短程平均及微分累计单元控制单元、音量嵌位单元以及负混沌扰动单元均可以是该微处理器的内部功能实现,并且,该采样及预处理单元也是采用该微处理器的内部功能实现。当然,构成本发明设备的这些单元,也可以采用单独的电路模块来实现。
以上,仅为本发明之较佳实施例,意在进一步说明本发明,而非对其进行限定。凡根据上述之文字和附图所公开的内容进行的简单的替换,比如:用一诸如FPGA之类的可编程集成电路替代上述的微处理器,都在本专利的权利保护范围之列。