利用麦克风数组抑制背景噪声
扫描二维码
随时随地手机看文章
随着手持语音通信设备越来越流行,它们应用在嘈吵环境的机会也越来越高,例如机场、交通繁忙的路段、人多嘈杂的酒吧等。在这种嘈吵的环境下,通话的双方实在难以听清对方所说的话。
此外,不少通信系统都是采用计算机运行的语音识别、指令及/或响应系统,这些系统均易受到背景噪声的影响,假如噪声过大,便会导致系统出现很大的偏差。因此,有必要改善语音信号对背景声音噪声的比率。
本文将解释利用麦克风数组消除语音通信系统中背景噪声的基本原理,并引用美国国家半导体的LMV1088麦克风数组放大器作为例子加以说明。
麦克风数组
麦克风数组是指将多个麦克风一个接一个地排列成一个特别的样式,让它们一起工作以产生出一个合成输出信号或多组信号。
每一个麦克风都是一个传感器或一个空间窗口(spatial window),用于接收(空间采样)输入信号。数组的整体响应是数组中每个麦克风的个别响应的迭加,并与所采用的算法相关。
数组中多组麦克风信号所采用的 “数组处理” 算法是根据几个因素来决定的,包括麦克风的间隔距离及排列样式、麦克风的数量及类型,以及声音的传播原则。
麦克风数组的基本任务是消除语音输入信号的周围噪声,进而改善听觉辅助系统、语音识别设备和电信产品的语音质量。此外,麦克风数组也可用于方向定位,以及计算声源与数组之间的距离。
语音通信系统中的麦克风数组的主要功能是提供一个高质量的语音信号,同时降低现场及周围环境的噪声。这里所指的质量是指最终的语音信号非常自然真实,当中不存在任何的人工噪音例如是卡嗒声和砰啪声、非意愿静音、频率失真、回声或因加强语音信号处理方法所引起的不定期信号电平变化。
基于上述的理由,信/噪比改进(SNRI)并不是选择背景噪声抑制解决方案时的唯一参数,而必须考虑其它问题。
声音信息
声压级
声压级(SPL)会随着声源距离的增加而减少。图1和图2分别表示出SPL的消减,该数值以分贝(dB)作单位,并且是声源距离 “x”的一个函数。当人们说话的时候,一般以距离嘴唇约1cm的位置作为基准参考点,并将该位置的SPL定为96 dB。在这条件下,SPL的公式应为:
dB=96-20 log(x/0.01)
或可写成
dB=96+20 log(0.01/x)
公式中的 ( 或 )是0.01m的参考值距离,亦即以米作单位时相对于声源的距离“x” 为1公分。
图1 |
图2 |
当距离“x” 增加一倍时,两条曲线的SPL均下降6dB 。图1距离声源200公分,而图2则是距离声源50公分的局部放大图,从图中可见声音压力会因与声源距离的增加而急速下降,即使距离很短的情况下也一样。例如,当与声源的距离为10公分时,SPL便减少了20 dB,即由96dB下降到约76dB。
近场对远场声音
声源的近场是指该位置处于相关最低频信号的一个波长范围之内。假设相关语音的最低频为300Hz,如此波长λ便等于c/f 或 331.1/300 ,又或是 1.104 米,其中c代表声波于零度摄氏下的水平速度。当频率为3500Hz时,λ便等于c/f或 331.1/3500,又或是 0.0946米 (9.46公分)。因此,语音信号的典型近场范围即由声源距离约9.5公分到1.1米。
超过1米的距离,语音信号便会被考虑成语音声源的远场。对于麦克风间隔较近的数组,近场声源会呈现出一个圆球状的波阵面,并拥有很强的信号振幅、压力梯度,以及对应数组中各麦克风与声源之间的距离而出现的频率相关差别。
现在假设两个麦克风的间隔距离为3公分,而最接近声源的一个麦克风,其与声源的距离为5公分。图2表示出第一个麦克风(即最接近声源的一个),其感受到一个SPL为82dB的音频信号,而第二个麦克风(即与声源相距8公分)所感受到的信号为78dB SPL。即使两者间只有4 dB的差别,但相对于整体的信号级,这差别仍相当大。
从频谱含量的角度看,麦克风数组内的所有近场语音信号均关系密切。与最接近声源的麦克风比较,与声源距离最远的麦克风信号的振幅将会减少,并且会出现信号由最近麦克风传送到最远麦克风的时间延迟。然而,要恢复该个案中的语音信号并不困难。
在麦克风数组语音近场范围以外的声源将被看作是远场声源,并对数组中排列紧密的麦克风展现出实质平面的波阵面。数组中每一个麦克风均感受到几乎一样的声波能量及随机相位信号,但该些信号并没有对应关系,除非麦克风之间的距离非常接近。假如这些信号与麦克风的距离较远,那麦克风的绝对SPL值便会进一步下降。
现举出另一个例子,假若将相同的麦克风数组放置到与声源距离150公分(即1.5米)的位置,最近声源的麦克风的SPL值便会下降到52.5 dB,而距离声源153公分的最远麦克风的SPL值则稍微下降到52.3dB。虽然两者仅有0.2dB的差距,但从声源到最近麦克风的整体信号级将出现30dB的下降。
麦克风输出之间的不同信号,在进行了适当的处理及滤波后,可将远场噪声消除,使两个麦克风的复合输出及处理电路能提供高清晰度的语音信号。
声音噪声的特质
这里的噪声场可分为三种,分别是相干噪声、非相干噪声及扩散噪声。
相干噪声是指当声波传到麦克风时,在该过程中没有因环境中的障碍物而出现任何形式的反射、散射或衰减。
非相干噪声是指某一位置的噪声与其它位置的噪声没有任何关系,并且被看成空间白噪音。
扩散噪声是指拥有相同能量的噪声同时轴射到所有方向。例子包括办公室内的噪音、机场候机楼及交通噪音等,换句话说就是指所有充满噪音的环境。
这里所指的声音噪声有两种,分别是稳态噪声及非稳态噪声。
稳态噪声是指噪声的能量相对地稳定,并具备已知及变化缓慢的频谱含量,并且是可预知的。例子包括由引擎发出的噪音、空调风扇、随机或 “白” 噪音等等。噪声抑制算法能有效抑制这类噪音。
非稳态噪声是指音量及声音内容会在短时间内变化,例如高声说话或叫喊、汽车经过的声音或拍手等,其发生是不可预知的。假若出现这类噪音,它们可能在被辨识及抑制前便会自动地消失掉,非稳态噪声一般都包含在稳态噪声之内。
最麻烦的情况是当噪声源与语音信号拥有相同的出现时间、频谱及相干特性,这种情况当背景噪声属于非稳态,且旁边有其它人说话时便会出现,如在餐馆和酒吧,车站及派对上等。
第二部分
麦克风数组的解决方案
根据选用的方法,麦克风数组解决方案可以成为抑制稳态及非稳态噪声的一项非常高效的技术。
配合适当的算法,数组中的个别麦克风信号经过滤波后再组合,以便达到波束成形或空间滤波的效果,进而产生一个复杂的麦克风数组极性响应模式,能够指向或远离某个声音位置。因此,可以将某个位置的声音隔离或加强,又或可将其抑制或拒绝。同样地,麦克风声道中的信号相关性可找出主要信号的方向及其正确位置。
视乎数组的复杂度及应用,该数组可经由一个配备了数字信号处理器的模拟电路,再加上适当的计算机软件和一系列方法去控制。
波束成形
波束成形分为两种技术:自适应及定向。
在自适应波束成形技术中,可通过数据相关滤波及改变对数据的时间响应去调节波束的方向,在自适应波束成形方面已有几种方法被开发出来。虽然在信号的处理上比较繁复,但好处是设计灵活度更高,包括麦克风的数量、类型及间隔距离。自适应波束成形一般需要数字信号处理器或计算机软件来实现。
至于定向波束成形方面,波束的行走方向会按照相关声源的方位而优化,并且同时排除来自其它方向的噪声。一般来说,排列紧密兼具备固有方向性的差分式麦克风端射数组都是依靠固定时间延迟或其它方法来改变波束的方向。对于这类应用,任何滤波及信号处理的方法均须对特别的机械设计加以优化。定向波束成形一般需要模拟电路、数字信号处理器或计算机软件来实现。
对于语音应用来说,采用定向波束成形解决方案会比较好,尤其当应用牵涉到语音辨识。假如以模拟电路来实现,它们便应该:
● 对噪声输入有实时的响应
● 容易实现而且无需开发任何的算法程序
● 为抑制稳态及非稳态噪声提供一个可接受的信/噪比改进(SNRI)值
● 在无语音时表现极低的失真,并且可改善语音质量测试(ITU-T P.835)的整体平均意见分数(mean opinion score)
● 运算复杂度低并具备低信号延迟
● 功耗比其它解决方案小
与定向方案比较,采用数字信号处理器或软件实现的自适应波束成形的缺点为:
● 当实施及调节抑制算法时,需要时间去重复辨识及收敛噪声
● 虽然可提供较佳的SNRI值,但通常也会为语音输出信号带来较多的问题,包括因噪声收敛时间所引起的延迟、卡嗒声和砰啪声、非意愿静音、频率失真、回声或与子频带频率信号处理方法有关的不定期信号级变化
● 由于需要另行开发演算程序,因此在实现上比较困难
● 需要更大的功耗
所有波束成形解决方案都是采用很小的数组,它们对误差都非常敏感,包括由麦克风增益与相位失配所引起的误差,以及由于音频信号路径嵌入于产品内而非设于大气中所导致的路径偏差。因此,波束解决方案必须具备某种形式的补偿,而这种补偿可以设于波束成形系统之内,又或是在系统之外加设适合的麦克风和音频信号路径。
麦克风间隔
奈奎斯特空间采样率为相关最高频率的二分之一个波长(d=λ/2)。为了从空间取得相关频率的一个波长样品,两个传感器(即麦克风)必须相隔二分之一个波长。
然而,当传感器的间隔少于二分之一个波长时(d < 1/2λ),过采样便会发生,使波长被采样超过两次。相反地,如距离大于二分之一个波长(d > 1/2λ),空间性欠采样便会发生,这时第一个传感器在完成一个波长的采样后,会在第二个传感器进行采样之前再重新启动。空间性欠采样可将较高频的信号混迭到相关的频带,导致结果出现混乱。为了防止出现假频,采样器的频宽必须限制在最高相关频率以上。
不少研究指出假如能够尽量缩少传感器之间的距离便可打造出高效的麦克风数组,距离可以比奈奎斯特速率的最低要求小很多。现再举一个例子,其中传感器的间隔为相关声波的八分之一个波长。
在一个纯语音系统中,频率范围为300Hz 到 3500Hz,而最大声音能量可出现在500Hz 到 2500Hz之间。在此条件下,λ/8的间隔在3500Hz下为1.18公分,而于2500Hz下为1.65公分。
由于波长增加,在3500Hz 及2500Hz频率以下的音频信号仍然会被过采样,因此1.18公分或1.65公分的间隔能有效地取得更多的信号样品。
另一个计算方法将间隔定为两公分,如此当频率为2500Hz时,波长的间隔(λ)/(c/df)便为:
λ/(331.1/0.02*2500)=λ/6.62
假如空间采样率在最高相关频率下仍然低于λ/2,则需要调节麦克风的间隔以满足产品的应用要求。但随着间隔越来越挤(空间采样率越来越高),麦克风数组中的远场信号之间的相干性变大,使得数组在各频率下均可发挥更佳的整体背景噪声抑制效能。相反地,假如间隔变得较宽阔,数组的整体抑制能力便会下降,变得难以对较低频信号作出反应。
一旦决定了传感器的间隔,便可对应频率的需求将数组优化。假如采用的是定向波束成形方案,数组的响应模式也需同时被固定。
不论是任何的产品,在设计的过程中必须要作出一些折衷决定,包括在操作频率范围与所需噪声抑制级之间、理论与实际麦克风间隔之间、以及整体的数组系统成本和复杂性之间等。
麦克风数组解决方案的例子
以下采用美国国家半导体的远场抑制麦克风数组放大器LMV1088作为麦克风数组解决方案的一个例子,它可为语音应用提供高至20 dB的背景噪声抑制。LMV1088是一个模拟定向波束成形解决方案,适用于采用全指向性麦克风的差分式双麦克风端射数组。
图中两个麦克风分别位于两条相距约1.5公分至2.5公分的线上,或保持等同的声波路径距离。说话者与手机或耳机的麦克风距离最好保持2公分至10公分,通过使用图1和图2便可计算出语音信号随距离变化的损耗。
LMV1088不仅可为两条声道上的声音、麦克风和放大器信号路径之间的差别提供初始性补偿,并且可执行修正滤波令语音输出更加自然,还可提供频宽限制滤波功能。
由于内部放大器增益可通过I2C指令调节,因此可使用不同灵敏度的麦克风,并促使LMV1088的输出信号级能配合模拟输入信道信号的要求,以针对各式各样的通信处理器及设备。
LMV1088可支持四种运作模式,并通过I2C命令选择:
● 预设模式 – 同时使用两个麦克风进行噪声抑制
● 独立模式 – 独立地使用麦克风1或2(无噪声抑制)
● 总合模式 – 两个麦克风的输出被相加在一起,使麦克风信号得到6dB增益 (无噪声抑制)
LMV1088的模拟特性可提供一些传统DSP解决方案没有的特质:
● 无需因迁就背景噪声级及其类型而花费额外的时间去进行噪声收敛运算,进而可为语音信号及背景噪声提供实时反应,并且可消除令人烦厌的短暂语音消失;
● 由于不采用子频带频率处理算法,因此不会在输出产生频率失真、卡嗒声和砰啪声或其它的人工假信;
● 可加强现行系统中的单声道回声消除处理
不同麦克风数组解决方案的比较和测试
为了准确比较及测量不同背景噪声抑制方案的效果,所有的测试设置及条件必须一致,以便得到可信的结果。
基于以上理由,特别安排了几个标准的测试,其中绝大部分采用的是国际电信联合标准ITU-T Rec. 的P0056e、58e、64e、0830e和ITU-T P835。
ITU-T P835专门用于主观性测试,能够有效评估系统中的语音输出质量包括噪声抑制的效能。该规格标准清楚说明评估噪声环境中语音主观质量的方法,特别适合用来评估噪声抑制算法。该方法采用独立的等级标准将测试分为三个独立部分,分别就单独的语音信号的主观质量、单独的背景噪声的主观质量,以及有背景噪声下的整体语音质量(平均意见分数)进行独立的评估。
图3 噪声、远场、语音、优化语音 |
至于IEEE标准方面,可以采用IEEE 1209-1994及IEEE 269_1992两个标准的测试。前者是专门测量电话手机及耳机的传送效果,而后者则针对模拟及数字电话机的传送效果。两个标准的文件均已被IEEE 269-2002文件所取代。
将上述的标准综合在一起后便可实现客观的数值测量,并且可准确地评估不同背景噪声抑制解决方案的主观语音质量和电子语音辨识效果。
一般来说,系统的噪声抑制数据都是由制造商提供的,它们可能是系统所能达到的最佳水平,但对于某些要求高语音质量的应用而言,这些预设水平可能无法满足应用需求。
因此,在解决方案数据表上标明噪声抑制数值是很困难的,甚至有时会产生误导,除非可以明确地说明所有的测试条件。在此方面,一般的数据表都不会提供很详细的数据,即使提供了也不切实际,因为很难想象客户应用的条件与数据表上的测试条件完全吻合。