基于改进可控响应功率算法的混合定位算法

2021-02-28 22:40柳雷雷于玲
电脑知识与技术 2021年35期
关键词:混响运算量麦克风

柳雷雷 于玲

摘要:针对相位变换加权可控响应功率算法(SRP-PHAT)在噪声和混响增大时定位性能下降以及运算量大的问题,提出了一种基于改进可控响应功率算法的混合定位算法。首先利用五元十字形阵进行几何定位,得到粗略的定位结果,然后利用引入基于倒谱预滤波的二次互相关算法改进后的可控响应功率算法,在此定位结果的基础上进行精确的二次定位,通过雙步定位提高其定位速度。仿真结果表明:混合定位算法在抗混响和抗噪声的能力上要优于几何定位算法和SRP-PHAT算法,并且提高了可控响应功率算法的定位速度。

关键词:倒谱预滤波;二次互相关;混合定位;相位变换加权可控响应功率

中图分类号:TN911.7      文献标识码:A

文章编号:1009-3044(2021)35-0001-04

Hybrid Localization Algorithm Based on Improved Steered Response Power

LIU Lei-lei,YU Ling

(College of Electronic and Information Engineering, Liaoning University of Technology,Jingzhou 121001,China)

Abstract: Aiming at the problem that the phase transformation weighted steered response power algorithm has the poor positioning effect when the noise and reverberation increase and heavy computation, a hybrid localization algorithm based on improved steered response power algorithm is proposed. The five-element cross-shaped array is first used for geometric localization. A rough localization result is obtained. Then use the improved steered response power algorithm by introducing the second cross-correlation algorithm based on cepstral pre-filtering to search twice based on the localization result. Improve its positioning speed through two-step positioning. Simulation results show that: the hybrid localization algorithm is superior to the geometric localization algorithm and phase transformation weighted steered response power algorithm in terms of anti-reverberation and anti-noise ability. And the positioning speed of the steered response power algorithm is improved.

Key words: cepstral pre-filtering; second cross-correlation; hybrid localization; phase transformation weighted steered response power

基于麦克风阵列的声源定位技术是使用麦克风阵列作为工具对目标声源进行定位,具有良好隐蔽性、装置易实现、抗干扰性好的优点,在安防监控[1]、智能音箱[2]、无人机[3]、机器人[4]、助听器[5]等方面有很好的应用。

传统的声源定位算法可以大致分为两类:直接法和间接法。直接法有:高分辨率谱估计法,其中代表性的是多重信号分类法;可控波束形成法,其中代表性的是可控响应功率法。间接法有到达时间差法,该方法是双步定位,第一步是时延估计,方法有相关法、自适应时延估计法等;第二步是根据所得时延建立非线性定位方程,通过对其求解得到声源的位置,方法有球型插值法[6]、几何定位法等。几何定位算法的特点是运算量小但是定位精度不高,相位变换加权可控响应功率算法虽然定位精度高但运算量大,同时当噪声和混响增大时定位精度有所下降,因此本文将几何定位算法和改进的可控响应功率算法相结合,提出了一种混合定位算法。

1基于倒谱预滤波的二次互相关算法

在实际环境中麦克风接收到的语音信号表达式为:

[xi=hi(n)?s(n-τ)+vi(n)]                       (1)

其中[hi(n)]为房间单位冲激响应,[s(n)]为声源信号,[vi(n)]是高斯白噪声。

本文采用基于倒谱预滤波的二次互相关算法进行时延估计,该算法的原理框图如图1所示,具体步骤如下:

(1)首先对[x1(n)]和[x2(n)]分别求傅里叶变换得到[X1(f)]和[X2(f)];

(2)分别对[X1(f)]和[X2(f)]的绝对值取对数得到[lnX1(f)]和[lnX2(f)],然后再分别做傅里叶逆变换得到倒谱[c1(n)]和[c2(n)];

(3)分别将倒谱[c1(n)]和[c2(n)]通过同态滤波器可以得到两个信号的最小相位分量的倒谱[cmin1(n)]和[cmin2(n)];

(4)分别对两个最小相位分量的倒谱[cmin1(n)]和[cmin2(n)]的傅里叶变换做指数运算得到两个信号的最小相位分量频谱[Xmin1(f)]和[Xmin2(f)];

(5)利用以下两个式子可以得到两路输入信号的全通分量频谱[Xall1(f)]和[Xall2(f)],即:

[Xall1(f)=X1(f)Xmin1(f)]                              (2)

[Xall2(f)=X2(f)Xmin2(f)]                              (3)

(6)然后对[Xall1(f)]求自相关功率谱,即:

[Xall11(f)=Xall1(f)Xall1*(f)]                       (4)

(7)然后求取[Xall1(f)]和[Xall2(f)]的互相关功率谱,即:

[Xall21(f)=Xall2(f)Xall1*(f)]                          (5)

(8)对[Xall11(f)]和[Xall21(f)]求二次互相关功率谱,即:

[Y(f)=Xall21(f)Xall11*(f)]                             (6)

(9)对相位变换加权函数进行改进,用二次互相关功率谱[Y(f)]代替两路输入信号的互功率谱,引入与噪声和混响有关的加权因子,并在引入加权因子的二次互功率谱之后做加1处理。改进后的PHAT加权函数为:

[?21(f)=1Y(f)0.75+1]                              (7)

(10)二次互相关功率谱[Y(f)]和加权函数[?21(f)]相乘后做傅里叶逆变换得到二次互相关函数[Rdr21(τ)];

(11)对[Rdr21(τ)]进行峰值检测得到时延[τ21],即:

[τ21=argmaxτRdr21(τ)]                                   (8)

2 几何定位算法

几何定位法,即利用声源和麦克风阵列之间的几何关系建立并求解方程组从而得到声源位置的方法。本文选用的是五元十字形麦克风阵列,其结构如图2所示,原点在中心阵元M1处,在x轴和y轴上对称分布着其他四个阵元M2、M3、M4、M5。设各阵元的间隔为d/2,则五个麦克风的位置坐标分别为M1(0,0,0),M2(d/2,0,0),M3(0,d/2,0),M4(-d/2,0,0),M5(0,-d/2,0),声源的位置坐标为S([x],[y],[z])。[r1]、[r2]、[r3]、[r4]、[r5]分别是声源到达五个麦克风M1、M2、M3、M4、M5的传播距离,根据声源与各个麦克风的位置关系可以得到以下方程组:

[x2+y2+z2=r21(x-d2)2+y2+z2=r22x2+(y-d2)2+z2=r23(x+d2)+y2+z2=r24x2+(y+d2)2+z2=r25]                        (9)

其中[r1]、[r2]、[r3]、[r4]、[r5]的之間的关系如下:

[r2-r1=cτ21r3-r1=cτ31r4-r1=cτ41r5-r1=cτ51]                                    (10)

[τ21]、[τ31]、[τ41]、[τ51]分别是以M1为参考阵元,声源传播到麦克风M1和M2、M3、M4、M5的时延。

球坐标与直角坐标相互转化的公式为:

[x=r1sinθcosφy=r1sinθsinφz=r1cosθ]                                 (11)

联立(9)(10)(11)可得到在球坐标系下声源的位置坐标,即:

[r1=d2-c2i=25τ2i12ci=25τi1φ=arctan(τ51-τ31τ41-τ21)                     θ=arcsin(cd(τ41-τ21)2+(τ51-τ31)2)](12)

然后利用公式(11)便可求出声源在直角坐标系下的位置坐标。

3 基于改进可控响应功率算法的混合定位算法

2000年,DiBiase提出了SRP-PHAT算法,该算法首先获取每个麦克风对的互相关函数,然后在空间网格上搜索源位置。对于具有M个麦克风的阵列来说,SRP-PHAT算法的频域表达式为[7]:

[P(q)=k=1Ml=k+1M-∞∞?kl(f)Xk(f)X*l(f)ejf(τl-τk)df]      (13)

式中[q]表示所求声源可能存在的一个空间域集合,[?kl]表示相位变换加权函数,[Xk]和[Xl]分别表示第k个和第l个麦克风接收信号的傅里叶变换。

则时域表达式为:

[P(q)=2πk=1Ml=k+1MRkl(τl-τk)]                  (14)

式中[Rkl(τl-τk)]是第k个和第l个麦克风接收信号的互相关函数。

通过在所有的空间范围内搜索[P(q)]的最大值来找到声源的位置,即:

[qs^=argmaxqP(q)]                                 (15)

SRP-PHAT算法对混响和噪声有一定的鲁棒性,但是当环境噪声和混响增大时,便会在错误的位置处产生一些伪峰,这些伪峰的出现使对应真正声源位置的相关峰不再那么明显,造成该算法的定位性能下降,所以为了进一步提高该算法抗混响和抗噪声的性能,在此基础上提出了一种改进的可控响应功率算法,命名为SRP-dr定位算法。

基于倒谱预滤波的二次互相关算法结合了倒谱预滤波时延估计算法抗混响和二次互相关算法抗噪声的优点,同时又与改进的引入加权因子的相位变换加权函数相结合,所以该算法不仅可以很好地抗混响也可以很好地抗噪声,将其所得的二次互相关函数引入到可控响应功率算法中,则改进后的可控响应功率算法时域表达式为:

[P(q)=2πk=1Ml=k+1MRdrkl(τ)]                     (16)

式中[Rdrkl(τ)]是第[k]个和第[l]个麦克风接收信号的二次互相关函数,通过基于倒谱预滤波的二次互相关算法求得。

改进后的SRP-dr定位算法虽然在噪声和混响增大时的环境下提高了定位精度,但是该算法仍然是对整个空间的全局搜索寻找可控响应功率的最大值,仍然存在运算量大,速度较慢的缺点。受文献[8]的启发,考虑到几何定位算法是通过求解非线性方程组得到声源的坐标位置,存在运算量较小但是定位精度不高的特点,针对SRP-dr定位算法和几何定位算法的特点将两者相结合提出了一种基于SRP-dr的混合定位算法。該算法分为求取时延和定位两个部分,其中定位部分又分为两步来进行,具体步骤如下:

(1)首先利用基于倒谱预滤波的二次互相关算法求出参考阵元与其他四个麦克风之间的时延[τ]以及五个麦克风两两之间的二次互相关函数[Rdrkl(τ)]。

(2)然后利用所得时延用运算量较小的基于五元十字形麦克风阵列的几何定位算法大致找到声源的位置([xs],[ys],[zs]),这是第一步的粗略定位。

(3)然后在几何定位的结果坐标四周预设的一个范围内使用SRP-dr算法进行二次定位,在空间范围内搜索[P(q)]的最大值求出声源的精确位置,这是第二步的精细定位,预设的范围可以大致用下式来确定:

[x=[xs-a,xs+a]y=[ys-a,ys+a]z=[zs-a,zs+a]]                       (17)

其中a的取值范围为0.5~1.5,在实验中根据几何定位的结果选取,保证真实声源在二次定位搜索的空间范围内,并使搜索范围不超过房间的范围。从式中可以看出混合定位算法的搜索区域明显减小,在搜索步长一定时搜索的网格数减少,所以运行速度会得到提高。

SRP-dr定位算法的提出主要为了提高在噪声和混响增大时环境下的定位效果,这是因为该算法引入了基于倒谱预滤波的二次互相关算法,将其所得到的更加抗混响和抗噪声的二次互相关函数代替相位变换加权广义互相关函数。二次互相关函数是由二次互相关功率谱与改进后的PHAT加权函数相乘之后做傅里叶逆变换求得,而二次互相关功率谱又是由含有较少混响成分的全通分量频谱求二次互相关所得,改进的加权函数中又引入了与噪声和混响有关的加权因子,因此SRP-dr定位算法具有抗噪声和抗混响的特性。而基于SRP-dr的混合定位算法的提出则是为了在保证定位精度的同时减小运算量,由粗定位得到的结果可以估计出一个大概的空间搜索范围,再到精定位时在缩小的空间范围内进行局部搜索有效减小了运算量,所以由粗到精的双步定位提高了可控响应功率算法的定位速度,该算法同时也对几何定位算法精度低的缺点进行了弥补。

4 仿真实验

为了验证本文所提出的混合定位算法在噪声和混响环境下的定位效果,下面通过MATLAB软件仿真来进行验证,实验采用镜像法生成房间脉冲响应,模拟一个实际带有混响的环境,房间尺寸大小为长9米宽8米高4米,五元十字阵各个麦克风位置坐标分别为:(1,1,0)、(2,1,0)、(1,2,0)、(0,1,0)、(1,0,0)。单个声源采用的是一段女生朗读的语音,位置坐标为(5,7,2.5)。

本文以定位误差为指标来判断定位算法的好坏与否,其计算公式如下:

[RMSE=(x-xs)2+(y-ys)2+(z-zs)2]                  (18)

式中的([x],[y],[z])是声源真正的位置坐标,([xs],[ys],[zs])是使用定位算法找到的声源位置坐标。定位误差的大小直接反映了所得的估计值和真实值之间的偏差,误差值越小说明估计值和真实值之间就越接近,定位的结果越准确。

实验一:验证在信噪比一定时不同墙壁反射系数下三种算法的定位效果。

三种算法在信噪比为15dB,墙壁反射系数为0.2到0.6的范围内,每种条件下各做200次的重复实验,将所得的定位坐标求取平均值,可以得到如表1所示的定位结果,根据各自的定位结果将估计值代入到公式(18)中便可得到各自的定位误差。如图3所示是在信噪比一定时,不同反射系数下三种算法的定位误差曲线,可以看到三种算法随着反射系数的增大定位误差均呈现逐渐增大的上升趋势,其中几何定位算法的误差最大,SRP-PHAT算法的定位误差次之,混合定位算法的误差最小,因此可以看出本文算法在抗混响方面要优于前两者,对混响有更强的鲁棒性,可以在混响环境下得到较前两者更精确的定位结果。

实验二:验证在反射系数一定时不同信噪比下三种算法的定位效果。

同理三种算法在墙壁反射系数为0.1,信噪比为4到10dB时,各条件下分别重复进行200次的实验,将得到的定位坐标求取平均值,可以得到如表2所示的定位结果,根据定位结果利用公式(18)计算出定位误差。如图4所示是在反射系数一定时,不同信噪比下三种算法的定位误差曲线,可以看出三种算法随着信噪比的增大定位误差均呈现逐渐减小的下降趋势,而本文提出的混合定位算法的误差要明显小于几何定位算法和SRP-PHAT算法,因此可以看出本文算法在抗噪声方面要优于前两者,对噪声有更强的鲁棒性,可以在噪声环境下得到较前两者更精确的定位结果。

实验三:比较三种算法的程序运行时间。

在同一台电脑上运行三种算法的程序来进一步比较三种算法的运行时间。如表3所示几何定位算法的运行时间为2.031s,在搜索步长为0.11米的条件下,SRP-PHAT算法对整个房间进行搜索,平均所需时间为7.578s,混合定位算法的搜索区域减小,平均所需时间为2.241s。可以看到SRP-PHAT算法的运行时间最长,混合定位算法的时间次之,几何定位算法的时间最短,这是因为混合定位算法的运行时间是几何定位的粗定位时间与二次搜索精定位时间的加和,故其运行时间要比几何定位算法的时间长,但是相对于SRP-PHAT算法来说,在搜索步长一定的情况下混合定位算法所搜索的空间网格数要少于SRP-PHAT算法,故其整体运行时间要少于SRP-PHAT算法,在运行速度上得到一定提升。

5结论

几何定位算法运算量小但是定位精度不高,SRP-PHAT算法定位精度虽高但是运算量大,同时当环境噪声和混响增大时定位精度下降,针对这两种算法的特点将其结合提出了一种基于改进可控响应功率算法的混合定位算法。仿真实验中选取了不同的信噪比和不同的墙壁反射系数,通过定位误差大小来分析比较三种算法的定位效果。实验结果证明了所提出的混合定位算法在噪声和混响的环境下的定位误差要明显小于几何定位算法和SRP-PHAT算法,而且在运算速度上要快于SRP-PHAT算法。

参考文献:

[1] 王桂君,蒋蓁.基于STM32的室内安防监控系统设计[J].自动化仪表,2020,41(7):65-68.

[2] 张家琪, 王沅召, 黄俊炜, 等. 一种控制智能家居设备的方法、裝置和音响[P]. 中国专利,2020109290433. 2021-01-05.

[3] 冯仕轩.基于麦克风阵列的无人机定位方法研究[D].西安:西安电子科技大学,2019.

[4] 王昊.基于声达时间差的移动机器人声源定位方法研究[D].青岛:青岛科技大学,2020.

[5] 郑洋,唐加能,柳培忠,等.数字助听器研究现状及其算法综述[J].海峡科学,2016(7):14-17.

[6] 陈艺.室内三麦克风树的声音定位数学模型[J].电子世界,2020(13):89-92.

[7] 谭颖,殷福亮,李细林.改进的SRP-PHAT声源定位方法[J].电子与信息学报,2006,28(7):1223-1227.

[8] 卢艳美.基于分布式麦克风阵列的声源定位方法研究[D].大连:大连理工大学,2017.

【通联编辑:唐一东】

猜你喜欢
混响运算量麦克风
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
用平面几何知识解平面解析几何题
基于数字麦克风的WIFI语音发射机
海洋混响特性分析与建模仿真研究∗
浅谈音响效果器的应用
减少运算量的途径
让抛物线动起来吧,为运算量“瘦身”
用于室内环境说话人识别的混响补偿方法
鱼雷浅海海底混响建模与仿真