《电子技术应用》
您所在的位置:首页 > 测试测量 > 设计应用 > 抑制风噪声的频点离散值加权GCC-PHAT时延估计算法
抑制风噪声的频点离散值加权GCC-PHAT时延估计算法
2018年电子技术应用第3期
乔 健,王建明
南京工业大学 计算机科学与技术学院,江苏 南京211816
摘要: 针对麦克风阵列使用GCC-PHAT算法估计信号到达时差对加性噪声敏感,以及基于信噪比估计的连续值加权GCC-PHAT算法无法消除环境中类似风噪声的变化噪声干扰的情况,提出了一种抑制风噪声的频点加权GCC-PHAT算法。通过分析已有算法的不足,新算法选择使用离散频点加权,并通过信号频点间相干性量化值和时域关联性计算权值,去除风噪声干扰频点;同时估计声源信号活跃度,调整算法运算量。实验表明,与已有的GCC-PHAT算法相比,新算法能有效消除风噪声对估计结果的干扰,同时降低运算负载。
中图分类号: TP391
文献标识码: A
DOI:10.16157/j.issn.0258-7998.173520
中文引用格式: 乔健,王建明. 抑制风噪声的频点离散值加权GCC-PHAT时延估计算法[J].电子技术应用,2018,44(3):72-76,80.
英文引用格式: Qiao Jian,Wang Jianming. GCC-PHAT time difference estimation algorithm based on binary frequency weight with suppressing wind noise[J]. Application of Electronic Technique,2018,44(3):72-76,80.

GCC-PHAT time difference estimation algorithm based on binary frequency weight with suppressing wind noise
Qiao Jian,Wang Jianming
Department of Computer Science and Technology,Nanjing Tech University,Nanjing 211816,China
Abstract: Aiming at the problems that GCC-PHAT algorithm is sensitive to additive noise and the weighted GCC-PHAT algorithm based on prior SNR can′t eliminate the jamming of non-stationary noise——wind noise, an improved GCC-PHAT algorithm is presented.The improved algorithm utilizes the binary frequency weight calculated by magnitude of coherence and correlation in signal adjacent frames to eliminate frequency component disturbed by wind noise. Meanwhile, computational load of the algorithm would be modulated with voice activity according to binary weight. The experiment results show that the proposed algorithm can effectively suppress wind noise and significantly improve computational load.
Key words : GCC; TDOA; binary frequency weight; wind noise

0 引言

    准确定位声源是移动设备进行听觉场景分析的首要步骤,其结果对后续混合声源分离、声源辨识、语音识别有直接影响。延时求和波束形成[1]技术在进行声源定位时已被广泛使用,需要使用信号到达麦克风阵列中不同麦克风的时间差值(Time Difference Of Arrival,TDOA)。而相位变换广义互相关(Generalized Cross Correlation-Phase Transform,GCC-PHAT)算法具有很短的判决时延和较好的跟踪能力,适用于低混响环境,是常用的TDOA估计算法。

    VALIN J M提出了一种使用递归方法计算权值的改进的GCC-PHAT算法[2],即连续值频点加权GCC-PHAT算法,来提高原算法对加性噪声的鲁棒性。连续权值计算需要使用最小值控制递归平均[3](Minimum Controlled Recursive Averaging,MCRA)算法估计噪声,但MCRA算法在噪声变化后需要适应时间调整参数[4],因而对于加性非平稳间或噪声,使用连续权值的加权方法无法消除其干扰,最终导致TDOA估计错误。因此本文在频点加权GCC-PHAT算法的基础上,利用接收信号中风噪声与声源信号频点间相干性差异,提出一种频点离散值加权GCC-PHAT算法,以消除风噪声及背景噪声对TDOA估计的干扰。实验结果表明,相较原算法,新算法的结果可靠性和运算效率都明显提高。

1 互相关算法估计信号时差

1.1 场景声学模型

    设声源信号在存在加性噪声的混响环境中传播,由麦克风阵列接收。加性噪声由背景噪声和风噪声组成。风噪声是一种特殊的非平稳噪声,由麦克风薄膜表面湍流产生,导致接收信号产生严重畸变。背景噪声在声学环境中近似为远场声源产生的弥漫性噪声。声源信号与风噪声及背景噪声等加性噪声不相关。

    设n为信号时域采样序号,m为阵列中麦克风编号,s(n)为声源信号,hm(n)是声源到麦克风m之间的房间系统冲击响应序列,wm(n)表示风噪声,bm(n)为背景噪声信号。背景噪声不需要考虑混响,则麦克风m接收信号ym(n)表示为:

    ck6-gs1.gif

1.2 频点加权GCC-PHAT算法

    接收信号在整个时间域上非平稳。利用接收信号短时平稳特性,通过短时傅里叶变换,将分帧后信号变换到时频域分析[5]。选择长度为N的海宁窗h(n)对接收信号分帧,减小信号帧间频率截断效应。设信号帧间步进长度为ΔN个采样间隔,则接收信号第l帧表示为ym(lΔN+n),其傅里叶变换结果为:

ck6-gs2-4.gif

2 离散值频点加权GCC-PHAT算法

2.1 离散频点权值

    VALIN J M等人提出的频点连续权值计算基于先验信噪比(Signal-to-Noise Ratio,SNR)估计。频点k对应的连续权值为:

ck6-gs5-6.gif

式中,ck6-gs5-6-x1.gif为MCRA算法所得噪声功率谱估计。

    连续权值是关于信噪比的单调函数,值域为[0,1],用soft mask表示,取值如图1所示。

ck6-t1.gif

    频点连续权值计算依赖噪声功率谱估计和信号相邻帧间信噪值连续性。比较风噪声和语音信号瞬时功率随时间的变化曲线,可以看出风噪声时域变化特性强于语音信号[6]。现有语音增强算法均默认噪声变化慢于语音,故对于包含风噪声的信号,上述方法无法得出先验信噪比。且连续权值取值为[0,1],当声源信号受噪声严重干扰(SNR<0)时,信号频点对应权值大于零,加权后信号仍然保留噪声成分,导致最终TDOA估计出错。本文在已有频点加权方法基础上提出一种使用频点离散权值的风噪声抑制算法。新权值是关于信号频点相干值的函数,不依赖噪声估计,且只取离散值0和1,完全消除含噪频点对TDOA估计结果的干扰。新权值ck6-t1-x1.gif用wind mask表示。

    风噪声由麦克风表面的湍流产生,不同麦克风间风噪声频点无相干性。但对于同一声源信号,阵列中麦克风的接收信号在各频点上都具有高相干性。引入相干谱值(Magnitude Squared Coherence,MSC),对信号各频点间相干性大小进行量化:

    ck6-gs7.gif

式中,Pm1m2、Pm1m1、Pm2m2分别为麦克风m1、m2信号的互功率谱密度和自功率谱密度。

    MSC值反映了不同信号在频点k上的相干程度。如图2所示,对于近场平稳声源的两路信号,在信号存在频率范围内,MSC值在1附近,而在风噪声存在的低频区域,MSC值始终分布在0附近。图3为包含风噪声的1帧信号MSC取值。在风噪声存在的低频范围,信号各频点处0≤MSC≤1,且包含噪声成分越多,MSC取值越小。风噪声频率范围外信号各频点MSC接近1。但背景噪声间也具有相干性[7],其MSC取值满足式(8),其中dm1m2为麦克风之间距离。因此使用相干差异消除风噪声干扰前需要预先消除背景噪声。

    ck6-gs8.gif

ck6-t2.gif

ck6-t3.gif

    分析不同类型信号发现,只有无噪声干扰的近场平稳声源信号,各频点间MSC值始终接近1。其余信号频点MSC取值在[0,1]内。因此可以利用信号间频点的相干值检测噪声,并通过加权方式只保留信号中未受干扰频点。上述结论数学表达如式(9)所示,其中θwind为相干值阈值。

    ck6-gs9.gif

ck6-t4.gif

ck6-gs10.gif

    不同于连续频点权值计算基于单路信号,新权值计算同时基于2路信号,则式(3)可以表示为:

    ck6-gs11.gif

2.2 预增强信号

    MCRA算法避免了信号活跃性检测方法在低信噪和无声段因高误检率引起的错误估计。但MCRA算法在固定长度时间窗内搜索频带功率谱最小值,产生噪声估计滞后。本文提出一种连续时域上的当前功率谱最小值搜索方法,提高估计速度。在搜索功率谱最小值前,先做如下时域递归平滑获得平滑功率谱值:

ck6-gs12-13.gif

    由于噪声先验概率比为单调函数,根据Bayes最小风险代价判决准则,MCRA算法使用信号功率谱与其局部最小值的比值Sr(l,k)与固定阈值δ比较,判决频点是否包含信号分量,计算信号存在概率。但是固定阈值δ仅适用于平稳噪声情况,对包含非平稳噪声情况判决不敏感。根据信号频率分布特性:风噪声分布在中低频率区域,中高频部分为包含背景噪声的声源信号,新算法选择如下分段阈值δ(k):

ck6-gs14-16.gif

2.3 算法运算负载分析

    移动设备计算资源有限,对算法实时性也有要求,故必须考虑算法运算量。对于包含M个麦克风的阵列,使用频点加权GCC-PHAT算法估计TDOA,信号每帧均需要执行M次FFT和M(M-1)/2次IFFT操作。为简化分析,假设傅里叶正、逆变换运算量相同,则M个麦克风的阵列估计TDOA运算量记为(M2+M)/2次运算,复杂度为O(M2),故随着阵列中麦克风个数增加,算法运算量快速上升。

ck6-gs17.gif

3 实验结果分析与对比

3.1 实验参数

    本部分将在不同测试条件下比较不同频点加权GCC-PHAT算法性能。表1给出算法对应参数。为确保时频变换后获取接收信号全部频率成分,设置fs为48 000 Hz;接收信号每帧包含的采样点数N对应信号时长在20 ms~30 ms,窗序列设置为相同长度;为保持平稳信号帧间的连续性,设帧步进ΔN=N/2,即帧间50%重叠;c为20 ℃、101.1 kPa条件下声速;ε是接近0的小数,避免实际应用中式(11)结果溢出;判决阈值θwind、θD、θmin取值依据多次实验结果确定。根据表1中参数,算法引入延迟Δl·ΔN/fs=32 ms。在人机语音交互中,这种量级的时间延迟可以忽略。

ck6-b1.gif

    基于IMAGE方法[9],计算尺寸为10 m×8 m×3.5 m的混响房间模型的冲激响应序列。选择一段7 s的语音作为目标声源信号,卷积冲激序列模拟信号的混响效果。目前没有语料库提供相应的风噪声信号,需要通过实验采集。信号采集使用一对匹配全指向拜亚动力MM1麦克风,模拟气流由空气压缩机产生。以房间一角作为坐标原点建立直角坐标系,声源及麦克风位置见表2。i、j、k为x、y、z轴单位向量。

ck6-b2.gif

3.2 算法性能指标

ck6-gs18-21.gif

3.3 结果分析

    图5、图6分别为混响环境(RT60=200 ms)中的含噪(SNR=5 dB)信号的语谱图以及不同频点加权方法权值分布。图5(a)显示风噪声集中在信号低频区域,且随时间快速变化。MCRA算法不能准确估计风噪声,因此图5(b)中频点取的连续权值在低频区域值接近1,对含风噪声频点无衰减,含噪信号频点被带入相关值计算。图6(a)中噪声功率谱估计曲线显示,对于平稳噪声,因频带上的信号功率通常衰减的最小值接近噪声功率值,故基于最小值统计的算法消除平稳背景噪声效果好。但对于快速变化噪声,算法设计依据决定估计值会产生滞后,增强的信号仍包含风噪声。同时表明信号增强方法不能消除风噪声干扰。本文提出算法对应权值分布如图6(b)所示,判断并直接去除信号低频范围内受干扰频点(权值为0),只保留强相干性频点(权值为1)。风噪声频率范围外中高频区域的信号频点则尽量保留,带入相关值计算。

ck6-t5.gif

ck6-t6.gif

    图7为上述实验条件中使用不同权值的GCC-PHAT算法估计TDOA结果统计。实验结果表明,不加权和使用连续权值的GCC-PHAT算法估计值统计峰值均在τc(Delay=-3)处,对应位置声源为麦克风表面湍流。只有使用wind mask权值加权的GCC-PHAT算法估计结果集中分布在τt(Delay=-18)附近,对应位置为目标声源,满足应用要求。

ck6-t7.gif

    表3为不同混响、信噪比测试条件下,不同频点加权GCC-PHAT算法估计TDOA结果可靠性(Tpq)及运算负载(Lpq)对比。实际场景中,风噪声特殊的产生方式决定其必定对信号干扰严重。如在低混响(RT60=0)、低信噪(SNR=0 dB)环境中,使用wind mask加权算法估计结果对应Tpq=54.2%,优于使用连续权值(31.2%)和不加权(20.1%)的GCC-PHAT算法。存在混响的低信噪环境(RT60=200 ms,SNR=0 dB)中,使用wind mask加权的算法结果对应Tpq下降至48.6%,仍优于其他加权算法。尽管新的加权算法在混响情况下运算量有所增加,但均显著低于其他已有算法。实验证明,存在风噪声干扰的场景中,使用本文提出算法所得结果更加可靠,运算量也更小。

ck6-b3.gif

4 结论

    通过GCC-PHAT算法估计TDOA值带入波束成形算法是定位声源的常用方法。本文针对已有GCC-PHAT算法无法消除风噪声干扰问题原因进行分析,并通过对目标信号和噪声信号时频特性研究,提出一种基于信号间频点相干性差异的频点离散值加权GCC-PHAT算法。实验表明,相较使用基于信噪比估计的连续值频点加权算法,本文提出的方法所得结果准确可靠,运算量小,具有一定的工程实用价值。

参考文献

[1] BADALI A,VALIN J M,MICHAUD F,et al.Evaluating real-time audio localization algorithms for artificial audition in robotics[C].IEEE/RSJ International Conference on Intelligent Robots and Systems,2009,IROS 2009,IEEE,2009:2033-2038.

[2] VALIN J M,MICHAUD F,ROUAT J.Robust localization and tracking of simultaneous moving sound sources using beamforming and particle filtering[J].Robotics and Autonomous Systems,2007,55(3):216-228.

[3] COHEN I,BERDUGO B.Noise estimation by minima controlled recursive averaging for robust speech enhancement[J].IEEE Signal Processing Letters,2002,9(1):12-15.

[4] 夏丙寅,鲍长春.适应噪声强度突变的噪声估计加速方法[J].信号处理,2013,29(10):1336-1345.

[5] 宋知用.MATLAB在语音信号分析与合成中的应用[M].北京:北京航空航天大学出版社,2013.

[6] NELKE C M,VARY P.Measurement, analysis and simulation of wind noise signals for mobile communication devices[C].2014 14th International Workshop on Acoustic Signal Enhancement(IWAENC),IEEE,2014:327-331.

[7] NELKE C M,VARY P.Dual microphone wind noise reduction by exploiting the complex coherence[C].Proceedings of Speech Communication,11.ITG Symposium,VDE,2014:1-4.

[8] LOIZOU P C.语音增强-理论与实践[M].高毅,肖莉,邓方,译.成都:电子科技大学出版社,2012.

[9] 武晓光,郭天文.基于房间冲激响应的声学模型的建立和仿真[J].微电子学与计算机,2014(4):56-59.



作者信息:

乔  健,王建明 

(南京工业大学 计算机科学与技术学院,江苏 南京211816)