当前位置:
文档之家› 基于麦克风阵列的实时声源定位
基于麦克风阵列的实时声源定位
(1)
x2 ( t) = a2 ×s ( t - d) + h2 ( t) ×s ( t) + n2 ( t)
其中 d表示语音信号到达两个麦克风的时间延迟 , a1 和 a2 表示
传输过程中的信号损失 , n1 ( t)和 n2 ( t)表示加性噪音 。下面用
RS1S2 (τ)表示 s ( t)和 s ( t - d)的互相关函数 , GS1S2 (ω)为其傅立
一个广义互相关框架 :
∫ RS 1S 2
(τ) ≈
1π
2π
W
-π
(ω) G x1 x2
(ω) eωj π dω
(4)
其中 W (ω)表示加权函数 。
实际应用中 ,选择一个恰当的加权函数是一项非常重要的
工作 。从式 ( 1)中可以看出 , 在这个声场体系中存在着两种噪
音 ,背景噪音 n1 ( t)和 n2 ( t) , 以及混响噪音 h1 ( t) ×s ( t)和 h2 ( t) ×s ( t) 。早期的研究中 , 文献 [ 2, 5 ]表明传统的最大似然
第 27卷第 6期 2010年 6月
计算机应用与软件 Computer App lications and Software
Vol127 No. 6 Jun. 2010
基于麦克风阵列的实时声源定位
刘真旭
(上海交通大学计算机科学与工程系 上海 200240)
摘 要 由于噪音和多路的存在 ,声源定位总是很难达到一个很高的精度 。针对这个问题提出了一个在智能教室环境下使用麦 克风阵列对声源位置进行实时估计的算法 ,该算法分为三个阶段 ———去除噪音 、延时估计和空间定位 ,即首先通过一个滤波器来对 语音信号中噪音进行预处理 ,然后通过一个改进的 GCC2PHAT算法来对多路语音信号的时延进行估计 ,最后通过构建几何关系来 估计声源的位置 。实验结果表明 ,在有一定噪音的自然教室环境下 ,算法的平均定位精度能够控制在 5cm 以内 ,具有很强的应用 性。
上述两种方法都能够起到过滤噪音的作用 , 不过本文采用
式 ( 9)的方式将这两种方法融合在一起 , 可以进一步对语音信
号进行降噪 ,实验证明这种方法非常有效 。
Gest S 1S 2
(ω)
=W 1 (ω) W 2 (ω)
( G x1 x2
(ω)
-
G n1 n2
(ω) )
(9)
2. 2 改进的 GCC 2PHAT
滤除静态噪音 。
ω GW iener S 1S 2
(
)
=W 1 (ω) W 2 (ω) G x1 x2
(ω)
(8)
W i (ω) =
X i (ω) 2 - N i (ω) X i (ω) 2
2
i = 1, 2, …
其中 N i (ω)也是在无语音段内进行更新 。
2. 1. 3 结合互相关相减的 W iener滤波
(6)
其中 X i (ω)和 N i (ω)分别表示接收到的语音信号和噪音信号功
率普的傅立叶变换 。从数学角度来说 , GCC2TML 算法可以通过
严格的数学推导得到 ,而 GCC2PHAT算法则完全是一个启发式
算法 ,目前关于时延估计的很多工作都是基于这两种方法来展
开的 。
2 提出的方法
基于语音信号的时延估计的思想 , 提出了一个三阶段声源 定位算法 。一个准确的时延估计是对声源估计的一个保证 , 可 是噪音的存在会对时延估计的准确性带来很大干扰 。因此本文 提出的算法将声源估计分为三个阶段来处理这个问题 :即首先 通过一个过滤器去除语音信号中的潜在噪音 , 得到尽可能纯净 的语音 ;然后通过一个改进的 GCC2PHAT算法来做时延估计 ; 最后再构建几何关系估算声源的空间位置 。下面具体讨论算法 的每一个过程 。
对于语音信号的时延估计 , 一个很流行的方法是通过选择
两段语音信号互相关曲线的最高峰来估计时间延迟 。令 s ( t)表
示源语音信号 , x1 ( t)和 x2 ( t)表示两个麦克风接收到的语音信 号 ,由声场模型可得 :
x1 ( t) = a1 ×s ( t) + h1 ( t) ×s ( t) + n1 ( t)
置进行估计 。这种方法计算很快 ,能达到实时的要求 ,不过由于 背景噪声 、房间反射等问题的存在 ,会影响时延估计的准确性 , 进而影响对声源位置的估计 。
本文通过对时延估计的方法进行了扩展 ,提出了一个三阶 段声源定位方法 ,能够在存在背景噪音的情况下对声源的位置 坐标进行比较准确的实时估计 。
1 时延估计
( TML )加权函数的方法对于背景噪音具有很好的鲁棒性 , 相位
变换 ( PHAT)的加权函数能够更好地处理混响和回声的情况 。
W TML (ω) =
N2 (ω)
2
X1 (ω) 2 X2 (ω) 2 X1 (ω) 2 + N1 (ω) 2
X2 (ω)
2
(5)
W PHA T (ω) =
1 G x1 x2 (ω)
Abstract W ith the existence of noise and multipath, it is difficult to obtain highly accurate sound source localization. This paper p roposed a real2time estimation algorithm for sound source localization, which includes three parts2noise extraction, time delay estimation and geometry localization, based on m icrophone array to deal w ith this p roblem in a smart classroom. Firstly, it made use of a filter to p re2p rocess the noise in speech signal; and then, a modified GCC2PHAT algorithm was used to do time delay estimation between each pair of speech signals; and at last, it estimated the sound source location according to the constructed geometry relationship. The method was also evaluated w ith multip le ex2 periments. In noisy environment in an actual smart classroom , the average accuracy of localization could be controlled w ithin 5cm , it is of very p ractical in usage.
其中 G n1 n2 (ω)是在无语音段内进行计算 , 而在有语音段内不
做任何更新 。实验中 ,我们使用基于平均过零率的方法来判断
当前帧是否为语音段 。
2. 1. 2 W iener滤波 W iener滤波是一个对于滤除静态噪音十分有效的滤波器 。
这里根据式 ( 1)中的声场模型来推导一个 wiener滤波器 , 从而 使每个麦克风接收到的语音信号首先通过一个 wiener滤波器来
目前 ,使用麦克风阵列来对声源进行定位的方法总体来说 可以分为两类 :时延估计和定向波束形成 。定向波束形成 [1 ]是 基于最大输出功率可控波束方法的一种形式 ,该方法对麦克风 阵列接收到的语音信号进行滤波延迟并加权求和形成特定指向 的波束 ,然后计算各个指向上的波束能量 ,其中搜索空间中功率 最大的方向就是对声源位置的一个最大近似 。不过为了搜索能 够使波束功率最大的位置 ,需要对整个空间进行扫描 [4 ] ,做大 量的计算 ,很难满足实时的要求 。基于时延估计的方法 ,由于声 源发出的信号到达各个麦克风存在时间差分 ,它根据各个通道 信号间的相关关系对这个时间延迟进行估计 ,从而来对声源位
44
计算机应用与软件
2010年
下面的假设 :
①语音信号和噪音信号是不相关的 ;
②两个麦克风接收到的噪音也是不相关的 ;
③没有反射和多路 。
基于上面的假设 , 便可以直接使用 G x1 x2 (ω) 来近似估计
GS1S2 (ω) ,从而估计时延 d为 :
d
=
a
rg m τ
axRS
1S
2
2. 1 过滤器
噪音会影响时延估计的准确性 , 有效地去除噪音会提高时 延的估计精度 ,从而提高声源定位的精度 。在对各个信道的语 音信号进行互相光函数计算时 , 算法首先采用一些方法来对音 频信号进行降噪处理 。由于 PHAT算法对于多路和回音有很好 的鲁棒性 ,下面我们主要考虑对背景噪音的处理 。
值来获得时延估计 ,从实验结果可以看出 ,采用这种方法能在很 大的程度上提高时延估计的精度 。下面以离散形式从频域上来
描述改进后的 GCC2PHAT算法 :
关键词 声源定位 麦克风阵列 延时估计 去噪
REAL 2T IM E SO UND SO URCE LOCAL IZAT IO N BASED O N M ICRO PHO NE ARRAY
L iu Zhenxu
(D epa rtm ent of Com pu ter S cience and Eng ineering, Shangha i J iaotong U n iversity, Shangha i 200240, Ch ina)