APP下载

麦克风阵列声源定位的实验设计与实现

2020-09-29

实验技术与管理 2020年6期
关键词:估计值麦克风声源

罗 倩

(北京信息科技大学 信息与通信工程学院,北京 100192)

使用麦克风阵列的声源定位技术能在嘈杂背景下实现声音降噪、语音增强、智能交互、智能家居控制等[1-4]。在实际语音通信环境中,不仅存在环境噪声,多数场合下还存在声音的多路径反射和混响等问题,并且讲话者有时是运动的,这些因素都会降低单个麦克风接收信号的信噪比,导致语音通信质量的下降。引入麦克风阵列可以很好地解决上述问题[5-6]。麦克风阵列是由多个麦克风按照一定的拓扑结构组成的阵列,对空间传播的声音信号进行采样,采样信号包含了空间位置信息。麦克风阵列声源定位通过对各阵元信号的到达时延(time delay of arrival,TDOA)进行估计[7-9],定位声源位置,计算量较小,可以获得较好的定位效果,易于实时实现[10-11]。利用时延补偿和空间滤波方法,又可进一步对来自声源的信号进行增强,达到抑制噪声的效果[1,12-13]。

为了加强“信号与系统”教学中实验教学与理论教学的相互结合,加强学生对信号处理技术的认知,培养学生自主学习和独立解决复杂问题的能力,建立了使用麦克风阵列实现声源定位的实验教学系统,并应用在大学生开放实验项目中。通过利用麦克风阵列进行语音信号采集,并处理多个麦克风传感器间的空域和时域信息, 较好地实现了声源定位。

1 麦克风阵列声源定位方法的原理

均匀线阵是常见的阵列结构,其中有N 个麦克风等间距地排列在一条直线上。实验中采用远场模型。在远场模型中,声源到达麦克风阵元之前为平面波,到达麦克风阵列的方向角是相同的,忽略各阵元接收信号间的幅度差,近似认为各接收信号之间是时延关系。利用麦克风阵列估计声源到达不同阵元间的时间差,可以实现声源方向和距离的估计。基于延时估计的方法分为两步,首先进行声达延时估计,再利用声达时间差,结合已知的传声器阵列的空间位置,确定声源位置,以达到声源定位的目的。

图1 是麦克风阵列声源定位的原理图。其中:d是两个麦克风阵元间的间距,c 是声音在空气中的传播速度,θ 是声源的方向角,r 是声源到麦克风阵列中心的距离, s ( n )是未知声源信号, yi( n )表示第i 个麦克风接收到的信号:

其中:αn( n=1,2, … , N)在0~1 之间,是传播衰减因子,在远场模型中可忽略;t 表示信号从声源传播到麦克风直线阵列中心的传播时间; vi( n) 表示在第i 个阵元上接收到的加性噪声,假设噪声与语音信号以及其他阵元的噪声信号互不相关;τ 为中心麦克风阵元与相邻麦克风阵元所接收到的信号的时延差。这里假设使用的麦克风阵列模型为位于远场环境中的均匀直线阵列。

图1 麦克风阵列声源定位原理图

延时估计算法可以通过计算两个阵元接收信号的互相关函数来实现,找到使互相关函数最大的点,该点可确定这两个信号的时间差。

离散信号的互相关函数为:yj( n) 表示第j 个麦克风接收到的信号。在实验时,采用时间平均代替集合平均:

Ryiyj( m )在时达到其最大值:

在计算时,可以采用快速傅里叶变换并通过反变换计算互相关函数的最大值。根据互相关函数峰值的尖锐程度,可以判断时延估计性能的好坏。在处理时,对麦克风接收信号进行加窗分帧,每帧长度为512 点,后一帧与前一帧重叠256 点,用汉明窗对信号进行加窗处理。式(4)中估计的是i 和j 阵元一帧数据互相关函数的最大值点。对各帧估计的进行平均可得到,作为输出结果。

于是所估计的 yi( n) 和 yj( n )之间的延迟为:

其中sT 为采样周期。

麦克风阵列中一般有多个麦克风,一般N>3,每两个麦克风都可以得到一个角度估计值,N 个麦克风就会有N(N−1)/2 个角度估计值。记每个角度估计为θk, k =1,2,…, N ( N-1) /2。角度估计的所有信息彼此并不独立,存在冗余。实验中将估计出所有组合的角度值,并利用最小二乘法求出最优解,这样可以利用所有阵元的信息来提高角度估计的准确性和鲁棒性。采用最小二乘法求解时,设总的误差平方和为ε :

这样可以得到声源方向的估计ˆθ,其值也是所有估计kθ 值的均值。

通过计算声源到各麦克风之间的距离差,可以进一步估计声源距离r。

如图2 所示,假设声源到麦克风Mic0和Mic1的距离差为c ⋅τ01,声源到麦克风Mic0和Mic2的距离差为c ⋅τ02,声源的坐标为(x,y),则可由下列方程组求得声源相对原点的距离r:

由此,可以定位声源的距离。

图2 声源距离几何关系

2 实验教学系统设计与实现

实验采集系统由声望公司的4 个MPA416 驻极体全向麦克风、NI 公司的1 个USB9234 四通道数据采集卡和计算机共3 部分组成,NI 数据采集卡通过USB接口与计算机相连。NI 数据采集卡如图3 所示,每通道以采样频率25.6 kHz 进行同步采样,量化精度为16 bit。

图3 NI USB9234 数据采集卡

声源定位实验环境是一个8 m×6 m×3 m 的自然环境长方体实验室,由4 个麦克风传感器组成的直线阵列接收声音信号,它们位于高160 cm 处,对应多数人说话的位置。实验系统如图4 所示。麦克风阵元之间的间距为d=6 cm,声速为c=340 m/s,以4 个麦克风的直线阵列中心为坐标原点。实验室噪声信号为高斯白噪声,信噪比约为20 dB,声源为单声源。麦克风阵列采集系统示意图如图5 所示。

图5 直线麦克风阵列采集系统示意图

为了保证短时平稳性,对采集数据进行加窗分帧处理,采用汉明窗,每帧512 点,每帧信号与前帧信号重叠256 点,并将各帧信号估计结果进行平均。

3 实验测试结果与分析

实验中,分别采集30°、45°、60°、90°、120°、145°和150°各方向,距离线阵中心距离为4 m、5 m、6 m 的定点声源的语音或手机铃声等信号。4 个通道采集的声音波形示例如图6 所示。

图6 4 个麦克风采集的信号波形图

对采集的定点声源信号进行延时估计,将结果在帧间进行平均,并对各个估计值求最小二乘估计。不同声源方向角度估计的实验结果见表1,不同声源距离估计的实验结果见表2。

表1 不同声源方向角度估计实验结果

表2 不同声源距离估计实验结果

从表1 和2 中可以看出,本实验实现了对声源方向和距离的比较准确的估计,方位角度定位精度为±1.74°,距离定位精度为±0.18 m。由于本实验采用了较高的采样率,进行了数据分帧,在帧间进行了估计值的平均处理,并充分利用了各冗余阵元的信息,采用了最小二乘估计算法,因此获得了较好的定位效果。

4 结语

本文设计了基于麦克风阵列的声源定位实验系统,设计了基于延时估计的麦克风阵列声源定位算法,通过充分利用麦克风阵列采集的时域和空域信息,利用帧间估计值平均以及麦克风阵列各阵元信息的最小二乘处理,获得了较好的声源定位效果。实验可以有效地提取声源的方位和距离,使学生将理论与实际应用相结合。通过实验,有效地培养了学生的综合素质和创新能力。

猜你喜欢

估计值麦克风声源
GRAS发布新12Bx系列、支持TEDS的测量麦克风电源模块
虚拟声源定位的等效源近场声全息算法
一道样本的数字特征与频率分布直方图的交汇问题
基于GCC-nearest时延估计的室内声源定位
2018年4月世界粗钢产量表(续)万吨
麦克风的艺术
讯飞输入法也能离线语音输入
运用内积相关性结合迭代相减识别两点声源
麦克风
力-声互易在水下声源强度测量中的应用