基于麦克风阵列的实时声源定位

第27卷第6期 2010年6月 计算机应用与软件

Co m puter App lications and So ft w are Vo l 127No . 6Jun . 2010

基于麦克风阵列的实时声源定位

刘真旭

(上海交通大学计算机科学与工程系 上海200240)

摘 要 由于噪音和多路的存在, 声源定位总是很难达到一个很高的精度。针对这个问题提出了一个在智能教室环境下使用麦

克风阵列对声源位置进行实时估计的算法, 该算法分为三个阶段) ) ) 去除噪音、延时估计和空间定位, 即首先通过一个滤波器来对语音信号中噪音进行预处理, 然后通过一个改进的GCC -PHAT 算法来对多路语音信号的时延进行估计, 最后通过构建几何关系来估计声源的位置。实验结果表明, 在有一定噪音的自然教室环境下, 算法的平均定位精度能够控制在5cm 以内, 具有很强的应用性。

关键词 声源定位 麦克风阵列 延时估计 去噪

REAL -T I M E S OUND S OURCE LOCALI ZAT I ON BAS ED ON M I CROPHONE ARRAY

L i u Zhenxu

(Depart m e n t of Co m pu ter S cie n ce and Eng i neeri ng, Shanghai J i aotong University , Shanghai200240, Ch i na )

Ab stract W ith the ex istence of no i se and mu lti path , it i s d ifficu lt to obta i n h i ghly accurate sound source loca lization . T h i s paper propo sed a rea-l ti m e esti m ation a l go rith m fo r sound source localizati on , wh ich i nc l udes three parts -no i se extraction , ti m e delay esti m ati on and geo m etry l oca liza ti on , based on m i crophone array to dealw ith th i s prob l em i n a s m art c l assroo m. F irstly , it made use o f a filter to pre -process t he no i se i n speech signa; l and then , a m odifi ed GCC-PHAT a l go rith m w as used to do ti m e delay esti m ati on bet ween each pa ir o f speech si gnals ; and at l ast , it esti m a ted t he sound source l oca tion acco rd i ng to t he constructed geome try re lati onshi p . The m ethod w as a lso eva l uated w it h m ulti p le ex -per i m ents . In no isy env iron m ent i n an ac t ua l s m art classroom, t he average accu racy of l o ca liza ti on could be contro lled w ithin 5c m, it is o f v ery practical i n usage .

K ey words Sound source l o ca li zati on M i crophone array T i m e delay esti m a tion N o ise filter

置进行估计。这种方法计算很快, 能达到实时的要求, 不过由于

0 引 言

使用麦克风阵列来对声源位置进行估计已经成为一个十分活跃的研究领域, 它在人机交互和智能空间等领域, 比如视频会议、语音识别、视频监控, 都有十分重要的应用。麦克风阵列技术是源于声纳、雷达等系统中采用的阵列信号处理技术, 改变传统的单个麦克风使用方式, 利用多个麦克风排列成一定形状的阵列同时采集语音, 用阵列信号处理的方法获得高质量的语音信号。麦克风阵列在时域和频域的基础上增加一个空间域, 对接收到的来自空间不同方向的语音信号进行处理, 能够实现说话人方向的实时跟踪, 从而可实现定向语音采集, 提高信噪比。目前, 使用麦克风阵列来对声源进行定位的方法总体来说可以分为两类:时延估计和定向波束形成。定向波束形成[1]是基于最大输出功率可控波束方法的一种形式, 该方法对麦克风阵列接收到的语音信号进行滤波延迟并加权求和形成特定指向的波束, 然后计算各个指向上的波束能量, 其中搜索空间中功率最大的方向就是对声源位置的一个最大近似。不过为了搜索能够使波束功率最大的位置, 需要对整个空间进行扫描, 做大量的计算, 很难满足实时的要求。基于时延估计的方法, 由于声源发出的信号到达各个麦克风存在时间差分, 它根据各个通道信号间的相关关系对这个时间延迟进行估计, 从而来对声源位

[4]

背景噪声、房间反射等问题的存在, 会影响时延估计的准确性, 进而影响对声源位置的估计。

本文通过对时延估计的方法进行了扩展, 提出了一个三阶段声源定位方法, 能够在存在背景噪音的情况下对声源的位置坐标进行比较准确的实时估计。

1 时延估计

对于语音信号的时延估计, 一个很流行的方法是通过选择两段语音信号互相关曲线的最高峰来估计时间延迟。令s(t) 表示源语音信号, x 1(t) 和x 2(t) 表示两个麦克风接收到的语音信号, 由声场模型可得:

x 1(t) =a 1@s(t) +h 1(t) @s (t) +n 1(t)

x 2(t) =a 2@s(t -d ) +h 2(t) @s(t) +n 2(t)

(1)

其中d 表示语音信号到达两个麦克风的时间延迟, a 1和a 2表示传输过程中的信号损失, n 1(t) 和n 2(t) 表示加性噪音。下面用R S 1S 2(S ) 表示s(t) 和s(t -d ) 的互相关函数, G S 1S 2(X ) 为其傅立叶形式, 那么d 便可以很容易地估计出来。文献[3, 6]都做了

收稿日期:2008-12-02。国家高技术研究发展计划(2007AA 01Z157) 。刘真旭, 硕士生, 主研领域:语音处理, 音频检索。

44

下面的假设:

¹语音信号和噪音信号是不相关的;

计算机应用与软件2010年

=G S 1S 2(X ) +G S 1S 2(X ), 这样就可以得到G S 1S 2(X ) 的一个更好估计:

G S s ub (X ) =G x 1S 2

其中G n

1

1

º两个麦克风接收到的噪音也是不相关的;

»没有反射和多路。

基于上面的假设, 便可以直接使用G (X ) 来近似估计

x 2(X ) -G n 1n 2(X )

(7)

x 1x 2

n 2(X ) 是在无语音段内进行计算, 而在有语音段内不

G S 1S 2(X ), 从而估计时延d 为:

d =arg max R S 1S 2(S )

S

(2)

做任何更新。实验中, 我们使用基于平均过零率的方法来判断当前帧是否为语音段。

2. 1. 2 W iener 滤波

W iener 滤波是一个对于滤除静态噪音十分有效的滤波器。这里根据式(1) 中的声场模型来推导一个w i ene r 滤波器, 从而使每个麦克风接收到的语音信号首先通过一个w iener 滤波器来滤除静态噪音。

iener G W S 1S 2(X ) =W 1(X )W 2(X ) G x

1

式中,

1P

G S 1S 2(X ) e j XP d X 2P -P 1P U G x x (X ) e j XP d X (3) 2P -P 12

但是在真实环境下, 假设¹是合理的, 后两个就不是了。因此如果直接基于式(2) 来估计d , 在实际应用中就不是很有效。为了处理这个问题, 各种各样的频域加权函数被提出来, 并得出

R S 1S 2(S ) =

Q Q

x 2(X )

(8)

W i (X ) =

X i (X )

2

-

N i (X )

2

2

一个广义互相关框架:

1

W (X ) G x x (X ) e j XP d X (4) 2P -P 12

其中W (X ) 表示加权函数。

实际应用中, 选择一个恰当的加权函数是一项非常重要的工作。从式(1) 中可以看出, 在这个声场体系中存在着两种噪音, 背景噪音n 1(t) 和n 2(t) , 以及混响噪音h 1(t) @s (t) 和h 2

R S 1S 2(S ) U

(t) @s (t) 。早期的研究中, 文献[2, 5]表明传统的最大似然(TM L ) 加权函数的方法对于背景噪音具有很好的鲁棒性, 相位变换(P HAT ) 的加权函数能够更好地处理混响和回声的情况。W T M L (X ) =

X 1(X )

N 2(X )

2

22

X i (X )

i =1, 2, ,

Q

P

其中N i (X ) 也是在无语音段内进行更新。

2. 1. 3 结合互相关相减的W i ener 滤波

上述两种方法都能够起到过滤噪音的作用, 不过本文采用式(9) 的方式将这两种方法融合在一起, 可以进一步对语音信号进行降噪, 实验证明这种方法非常有效。

G S est (X ) =W 1(X )W 2(X ) (G1S 2

x 1x 2(X ) -G n 1n 2(X ) ) (9)

2. 2 改进的GCC -PHAT

上述介绍过直接的GCC -PHAT 算法, 不过由于观测噪声和系统噪声的存在, 或者是某种冲击噪声的影响, 如果每次仅针对当前帧的语音信号进行估计, 可能会造成估计结果的波动, 从而降低估计的准确性。这里引入一种累计的机制, 即将不同语音段的互相关函数进行加权求和, 然后通过搜索这个和函数的峰值来获得时延估计, 从实验结果可以看出, 采用这种方法能在很大的程度上提高时延估计的精度。下面以离散形式从频域上来描述改进后的GCC-PHAT 算法:

k+b-1

X 2(X ) N 1(X ) 1

22

X 1(X )

+G

X 2(X )

2

(5) (6)

W PHAT (X ) =

x 1x 2

(X )

其中X i (X ) 和N i (X ) 分别表示接收到的语音信号和噪音信号功率普的傅立叶变换。从数学角度来说, GCC-TM L 算法可以通过严格的数学推导得到, 而GCC-PHAT 算法则完全是一个启发式算法, 目前关于时延估计的很多工作都是基于这两种方法来展开的。

G S 1S 2(X ) =

式中

7

12

E 7

i=k

12

j XP

(X ) X 1(X )X c 2(X ) e

(10)

2 提出的方法

基于语音信号的时延估计的思想, 提出了一个三阶段声源

定位算法。一个准确的时延估计是对声源估计的一个保证, 可是噪音的存在会对时延估计的准确性带来很大干扰。因此本文提出的算法将声源估计分为三个阶段来处理这个问题:即首先通过一个过滤器去除语音信号中的潜在噪音, 得到尽可能纯净的语音; 然后通过一个改进的GCC -PHAT 算法来做时延估计; 最后再构建几何关系估算声源的空间位置。下面具体讨论算法的每一个过程。

(X ) =

1X 1(X )X c 2(X )

(11)

互相关累积函数定义为:

S 12=(1-A ) S 12+A G S 1S 2

代入式(4) 可得:

1P

S 12(X ) e j XP d X (13) 2P -P

其中A 一般的取值为(0, 0. 5), 在估计声源位置时不仅可以利

R S 1S 2(S ) U

(12)

Q

用当前的信号帧, 同时也充分利用了历史结果, 并将历史结果以指数形式衰减, 从而给予当前临近的信号帧更大的权值。

2. 1 过滤器

噪音会影响时延估计的准确性, 有效地去除噪音会提高时延的估计精度, 从而提高声源定位的精度。在对各个信道的语音信号进行互相光函数计算时, 算法首先采用一些方法来对音频信号进行降噪处理。由于P HAT 算法对于多路和回音有很好的鲁棒性, 下面我们主要考虑对背景噪音的处理。

2. 1. 1 互相关相减

如果n 1(t) 和n 2(t) 是相干噪音, 那么可以得出G

2. 3 声源定位

对于给定了时延估计, 便可以根据麦克风的位置来构建几何关系。假设给定N 个麦克风, 则共有(N-1)N /2对互相关的组合, 但是其中只有N -1对组合是相互独立的, 也就是说通过N -1对互相关函数便可以表示所有的组合。所以为了节省计算量, 无需计算所有组合, 仅需从中选取不相关的N -1个即可。考虑到阵列的分布均衡, 算法每次都选取阵列中心的麦克风作为参照, 然后估计其他N -1个麦克风与该参照麦克风之间时延, 从而估计声源的位置。

x 1x 2

(X )

第6期

刘真旭:基于麦克风阵列的实时声源定位 45

关于算法的一些符号说明如表1所示, 现定义声源到达麦克风i 与到达麦克风j 的距离差为:

d i, j =D i -D j =c @t i , j

(14)

具体实验结果在表2中列出, 估计精度精确到厘米。其中第一列为测试点编号, 第二列为声源的实际位置, 第三列为实验估计的位置, 最后一列表示估计误差。实验中估计声源的二维位置, 令(x, y ) 为声源实际坐标, (x e xp , y exp ) 为算法得到的声源估计, 则:

(x -x exp ) +(y -y exp ) 即表示估计声源点与实际声源的距离。

误差=

表2 实验结果

编号012

声源位置(m) (0. 24, 1. 8) (0. 3, 0. 5) (0. 8, 1. 2) (1, 0. 5) (1. 5, 1) (1. 9, 2. 1) (2. 2, 0. 7) (3. 2, 1. 5) (2. 5, 2. 7) (4. 6, 2. 4)

估计位置(m) (0. 29, 1. 84) (0. 37, 0. 49) (0. 83, 1. 18) (1. 06, 0. 52) (1. 52, 1. 03) (1. 92, 2. 13) (2. 24, 0. 72) (3. 23, 1. 53) (2. 51, 2. 74) (4. 64, 2. 42)

误差(m ) 0. 0640. 07070. 03610. 06320. 03610. 03610. 04470. 04240. 04120. 0447

其中t i , j 表示语音信号到达麦克风i 与麦克风j 的时间差, c 为声

速。

表1 符号说明

符号D i R i R s r s r i

说明

声源位置到麦克风i 之间的距离麦克风i 到原点的距离声源到原点的距离声源位置麦克风i 的位置

(17)

令0号麦克风为阵列的中心, 则算法选取它作为参照, 于是可将式(14) 扩展为:

(r i -r 0) T r s +d i , 0D 0=0. 5@(R i 2-R 02-d i , 02)

其中1[i [N -1, 将N

-1个等式归并成矩阵形式:

(r 1-r 0) T

(r 2-r 0) T

s

T

(r N -1-r 0)

3456

(15)

d 1, 0d 2, 0s d N -1, r s D 0

1

=2

R 2-R 2-d 1, 010

2R 22-R 0-d 2, 0

s

22R N -1-R 0-d N -1, (16)

789

在式(16) 中, 自由变量有两个r s 和D 0, 其中D 0可由r s 和r 0来表示, 这样需要求解的变量就只有r s 一个, 因此从式(16) 可以

得出:如果需要估计声源的二维坐标, 那么包括参照麦克风在内, 最少需要三个麦克风; 而如果需要估计的是三维坐标, 那么最少需要四个麦克风, 而且这四个麦克风不能在同一条直线上。通过引进更多的麦克风可以引进更多的参数, 从而可以降低估计误差, 提高定位的精度。

通过对结果数据进行分析可以看出:对于线性阵列来说, 靠近阵列两侧附近的声源位置估计误差较大, 而远离这个区域的声源估计都能够控制在一个较小的误差。实验中的所有测试点已经覆盖空间中的各种可能位置, 它的平均估计误差基本保证在5cm 左右, 算法的性能完全可以满足一个实际应用的需要。

3 实验分析

声源定位实验环境是在一个5m*6m 的自然教室里进行, 为了模拟一个更实际的环境, 其中存在空调、灯的镇流器和风扇等噪音源。便于测试, 实验时将地面用线划分成若干个20c m @20c m 的小格子。实验中共有五

个麦克风, 它们位于墙边高160c m 的地方, 满足一般人说话的位置, 阵列的中心位于5m 墙边的中心位置, 相邻两个麦克风之间的距离为50c m 。选取中间的麦克风作为参照, 由于区域对称性, 实验中我们只选取在参照麦克风一侧的一些测试点, 如图1所示, 其中的黑点表示测试点声源。

4 总 结

本文提出了一个基于延时估计的三阶段声源定位算法, 首先采用了一个结合互相关相减的w iener 滤波器对语音信号做降噪处理, 滤除背景噪音; 然后引入一个累计函数对G CC -P HAT 算法进行改进, 从而比较准确估算不同语音通道间的时间延迟; 最后通过构建几何关系, 建立迭代方程来估算出声源的位置。通过在自然教室环境下的实验表明, 即使在具有一定噪音的环境下, 该算法仍具有很强的鲁棒性。

参考文献

[1]D i B i as e JH. A h i gh acc u racy l o w l atency techn i que f or tal k er l ocaliza -ti on i n reverb eran t env i ronm ents us i ng m icrophone arrays . Ph . D . d i s -sertati on. B ro w n Un i versit y , Providence , RI , M ay 2000.

[2]B rands t ei n M, S ilver m an H. A practi calm et hodo l ogy f or s peech local-i

zati on w ith m icroph one arrays , Techn i que R eport , Bro w n U n i versit y , Nove mb er 13, 1996.

[3]Georg i ou P , Kyria kak is C, Tsakali des P . Roust tm i e delay estm i ati on f or

s ound s ou rce l ocalizati on i n noi sy envi ronm e n , t Proc . OfW ASP AA , 1997. [4]BergerM F , S il ver man H F . M icrophone array optm i iz ati on by stochasti c re -g i on contraction . I EEE Trans . Acous, t Speech , si gnal Process , 39(11):237. [5]K le b an J , Co m b i ned acousti c and vis ual process i ng for vi deo con feren cing

s yste m s , M S t hesis , The S t ate Univers i ty ofN e w Jersey , Ru t gers , 2000. [6]L iD , Levi n s on S , Adapti ve sound source localiz ati on by t w o m i crophones ,

Proc . Of In. t Con. f on Roboti cs and Auto mation , W as h i ngt on DC , M ay 2000.

图1 测试点分布

麦克风阵列的语音信号采集器使用当前市场上性能比较好的N I DAQm x 采集卡, 它的采样精度可以达到24位。实验中语音的采样频率为16k HZ, 通过一个帧长为512的汉明窗对语音信号加窗处理, 同时每帧信号的向后偏移量为帧长的一半。系

统程序使用VC ++开发完成。

第27卷第6期 2010年6月 计算机应用与软件

Co m puter App lications and So ft w are Vo l 127No . 6Jun . 2010

基于麦克风阵列的实时声源定位

刘真旭

(上海交通大学计算机科学与工程系 上海200240)

摘 要 由于噪音和多路的存在, 声源定位总是很难达到一个很高的精度。针对这个问题提出了一个在智能教室环境下使用麦

克风阵列对声源位置进行实时估计的算法, 该算法分为三个阶段) ) ) 去除噪音、延时估计和空间定位, 即首先通过一个滤波器来对语音信号中噪音进行预处理, 然后通过一个改进的GCC -PHAT 算法来对多路语音信号的时延进行估计, 最后通过构建几何关系来估计声源的位置。实验结果表明, 在有一定噪音的自然教室环境下, 算法的平均定位精度能够控制在5cm 以内, 具有很强的应用性。

关键词 声源定位 麦克风阵列 延时估计 去噪

REAL -T I M E S OUND S OURCE LOCALI ZAT I ON BAS ED ON M I CROPHONE ARRAY

L i u Zhenxu

(Depart m e n t of Co m pu ter S cie n ce and Eng i neeri ng, Shanghai J i aotong University , Shanghai200240, Ch i na )

Ab stract W ith the ex istence of no i se and mu lti path , it i s d ifficu lt to obta i n h i ghly accurate sound source loca lization . T h i s paper propo sed a rea-l ti m e esti m ation a l go rith m fo r sound source localizati on , wh ich i nc l udes three parts -no i se extraction , ti m e delay esti m ati on and geo m etry l oca liza ti on , based on m i crophone array to dealw ith th i s prob l em i n a s m art c l assroo m. F irstly , it made use o f a filter to pre -process t he no i se i n speech signa; l and then , a m odifi ed GCC-PHAT a l go rith m w as used to do ti m e delay esti m ati on bet ween each pa ir o f speech si gnals ; and at l ast , it esti m a ted t he sound source l oca tion acco rd i ng to t he constructed geome try re lati onshi p . The m ethod w as a lso eva l uated w it h m ulti p le ex -per i m ents . In no isy env iron m ent i n an ac t ua l s m art classroom, t he average accu racy of l o ca liza ti on could be contro lled w ithin 5c m, it is o f v ery practical i n usage .

K ey words Sound source l o ca li zati on M i crophone array T i m e delay esti m a tion N o ise filter

置进行估计。这种方法计算很快, 能达到实时的要求, 不过由于

0 引 言

使用麦克风阵列来对声源位置进行估计已经成为一个十分活跃的研究领域, 它在人机交互和智能空间等领域, 比如视频会议、语音识别、视频监控, 都有十分重要的应用。麦克风阵列技术是源于声纳、雷达等系统中采用的阵列信号处理技术, 改变传统的单个麦克风使用方式, 利用多个麦克风排列成一定形状的阵列同时采集语音, 用阵列信号处理的方法获得高质量的语音信号。麦克风阵列在时域和频域的基础上增加一个空间域, 对接收到的来自空间不同方向的语音信号进行处理, 能够实现说话人方向的实时跟踪, 从而可实现定向语音采集, 提高信噪比。目前, 使用麦克风阵列来对声源进行定位的方法总体来说可以分为两类:时延估计和定向波束形成。定向波束形成[1]是基于最大输出功率可控波束方法的一种形式, 该方法对麦克风阵列接收到的语音信号进行滤波延迟并加权求和形成特定指向的波束, 然后计算各个指向上的波束能量, 其中搜索空间中功率最大的方向就是对声源位置的一个最大近似。不过为了搜索能够使波束功率最大的位置, 需要对整个空间进行扫描, 做大量的计算, 很难满足实时的要求。基于时延估计的方法, 由于声源发出的信号到达各个麦克风存在时间差分, 它根据各个通道信号间的相关关系对这个时间延迟进行估计, 从而来对声源位

[4]

背景噪声、房间反射等问题的存在, 会影响时延估计的准确性, 进而影响对声源位置的估计。

本文通过对时延估计的方法进行了扩展, 提出了一个三阶段声源定位方法, 能够在存在背景噪音的情况下对声源的位置坐标进行比较准确的实时估计。

1 时延估计

对于语音信号的时延估计, 一个很流行的方法是通过选择两段语音信号互相关曲线的最高峰来估计时间延迟。令s(t) 表示源语音信号, x 1(t) 和x 2(t) 表示两个麦克风接收到的语音信号, 由声场模型可得:

x 1(t) =a 1@s(t) +h 1(t) @s (t) +n 1(t)

x 2(t) =a 2@s(t -d ) +h 2(t) @s(t) +n 2(t)

(1)

其中d 表示语音信号到达两个麦克风的时间延迟, a 1和a 2表示传输过程中的信号损失, n 1(t) 和n 2(t) 表示加性噪音。下面用R S 1S 2(S ) 表示s(t) 和s(t -d ) 的互相关函数, G S 1S 2(X ) 为其傅立叶形式, 那么d 便可以很容易地估计出来。文献[3, 6]都做了

收稿日期:2008-12-02。国家高技术研究发展计划(2007AA 01Z157) 。刘真旭, 硕士生, 主研领域:语音处理, 音频检索。

44

下面的假设:

¹语音信号和噪音信号是不相关的;

计算机应用与软件2010年

=G S 1S 2(X ) +G S 1S 2(X ), 这样就可以得到G S 1S 2(X ) 的一个更好估计:

G S s ub (X ) =G x 1S 2

其中G n

1

1

º两个麦克风接收到的噪音也是不相关的;

»没有反射和多路。

基于上面的假设, 便可以直接使用G (X ) 来近似估计

x 2(X ) -G n 1n 2(X )

(7)

x 1x 2

n 2(X ) 是在无语音段内进行计算, 而在有语音段内不

G S 1S 2(X ), 从而估计时延d 为:

d =arg max R S 1S 2(S )

S

(2)

做任何更新。实验中, 我们使用基于平均过零率的方法来判断当前帧是否为语音段。

2. 1. 2 W iener 滤波

W iener 滤波是一个对于滤除静态噪音十分有效的滤波器。这里根据式(1) 中的声场模型来推导一个w i ene r 滤波器, 从而使每个麦克风接收到的语音信号首先通过一个w iener 滤波器来滤除静态噪音。

iener G W S 1S 2(X ) =W 1(X )W 2(X ) G x

1

式中,

1P

G S 1S 2(X ) e j XP d X 2P -P 1P U G x x (X ) e j XP d X (3) 2P -P 12

但是在真实环境下, 假设¹是合理的, 后两个就不是了。因此如果直接基于式(2) 来估计d , 在实际应用中就不是很有效。为了处理这个问题, 各种各样的频域加权函数被提出来, 并得出

R S 1S 2(S ) =

Q Q

x 2(X )

(8)

W i (X ) =

X i (X )

2

-

N i (X )

2

2

一个广义互相关框架:

1

W (X ) G x x (X ) e j XP d X (4) 2P -P 12

其中W (X ) 表示加权函数。

实际应用中, 选择一个恰当的加权函数是一项非常重要的工作。从式(1) 中可以看出, 在这个声场体系中存在着两种噪音, 背景噪音n 1(t) 和n 2(t) , 以及混响噪音h 1(t) @s (t) 和h 2

R S 1S 2(S ) U

(t) @s (t) 。早期的研究中, 文献[2, 5]表明传统的最大似然(TM L ) 加权函数的方法对于背景噪音具有很好的鲁棒性, 相位变换(P HAT ) 的加权函数能够更好地处理混响和回声的情况。W T M L (X ) =

X 1(X )

N 2(X )

2

22

X i (X )

i =1, 2, ,

Q

P

其中N i (X ) 也是在无语音段内进行更新。

2. 1. 3 结合互相关相减的W i ener 滤波

上述两种方法都能够起到过滤噪音的作用, 不过本文采用式(9) 的方式将这两种方法融合在一起, 可以进一步对语音信号进行降噪, 实验证明这种方法非常有效。

G S est (X ) =W 1(X )W 2(X ) (G1S 2

x 1x 2(X ) -G n 1n 2(X ) ) (9)

2. 2 改进的GCC -PHAT

上述介绍过直接的GCC -PHAT 算法, 不过由于观测噪声和系统噪声的存在, 或者是某种冲击噪声的影响, 如果每次仅针对当前帧的语音信号进行估计, 可能会造成估计结果的波动, 从而降低估计的准确性。这里引入一种累计的机制, 即将不同语音段的互相关函数进行加权求和, 然后通过搜索这个和函数的峰值来获得时延估计, 从实验结果可以看出, 采用这种方法能在很大的程度上提高时延估计的精度。下面以离散形式从频域上来描述改进后的GCC-PHAT 算法:

k+b-1

X 2(X ) N 1(X ) 1

22

X 1(X )

+G

X 2(X )

2

(5) (6)

W PHAT (X ) =

x 1x 2

(X )

其中X i (X ) 和N i (X ) 分别表示接收到的语音信号和噪音信号功率普的傅立叶变换。从数学角度来说, GCC-TM L 算法可以通过严格的数学推导得到, 而GCC-PHAT 算法则完全是一个启发式算法, 目前关于时延估计的很多工作都是基于这两种方法来展开的。

G S 1S 2(X ) =

式中

7

12

E 7

i=k

12

j XP

(X ) X 1(X )X c 2(X ) e

(10)

2 提出的方法

基于语音信号的时延估计的思想, 提出了一个三阶段声源

定位算法。一个准确的时延估计是对声源估计的一个保证, 可是噪音的存在会对时延估计的准确性带来很大干扰。因此本文提出的算法将声源估计分为三个阶段来处理这个问题:即首先通过一个过滤器去除语音信号中的潜在噪音, 得到尽可能纯净的语音; 然后通过一个改进的GCC -PHAT 算法来做时延估计; 最后再构建几何关系估算声源的空间位置。下面具体讨论算法的每一个过程。

(X ) =

1X 1(X )X c 2(X )

(11)

互相关累积函数定义为:

S 12=(1-A ) S 12+A G S 1S 2

代入式(4) 可得:

1P

S 12(X ) e j XP d X (13) 2P -P

其中A 一般的取值为(0, 0. 5), 在估计声源位置时不仅可以利

R S 1S 2(S ) U

(12)

Q

用当前的信号帧, 同时也充分利用了历史结果, 并将历史结果以指数形式衰减, 从而给予当前临近的信号帧更大的权值。

2. 1 过滤器

噪音会影响时延估计的准确性, 有效地去除噪音会提高时延的估计精度, 从而提高声源定位的精度。在对各个信道的语音信号进行互相光函数计算时, 算法首先采用一些方法来对音频信号进行降噪处理。由于P HAT 算法对于多路和回音有很好的鲁棒性, 下面我们主要考虑对背景噪音的处理。

2. 1. 1 互相关相减

如果n 1(t) 和n 2(t) 是相干噪音, 那么可以得出G

2. 3 声源定位

对于给定了时延估计, 便可以根据麦克风的位置来构建几何关系。假设给定N 个麦克风, 则共有(N-1)N /2对互相关的组合, 但是其中只有N -1对组合是相互独立的, 也就是说通过N -1对互相关函数便可以表示所有的组合。所以为了节省计算量, 无需计算所有组合, 仅需从中选取不相关的N -1个即可。考虑到阵列的分布均衡, 算法每次都选取阵列中心的麦克风作为参照, 然后估计其他N -1个麦克风与该参照麦克风之间时延, 从而估计声源的位置。

x 1x 2

(X )

第6期

刘真旭:基于麦克风阵列的实时声源定位 45

关于算法的一些符号说明如表1所示, 现定义声源到达麦克风i 与到达麦克风j 的距离差为:

d i, j =D i -D j =c @t i , j

(14)

具体实验结果在表2中列出, 估计精度精确到厘米。其中第一列为测试点编号, 第二列为声源的实际位置, 第三列为实验估计的位置, 最后一列表示估计误差。实验中估计声源的二维位置, 令(x, y ) 为声源实际坐标, (x e xp , y exp ) 为算法得到的声源估计, 则:

(x -x exp ) +(y -y exp ) 即表示估计声源点与实际声源的距离。

误差=

表2 实验结果

编号012

声源位置(m) (0. 24, 1. 8) (0. 3, 0. 5) (0. 8, 1. 2) (1, 0. 5) (1. 5, 1) (1. 9, 2. 1) (2. 2, 0. 7) (3. 2, 1. 5) (2. 5, 2. 7) (4. 6, 2. 4)

估计位置(m) (0. 29, 1. 84) (0. 37, 0. 49) (0. 83, 1. 18) (1. 06, 0. 52) (1. 52, 1. 03) (1. 92, 2. 13) (2. 24, 0. 72) (3. 23, 1. 53) (2. 51, 2. 74) (4. 64, 2. 42)

误差(m ) 0. 0640. 07070. 03610. 06320. 03610. 03610. 04470. 04240. 04120. 0447

其中t i , j 表示语音信号到达麦克风i 与麦克风j 的时间差, c 为声

速。

表1 符号说明

符号D i R i R s r s r i

说明

声源位置到麦克风i 之间的距离麦克风i 到原点的距离声源到原点的距离声源位置麦克风i 的位置

(17)

令0号麦克风为阵列的中心, 则算法选取它作为参照, 于是可将式(14) 扩展为:

(r i -r 0) T r s +d i , 0D 0=0. 5@(R i 2-R 02-d i , 02)

其中1[i [N -1, 将N

-1个等式归并成矩阵形式:

(r 1-r 0) T

(r 2-r 0) T

s

T

(r N -1-r 0)

3456

(15)

d 1, 0d 2, 0s d N -1, r s D 0

1

=2

R 2-R 2-d 1, 010

2R 22-R 0-d 2, 0

s

22R N -1-R 0-d N -1, (16)

789

在式(16) 中, 自由变量有两个r s 和D 0, 其中D 0可由r s 和r 0来表示, 这样需要求解的变量就只有r s 一个, 因此从式(16) 可以

得出:如果需要估计声源的二维坐标, 那么包括参照麦克风在内, 最少需要三个麦克风; 而如果需要估计的是三维坐标, 那么最少需要四个麦克风, 而且这四个麦克风不能在同一条直线上。通过引进更多的麦克风可以引进更多的参数, 从而可以降低估计误差, 提高定位的精度。

通过对结果数据进行分析可以看出:对于线性阵列来说, 靠近阵列两侧附近的声源位置估计误差较大, 而远离这个区域的声源估计都能够控制在一个较小的误差。实验中的所有测试点已经覆盖空间中的各种可能位置, 它的平均估计误差基本保证在5cm 左右, 算法的性能完全可以满足一个实际应用的需要。

3 实验分析

声源定位实验环境是在一个5m*6m 的自然教室里进行, 为了模拟一个更实际的环境, 其中存在空调、灯的镇流器和风扇等噪音源。便于测试, 实验时将地面用线划分成若干个20c m @20c m 的小格子。实验中共有五

个麦克风, 它们位于墙边高160c m 的地方, 满足一般人说话的位置, 阵列的中心位于5m 墙边的中心位置, 相邻两个麦克风之间的距离为50c m 。选取中间的麦克风作为参照, 由于区域对称性, 实验中我们只选取在参照麦克风一侧的一些测试点, 如图1所示, 其中的黑点表示测试点声源。

4 总 结

本文提出了一个基于延时估计的三阶段声源定位算法, 首先采用了一个结合互相关相减的w iener 滤波器对语音信号做降噪处理, 滤除背景噪音; 然后引入一个累计函数对G CC -P HAT 算法进行改进, 从而比较准确估算不同语音通道间的时间延迟; 最后通过构建几何关系, 建立迭代方程来估算出声源的位置。通过在自然教室环境下的实验表明, 即使在具有一定噪音的环境下, 该算法仍具有很强的鲁棒性。

参考文献

[1]D i B i as e JH. A h i gh acc u racy l o w l atency techn i que f or tal k er l ocaliza -ti on i n reverb eran t env i ronm ents us i ng m icrophone arrays . Ph . D . d i s -sertati on. B ro w n Un i versit y , Providence , RI , M ay 2000.

[2]B rands t ei n M, S ilver m an H. A practi calm et hodo l ogy f or s peech local-i

zati on w ith m icroph one arrays , Techn i que R eport , Bro w n U n i versit y , Nove mb er 13, 1996.

[3]Georg i ou P , Kyria kak is C, Tsakali des P . Roust tm i e delay estm i ati on f or

s ound s ou rce l ocalizati on i n noi sy envi ronm e n , t Proc . OfW ASP AA , 1997. [4]BergerM F , S il ver man H F . M icrophone array optm i iz ati on by stochasti c re -g i on contraction . I EEE Trans . Acous, t Speech , si gnal Process , 39(11):237. [5]K le b an J , Co m b i ned acousti c and vis ual process i ng for vi deo con feren cing

s yste m s , M S t hesis , The S t ate Univers i ty ofN e w Jersey , Ru t gers , 2000. [6]L iD , Levi n s on S , Adapti ve sound source localiz ati on by t w o m i crophones ,

Proc . Of In. t Con. f on Roboti cs and Auto mation , W as h i ngt on DC , M ay 2000.

图1 测试点分布

麦克风阵列的语音信号采集器使用当前市场上性能比较好的N I DAQm x 采集卡, 它的采样精度可以达到24位。实验中语音的采样频率为16k HZ, 通过一个帧长为512的汉明窗对语音信号加窗处理, 同时每帧信号的向后偏移量为帧长的一半。系

统程序使用VC ++开发完成。


相关文章

  • 基于麦克风阵列的近场声源定位
  • 2008年4月四川大学学报(自然科学版) Apr.2008 第45卷第2期 Journalof SichuanUniversity(NaturalScienceEdition) v01.45No.2 文章编号:0490-6756(2008) ...查看


  • 基于机器人听觉的声源定位策略
  • 基于机器人听觉的声源定位策略 吕晓玲 张明路 河北工业大学 机械工程学院, 天津300130 摘要:针对机器人听觉定位,提出了五个传声器阵列作为机器人的耳朵,其中四个传声器组成的平面阵确定声源空间位置,另外一个传声器辅助实现声源位于机器人前 ...查看


  • 基于麦克风阵列的语音增强方法
  • 基于麦克风阵列的语音增强方法 概述:在日常生活和工作中,语音通信是人与人之间互相传递信息沟通不可缺少的方式.在语音通信中,语音信号不可避免地会受到来自周围环境和传输媒介的外部噪声.通信设备的内部噪声及其他讲话者的干扰.这些干扰共同作用,最终 ...查看


  • 语音识别的痛点在哪,从交互到精准识别如何做?
  • 语音识别是目前应用最成熟的人机交互方式,从最初大家体验过的有屏手持设备这种近场的语音识别,如Siri以及各种语音助手,到现在,语音识别的应用已经完成了向智能硬件以及机器人上延伸,不过,新的人机交互对硬件.算法要求更加苛刻,各企业正面临着巨大 ...查看


  • 基于一阶差分传声器阵列频域LMS语音增强算法
  • 堕童堡查(v2 凹@6@@可@@嗡响⑨0⑨回U 文章编号:11102-8684{2010108--0053-04 基于一阶差分传声器阵列频域 LMS语音增强算法・ 王扇珍,宋辉,刘加 (清华大学电子工程系,清华信息科学与技术国家实验室(筹) ...查看


  • 国外风洞试验的新机制_新概念_新技术
  • 第18卷 第4期 2004年12月 流体力学实验与测量 Experiments and Measurements in F luid Mechanics V ol. 18, N o. 4 Dec. ,2004 文章编号:100723124( ...查看


  • 斯伦贝谢随钻测井新技术
  • 斯伦贝谢LWD新技术介绍 聂向斌 北亚区随钻测井专家 2009年12月8日 年 议 题 斯伦贝谢LWD技术发展概况 多功能随钻测井仪EcoScope 高分辨率随钻侧向电阻率成像仪MicroScope 深探测储层边界探测仪PeriScope ...查看


  • 录播教室解决方案_160512
  • 华唐万达录播教室解决方案 2016年5月 目录 一. 概述 .......................................................................................... ...查看


  • 本科毕业设计答辩讲稿
  • 1.各位老师们同学们,大家下午好,我叫xxx,来自航海学院电子信息工程xx班,我的指导老师是xxx教授.我毕业设计的题目是xxxxxx. 2.这是我的答辩提纲,主要分为四个部分,分别是简介,TDE信号模型,TDE算法和结果及分析.个部分主要 ...查看


热门内容