第33卷第3期
2016年3月 计算机应用与软件
Computer Applications and Software Vo1.33 No.3
Mar.20l6
基于麦克风阵列的声源定位算法研究
李扬王鸿鹏
(哈尔滨工业大学深圳研究生院计算机科学与技术学院广东深圳518055) (深圳物联网关键技术及应用系统集成工程实验室广东深圳518055)
摘要 在基于时延估计的声源定位系统中,由于定位算法分为两个阶段:时延估计和定位,时延估计阶段的误差会在定位阶段
被放大,导致声源定位的成功率和精度较低。从原始信号去噪,时延值插值和定位算法三方面入手,提高声源定位的精度。结合自
行设计的四元十字麦克风阵列,给出一种新的时延值筛选算法,实现了一个室内声源定位系统。实验结果表明,在二维定位场景中,
该系统对声源方位角的估计成功率超过70%,平均误差小于5。;该系统对声源距离估计的成功率和精度与声源方位角有关,当声源
方位与X、Y轴的夹角不超过15。且声源距离不超过2.5 m时,声源距离估计的成功率能达到50%以上。
关键词 声源定位 时延值筛选 时延值冗余
中图分类号TP391.4 文献标识码A 自适应特征值分解小波去噪
DOI:10.3969/j.issn.1000—386x.2016.03.038
RESEARCH oN SoUND SoURCE LoCALISATIoN ALGoRITHM BASED
oN MICRoPHoNE ARRAY
Li Yang Wang Hongpeng
(School of Computer Science and Technology,Shenzhen Graduate School,Harbin Institute of Technology,Shenzhen 518055,Guangdong,China) (Shenzhen lOT Key Technology and Application Systems Integration engineering laboratory,Shenzhen 518055,Guangdong,China)
Abstract In sound source loealisation(SSL)systems based on time delay estimation(TDE),the localisation algorithm is divided into two stages:the time delay estimation and the sound source localisation.The success rate and precision of SSL could be very low because the
estimation error in TDE stage would be magnified in SSL stage.Proceeding from 3 aspects:raw signal denoising,time delay value interpolation and SLL algorithm,we improved the precision of SSL.Combined with a serf-designed four—element cross microphone array we
presented a new time delay value screening algorithm,and realised an indoor SSL system.Experimental results showed that in scenario of 2-D
SSL,the success rate of sound source azimuth estimation in the system was at least 70%,its mean error was less than 5。.The Success rate and precision of sound source distance estimation were related to real sound source azimuth and distance.When real sound source distance
was less than 2.5 m,and the included angle between sound source azimuth and X—Y axis was no more than 15。,the success rate of sound
source localisation could reach 50%or higher.
Keywords Sound source localisation Time delay screening Time delay redundancy Adaptive eigenvalue decomposition
Wavelet denoising
0 引 言
基于麦克风阵列的声源定位系统通过多个麦克风拾取声源
信号,对接收到的多路信号进行分析和处理,最终得到声源的位
置。声源定位系统无论在民用 .2 还是军用 l4 领域都扮演着
重要的角色。基于麦克风阵列的声源定位技术大致可分为三 种:基于最大输出功率的可控波束形成技术 J、基于高分辨率
谱估计技术 和基于时延估计的技术 。
其中,基于时延估计的声源定位技术由于原理简单、运算量
小和易于实现而被广泛应用。在基于时延估计的声源定位系统
中,定位过程分为两个阶段 :时延估计阶段和定位阶段。由
于双曲面的几何特性,时延值估计的误差在定位阶段被放
大 ,造成定位阶段的成功率不高,定位结果误差较大。因此 如何提高时延估计的成功率和精度便成了声源定位系统的关键
问题。本文通过对原始语音信号进行小波去噪,采用抗混响能
力强的自适应特征值分解算法,同时对时延估计值进行插值,提
高时延估计的精度。在进行时延估计之后,为了避免无谓的计
算,需要剔除错误的时延值。但是声源位置未知的情况下,时延
值的实际值无从得知,因此无法通过与实际值比较的方法对时
延估计值进行筛选。本文根据时延值之间的相关性,给出了一
种时延值筛选算法。在定位阶段,为了充分利用时延值的冗余
信息,给出了一种基于时延值冗余的定位算法。最终实现了一
个基于四元十字阵的室内声源定位系统。该系统在一般室内环
境中,方位角估计能达到70%以上的成功率,平均误差小于
收稿日期:2014—10—08。深圳市战略性新兴产业发展专项资金项 目(深发改[2013]716号)。李扬,硕士生,主研领域:声源定位。王鸿 鹏,教授。
168 计算机应用与软件 2016生
4.5。;当声源方位与xY轴的夹角不超过15。且声源距离不超过 2.5 m时,声源距离估计的成功率能达到50%以上。
1 时延估计
1.1小波去噪
对原始语音信号进行小波去噪的基本原理¨ 为:语音信号
和噪声信号分别进行小波变换之后,其小波系数具有不同的布
特征。噪声信号频谱比较分散,小波系数较小,语音信号频谱分
布比较集中,小波系数较大。利用这一特性可先对带噪语音信
号进行小波变换,然后在每一层尺度上对小波系数进行处理。
本文小波变换的实现方法如下:首先对原始语音信号进行 三阶小波变换,得到小波系数,按照一定阈值抑制高频系数,再
进行小波逆变换,得到经过去噪的语音信号。图1为小波去噪
前后的音频信号对比。
时间(-rs) (a)小波去噪之前
图1 小波去噪前后的音频信号对比
1.2 自适应特征值分解算法
传统的时延估计算法如广义互相关法(GCC)基于一种理
想的声音传播模型:单路径模型。在这种模型中,不考虑障碍物
对声源信号的反射作用。然而在实际的室内环境中不可避免的
存在混响,这种理想的单路径模型是不成立的。自适应特征值
分解算法(AED)在建立声音传播模型时考虑了混响这个干扰
因素,因此能获得更好的时延估计效果 。自适应特征值分解
算法的迭代公式 为:
e(It)= (凡) (It) (1)
u(n+ )= ; {—三— ; (2)
其中:
(n)=[ (n) (n)] (3)
(n)=[ (n) f(It一1)… f(It—M+1)] i=1,2(4)
( ㈥
g (n)=[g (0)g (1)…g?(M一1)r i=1,2 (6)
其中,“为收敛步长,e(It)为预估误差,/z(It)和/z(n+1)分别为
更新之前和之后的特征向量。在迭代开始之前,g:初始化为单
位冲激函数,g 初始化为0。迭代结束之后,分别对g。和 进行
峰值检测,其峰值位置之差即为麦克风对的时延估计。 1.3时延值筛选
经过时延估计后可得到时延值的整数部分,在进行后续计
算之前,需要剔除错误的时延值。本文给出了一种时延值筛选
算法,它利用时延值之间的相关性,判断时延估计值是否正确。
以四元麦克风阵列为例,每一次时延估计产生6个时延值,
分别是:
( r1,2 l。3 丁1.4 2,3 2,4 丁3,4) (7)
其中 : r 一r , 是麦克风i相对于麦克风 的时间延迟,r ,
7- 为声源信号到达麦克风i和 的时间。
理想情况下,时延值之间的关系可用式(8)和式(9)表示:
Jr , =t 一t^=(t 一tj)+(ti—t )= r J+ , (8)
=t 一0=一(0一t;)=一 , (9)
其中t 表示声源到达麦克风i的时间。
由于存在时延估计误差,式(8)左右两边只是近似相等,即
二者存在一个小的差值。因此可以利用这一特性对时延值进行
筛选,剔除错误的时延值。具体步骤如下所示: 1)根据自适应特征值分解算法得到时延值的整数部分;
2)对于所有麦克风组合 、 和 ,其中i√、k互不相等,
计算:
I r ,^一( r +tr,. )l (10)
3)设定合理的时延值误差阈值,如果对于所有麦克风组
合,式(10)都小于该阈值,那么式(7)通过时延值筛选;否则抛
弃这组时延值。
1.4时延值插值
经过时延值筛选后,只能获得时延估计值的整数部分。为
了提高时延估计的精度,需要对自适应特征值分解法中的g:向
量进行插值,得到时延估计值的小数部分。
目前比较常用的插值算法有抛物线插值法 ,抛物线插值
法计算量小,原理简单。抛物线插值法得到的峰值点位置为:
一 + (11)
其中( ,Yp )为插值之前的峰值点坐标,( ,Y )和( ,
y )分别是峰值点的左相邻点和右相邻点,f为经过抛物线插
值之后的峰值位置。
由于抛物线插值法只利用了峰值点的左右相邻点的信息,
因此插值得到的时延值误差较大。本文对抛物线插值法进行了
改进,给出了基于四阶多项式的插值法。该算法的步骤如下
所示: 1)分别取峰值点(Ygpe )的左边和右边两个相邻点,
如图2所示。将这四个点和峰值点带入式(12)中:
y( )=∑ai (12)
求得高阶多项式的系数,并得到极大值点。此极大值点的
横坐标即为经过插值的时延值。
2)对经过插值得到的时延值进行二次筛选,如1.3节
所示。 图2中的实线为g:对应的曲线,虚线为式(12)对应的曲
线,三角形标注点为1)中选取的点,圆形标注点为插值之前的
峰值点,正方形标注点为插值之后的峰值点。在插值之前,峰值
点位于 =206;经过四阶多项式插值之后,峰值点的位置位于
=206.37 1 5 O 5 1 , o
C《目