基于麦克风阵列的声源定位在智能机器人、人机接口、视频会议、助听器、语音识别和语音增强等领域都有着重要应用[1-3],其中基于时延估计和基于可控响应功率的声源定位方法是最常用的两类定位算法[4]。基于时延估计的方法[5-7]先估计声源到达阵元间的时延差,然后利用时延差和阵元的几何结构估计声源位置。广义互相关(Generalized Cross Correlation,GCC)是经典的时延估计算法之一。基于时延估计的定位算法计算量较小、易于实时实现,其缺点在于一方面该方法依赖于阵列的空间结构,另一方面时延估计的精确度会直接影响后续定位的精度。基于可控响应功率(Steered Response Power, SRP)的方法[8-9]通过搜索空间功率谱的峰值估计声源位置。其中基于相位变换加权的可控响应功率(Steered Response Power-Phase Transform, SRP-PHAT)算法是目前最流行的定位算法之一,该算法对房间混响具有较强的鲁棒性。然而当环境噪声增大时,SRP-PHAT算法的定位性能下降明显,抗噪能力仍然有待提高。
在麦克风阵列系统中,所有阵元对的GCC之和等于阵列的SRP。基于信噪比对不同频率分量进行加权以提高GCC或SRP对噪声的鲁棒性是目前较为流行的方法之一。Grondin 提出的频谱二值掩蔽的GCC算法[10-11]对相干噪声有较好的抑制作用,该算法对每个阵元通道估计一个频域的二值掩蔽函数,但是该类算法需要通过平均过去的频谱功率值实现噪声估计[10],或者利用当前帧前后连续若干帧的数据信息区分语音和噪声[11],给定位造成延迟,实时性不强。区别于二值掩蔽,软判决的加权方式常采用维纳滤波增益作为加权函数[12-13],该方法能较好地抑制非相干背景噪声,但是同样需要较多数据估计频率信噪比。Wang 通过深度神经网络估计的每个时频单元的理想比例掩蔽函数对GCC加权[14-15],在混响和噪声环境中具有较强的鲁棒性,该方法需要大量的训练数据,而且不适用于移动声源的定位。
本文针对室内声源定位和麦克阵列信号的特点,采用阵列信号处理的方法实时估计单帧信号的频率信噪比,利用激活函数将信噪比映射为加权值,并对SRP-PHAT计算公式进行加权修正,从而实现声源定位。本文算法不需要信号统计特性的先验信息,仅根据一帧阵列信号就可以估计信噪比,然后自适应地调整不同频率分量对可控响应功率的贡献,在噪声变化较快的环境也能提高定位性能,应用场合广泛。
在室内,一个麦克风阵列由M个阵元组成,第m个麦克风接收到的信号可以表示为:
xm(n)=hm(n)*s(n)+wm(n), m=1,2,…,M
(1)
其中,s(n)为声源信号,hm(n)为声源到第m个麦克风的房间脉冲响应,“*”表示卷积,wm(n)为第m个麦克风的噪声,假设每个麦克风之间的噪声不相关,噪声与信号之间也不相关。
麦克风阵列的相位变换(Power-Phase Transform,PHAT)加权可控响应输出在频域中定义为:
(2)
其中,i为帧序号,k为频点序号,q为候选的声源位置, Xm(i, k)是第m个麦克风第i帧信号xm(i, n)的离散傅里叶变换,K为离散傅里叶变换的长度, fs为信号采样率,τm(q) 表示从候选位置q处到第m个麦克风的传播时延。相位变换加权可控响应功率为
(3)
计算每个候选位置的可控响应功率,可控响应功率最大值对应的候选位置为估计的声源位置,即
(4)
式中表示第i帧信号的声源位置估计。
频率信噪比反映了各频率点受噪声的干扰程度,为了提高SRP-PHAT方法抑制噪声的能力,本文方法将自适应地调整不同信噪比的频率分量对可控响应功率的贡献,加大频率信噪比高的频谱权重,而减小频率信噪比低的频谱权重。
本文采用阵列信号处理的方法,根据每帧阵列信号的频域协方差矩阵估计每个频率的信噪比。定义频域中麦克风阵列信号矢量为X(i, k)=[X1(i, k)X2(i, k)…XM(i, k)]T,则其协方差矩阵R(i, k)为
R(i,k)=E{X(i,k)XH(i,k)}
(5)
将单帧信号均分为L个子帧,对每个子帧信号进行K点离散傅里叶变换,根据L个子帧的频谱估计每个频率的协方差矩阵[16],则第i帧信号第k个频率点的协方差矩阵R(i, k)为
R(i,k)=E{X(i,k)XH(i,k)}=
(6)
其中,X(i, l, k)=[X1(i, l, k) X2(i, l, k)…XM(i, l, k)]T,Xm(i, l, k)是第m个麦克风第i帧中第l子帧信号的离散傅里叶变换。由协方差矩阵R(i, k)计算第i帧的信号和噪声的功率谱密度[17]:
(7)
(8)
其中,tr(·)为求迹运算符,Rpq(i, k)为协方差矩阵R(i, k)第p行第q列的元素。第i帧中第k个频点的信噪比ξ(i,k)为
(9)
为了自适应地调整不同信噪比的频率分量对可控响应功率的贡献,本文利用Sigmoid激活函数,将信噪比ξ(i,k)映射为每个频点的加权值G(i, k),映射函数为
(10)
其中α为Sigmoid激活函数的斜率,β为信噪比偏置值。Sigmoid 激活函数具有连续、光滑、单调可微的性质,把可能在较大范围内变化的信噪比映射到[0,1]范围内。将加权值G(i, k)用于修正式(3)的可控响应功率计算,即
(11)
由式(11)可知,频率加权后的可控响应功率中信噪比低的频率权重小,而信噪比高的频率权重大。计算每个候选位置的修正可控响应功率P′(i,q),P′(i,q)最大值对应的候选位置即为估计的声源位置。
为验证算法的有效性,在计算机仿真环境中,测试了本文算法在不同激活函数参数下的定位性能,对比了本文算法与传统SRP-PHAT算法、维纳预滤波波束形成算法[12-13]在不同混响时间和信噪比环境下的定位性能。本文采用定位正确率、定位均方根误差(Root Mean Square Error, RMSE)2项指标来评价算法性能。定位正确定义为估计方位角和真实方位角之间的误差在±5o 之内。
在仿真实验中,房间尺寸为7 m×6 m×3 m。6个全向麦克风组成一个半径为0.1 m的均匀圆阵,阵列中心位于房间的[3.5 m,3 m, 1.6 m ]处。测试声源位于阵列的远场,与阵列处于同一水平面,距离阵列中心1.5 m。测试声源的水平方位角为0°~350°,角度间隔为10°,共36个方位用于测试。语音信号的采样率为16 kHz。应用Image法[18]产生长度为2048的房间脉冲响应,与语音信号卷积后再加上不同比例的噪声,产生不同信噪比的混响语音信号。混响时间T60设置为0.3 s和0.6 s,全局信噪比设置为0 dB,5 dB,10 dB,15 dB,20 dB。对麦克风阵列信号进行分帧加窗处理,帧长为32 ms,没有帧偏移,窗函数为汉明窗。声源定位前进行静音检测,移除静音帧。信号长度为35.825 s,每个测试方位各有608帧含有语音的信号用于声源定位。
为了考察激活函数参数α和β对本文算法的影响,在混响时间T60为0.6 s,全局信噪比为0~20 dB的环境中,测试了不同参数下本文算法的定位正确率。图1和图2分别给出了不同α和β取值下本文算法的定位正确率。
图1 β=2,不同α取值时的定位正确率
Fig.1 The percentage of correct estimates at different α when β=2
图2 α=0.5,不同β取值时的定位正确率
Fig.2 The percentage of correct estimates at different β when α=0.5
由图可见,激活函数参数α和β对本文的定位性能有影响。由公式(10)可知,α影响以信噪比ξ(i,k)为自变量的G(i, k)函数的曲线陡峭程度,而β影响曲线左右平移。α取值越小,G(i, k)函数的曲线越平坦,则不同信噪比的频点的权值区分度越不明显。当α=0时,此时G(i, k)=1/2,所有频点的权值相同,本文算法等价于传统SRP-PHAT算法。α取值越大,G(i, k)函数的曲线越陡峭,激活函数对信噪比低于β dB的频谱抑制越明显,而对信噪比高于β dB的频谱区分度较小。当α=∞时, G(i, k)函数是一个阶跃函数,此时本文算法将只保留信噪比高于β dB的频点用于计算可控响应功率,且这些频点的权重相同。以信噪比为自变量的G(i, k)函数的拐点位于(β, 0.5)处,信噪比低于β的频点被明显抑制。当β取值过大时,大多数频点被明显抑制,可用的频点过少;当β取值过小时,信噪比低的频点不能被有效抑制。如图1和图2所示,当α取值为0.5,β取值为2时,本文算法获得最优的定位性能。综合以上结果,后续实验中本文算法的激活函数参数α取值为0.5,β取值为2。
在混响时间T60为0.3 s和0.6 s,噪声类型为高斯白噪声,全局信噪比为0~20 dB环境中,将本文算法与传统SRP-PHAT算法和维纳预滤波波束形成算法进行比较。不同算法的定位性能如图3和图4所示。
图3 混响时间T60=0.3 s时不同算法的定位性能比较
Fig.3 Comparison of the performance for different methods with T60=0.3 s
图4 混响时间T60=0.6 s时不同算法的定位性能比较
Fig.4 Comparison of the performance for different methods with T60=0.6 s
根据图3和图4的定位结果,在混响和高斯白噪声环境下,在定位正确率和均方根误差的两项指标上,本文方法均优于传统SRP-PHAT算法和维纳预滤波波束形成算法;尤其在中低信噪比环境中,本文算法的定位正确率提升明显。实验结果显示本文方法对噪声的鲁棒性更强。相比维纳预滤波波束形成算法,本文算法只用一帧阵列信号估计信噪比,无需利用低能量噪声段数据估计噪声功率谱,没有定位延迟。
为验证算法在非平稳噪声环境下的定位性能,在Babble噪声环境下将本文算法与传统SRP-PHAT算法和维纳预滤波波束形成算法进行比较。噪声取自noiseX92噪声库。定位结果如图5和图6所示。
图5 混响时间T60=0.3 s时Babble 噪声环境下 不同算法的定位性能比较
Fig.5 Comparison of the performance for different methods in Babble noise environment with T60=0.3 s
图6 混响时间T60=0.6 s时Babble 噪声环境下 不同算法的定位性能比较
Fig.6 Comparison of the performance for different methods in Babble noise environment with T60=0.6 s
根据图5和图6的定位结果,在混响和Babble噪声环境下,相比传统SRP-PHAT算法和维纳预滤波波束形成算法,本文算法的定位正确率更高,均方根误差也有所降低。实验结果显示本文方法对噪声具有更强的鲁棒性。另外,实验结果显示在相同混响和信噪比环境下,相比高斯白噪声环境,定位算法在Babble噪声环境下的定位正确率更高。这主要是因为高斯白噪声的能量在各频段分布均匀,麦克风接收信号的每个频点几乎都受到污染;而Babble噪声的能量主要集中在低频段,麦克风接收信号只在低频段受到比较严重的污染,其余频段受噪声影响较小。基于SRP的算法在整个频带上求可控响应求功率,与Babble噪声相比,高斯白噪声更容易削弱SRP空间谱的谱峰,因此定位算法在Babble 噪声环境下的定位正确率更高。
在仿真的基础上, 本文利用GRAS Typr40Hx型号麦克风和NIPXI4498多路数据采集系统在真实环境中采集麦克风阵列信号。测试房间为6.8 m×6.7 m×2.8 m的会议室,房间混响T60约为0.5 s,信噪比约为14 dB。声源距离阵列中心的距离为1.2 m,1.5 m和1.8 m,不同算法的定位性能比较如图7所示。
图7 真实环境中不同算法的定位性能比较
Fig.7 Comparison of the performance for different methods in real environment
由图7可见,本文算法的定位正确率、RMSE均优于传统SRP-PHAT算法和维纳预滤波波束形成算法。由于声源距离麦克风阵列越近,麦克风收音效果越好,混响对信号的影响也越小,因此本次实验中当声源距离阵列的距离为1.2 m时定位性能最好。
针对麦克风阵列声源定位中抗噪声的鲁棒性问题,本文提出了基于频率信噪比加权的SRP-PHAT算法。本文算法利用麦克风阵列信号的协方差矩阵估计每个频点的信噪比,通过激活函数将其映射为频率加权值,以此修正传统的SRP-PHAT计算公式,进而计算每个候选位置的修正可控响应功率值,实现声源定位。本文算法无需噪声的先验统计特性,采用阵列信号处理的方法实时估计频率信噪比,自适应地调整不同频率分量对可控响应功率的贡献,信噪比高的频谱权重大,信噪比低的频谱权重小。在加性噪声和混响环境下的仿真实验结果表明,本文算法可以实时实现更准确的声源定位,具有更强的鲁棒性,为基于声源定位的鲁棒语音分离和识别等提供了基础。
[1] 何礼, 周翔, 刘宏清. 利用相位时频掩蔽的麦克风阵列噪声消除方法[J]. 信号处理, 2018, 34(12): 1490-1498.
He Li, Zhou Xiang, Liu Hongqing. Microphone array noise cancellation method using phase time-frequency masking[J]. Journal of Signal Processing, 2018, 34(12): 1490-1498.(in Chinese)
[2] 徐娜, 吴长奇. 结合差分阵列与幅度谱减的双麦语音增强算法[J]. 信号处理, 2018, 34(7): 876- 881.
Xu Na, Wu Changqi. Dual-microphone speech enhancement algorithm combined with differential microphone arrays and amplitude spectral subtraction[J]. Journal of Signal Processing, 2018, 34(7): 876- 881.(in Chinese)
[3] Laufer-Goldshtein B, Talmon R, Gannot S. Semi-supervised source localization on multiple manifolds with distributed microphones[J]. IEEE Transactions on Audio, Speech, Language Processing, 2017, 25(3): 1477-1491.
[4] Brandstein M S. A frame work for speech source location using sensor arrays[D]. Providence, RI, USA: Brown University, 1995.
[5] Armansyah R F, Ikram F D, Nolika S S, et al.. Efficient sound-source localization system using low cost TDOA computation[C]∥International Symposium on Electronics and Smart Devices, Bandung, Indonesia, 2016: 315-319.
[6] He H, Chen J, Benesty J, et al. Robust multichannel TDOA estimation for speaker localization using the impulsive characteristics of speech spectrum[C]∥in IEEE International Conference on Acoustics, Speech and Signal Processing, New Orleans, LA, USA, 2017: 6130- 6134.
[7] 齐小刚, 袁列萍, 刘立芳. 奇异值分解的HB加权广义互相关时延估计[J]. 信号处理, 2018, 34(10): 1160-1168.
Qi Xiaogang, Yuan Lieping, Liu Lifang. Time delay estimation of generalized cross correlation with Hassab-Boucher weighted function based on singular value decomposition[J]. Journal of Signal Processing, 2018, 34(10): 1160-1168.(in Chinese)
[8] Donohue K D, Hannemann J, Dietz H G. Performance of phase transform for detecting sound sources with microphone arrays in reverberant and noisy environments[J]. Signal Processing, 2007, 87(7): 1677-1691.
[9] Yook D, Lee T, Cho Y. Fast sound source localization using two-level search space clustering[J]. IEEE Transactions on Cybernetics, 2016, 46(1): 20-26.
[10]Grondin F, Michaud F. Time Difference of Arrival Estimation based on Binary Frequency Mask for Sound Source Localization on Mobile Robots[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems, Hamburg, Germany, 2015: 6149- 6154.
[11]Grondin F, Michaud F. Noise mask for TDOA sound source localization of speech on mobile robots in noisy environments[C]∥IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 2016: 4350- 4353.
[12]Kang H G, Graczyk M, Skoglund J. On pre-filtering strategies for the gcc-phat algorithm[C]∥IEEE International Workshop on Acoustic Signal Enhancement, Xi’an, 2016: 1-5.
[13]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.
[14]Wang Zhongqiu, Zhang Xueliang, Wang Deliang. Robust speaker localization guided by Deep Learning-based time-frequency masking[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2019, 27(1): 178-188.
[15]Wang Zhongqiu, Zhang Xueliang, Wang Deliang. Robust TDOA estimation based on time-frequency masking and deep neural networks[C]∥Interspeech, Hyderabad, 2018: 322-326.
[16]万新旺, 吴镇扬. 基于自适应频率选择的鲁棒时延估计算法[J]. 东南大学学报(自然科学版), 2010, 40(5): 890- 896.
Wan Xinwang, Wu Zhenyang. Robust time delay estimation algorithm based on adaptive frequency selection[J]. Journal of Southeast University(Natural Science Edition), 2010, 40(5): 890- 894.(in Chinese)
[17]Chen J F, Set W. Speech detection using microphone array[J]. Electronics Letters, 2000, 36(2): 181-182.
[18]Allen J B, Berkley D A. Image method for efficiently simulating small-room acoustics[J]. Journal of the Acoustical Society of America, 1979, 65(4): 943-950.
Reference format: Zhao Xiaoyan, Chen Shuwen, Zhou Lin. Sound Source Localization Using SNR-based Frequency Weighting with Microphone Array[J]. Journal of Signal Processing, 2020, 36(3): 449- 456. DOI: 10.16798/j.issn.1003- 0530.2020.03.015.
赵小燕 女, 1986年生, 江苏南京人, 博士, 南京工程学院信息与通信工程学院讲师。研究方向为语音信号处理、阵列信号处理、模式识别。
E-mail: xiaoyanzhao205@163.com
陈书文 男, 1983年生, 江苏南京人, 博士, 江苏第二师范学院数学与信息技术学院讲师。研究方向为信号处理、模式识别、机器学习。
E-mail: chenshuwen205@126.com
周 琳 女, 1978年生, 江苏镇江人。东南大学信息科学与工程学院副教授, 硕士导师。研究方向为声学信号处理、语音信号处理、模式识别。
E-mail: linzhou@seu.edu.cn