麦克风四元阵全向声源定位系统设计与实现

2017-04-13 01:42王洪波徐文刚
软件导刊 2017年3期
关键词:麦克风声源时延

王洪波,邹 煜,徐文刚

(中南民族大学 计算机科学学院,湖北 武汉 430073)

麦克风四元阵全向声源定位系统设计与实现

王洪波,邹 煜,徐文刚

(中南民族大学 计算机科学学院,湖北 武汉 430073)

设计并实现了一种基于Cortex-M3内核的小型化、低功耗声源定位系统。系统采用4个麦克风传感器构成声源定位矩阵。基于意法半导体公司的STM32F103FZET6硬件平台,利用其内部的高速中断以及微秒级的定时器辅以相关外设电路,快速捕捉声源位置并进行计算定位。实验结果表明,系统定位精度良好,适合应用在军事、工业控制、机器人声源定位等领域。

声源定位;Cortex-M3; 麦克风矩阵

0 引言

声源定位技术一直备受关注,在军事上可用于寻找战斗中隐藏的狙击手、水中的潜水艇;工业上作为模块嵌入使用,可以定位大型设备的故障点,也可以用于机器人听音定位场景。国外已有利用声源定位原理设计的麦克风阵列系统。国内基于麦克风阵列的声源定位研究起步较晚,虽然也有部分成果,但相关算法以及成型系统不够完善。

随着科技的发展,嵌入式系统处理能力飞速发展,研究机构纷纷展开此类系统的小型化、精细化研究,并基于大量理论模型成功进行了实用化[1-2]。国内在此项目上进展相对缓慢。因此,本定位系统研究具有很重要的理论和实践意义。

1 声源定位模型

1.1 声源定位系统基本原理

声音是以波的方式传播的,在物理学上满足波动学理论。当声源距离声波传感器较远时,可以把声音的传播理解为近似平行波的传播方式[3],由此得出相应的声波角。

图1模型中,S1与S2表示两个麦克风传感器Sound1、Sound2,声源发出的声音从3条平行线方向传入麦克风传感器,由于声源到达不同的麦克风传感器时间不一,而声源到达两者之间的距离差L可以通过公式(1)计算求出[4]。其中v代表声速,τ代表时间差,θ代表两个麦克风传感器所组成直线的夹角。声波角θ值公式如下:

(1)

图1 声波角模型

该模型比较简洁,但不能满足全方位360°环形检测的深层次应用,对于定位精度要求较高的场合难以适用。为此本文提出建立在图2平面三点信号模型基础上的四元阵多方位TDOA声源定位模型,如图3所示。

1.2 声源定位系统平面三点模型

图2[5-7]为常用的声源定位系统平面三点模型,这是本文四元阵多方位TDOA声源定位模型的基础。

图2 平面三点信号模型

三点信号模型中三点分别为3个传感器点S1、S2、S3。设声源的坐标为Sound(r,θ),3个传感器的坐标分别为(-d,0)、(0,0)、(d,0)。令传感器S2作为参考原点,其坐标为(0,0)。3个传感器之间两两距离为d,假定空气中声速340m/s,用字母c表示。由图2可知,R1、R2、R3分别代表声源Sound(r,θ)到3个传感器S1、S2、S3的距离。其中θ为声源与参考原点R2与第2个传感器的夹角,定义R2表示为R。其中R为声源到原点的距离。τ21和τ23分别表示传感器S3、S2与S1在接收信号上的延时,它们满足以下关系式:

(2)

当在近场环境下进行声源检测时,由声源Sound(r,θ)、S1、S2、S3组成的两个三角形中应用余弦定理可得:

(3)

通过整理公式(2)和(3),可以得到目标方位角的估计公式:

(4)

(5)

通过式(4)和(5)可知,要求出目标方位角以及目标与原点的距离,只要知道3个传感器之间的时间延时[8-10]即可。但是这个模型还是没有解决全方位定位问题,因此本文提出并设计了四元阵定位模型。

2 四元阵TDOA声源定位模型

TDOA (Time Difference of arrival)到达时间差是一种无线定位技术。本文在原有的平面三点模型基础上加入一个传感器,构成四元声源定位TDOA方阵,用于定位声源位置。图3是根据大量声学实验得出的方位设计布局。按此模型设计可以非常精确地得出全方位360°的声源定位效果,并可满足实用要求。

四元阵TDOA声源定位模型由4个传感器组成一个正方形。图3中Sound1、Sound2、Sound3为3个模拟声源。图3中的角B1和B2由图2中的平面三点信号模型得出,角A1、A2计算公式如下:

A1=135°-B1

(6)

A2=135°-B2

(7)

由图3所示的几何关系参考公式(8)可以计算得出D1与D2的长度。有了这两个参数值,就为下一步计算声源到四元阵定位模型的中心距离作好了准备。

(8)

图3 四元阵TDOA声源定位模型

声源Sound1与Y轴负半轴的精确方位夹角可由公式(9)推导得出:

(9)

声源与四元阵的中心原点距离为D,其计算公式为:

(10)

角θ和距离D精确反映了此刻声源在平面中的任意位置,据此可方便定位目标声源。通过这一模型可知,时间差值是解决定位问题的关键。

3 时延估算分析

3.1 互相关时延估计

接收到的声源信号用s(t)表示,两传感器的高斯白噪声分别用n1(t)和n2(t)表示,声源到达传感器1和传感器2的时间用τ1和τ2表示,假设Sensor1和Sensor2传感器所采样的语音信号模型为:

(11)

则τ21=τ2-τ1就是声源信号到达传感器1和传感器2的时间延迟。文中假设模型中的s(t)、n1(t)、n2(t)为互不相关的平稳随机过程。x1(t)、x2(t)的互相关函数可以表示为:

(12)

假设s(t)、n1(t)、n2(t)为互不相关的平稳随机变化过程且两两不相关,上式可化简得:

(13)

通过自相关函数性质可知,当其达到最大值时τ-(τ1-τ2)=0,时,求得的(τ)最大值对应的τ值就是两个传感器之间的时延值,用τ21表示。

综上分析可得,求两个不同位置传感器之间的时延值,就是求两信号的互相关函数的极大值。因此,当互相关函数的最高峰值相对尖锐时,就比较容易且准确地求出极大点所在位置。但在实际应用过程中,相关函数的峰值常常会受到周围环境噪声的影响,使得极大峰值因为噪声影响变得不明显,这时很难准确找到极大点位置,由此降低了时延估计的准确性。因此,为了得到准确的时延值,在实验条件允许的情况下,观测时间应尽量延长。

运用基本互相关法进行延时估计,就是寻找互相关函数峰值问题[11],这种方法计算量小,而且容易实现。但是,在运用过程中这种方法明显存在两个不足:①运用该方法的前提是信号和噪声之间,以及噪声和噪声之间都是两两互不相关的函数,在实际环境中,这个前提不一定存在,只不过是为了方便研究而假设的一个理论前提,因此,实际应用时会对定位精度造成一定影响;②该方法中所提出的互相关函数,在数学角度上来说可以看成是一种严格的统计平均。当条件为平稳遍历时可以用无穷时间平均值来替代严格统计平均[12],而在实际应用中,一般都是用有限定的时间平均来等效无穷时间平均或统计平均的,所谓有限时间平均就是指对函数作短时处理,这种情况下不可忽略噪声对互相关函数的影响,结果导致互相关函数峰值变得不明显,最终降低延时估计的精度。因此,为了降低噪声对互相关延时估计精度的影响,本文提出了一种实用的信号分析方法,可以很精确地捕获微秒级延时,在前述的四元阵TDOA声源定位模型理论基础上,可快速得出目标声源的定位信息。

3.2 四元阵TDOA声源定位时延估计

本文设计的定位系统把声音信号通过硬件电路整形,变为上升沿非常规整的冲击信号。在不同的传感器中,冲击信号的输出会呈现不同的时间差值,4个传感器的差值两两进入异或门进行比较,得出脉冲宽度非常小的方波,便是声音之间的时延。通过物理电路解决了四元阵TDOA声源定位模型中关键的时间延时值,把这一结果代入图3所示的模型,可以得到目标声源定位信息。

4 系统组成及软件编程

4.1 硬件平台

本文采用的声源定位系统是基于Cortex-M3内核的实时声源定位系统,系统整体架构由4个全指向麦克风传感器组成方形阵列,4路音频前置放大电路,4个A/D采集端口,芯片由中断数据处理模块、串口通讯和数据显示模块组成。

4.2 软件编程

本文在KEIL uVision5环境下使用汇编和C语言混合编程,进行软件编辑、编译、调试、链接和生成可执行文件等工作。系统软件部分包括对放大信号进行模数变换、初始化设置子程序、A/D采样子程序、中断向量初始化程序、时间延迟估计子程序、声源方向角定位子程序和串口通讯UART子程序等。时延估计子模块计算出各通道的相对时延值,定位模块采用本文给出的四元阵TDOA声源定位,如图4所示。

图4 测量逻辑框图

本系统采用基于TDOA的声源定位算法,此方法分为时延估计和定位两步完成。

5 实验结果分析

在真实环境中进行全面深入的极限测试,以检测本声源定位系统性能。该实验在普通实验室中完成,声源采用普通人声。其中r为阵列中心到声源的距离,方向角θ的区间为0°~360°,每隔45°测量一组数据,实验结果如表1所示。测试结果表明,系统的硬件平台性能良好,定位算法效果达到设计要求。本系统在实际环境中可以对声源进行实时定位和跟踪。

6 结语

本文以Cortex-M3为平台,设计并开发了一个切实可行的多方位声源定位装置。实验表明,本文设计的四元阵TDOA声源定位系统性能比常规定位方法更有效,为各种场景下的复杂声源定位与追踪提供了一种有效手段。

[1] JOSEA BELLOCHA, MAXIMOCO BOSB.Real-time sound source localization on an embedded GPU using a spherical microphone array[C].ICCS 2015 International Conference On Computational Science,2015(3):10-15.

[2] S ARGENTIERIA,P DANSC,P SOURESC.A survey on sound source localization in robotics: from binaural to array processing methods[J] .Computer Speech & Language,2015(3):3-5.

[3] 李晓欢. 基于OMAP平台的声源定位系统设计与实现[D].合肥:安徽大学,2014.

[4] 彭奎.一种基于麦克风阵列的声源定位系统及其应用研究[D].合肥:安徽大学,2014.

[5] 王春霞. 声源定位系统时延估计算法优化研究[D].邯郸:河北工程大学,2012.

[6] 黄海军. 基于传声器阵列的声源定位系统的初步研究[D].上海:东华大学,2013.

[7] 张明瀚. 基于时延估计的声源定位系统研究[D].重庆:重庆大学,2009.

[8] 曹虎林. 基于麦克风阵列的声源定位系统硬件设计与算法研究[D].上海:上海交通大学,2011.

[9] 沈建飞. 一种穹顶式传声器阵列声源定位系统研究[D].湘潭:湘潭大学,2014.

[10] 李扬. 基于小型麦克风阵列的声源定位系统设计与实现[D].哈尔滨:哈尔滨工业大学,2014.

[11] 叶一枝. 基于时延估计的声源定位系统的设计与实现[D].上海:上海交通大学,2011.

[12] 汪明,陈建辉,王广龙,等. 基于数字式MEMS声传感器阵列的声源定位系统设计[J].传感技术学报,2013(8):1105-1109.

(责任编辑:杜能钢)

王洪波(1984-),男,河南信阳人,中南民族大学计算机科学学院硕士研究生,研究方向为车载自组织网络。

10.11907/rjdk.162895

TP319

A

1672-7800(2017)003-0097-03

猜你喜欢
麦克风声源时延
虚拟声源定位的等效源近场声全息算法
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于GCC-nearest时延估计的室内声源定位
基于数字麦克风的WIFI语音发射机
基于改进二次相关算法的TDOA时延估计
运用内积相关性结合迭代相减识别两点声源
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
力-声互易在水下声源强度测量中的应用