基于正四面体结构的声源定位装置的设计与研究
2020-03-03李立鹏蓝少敏俞兆辉
黄 雯,李立鹏,蓝少敏,俞兆辉
(天津商业大学 天津300134)
0 引 言
听觉是机器人智能化的重要指标之一,是信息传输、人机交互的关键技术。在一些复杂特定空间内,人们可以依托机器人平台实现声音的定位,完成下一步任务。当前声音探测技术主要采用声音传感设备融合声学基本原理,采集声音传播信息,进而实现定位以及追踪声源目标。基于麦克风阵列的声源定位研究作为语音信号处理技术的研究热点,在强噪声复杂空间声源定位、语音识别前端信息采集等研究方向有着较好的应用前景与意义。
1 正四面体结构的声源定位装置的设计
1.1 总体系统构成
该定位装置以正四面体麦克风阵列作为声信号采集器,实现了四元立体模型构建,通过 NI USB-9215A四路同步数据采集卡实现声音信号采样,在LabVIEW 平台应用 NI-DAQ实现了数据采集、测试以及测量,经过广义互相关算法确定了四路声源的时延,通过构建的三维四元数学模型可以确定声源信息的俯仰角、水平角等位置参数,进而实现了定位精准、性能可靠的声源定位系统,较好地完成了机器人声源定位需求,保证了机器人适应环境、人机交互的需要。
系统总体结构如图1:
图1 系统总体结构Fig.1 Overall structure of system
1.2 正四面体阵列的建立
为实现立体空间声源目标准确定位,独立的时延值要保证在 3个以上,根据技术需求和实际需要,本装置将4个全向麦克风排列为正四面体阵列,实现三维四元模型架构,如图 2所示。为构建空间模型,将阵列的几何中心设为原点。
图2 正四面体麦克风阵列模型Fig.2 Tetrahedral microphone array model
空间模型原点O位于边长为 a的正四面体麦克风阵列形成的外接球圆心,4个全向型麦克风在立体模型的方位用m0、m1、m2和m3表示。其中m0处于 z轴的正向,其余 3个都是在o点下侧,通过投影m1落在xoy平面上x的正半轴,连接m2与m3正好同y轴平行。因此可以确定4个麦克风的立体坐标为:
将声源设定为 s,将其投影至 xoy平面上为s′,那么os′同 x正半轴的夹角φ即为声源的水平夹角,os和os′的夹角θ为俯仰角,发声位置 s与原点 o距离为r。已知正四面体的边长为a,发声位置s到4个麦克风的声音路程分别为d0、d1、d2和d3,发声位置s到m1、m2和m3与到m0的声程差分别为d10、d20、d30。已知声速c,则 di0=c·τi0,(i=1,2,3)。式中,τi0系声达时间差,即声信号到mi和m0的时间差。
设声源 s坐标为(x,y,z),通过几何关系构建数学定位模型,具体可列出下式:
在一般应用当中,默认声源为远场声信号,在忽略阵列位置变化的情况,认可2d0数值大大超过d10、d20和d30。
故简化(12)和(13),确定远场几何定向模型:
1.3 时延获取
1.3.1 时延获取的原理
系统选用基于声达时间差(TDOA)原理。首先得到时延值,接着确定声源方位,即先求出声源传到阵列不同位置传声器的时间差,进而得到声源到达不同位置麦克风的距离差,最终利用空间几何模型表示出声源方位。过程中通过两步走的方式实现了定位。
首先需要进行时延估计,明确阵列各麦克风对的声达时间差,正四面体麦克风阵列中的传感器采集到声音模拟信号,经 AD转换之后形成数字信号,进而通过数学计算确定声源信号到达不同麦克风的相对时延;接着,通过得出的时延估计值,利用空间几何模型得出声源的方位。
综合声源定位领域大量仿真研究,尽管时延估计算法很多,但广义互相关(Generalized Cross Correlation,GCC)算法速度更快、实时性更强、计算量更小。其工作原理是:首先确定 2个信号间x1(w)和x2(w)的互功率谱函数,接着在频域内通过不同的加权运算,最后将频域的函数反变换到时域,最终得到2组信号的互相关函数。互相关函数的峰值所对应的时间就是2组信号间的时延值。具体流程如图3所示。
所谓相关表征是指 2个信号在时域内的相似程度。假设2个传感器获取声信号模型为:
式中:S(n)表示声源的信号,n1(n)、n2(n)表示高斯白噪声,这3种信号彼此互不相关;τ1和τ2表示信号从声源传播到2个不同麦克风的时间,2个不同麦克风彼此的时延值便是τ12=τ1-τ2。
图3 广义互相关时延估计流程Fig.3 Generalized cross correlation delay estimation process
故X1(n)和X2(n)的相关函数R12(τ)为:
将式(18)、(19)代入(20):
根据自相关函数的性质,当τ-(τ1-τ2) =0时,R12(*)为最大值,因此求得R12(τ)最大值对应的时间τ即为所求时延值τ12。
1.3.2 时延获取的实现
LabVIEW 互相关法模块有着运算量低、硬件需求小的特点,麦克风阵列中传感器彼此间距不大使得互相关算法速度更快、更加便捷,实时性更强。本装置利用一维互相关模块,如图 4所示,该模块中有 X和Y两端输入,输出互相关函数便是Rxy。
图4 一维互相关图Fig.4 One dimensional cross correlation graph
通过3组互相关模块便能获得M0麦克风与M1、M2和M3其他 3路麦克风的互相关函数(R10、R20、R30)。通过确定 3组互相关函数峰值对应的时间便可以确定τ10、τ20和τ30。程序框图如图5所示。
图5 时延模块程序Fig.5 Program diagram of delay module
1.4 定位计算
确定了时延估计值后,利用空间几何模型即可确定声源的方位角。
结合上文式(16)和(17)进行程序编程即可得到声源信号的水平角与俯仰角。函数arctg仅可以表示90°~+90°角度,但是实际水平角要覆盖 180°~+180°角度,所以在编程中先通过时延值确定水平角象限,如果在第二象限就加上 180°,如果是第三象限就减去 180°,如果是第一、四象限便等于测量值(图6)。最终在上位机前面板上显示方位角。
图6 定位计算模块Fig.6 Positioning calculation module
在 LabVIEW 平台上编程设计了数据采集、获取时延以及定位计算等模块,如图 7所示,进一步完善前面板,最终可以展示 3路互相关函数、4路信号波形以及声源信息的水平角、方位角。
图7 系统总程序框图Fig.7 General program block diagram of system
2 结 论
声源定位是机器人的关键技术,立足当前移动机器人发展实际,本文设计开发了一种基于正四面体结构的声源定位系统装置,该装置利用4个麦克风传感器形成正四面体阵列,架构了立体空间模型。完成4路数据同步采样之后,在 LabVIEW 平台上获得互相关函数进而确定时延值,最终根据既定算法确定声源方位角。在大量实验之后,通过数据分析比较,系统基本可行,接下来需要在多声源、强噪声混响等环境下作进一步改进和研究。