基于麦克风阵列的声源定位模型构建

2020-11-10 11:36刘玉清吴带明李志节
中阿科技论坛(中英阿文) 2020年8期

刘玉清 吴带明 李志节

摘要:本文设计了一种基于广义互相关时延估计的麦克风阵列的声源定位算法,在建立麦克风阵列时,通过对不同麦克风模型的实验进行研究,最终选定了X阵列的麦克风阵列作为算法模型来定位声源,并建立合适的空间坐标系来准确地确定在大厅中走动的人的位置。本文的声源定位模型算法是建立在远场模型且排除外界干扰的假设上。本文的创新点在于对解决定位人位置的问题上的算法中采用广义互相关时延估计算法,其优势在于原理简单、运算量小且对混响和抗噪声能力较强。

关键词:广义互相关;时延估计;X阵列;声源定位

中图分类号:TN912.2                文献标识码:A

1 引言

要在空旷的大厅内用麦克风树来确定位置,首先需要建立合理的麦克风树,并通过对多支麦克风收搜集的声音进行对比处理,根据麦克风阵列的声源定位来确定人的位置。而麥克风阵列的结构设计是决定声源定位系统定位精度的关键因素,根据空间维度的不同,可以将麦克风阵列分为一维阵列、二维阵列、三维阵列。在空间中的声源定位通常采用三维麦克风阵。为了满足定位的需求与精确度,本研究选择X阵列麦克风阵列来进行声源定位。

2 X阵列麦克风树的模型建立与仿真

用麦克风收集声源反馈的信息,并对收搜集到的信息加以处理,来确定声源的位置,这是基于麦克风阵列的声源定位系统模型。

2.1 建模的基本思路

本研究选用四个麦克风进行接收信号,然后通过TDOA算法求时延,通过时延获取声源相对于坐标原点的方位角和俯视角。从而就可以得到声源在坐标系中的坐标,于是就实现了定位。通过反射声音,我们可以获取声源相对于对称的虚声源到原点的位置信息,进而确定声源的位置。

2.2 问题1的X阵列声源定位模型

2.2.1 X阵列声源定位模型

对于X阵列声源定位模型至少需要4个麦克风,增加麦克风对定位精度会有所提高,结合实际情况考虑,X阵列声源定位模型采用4个麦克风做仿真测试。仿真实验在一个a m×b m×c m的三维空间进行,4个麦克风的坐标分别为S1(D/2,0,0),S2(0,D/2,0),S3(-D/2,0,0),S4(0,-D/2,0)。仿真声源在声源处频率为T0,在麦克风接收到信号时频率为T1,实验采样频率为fs,实验在考虑高斯白噪声的条件下进行[1]。麦克风之间的距离D=20 m,如图1所示.。

根据假设定义如图1所示模型,P表示声源位置,S1、S2、S3、S4表示麦克风,R1、R2、R3、R4分别表示声源到每个麦克风的距离,D/2表示每个麦克风到阵列中心的距离,距离单位均为(m)。

通过类似LMS定位算法,GCC时延估计算法可以得到声源的坐标(X,Y,Z)。

2.2.2 广义互相关法(GCC)估计时延

本文选取了广义互相关法(GCC)来进行时延的估计。广义互相关法(GCC)通过计算不同麦克风所接收到的信号之间的相关函数来估计时间值,GCC法就是在功率谱域对信号进行加权,突出相关的信号部分而抑制受噪声干扰的部分,提高了时延估计的精度。设两个麦克风接收到的信号为xi(n)和xj(n),s(n)为声源信号,ni(j)(n)为高斯白噪声,相互独立,ti(j)分别为声波到麦克风Si和Sj的传播时间,,ai(j)分别为声源信号到麦克风Si,和Sj的衰减系数,则

GCC基本原理流程如图2所示。图中Hi(f)、Hj(f)表示为滤波函数,Pi(t)、Pj(t)为信号的加权函数,最后将加权后的函数进行积分等互相关运算后反变换到时域,得到信号的互相关函数,其峰值对应的时间就是信号间的时延。则相关函数输出为:

因此通过搜寻互相关函数的最大峰值,就可以得到信号之间的时延差τ。

2.2.3 X阵列声源定位模型的仿真与分析

为了验证建立的声源定位算法模型的准确性,在采样频率fs=10 kHZz,麦克风高度z=1.44 m,每个麦克风距离阵列中心的距离为D/2=3.085 m,声音传播速度C=344 m/s的情况下进行仿真实验。在特定的环境下进行声源到麦克风的距离分别是18m、19m、20m、21m、24m五次实验,根据广义互相关延迟算法得到一个麦克风到其他三个麦克风之间的时延。由得到的时延带入算法计算声源到原点的距离,具体实验数据见表1。

由表1可以看出,去除错误数据之后,声源位置的距离误差在2 m以内,且偏差百分比在0到10%之间。误差较小,在可以接受的范围之内。说明构造的算法可以应用于声源定位。

在空间中已知四个麦克风的空间坐标,经过五次反复试验仿真得到五次实验声源坐标与实际声源坐标,从表2中可以看出,仿真声源坐标与实际声源坐标的误差在0到2%之间,通过应用广义互相关算法,计算得到五次实验的时延数据,根据仿真得到的时延数据,带入计算得到声源的方位角、俯仰角等位置信息。[2]

通过对实验得到的数据进行的分析研究,基本实现了传声器阵列声源定位的功能,但仍存在一些问题误差,误差的大小主要受麦克风之间接收延迟的影响,但在可接受范围内。通过计算坐标偏差百分比,系统坐标偏差误差在2%以内,距离偏差百分比误差在10%以内,可见定位系统稳定可靠。

3 结论与推广

用麦克风树构建的模型并未考虑声源的速度,可以适当通过改变声源的速度,查看声源速度对于模型结果误差的影响,获得一个追踪声源较为稳定的高度。真实环境中存在很多环境噪音,声源信号的传输会不可避免地会受到外部因素的影响,这会导致声源定位系统精度和运行速率。因此可以使用非线性滤波技术对接收到的声源信息进行处理。[3]随着信号处理技术和、目标定位技术的不断发展和完善,利用目标发出特定的声信号来识别运动过程中的位置的方法逐渐被应用到人类生活、智能医疗和科学研究中。而麦克风树这一声源定位技术也将被应用到于更多方面中。

(责任编辑:侯辛锋)

参考文献:

[1]张晓光,吕海峰,吕传茂,王普浩,韩冬,陈龙虎等.X阵列四元十字麦克风阵声源定位算法研究[J].中国测试,2020,46(02):96-102.

[2]唐浩洋,陈子为,黄维.基于麦克风阵列的GCC时延估计算法分析[J].计算机系统应用,2019,28(12):140-145.

[3]陈艺.室内三麦克风树的声音定位数学模型[J].电子世界,2020(13):89-92.