基于TDOA多声源定位的虚假声源消除方法

2021-04-28 16:22刘海涛陈永华林艳明
振动、测试与诊断 2021年2期
关键词:麦克风声源定位精度

刘海涛,陈永华,林艳明,周 新

(1.华东交通大学机电与车辆工程学院 南昌,330013)(2.清华大学苏州汽车研究院 苏州,215131)

引言

近几十年来,声源定位一直是研究热点,引起了众多学者的关注。声源定位在噪声源识别、目标声源跟踪、远程会议系统及智能机器人等诸多领域中得到广泛应用[1-4]。声源定位一般采用麦克风阵列来估计声源位置。声源定位方法可归纳为3类:①波束形成[5-6],传统波束形成是将各个麦克风接收到的声压信号进行对应的延时求和,在真正的声源方向的各个延时信号将会同相位叠加形成一个峰值,从而可以识别声源的方向;②声全息方法[7-8],它通过求解声源的逆传播问题,并重建声场;③参数测量[9-12],如到达时差、到达时间(time of arrival,简称TOA)、达波方向(direction of arrival,简称DOA)和接收信号强度(received signal strength,简称RSS)等,利用获得的定位参数构建非线性多元方程组求解,来获取声源位置。传统的波束形成方法和声全息方法都是在重建的二维声场平面上识别声源,为获得精准的声源三维位置坐标,需要进行大量的复杂运算[13]。另外,为了获得高分辨率的声场重构平面图,阵列中需要大量的麦克风数量,而TDOA方法用少量的麦克风即可实现声源定位。

对于单声源,Chan等[14]提出两步加权最小二乘算法,可求解出较精确声源位置。但对于多声源,阵列中任意一麦克风对,利用互相关算法估计的TDOA与每个声源的关联是未知的,从而产生虚假声源,并降低声源定位的精度[9]。针对这一问题,相关研究人员已经提出一些解决方法。Mukae等[15]利用检测到的声源信号和麦克风位置信息来构造一致性函数,通过快速搜索算法估计函数的最大值,最大值对应的位置为真实声源位置,但该方法计算效率低,且没有直接消除虚假声源问题,导致的位置估计不准确。Stotts等[16]基于结构分析实现多声源定位,该方法的计算时间随着监测区域的增大而增加,定位精度受网格大小的影响。Shen等[17]基于凸优化方法来消除虚假声源,消除虚假声源的本质是向量中每列的测量值相同或者近似相同对应同一声源。Venkateswaran等[18]采用并行和分层的方法消除虚假声源。该方法的定位精度会受到传播距离的影响,而且假设声源发射的次数多,会影响计算效率。以上消除虚假声源定位方法都存在定位精度不高和计算效率低等问题。

但佳壁[19]采用了在麦克风阵列中构造校验麦克风,并利用校验麦克风与声源之间的相对位置关系,获得真实声源位置。然而该研究中校验阵列麦克风未能参与声源定位计算,降低了阵列麦克风的利用效率,多声源的定位精度还有提升空间。在但佳壁的研究基础上,笔者提出一种改进多声源定位的虚假声源消除方法。通过构建麦克风阵列分组定位校验模型有效消除虚假声源,获取初始真实多声源位置。再构建全阵列TDOA序列校验模型,计算初始真实多声源位置到全阵列麦克风的TDOA序列来近似匹配出全阵列正确TDOA序列。将全阵列的正确TDOA序列带入空间声源定位模型来获取最终真实多声源位置,充分利用阵列麦克风的数量来提升多声源定位精度。仿真和实验结果表明,本方法有效地消除了虚假声源,同时提升了多声源定位精度。

1 基于TDOA的空间声源定位模型

基于TDOA方法建立了空间声源定位模型。TDOA方法实质上是三角测量方法。假设声源的坐标为S=(x,y,z),声源与麦克风的距离差表达式为

其中:r0为声源与参考麦克风M0之间的距离;ri为声源与其他麦克风Mi之间的距离;Nm为除参考麦克风外的其他麦克风的数量。

通过构建声源到参考麦克风M0和其他麦克风Mi的TDOA,可以得到声源的空间定位模型。表达式为

其中:c为声速;τi,0为声源到Mi和M0的TDOA。

τi,0可 以 用 互 相 关 算 法[20]来 估 计,设ui(t)和u0(t)分别为麦克风Mi和M0采集到的声源信号。两个信号之间的互相关函数为

空间声源定位模型由一组非线性多元方程组成。通常是将其转化为线性多元方程组来求解,对式(1)中ri进行平方处理,表达式为

由式(4)进行展开得

式(6)可写成矩阵形式,如式(7)所示

当其他麦克风数量Nm=3时,理论上满足直接求 解空间声源位置 条 件。当Nm≥4时,Chan等[14]提出了一种精度合理、有效的求解算法,该算法使用两次加权最小二乘法给出较准确的声源位置。因此,文中采用Chan的方法求解来获取声源位置。

2 多声源定位的虚假声源消除方法

2.1 虚假声源的产生原理

当只有一个声源时,式(3)只有一个峰值,将获取的麦克风阵列所有TDOA值可直接来定位目标声源。当有多个声源时,式(3)会产生多个峰值,每个峰值代表一个真实声源信息。然而,在缺乏其他声源特性信息的情况下,这些峰值的顺序是不确定的,不能将这些峰值与声源一一对应。两个麦克风检测3个声源的混合信号的互相关估计结果如图1所示。

图2 虚假声源产生的示意图Fig.2 The diagrammatic sketch of false source generation

从图1可以看出,声源数量与出现峰值的个数相等,解决本研究提出的虚假声源消除方法过程中所需要的声源数量先验知识。从图2可以看出和的组合一共生成9个声源,其中只有3个是真实声源,另外6个虚假声源需要识别和消除,这也是本研究的重点。

2.2 麦克风阵列分组定位校验模型

对于多声源定位,可以利用声源与麦克风的相对位置关系来分离目标声源。本研究将阵列麦克风分为两组。第1组麦克风用于定位多个声源,为了减少计算量,第1组只需满足基于Chan算法求解的阵列麦克风最小数量要求。第2组麦克风用于消除虚假声源,通过阵列麦克风与声源之间的相对位置关系,构建麦克风阵列分组定位校验模型,并确定真实声源的位置。

第1组麦克风可能的定位结果数为Np=NNms,由于计算时间随着麦克风数量的增加呈指数增长,除了参考麦克风外,还有4个麦克风构成第1组麦克风阵列,这是基于Chan的方法能够在三维空间中给出具有合理精度定位结果的最小麦克风数量要求。从真实声源到第1组麦克风阵列的TDOA如式(8)所示

从真实声源到第2组麦克风阵列的TDOA如式(9)所示

一个可能的声源可以从Tfirst矩阵的每一列中选择一组TDOA序列,再基于Chan算法求解得到。基于排列组合的知识,可以从矩阵Tfirst中得到N4s可能的声源。所有可能的声源都由Sp表示,即

需要一个校验矩阵来识别Np个声源中的真实声源。校验矩阵的元素从矩阵Tsecond中选择。选择矩阵的准则定义为校验矩阵表达式为

其中:UNs(u)为前Ns个u的值,代表真实声源;ARankNs[∙]表示按升序排列,并获取前Ns个结果的函数为矩阵的列向量为矩阵的列向量为2-范数。获得的初始真实声源表示为

2.3 全阵列TDOA序列校验模型

以上仅有5个麦克风用于定位来获取初始的真实声源,增加定位的麦克风数量会提升定位精度。文中利用初始真实声源位置信息,构建了全阵列TDOA序列校验模型,可以利用所有阵列麦克风来提升多声源的定位精度。

由式(8)和式(9)可以得到,真实声源到所有阵列麦克风的TDOA,如式(16)所示

幅流风机出风口处设置有送风格栅,幅流风机向下吹风,经过格栅进行风向的分列,用来增强吹风作用效果。扇叶长1.1 m,直径为8 cm,蜗壳上部开设有进风口,下部平面处为出风口。蜗壳以扇叶圆柱中心线为轴做来回圆弧摆动,使得出风口的位置不断变化,进而形成“扫风”的过程。

矩阵Tall中每一行元素的顺序是不确定的,这就需要识别真实声源对应的正确TDOA序列,而利用初始真实声源位置可以识别出全阵列正确TDOA序列。初始真实声源到所有阵列麦克风的TDOA,如式(17)所示

由于初始真实声源的坐标与最终真实声源的坐标很接近,因此可以利用矩阵T˘all对矩阵Tall的每一行进行重新排序。重新排序准则如式(18)所示

最后,获得的最终真实声源定位的重排TDOA矩阵为

选择矩阵T˙all的每一列,再基于Chan算法求解可以获得最终的真实多声源定位结果。

3 仿真分析

3.1 定位场景和声源信号构造

实际场景中的绝大多数音频噪声都是有色噪声。为了更好地模拟实际声源定位场景,文中采用有色噪声来构建各种目标声源信号。阵列几何关系与声源频率特性有关[4]。对于单频声源定位,为了避免相位缠绕,阵列设置需要满足以下条件:dmax<c2fsingle,其中dmax为参考麦克风与其他麦克风之间的最大距离,c为声速,fsingle为单频声源的频率。对于宽带和脉冲声源,可以忽略相位缠绕现象,阵列几何关系将不受限制。文中选用麦克风阵列中的最大间距约为0.5 m,仅对单频声源具有频率上限,可实现绝大部分声源频率特性的声源定位。为了模拟实际声源的复杂多样性,不同声源设置为不同频带且部分频带重叠。图3为由高斯白噪声构成的4个声源的声谱图,分别由2,3,4个声源构成3种多声源定位场景。利用这3种多声源定位场景,来验证笔者提出的方法有效性。表1为3种场景中的声源坐标位置和频带信息。文中一共采用8个麦克风,以建立的参考坐标系的坐标原点为参考麦克风,另选4个麦克风构建定位麦克风阵列实现多声源定位,其余3个麦克风为校验麦克风。麦克风阵列的坐标位置如表2所示。

图3 4个声源的声谱图Fig.3 The spectrogram of four sound sources

表1 3种定位场景的声源坐标和频带信息Tab.1 Coordinate position and frequency band in‑formation of the three localization scenarios

表2 麦克风阵列的坐标Tab.2 The coordinates of the array microphones

3.2 多声源定位结果分析

3个声源和阵列麦克风构成的定位场景如图4所示。在某一合理噪声水平下,分别对3种定位场景,将参考麦克风与另一定位麦克风构成的一组麦克风对,利用互相关算法估计的TDOA如图5所示,其中图(a)~(c)表示不同的定位场景。基于互相关算法估计所有TDOA,再利用文中提出的消除虚假声源方法实现多声源定位,第1组麦克风获取的初始真实多声源定位的结果如图6所示,其中图(a)~(c)表示不同的定位场景。将第1组麦克风经蒙特卡罗循环处理,目的是消除随机噪声对单次定位结果的影响,再利用所有阵列麦克风获得的最终真实多声源定位结果,与第1组麦克风的获得初始真实多声源定位结果进行比较,对比结果如表3所示。通过计算定位结果的平均误差来衡量定位的精度。平均定位误差定义为

图4 阵列麦克风和定位场景2Fig.4 Microphone array and localization scenario 2

其中:ME为定位结果的平均定位误差;si为原始声源的坐标;s'i为定位结果的坐标。

经蒙特卡罗过程可以表示为

其中:MEL为经蒙特卡罗处理后的多声源定位误差,MEL值越小多声源定位精度越高;q为仿真实验过程中蒙特卡罗次数,仿真过程令q=1 000。

图5 3种定位场景的互相关结果Fig.5 The cross-correlation results for the three localization scenarios

图6 初始真实多源定位结果Fig.6 The results of initial real multi-sources localization

表3 定位结果对比Tab.3 The comparison of the localization results

从图5可以看出,在不同定位场景下,声源数量等于峰值的数量。从图6中可以看出,3个定位场景中的多个声源有效地分离和定位,且定位误差合理,但是仅用5个麦克风来获得初始真实声源,没有充分利用麦克风数来定位,声源定位精度还有待提升。从表3可以看出,3种定位场景下,所有阵列麦克风参与定位计算的最终定位结果精度均大幅提升,验证了笔者方法的有效性。

4 实验分析

为了验证笔者提出的基于TDOA多声源定位的虚假声源消除方法,在空旷的运动场上搭建实验测试系统对笔者提出方法进行验证。构造具有重叠频带的不同声源信号,所有声源的频带范围为300~1 650 Hz,将构造声源信号的音频文件导入至扬声器播放。整个实验过程中忽略风速,设置声速c=343 m/s。实验麦克风及声源位置如表4所示,在声源s1~s4中分别选择前2个、前3个和前4个,构成定位场景1、场景2和场景3。实验过程的采样频率fs=10 kHz。实验场景由声源、信号采集装置和麦克风阵列三部分组成,如图7(a)~(c)所示。图8是对前5个麦克风通道经傅里叶变换获得的频谱图,其中图8(a)~(e)表示每个通道的图谱图。将每个麦克风检测的信号利用互相关算法估计出TDOA,并基于Chan算法求解出所有可能声源位置,再利用校验麦克风与声源的空间位置关系来消除虚假声源,得到初始的真实声源位置,定位结果如图9所示,其中图9(a)~(c)表示不同的定位场景。图10是在3种定位场景下,本方法获得的最终真实声源与初始真实声源的平均定位误差对比。

表4 阵列麦克风和声源空间位置坐标Tab.4 The coordinates of the array microphones and sound sources

图7 实验场景Fig.7 The experiment scene

图8 前5个麦克风通道经过傅里叶变换后的频谱图Fig.8 Spectrum of the first five microphone channels after Fourier transform

由图8可以看出,检测的声信号主频带在300~1 650 Hz之间,测试环境存在背景噪声。从图9可以看出,本方法成功消除了虚假声源,实现了多声源定位,且定位误差合理。从图10可以看出,在不同的定位场景下,本方法获得最终真实声源位置相比初始真实声源位置的平均定位误差均有所减小,本方法提升了多声源定位精度,实验与仿真结论一致。然而,实验过程中存在麦克风位置测量误差的影响,而且声源和阵列的相对位置与仿真有所不同,因而本方法在实验验证中的定位精度提升率比仿真稍有下降。

图9 本方法获取的初始真实声源的实验定位结果Fig.9 The experimental results of the initial real sound source obtained by the proposed method

图10 不同场景下最终真实声源位置与初始真实声源位置的平均定位误差对比Fig.10 Comparison of the average positioning errors between the final real source position and the initial real source position under different scenarios

5 结论

1)利用麦克风阵列分组定位校验模型有效地消除了虚假声源,实现多声源分离和定位。

2)利用全阵列TDOA序列校验模型获得的最终真实多声源平均定位误差比分组定位校验模型获得的初始真实多声源平均定位误差更小。本方法充分利用了阵列麦克风,并有效提升了多声源定位精度。

3)文中多声源定位方法的实验验证仅在空旷的测试环境下进行,该场景混响和其他干扰噪声影响较少;同时仅实现近场多声源定位。今后可研究存在麦克风位置误差以及远场和复杂噪声环境下的多声源定位方法。

猜你喜欢
麦克风声源定位精度
GRAS发布新12Bx系列、支持TEDS的测量麦克风电源模块
虚拟声源定位的等效源近场声全息算法
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
GPS定位精度研究
GPS定位精度研究
基于GCC-nearest时延估计的室内声源定位
组合导航的AGV定位精度的改善
高分三号SAR卫星系统级几何定位精度初探
麦克风的艺术
运用内积相关性结合迭代相减识别两点声源