基于三维星型阵列拓扑的自校准麦克风阵列声源定位系统
2021-01-22孙昊彬罗丽燕宋浠瑜
王 玫, 孙昊彬, 罗丽燕, 宋浠瑜
(1.桂林电子科技大学 认知无线电与信息处理教育部重点实验室,广西 桂林 541004;2.桂林理工大学 信息科学与工程学院,广西 桂林 541006)
声源定位技术由于广泛应用与智能交通、安防监控、电话会议、人机交互、导航等各种应用而备受关注。常用的声源定位技术可以分为3类:基于最大输出功率的波束成形的方法、基于声音到达时间的方法以及基于高分辨谱估计的方法。针对在复杂的室内环境中混响较高的情况,第一类方法与后2类方法相比,具有更好的鲁棒性[1]。在第一类波束成形的方法中,广泛使用的是基于可控响应功率-相位变换(SRP-PHAT)法。由于SRP-PHAT是一种基于声源空间网格点搜索算法,在计算过程中往往会出现大量极值点,导致计算量增大。因此,Silverman等[1]在使用SRP-PHAT算法的同时采用随机区域收缩(SRC)来降低计算量,Grondin等[2-3]提出了一种依赖于SRP-PHAT投影矩阵的奇异值分解的定位方法,张铁成[4]将压缩感知与SRP-PHAT-SRC方法结合,Grondin等[5]利用最大滑动窗口滤波与分层搜索的方法都降低了SRP-PHAT的计算时间。但这类方法以牺牲精度为代价,换取定位算法的实时性。因此,提出从信号接收端入手,提高接收信号的质量,从而提升定位精度的思路。
麦克风作为一种常用的拾音设备,按照特定的空间拓扑结构组合形成的麦克风阵列,与单一麦克风相比,不仅可以获得声音信号的时域信息,还可以获得空域信息,通过充分利用空时信息提升定位效果。
根据阵列信号处理理论可知,麦克风阵列拓扑优化对阵列处理系统性能具有重要影响[6-8]。麦克风阵列拓扑结构可分为3类:一维阵列(如嵌套线型阵列、等间距线型阵列等线阵),二维阵列(如圆型阵列、方型阵列等平面阵),三维阵列(如星型阵列、球型阵列等立体阵)。阵列拓扑结构不同会影响麦克风阵列定位算法的定位精度与运算速度。黄东霞等[6-7]研究了一维与二维阵列在时延性能和语音增强方面的差异,但未考虑声源高度变化对定位精度的影响。刘宾[8]分析了平面阵与立体阵的定位效果,但其中的阵列都为大孔径阵列,不符合室内定位要求。刘路路[9]使用三维七元阵列,利用融合预处理与GCC-qγβ的方法进行三维定位,但达不到室内定位的精度要求。因此,研究合理的三维阵列拓扑结构具有实际意义。
目前,基于麦克风阵列的室内移动声源定位研究均在麦克风阵列接收信号频率响应保持高度一致性的假设下进行,但由于制造公差、使用时长以及室内复杂环境等多种因素的影响,使麦克风阵列接收信号的频率响应特性与理论值存在较大偏差,导致定位精度下降。因此,对麦克风阵列频率响应的校准,对于室内移动声源定位精度的进一步提升具有重要意义。
麦克风阵列校准的传统方法是在特定环境(如消声室)下通过逐一比较各麦克风与参考麦克风的频率响应参数进行校准[10-11]。这种方法能够以较低的计算量补偿增益和相位误差,但是这种方法使用的前提条件是要有一个理想化的参考麦克风,如果参考麦克风的参数不准确会导致其他麦克风无法精确校准。针对传统方法的不足,文献[12-13]提出一种改进的阵列校准方法,在已知阵列形状和声源方向的情况下,利用特征值分解计算增益和相位误差,但该方法只适用于特殊环境(如消声室),且需要花费大量的费用。此外,Madhu等[14]提出了一种通过频域中的归一化互相关函数获得麦克风的权重,从而消除麦克风阵列的增益误差并检测麦克风的异常的方法。Hua等[15]提出了一种增益自校准方法,该方法基于在麦克风未失配的情况下,默认长时间内所有麦克风接收到的平均功率相同。但这些校准方法关注的是总增益,而不是单个麦克风的增益,且未考虑麦克风之间的相位误差。Seltzer和Raj通过最小化语音识别误差来校准麦克风阵列,这需要使用专用设备和测试声音进行手动校准[16]。Hu等[17]提出了一种基于多通道维纳滤波器(MCWF)的麦克风阵列频率响应校准方法,用来减小由麦克风不同频率响应引起的误差,且无需特殊的实验环境。因此,本研究采用基于多通道维纳滤波器的麦克风阵列频率响应校准方法并进行改进,能够有效地提升定位效果。
以室内声学高精度三维定位为应用研究对象,从麦克风拓扑结构分析与麦克风阵列校准两方面,基于麦克风阵列信号处理的相关理论与方法,在室内复杂环境中快速准确地定位室内说话人的三维位置坐标。此外,针对在真实室内环境中,麦克风阵列与说话人(声源)之间存在干扰的情况下,声源定位能力不足的实际问题,提出了一种低通滤波与多通道自适应滤波融合的阵列校准方案,并在此校准基础上,采用SRP-PHAT-SRC算法对声源进行定位。场测实验结果表明,麦克风拓扑结构分析为基于麦克风阵列的室内声源定位提供了充分的理论依据与实际参考,所提出的滤波融合阵列校准方案能有效补偿麦克风阵列各接收信号的频率响应差异,使得基于SRP-PHAT-SRC的声源定位算法在实际场景下远场声源定位精度提升48%。
1 传统的SRP-PHAT-SRC算法
(1)
设mi(t)为麦克风阵列中第i个麦克风接收到的信号,则在有限时间长度T内可控响应功率(SRP)可以定义为
(2)
(3)
(4)
Mk(ω)为第k个麦克风接收信号mk(t)的傅里叶变换;τ为时延差;*为函数的共轭。因为相位变换(PHAT)对在高混响环境中求GCC有很好的效果,其权重是频率分量的倒数,
(5)
考虑到计算式(3)所涉及的对称性,并去掉一些固定能量项,则Pn(x)随x变化的部分为
(6)
因而,为了简化计算,式(1)可替换为
(7)
SRC的基本思想是给定一个初始搜索区域,其中包含了全局最大值,同时也包含一些局部极大值。在迭代过程中逐渐缩小搜索区域,直到达到限定条件并停止,从而找出最大值。此方法能够有效地减少定位所需时间,提高定位算法的实时性。但是SRP-PHAT-SRC定位方法只适用于大孔径麦克风阵列的近场声源定位,且未考虑阵列拓扑结构和阵列校准对定位性能的影响。针对该问题,提出了三维阵列拓扑基于两阶段麦克风自校准方法的声源定位(SSL)系统。
2 系统概述
本三维星型阵列拓扑的自校准麦克风阵列声源定位系统分为2个子系统:1)麦克风阵列拓扑分析系统;2)基于多通道低通滤波与多通道自适应滤波融合的SRP-PHAT-SRC定位系统。
麦克风阵列拓扑分析系统如图1所示。该系统共有2个模块组成,分别为麦克风阵列拓扑结构设置模块与说话人定位算法模块。
图1 麦克风阵列拓扑分析系统
麦克风阵列拓扑结构设置模块。为了探究不同阵列拓扑结构对定位结果的影响,本实验对麦克风阵列中3个参数采用控制变量法,分别通过改变阵列维度、阵元间距及阵元个数构成不同结构的麦克风阵列。
说话人定位算法模块。该模块采用相位变换加权,计算接收信号的可控响应功率。在预先设定的声源空间内,搜索使可控响应功率达到最大的坐标,即得到真实声源的位置估计。语音信号由麦克风阵列直接获得,再进行分离可以得到多路单一麦克风语音信号。由于搜索功率最大值的过程计算量太大,本系统使用随机区域收缩优化算法找寻峰值。将定位坐标与真实坐标进行对比,通过这些误差的对比,分析不同麦克风阵列的性能。
图2为基于多通道低通滤波与多通道自适应滤波融合的SRP-PHAT定位系统。当说话人的语音经过室内环境所产生的声学信道传播,通过麦克风阵列的前置放大器进行接收,将接收到的各个麦克风信号进行基于多通道低通滤波与多通道自适应滤波的融合滤波后进行定位。
图2 基于多通道低通滤波与多通道自适应滤波融合的SRP-PHAT定位系统
3 麦克风阵列拓扑分析
在阵列信号处理的理论上,只需要3个传感器就可根据声源目标与坐标点之间的几何关系确定声音的位置。但在室内定位实测中,麦克风阵列的定位精度还受很多因素的影响,如房间结构与家具摆放、室内的混响系数等。因此,构建一个性能较好的麦克风阵列,需考虑种种因素,如阵元个数、阵元间距、阵列维度等[8,18]。
阵列所具有的方向向量能够确定阵列所需要的模型,麦克风阵列的几何结构与方向向量有着十分紧密的关系。一般阵列的几何结构不同,方向向量就会不同。最早期的天线阵列中,阵列一般采取一维均匀直线阵、均匀的圆阵等一维阵列。在实际的测量系统中,为了声源定位的精度,往往采用二维或者三维阵列,这样可以降低声源在空间中的位置误差。
4 麦克风阵列校准
自适应滤波器可以使估计的随机过程与所需的随机过程之间的均方误差(MSE)最小化,因此,使用自适应滤波器来校准由麦克风和前置放大器不同灵敏度引起的频率响应误差(幅度频率响应和相位频率响应)是一种可行的方法。
(8)
(9)
hi=[hi(0)hi(1) …hi(M-1)]T,
(10)
图3 最小均方差自适应滤波流程
其中M为滤波器的阶数。因为要计算J的最小值,所以,设式(8)中d(n)的值等于0,可得
(11)
设
e′(n)=d(n)-mi(n)=d(n)-
第i个麦克风所在位置的最小均方差为
(12)
式中,E[·]为数学期望。为了找到εi(n),设hi为0,可得
(13)
当满足均方差误差最小时,所对应的权矢量hi为最佳权矢量,并且与FIR维纳滤波器的最佳解是一致的。因此,所对应的维纳霍夫等式为
Rxixihi=Rxid。
(14)
(15)
其中,u1是长度为M的单位向量,di(n)为除去当前第i个麦克风外其他接收信号之和的平均,
u1=[1 0 0 … 0]T,
(16)
(17)
根据式(17)可得到每个麦克风的最佳权矢量,便可以构造频率响应校准系统。
5 实验结果与分析
通过数值模拟仿真与真实环境场测实验来验证三维星型阵列拓扑的自校准麦克风阵列声源定位系统的可靠性(定位精度)与实用性(算法计算量)。
5.1 麦克风阵列拓扑结构优化
图4为一个10 m×8 m×4 m的仿真房间,房间混响时间RT60为0.25 s,即高度混响环境。设真实声源的位置坐标(x,y,z)为(1,2,3),麦克风阵列以坐标点(2,2,2)为中心,每个轴上放置不同数量的麦克风,以组合成不同阵型、不同阵元数量、不同阵元间距的麦克风阵列,从而对不同维度、不同孔径与数量的麦克风阵列拓扑结构进行分析。实验所使用的声源信号是一段在消声室中录制的3 s女性语音,采样频率为44 100 Hz。
图4 房间构造、声源位置以及麦克风阵列位置说明
根据麦克风阵列拓扑分析系统的流程,通过对比不同麦克风阵列拓扑结构的定位效果与实际位置的误差,分析不同麦克风阵列拓扑的优劣。对阵列维度、阵元个数和阵元间距3方面进行了仿真实验,效果如图5、6、7、8所示。
图5 麦克风阵列不同维度对定位误差的影响
图6 不同阵元个数对麦克风阵列定位精度的影响
图7 不同阵元个数对麦克风阵列定位时计算量的影响
图8 不同麦克风间距对麦克风阵列定位精度的影响
从图5可看出,在相同的环境与相同的定位算法下三维星型阵列的定位精度明显优于其他2种阵列。因此后续实验都基于三维星型阵列。
结合图6与图7可看出,在使用三维星型阵列定位时,在每个轴上麦克风数量达到5个时定位算法开始收敛,误差减小并且计算量降低,当每轴上麦克风数量到达10个时,定位精度与计算量达到最优。
由图8可知,当每轴麦克风个数为5个及以上时,定位算法开始收敛,并且定位精度随着麦克风间距的增大而上升。在每轴8个麦克风时,位置误差趋向于平稳,12个时达到最优。
5.2 两阶段麦克风自校准性能
综合上述3个实验的定位精度与实际情况,使用每轴上8个麦克风,每个麦克风间距为10 cm的三维星型阵列做实际测试。考虑到实际测试中,由于麦克风的制造公差、使用年限、室内空间混叠与声源远离麦克风阵列产生的信号衰减而产生的麦克风信号频响不一致,导致定位性能下降的问题,提出基于多通道低通滤波与多通道自适应滤波融合的方法,对麦克风所采集的信号进行滤波,再进行定位。
场测实验在桂林电子科技大学金鸡校区第七教学楼315室实施,该房间的尺寸为7.3 m×7.4 m×3.3 m,实验使用每轴8个麦克风,麦克风间距为10 cm的三维星型阵列采集声音,麦克风型号为PCBModel:130F22,声卡为NI公司PXIe-4497采集卡,工作站为NI公司PXIe-8840控制器,数据采集软件为其高公司SignalPad测控软件V2.0。实验场景如图9所示,同一个说话人分别在距离麦克风阵列1、2、3、4、5、6 m处进行实验,使用麦克风阵列采集信号,分析其滤波前后的频响参数与定位结果。
图9 实验场景
由于麦克风数量较多,在做频率响应参数对比时,选取了3个麦克风的频率响应参数,滤波前后的参数如图10、11所示。从图10可看出,滤波前麦克风所接收的信号频率响应参数变化趋势基本一致,只在一些点上有较大的浮动,这些频率响应的不一致会导致定位性能的下降。然而在图11中,经过基于多通道低通滤波器与多通道自适应滤波器的融合滤波后,各个麦克风的频率响应参数不仅在趋势上一致,而且参数的跳变很小,各个麦克风的频率响应参数基本保持一致。
图10 滤波前接收端麦克风的频率响应参数
图11 经过滤波后接收端麦克风的频率响应参数
5.3 定位效果
通过对比本方法、传统SRP-PHAT-SRC方法与GCC-qγβ方法的位置误差,证明了SSL系统的先进性。
由图12可知,当声源与阵列距离较近时,本方法的定位效果明显好于GCC-qγβ方法与传统SRP-PHAT-SRC方法。随着阵列与声源位置的增加,定位误差与GCC-qγβ方法接近,且明显优于传统的SRP-PHAT-SRC方法。
图12 不同的声源与麦克风阵列间距定位效果对比
6 结束语
针对室内复杂环境下远场移动声源定位能力的不足,提出三维星型阵列拓扑的自校准麦克风阵列声源定位系统,仿真与实验结果验证了所提系统基于多通道的语音获取方式和感知声源信号时空信息,有利于从阵列拓扑与阵列校准两方面改进SRP-PHAT-SRC声源定位算法的远场声源定位性能。实验结果同时证明所提系统具有一定的理论基础与实用价值。但是在三维定位中,针对声源高度的定位结果并不准确,因此在针对声源高度的定位精度优化上值得进一步研究,从而提高整体定位精度。