一种改进的联合SRP_PHAT语音定位算法

一种改进的联合语音定位算法
S R P-P HA T
袁安富1孟君1
摘要0引言
提出了一种基于正交直线麦克风阵
列的分级搜索SRP-PHAT ( 可控响应功率-相位加权)语音定位算法.利用正交直线麦克风阵列将二维搜索空间缩减为2 个一维空间以减少计算量,并联合使用四叉树由粗到细的分级搜索(h i era rc h i ca l sea rc h)策略分别在一维空间中搜索声源位置.通过M at l a b对联合算法进行了仿真,实现了声源定位,并与传统的全搜索SRP-PHAT 算法和改进前的基于正交直线麦克风阵列的加速SRP-PHAT 算法进行比较分析.实验与仿真结果显示:该联合算法大大减少了计算量和定位时间,能准确定位声源位置.
关键词
声源定位;可控响应功率-相位加权算法;正交直线麦克风阵;分级搜索
如今,SRP-PHAT 算法凭借其在实际环境下良好健全的性能,已经成为最受青睐的语音定位算法,但是庞大的计算量使得实时地执行算法变得困难.因此,自SRP-PHAT 算法被提出以来,许多研究者都尝试着减少其核心的可控响应功率搜索过程的计算量[1-4].文献[1]提出了一种基于正交线性麦克风阵列的加速SRP-PHAT 算法.在远场条件下,正交线性麦克风阵列把二维的搜索空间缩减成了  2 个成对的一维搜索空间,主要的计算过程可以分别在  2 个一维空间内进行.对于一个M 元阵列,此方案需要的计算量只有常规SRP-PHAT 算法的1 /M,定位精度没有损失,但是该方法只考虑了远场条件下基于正交线性麦克风阵列的情况,具有很大的局限性.文献[2]采取了一种在空间和频率上利用四叉树由粗略到细致进行网格划分的分级搜索策略,显著提高了算法的运算速度.这种策略利用了产生目标函数的信号的一些特性,比如说,语音的波长是随着定位空间的扩大而增长
中图分类号T H71;T G803
文献标志码A
的.首先在一个粗略的网格里进行搜索可控响应功率(S R P)最大值,
局部最大值所在区域被选中进行下一轮分级迭代搜索,但是这种方
法很容易在开始搜索时选错初始网格,尤其是在调制反响环境中,此
时算法会出现估计错误.仿真和实验显示,这种方案在混响时间超过
300 ms 时,不能达到和传统SRP-PHAT 算法一样的健全性能[5].
本文联合了上述  2 种算法的优势,提出了一种改进的联合SRP-
PHAT 语音定位算法,即基于正交直线麦克风阵列的分级搜索SRP-
PHAT 算法.在远场条件下,首先利用正交直线麦克风阵列将二维搜
索空间削减为一对一维空间,然后分别在一维空间中执行分级搜索
策略,寻SRP 最大值以确定声源位置,因此联合算法进一步缩减了
原来的文献[1-2]所示算法的计算量,并且声源定位精确度没有明显
损失.
收稿日期2011-03-01
资助项目南京信息工程大学科研基金(2008-0326)
作者简介
袁安富,男,教授,硕士生导师,主要研究机电产品的动静态性能分析和优化设计.c h ar l e s-y u a n@ 163. com
正交直线麦克风阵列模型
1
本文采用的18 元正交等间距直线麦克风阵列声源定位模型如图1 所示.声源信号的波达方向D O A(D i rect i o n of A rr i va l)通过坐标原点指向声源的方向向量表示,它与信号波的传播方向相反.麦克风阵元壳体加工
1
女性快乐器
响,还会因为家具等房间内的物体位置移动而变化.
当这些因素变化显著时,需要假设其在短时间内保
持恒定,因此,当声源和麦克风位置确定时,可认为
RI R 在短时间内是时不变的.b
m
( t) 为第m 个麦克风
接收到的噪声,包括麦克风系统中的通道噪声和环
境噪声2 部分,其中环境噪声为主导成分.因此可认
为各个麦克风所接收的噪声之间以及噪声与声源信
号之间均是独立不相关的.时延估计算法的目的是
计算2 个麦克风接收信号的直达时间差别,因此元5 位置重合.相邻麦克风阵元间的距离为d.语音橡胶再生
信号声源位置采用球坐标表示为s = ( r,θ, ),其中
r为声源与麦克风阵列参考点的距离,θ为方位角,
为仰角.DOA 单位向量为u
s
=[cos  cos θ,co s  s i n
s i n  ]T,则声源位置向量为s = r* u .麦克风阵元m
s
T
的位置向量为r m  = [x z].γ为DOA 向量与Z
y
轴正向的夹角,β为DOA 向量与Y 轴正向的夹角,
可得γ=
π
- ,cos β= cos  s i n
2
RI R 可以分解成2 部分,一部分为直达声道的响应,
剩余的另一部分设为h'm( t) .因此式(1)改写为
x
m
( t)= α
m
s( t -τ
m
)+ h'
m
( t) * s( t) + b
m
( t) .(2)
其中m = 1,2,…,M,αm  = r m    是声音在大气中传播
的幅度衰减因子,τ
m
= r
m
/c 是信号从声源位置直接
到达第m 个麦克风的传播时延,这里r
m
是声源到第
m 个麦克风的距离,c为声音在空气中的传播速度.
这时麦克风接收到的信号即为声源信号的延迟形式
加上声源信号与剩余RI R 部分的卷积[7].信号到达
麦克风m 和麦克风n 的时延差别记为τ
mn
= τ
n
-τ
m
- 1
联合SRP-PHAT 算法
3
图1  正交直线麦克风阵列
F i g.1  Ort h o go n a l li n ea r array of m i c ro ph o n es
3. 1  基于正交直线麦克风阵列的分级搜索算法
SRP-PHAT 算法联合了相位变换加权和可控响
应功率,通过在所有可能覆盖声源位置的范围内搜
索可控响应功率SRP 的最大值来确定声源位置.由
文献[1]可知,可控响应功率是M 元麦克风阵列中
所有麦克风对的广义互相关函数总和,即当麦克风阵列系统应用于一般会议室等室内环
境时,若声源和麦克风阵列的距离小于500 c m,麦克
风阵列信号接收模型应采用精确的近场模型,信号
波波前为球面波波前;若声源与麦克风阵列相距较
远,即r    d 时,则满足远场条件,可以采用近似的平
面波前模型.这时声源的位置向量实际上只是一个
方向而已,与距离r 无关[6].本文研究远场条件下的
声源定位算法,因此算法中声源位置的确定过程归
结为方位角θ和仰角 的估测.
M ( ω)e-jωτmm0(s)
X2
= ∫
传感器数据
P P HA T( s)∑m(3)
dω.
X
m
( ω)
||
m = 1
其中,X  ( ω)是x ( t) 的傅里叶变换形式,s = ( r,θ,
m m
)是语音信号声源位置的球坐标,τmm  ( s)是可控波
束形成过程中麦克风m 处的可控时延,即信号直达
麦克风m 的真实时延与信号直达参考麦克风m
延的相对时延.当声源位于远场时,信号波波前可以
近似认为是平面波,因此可控时延与声源的距离
无关.
信号模型
2
在一个室内混响环境中,某一位置处的信号可
以认为与声源信号s( t) 是线性相关的.一个M 元麦
克风阵列中第m 个麦克风接收到的信号可表示为τmm
( s)= u
蓝牙GPS
s
·(r
m
-r
m
) /c.
(4)
其中u s是声源位置的单位方向矢量,r m  和r m  分别x
m
( t) = h
m
( t) * s( t) + b
m
( t) .(1)0
是麦克风m 和参考麦克风m
在直角坐标系中的位
置向量,c是声音传播速度.在执行算法时,麦克风接
收的信号都经过采样,信号处理过程处理的对象是其中m = 1,2,…,M,*  表示卷积. h m ( t) 为声源与第
m 个麦克风之间的房间脉冲响应(R I R),描述了声
源与麦克风位置之间所有声道的特性,包括声源直
2
其中 T s  = f s      是采样周期,f s    是采样频率. 在 SRP- PHAT 算法中,声源位置可以通过麦克风阵列信号 的一帧数据估算,仍用 x m  ( n ) 表示一帧数据,数据帧 的离散傅里叶变换记作 X m  ( k ) .  把式( 3) 中的傅里叶 变换替换成各自的数据帧离散傅里叶变换形式,则 相位变换可控响应可以表示为 - 1
度搜索,计算每个候选 γ 处的可控响应功率部分; 最
后由式( 7 ) 、
( 10 ) 计算出基于相位变换加权的可控 响应功率. 同样地,可控响应功率最大值对应的( β,
γ) 即为算法的执行结果,再通过角度转化,便可以得 到声源位置( θ, ) . 这里的角度搜索过程都是全角度搜索,因此仍
需要处理相当大的计算量. 若是在横向角度搜索和
M
X m  ( k )
Y ^ P HA T  ( k ,s )  =
∑  - j ωτmm 0( s )
, ( 6)
X m  ( k ) m = 1  | |
纵向角度搜索过程中应用文献[2]的分级搜索策略, 其中 ω 仍是连续信号的频率. 把总共 K 个离散帧的 可控响应相加,则可以得到基于相位变换加权的可 控响应功率
K -1
利用四叉树把一维角度搜索空间划分为多个子区,
四叉树的所有节点都可以被继续分割成 4 个子节点
进行迭代搜索; 在构建的能量分布图中,局部极值对 应的子区被选中进入下一轮算法的分级搜索; 当四
P
^ P HA T
( s ) = ∑ Y ^ P HA T  ( k ,s ) Y ^ PHAT *  ( k ,s ) , ( 7)
叉树不断分叉直至达到期望的级数和定位精确度,
k = 0
其中* 表示复共轭.
图 1 所示直角坐标系中,麦克风阵元 m 的位
置为
即达到设定的最小子区大小时,迭代过程终止. 在分 级搜索的最后一级,能量最大的子区的中心角度作 为声源定位的结果. 假设麦克风阵列位于房间的一 ( m - 5) d  0]T  , m = 1,2,…,9, 0
( 14 - m ) d ]T
橡胶还原剂,m = 10,11,…,18. r m  = {
[0 [0 面墙上 那么声源位置都将位于麦克风阵列的前方. , ( 8)
首先建立一个  级的四叉树,一维搜索空间总共被
l  T
参考麦克风 m 0 的位置向量为 r m
= [0 0 0] .已 粗级划分成了 22l
个子区,若存在多个声源时,这些 子区的大小需要足够小,使得不会有 2 个声源位于
同一子区中. 需要注意的是,
DOA 空间中的子区在房间坐标体系中并不是矩形的,需要先由已知的房间大小估计出声源位置距离麦克风阵可能的最远距
离,参照此距离把 DOA 划分网格以( x ,
y ,z ) 的坐标形式重新绘制成坐标系网格,再通过坐标系网格来
知在远场条件下,声源位置与声源距离无关,由方位 角 θ 和 仰 角  确 定. 把 以 上位置向量代入 S RP - PHAT 算法的可控时延式( 4 ) ,并且由上文可知,声 源单 位 方 向 向 量 u s    = [cos  cos θ,
cos  s i n  θ, s i n  ]T  ,DOA 向量与 Z 轴正向的夹角 γ 和 DOA 向
量与 Y 轴正向的夹角 β 分别满足 γ = π
-  ,cos β =
2
cos  s i n θ,则麦克风阵列中第 m 个麦克风的可控时 延为 选择截止频率和初始网格大小. 相对于全角度搜索,
分级搜索策略的优势已经在文献[2]中得以证明,因
此联合算法进一步缩减了原来的单一利用正交直线 麦克风阵列结构优势或分级搜索策略的算法的计算 量,集合了这 2 种算法的核心优势,并且声源定位精 确度没有明显损失.
=
{
( 14 - m ) dcos γ / c ,m = 10,11, (18)
( m - 5) dcos β / c , m = 1,2,…,9, τmm 0 ( s ) ( 9)
此时,相位变换可控响应( 6) 可以改写成 M
X m  ( k )
Y ^ P HA T  ( k ,s )  =
∑ e  - j ωτmm 0( s ) = X m  ( k ) |
m = 1  | 算法执行
本文提出的基于正交直线麦克风阵列的分级搜 索算法在执行时,首先利用正交直线麦克风阵列的 几何特性,把二维的 DOA 空间划分成 2 个一维 D O A 空间; 然后分别在横向角度和纵向角度,利用四叉树 将一维搜索空间分级划分为多个子区,计算所有子 区中心处的可控波束形成输出的 S R P ; 能量最大的
子区被选中为最有可能的声源位置,进入下一轮分 级迭代搜索; 四叉树不断分叉达到某一层度,即达到 设定的最小子区大小时,迭代过程终止. 在分级搜索
的最后一级,能量最大的子区的中心角度作为算法
执行的结果,即声源位置. 具体步骤如下.
3. 2 9 X ( k ) 18 X ( k )  m      -j ω( m -5) dcos β/ c    m      -j ω( 14-m ) dcos γ/ c
∑    e + ∑ e  = m  =1  | X m
( k ) | m  =10 | X m ( k ) | ( k ,γ) . Y ^ PHAT  ^ PHAT  ( k ,β) ( 10) + Y 2 1
通过式( 10 ) ,可以将 DOA 元素分离开来考虑,使得 二维的搜索空间被削减成为一对一维空间. 具体地
说,就是Y ^ P HA T  ( k ,β) 和Y ^ P HA T  ( k ,γ) 可以分别在一个一 1 2
维空间中计算,因此算法总的计算量会大大地减少.
在一维搜索空间中寻 SRP 最大值时,首先需要进 行横向寻优,在一维空间 β ∈[0,π]中进行角度搜 索,计算每一个候选 β 处的可控响应功率部分; 然后
系数为0. 9,地板的反射系数为0. 3,墙壁ZOY 与对
面墙壁反射系数分别为0. 7 和0. 25,墙壁ZOX 与对
面墙壁反射系数分别为0. 25 和0. 85.麦克风阵列位
于墙壁ZOY 上,阵列中心即图1 所示坐标系的原点
位于房间坐标系的(0,2,1. 5)处.声音在空气中的传
播速度为342 m /s.声源信号的内容为男声英文数字
“o n e,two,t h re e,fo u r…”,数字间有短暂停顿,时长10第1 步.构建混响声学房间系统.对于M 元麦克
风阵列,算法先由式(2 ) 、(5 ) 计算出M 个麦克风接
收到的离散信号x
m
( n ) ,并求其离散傅里叶变换
X
m
( k).
第2 步.按式(9)计算出正交直线麦克风阵列中
信号到达各个麦克风处的可控时延τmm  ( s).
第3 步.进行横向寻优,在一维空间β∈[0,π]
中进行四叉树分级角度搜索.先在频域对信号进行
低通滤波处理,截止频率为  1 kH z,初始子区划分大
小为4 ×4.因为角度搜索精度为1°,所以四叉树分
叉阶次为6,即子区边界大小依次为π/4、π/8、π/
16、π/32、π/64、π/128.在每一轮能量局部极值搜索
过程中,按式(10 ) 依次计算每一个子区候选角度β
s,由计算机通过放置于说话人嘴边的麦克风采集,
信号采样频率为8 kHz,采样精度为16 b i t,单声道,
PCM 格式.数据帧的大小为256 个采样点(32 m s),
窗函数为汉宁窗.仿真时去除了语音信号中空白停
顿的频谱,共选出100 个没有重叠的语音数据帧用
来执行算法.算法执行得出的结果为估计声源位置
的方位角θ和仰角 ,若其中任意一个估计值与实
际声源位置方位角或仰角偏差超过5°,则认为是异
常估计.通过衡量非异常估计的均方根误差
(RM S E)来对比分析本文提出的联合SRP-PHAT 算
法(算法3)、传统的全搜索SRP-PHAT 算法(算法1)
以及阵列加速SRP-PHAT 算法(算法2 ) 的性能.均
方根误差公式为[1]
处的可控响应Y^PHAT( k,β),取得最大值的子区被选
1
中进入下一轮迭代搜索.
第4 步.如上进行纵向寻优,在一维空间γ∈
[0,π]中进行四叉树分级角度搜索,按式(10 ) 计算
每个子区候选γ处的可控响应Y^P HA T( k,γ).
2
第5 步.由式(7)、(10 ) 计算出基于相位变换加
权的可控响应功率P^PHAT ( s),可控响应功率最大值
对应的(β,γ)即为算法的执行结果,通过角度转化,
便可以得到声源位置(θ, ).
4 算法仿真
本文基于正交直线麦克风阵列,利用M at l a b 构
建了一个存在混响和噪声的声学房间环境,对提出
的基于正交直线麦克风阵列的分级搜索S R P-P H A T
算法(以下简称为联合SRP-PHAT 算法)的性能进行
了仿真,并与传统的全搜索SRP-PHAT 算法、文献
[1]的基于正交直线麦克风阵列的加速S R P-P HA T
算法(以下简称为阵列加速SRP-PHAT 算法)的定位
性能进行比较和分析.正交直线麦克风阵列如图  1
所示,麦克风之间距离均为0. 04 m.混响声学房间的
仿真利用了镜像模型[8],由此可以计算出房间脉冲
响应R I R.本文中RI R 计算到了第8 级反射,混响时
间T
60
变化范围为50 ~ 200 m s.将声源信号与各个麦
克风位置的RI R 进行卷积,可以得到各个麦克风输
出的仿真信号.仿真出的房间是一个由平面反射界
面(墙壁、天花板、地板)围成的矩形空间,各界面的
反射系数与声源信号的频率无关,且不随声源信号
的入射角度的改变而变化.本文仿真实验中,以房间
地面的一角为坐标原点,构建如图  2 所示房间坐标
图2  混响房间坐标系(单位:m)
F i g.2  Coo r d i n ate sy stem of th e reve rbe ran t roo m(un i t:m)
-1θ^
i
-θ
s
|2 ^
i
s
|
2
= N [|
槡na ∑].(11)
E
RM S E
+|
i
其中θ^
i
和 ^
i
是用数据帧i执行算法时得到的声源
方位角及仰角的估计值,θ
s
s
是声源的实际方位
角及仰角,N
na
是所有非异常估计的个数.根据不同
的混响时间、不同的信噪比(S NR)以及不同的声源
位置,本文共做了3 个仿真实验,实验中由M at l a b 在
麦克风处对声源信号添加适量的高斯白噪声,以获
得所需信噪比.
1
实验 3 说明,在声源位置的方向角和仰角较大 时,算法定位的误差也随之变大. 该实验结果符合实 200 m s . 仿真结果如表 1 所示.
实验
2. 实际声源位置为 S 1 = ( 2 m ,37°,11°) , 混响时间 T 60 为 100 m s ,信噪比分别为 20、25、30 d B .仿真结果如表 2 所示.
实验 3. 信噪比设为 30 dB ,混响时间 T 60 为 100
ms ,实际声源位置分别为 S 1 = ( 2 m ,37°,11°) 、S 2  = ( 0. 5 m ,- 60°,30°) 、S 3  = ( 2 m ,4°,- 3°) .  仿真结果 如表
3 所示. 从实验 1、2 可以发现,当信噪比较好、混响影响 不明显时,改进的 SRP-PHAT 定位方法与原全搜索 算法的错误估计率都较低,均有着良好的性能,但随 混响时间增加,噪声干扰变大时,3 种算法的性能都 有着不同程度的下降,全搜索算法在恶劣条件下有 较强鲁棒性. 联合算法的性能与
另 2 种算法性能的 差距并不明显,在保证良好的抗噪性能和抗混响能 力的同时,极大地减少了算法计算量和定位时间.
[9-10] 际人耳定位特性 . 5  结论
在保证 SRP-PHAT 声源定位方法的抗噪声、抗 混响能力的前提下,为了降低其庞大计算量以提高实时处理速度,本文提出了改进的联合 S R P -P HA T 声源定位方法. 基于正交直线麦克风阵列,首先利用缩减二维搜索空间为一对一维搜索空间的加速策略,减少了 SRP-PHAT 算法的主要计算量,然后分别在一维空间中按由粗到细的分级搜索策略搜索能量峰值. 改进的 SRP-PHAT 方法计算量再次大幅度降低,声源定位精确度没有明显损失,能准确定位声源位置,并且在噪声和混响环境中能保持良好的鲁棒性.
表 1  算法定位性能( 信噪比 = 30 dB ,混响时间变化)
Ta b l e  1  P erfo rmanc e o f a l go r i t hm s  w i t h SNR = 30 dB and va r i a b l e  reve rbe ra nt t i m e
T 60 / ms
算法
50
100
150
200
E RMSE / ( ° ) E RMSE / ( ° ) E RMSE / ( ° ) E RMSE / ( ° ) 非异常率 / % 非异常率 / % 非异常率 / %
非异常率 / %
算法 1 算法 2 算法
3 90 88 84
2. 012 5 2. 125 7 2. 363 1
87 85 82
2. 270 6 2. 317 3 2. 479 2
87 81 80
2. 483 2 2. 476 6 2. 629 0
85 80 77
2. 505 5 2. 549 7 2. 825 0
表 2  算法定位性能( 混响 100 m s ,信噪比变化)
Pe rfo rman ce  of a l go r i t hm s  w i t h T 60  = 100 ms and va r i a b l e  S NR
Ta b l e  2 信噪比 / d B
算法
20
25
30
E RMSE / ( ° )
E RMSE / ( ° )
E RMSE / ( ° )
非异常率 / %
非异常率 / %
非异常率 / %
算法 1 算法
2 算法
3 84
80
75    2. 338 9  2. 408 2
2. 886 7
87  83
80
2. 321 1  2. 670 0
2. 822 9
87
85
82
2. 270 6  2. 317 3
2. 479 2
算法定位性能( 混响 100 m s ,信噪比 = 30 dB ,声源位置改变)
表 3 Ta b l e  3 Pe rfo rman ce  of a l go r i t hm s  for d i ffe re n t  l oca t i o n s  w i t h T 60  = 100 ms and SNR = 30 d B
声源位置
算法
( 37° ,11° )
(  - 60° ,30° )
( 4° ,- 3° )
E RMSE / ( ° ) E RMSE / ( ° ) E RMSE / ( ° ) 非异常率 / %
非异常率 / %
非异常率 / %
算法 1 算法
2 算法
3 87 85 82
2. 270 6 2. 317 3 2. 479 2
85 82 79
2. 295 0 2. 353 4 2. 596 0
91 88 85
2. 167 9 2. 279 8 2. 386 0

本文发布于:2024-09-20 16:50:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/291326.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:声源   算法   搜索   位置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议