陈向阳,刘 松,刘 培,徐 莹,沈 超
1.武汉工程大学计算机科学与工程学院;2.邮电与信息工程学院,湖北 武汉 430074;3.湖北省档案局(馆)科技处, 湖北 武汉 430071
自20世纪70年代起传声器阵列开始用于语音信号处理以来,到目前为止已经设计出各种各样的声源定位技术[1].其中尤其是基于到达时间延迟的声源定位技术因其良好的实时性、计算量也不大而成为目前研究的热点之一.基于到达时间延迟[2]的声源定位方法需要先估算出声源与传声器阵列各阵元之间的相对时差,然后根据得到的时差推导计算声源至各阵元之间的距离之差,最后再利用搜索算法或几何算法得到声源所处的位置.故其实现可分为两步进行,即第一步估算出声音信号至传声器阵元之间的相对时间延迟,候选实现算法有:广义互相关函数法[3],最小均方(LMS)自适应滤波算法[4];第二步再利用所得的延迟值进行数学建模并利用阵元空间位置信息进行定位,具体实现算法有角度距离定位算法[5]、球形差值定位算法[6].通过对已知各种算法研究,结果发现选择改进的广义互相关算法并且与球形差值定位技术结合使用能得到更好的定位效果.
假定声源信号表达式如式(1)、(2)
x1(n)=a1s(n-τ1)+w1(n)
(1)
x2(n)=a2s(n-τ2)+w2(n)
(2)
这里使用s(n)来表示声源信号,利用a1、a2来表达声波从声源到传声器的传播衰减系数.而利用τ1、τ2来表达声源传播到两部传声器时所需要的时间,而w1(n)、w2(n)则代表高斯白噪声[7],并且s(n)与w1(n)、w2(n)是不相关[8-9]的.
利用求两信号之间的互相关函数来实现广义互相关函数.两信号之间的相对时延就是在这种互相关函数的峰值位置处.从声源至两台麦克风的信号x1(n)和x2(n) 的互相关函数R12(τ)可表示为
R12(τ)=E(x1(n)x2(n-τ))
(3)
将式(1)和(2)代入(3)式后便得到
R12(τ)=a1a2E(s(n-τ1)s(n-τ2-τ))+a1E(s(n-τ1)w2(n-τ))+
a2E(s(n-τ2-τ)w1(n))+E(w2(n)w2(n-τ))
(4)
因为w1(n)和w2(n)是不相关的高斯白噪声,s(n)和w(n)也是不相关的随机信号,故由式(4)得
R12(τ)=E(a1a2s(n-τ1)s(n-τ2-τ))=a1a2Rs(τ-(τ1-τ2))
(5)
利用相关函数的性质就可以得到,当τ=τ12=τ1-τ2时R12(τ)便能够取得最大值.因此求得R12(τ)的最大值处所对应的τ值,其实就是两个麦克风之间的时延τ12.
利用互功率谱和互相关函数之间的关系就可以得到式(6):
(6)
其中G12(ω)则代表麦克信号x1(n)和x2(n)之间的互功率谱.
但是由于语音与噪声的短时间处理可能导致出现R12(τ)的峰值不够突出,由此导致时延τ估计精确度的下降.为了能够锐化得到R12(τ)的峰值,利用信号和噪声的先验知识,可以在频域内对互功率谱G12(ω)进行加权处理来抑制噪声与混响部分的不利影响.然后再进行反变换到时域中,如此就能够得到广义互相关函数(GCC),即
(7)
假设已知在自适应滤波器[10]中所包含的输入信号分别是X(n)和d(n)以及输出信号分别为y(n)和e(n),其中X(n)能够利用参数可调整数字滤波器中wn(n)的加权分量,以便逐渐逼近所期望的信号d(n),从而得到输出响应;并且进一步将它与参考信号d(n)进行对比,最终产生误差信号e(n),e(n)能够利用某种自适应算法对滤波器参数[11]作出改变,以便使e(n)的均方值能够达到最小化.
e(n)=d(n-ρ)-y(n)
(8)
(9)
hm(n+1)=hm(n)+μe(n)x(n-m)
(10)
其中m=-p,-p+1,…p-1,p.
角度距离定位算法[12]最重要内容的一部分就是:利用声源与两个麦克风之间的距离差,以及两麦克风之间的距离估计出声源与这两麦克风所在直线的夹角[13]由式(11)表示
(11)
然后,由于麦克风摆放成一定的几何形状,根据几何形状中的几何公式,以声源到麦克风之间的距离差以及麦克风之间的距离作为输入变量,就可以求出声源到坐标原点之间的距离.最后再根据所得出的距离与角度即可以求出声源在坐标轴中的坐标.模拟实验中至少需要有4个麦克风,坐标原点放置1个,至少有1个坐标轴上除了原点的麦克风之外还应该放置有2个相对原点对称的麦克风,这样做是为了能够计算出声源到原点之间的距离,而且计算量很小.除了麦克风的摆放问题,模拟试验中声源到麦克风之间的距离差是有正负之分的,所以在仿真实验中一定要使之一一对应,不然就会得到错误的结果.
球形插值法[14]中的主要计算公式如式(12):
(12)
其中Ri=|ri|,Rs=|rs|,利用ri表示mj至mi之间的矢量,利用rs表示mj至声音源S之间的矢量,利用dij表示声音源S至传声器mi、mj之间的距离差值.在该算法中使用了9个麦克风,在坐标原点处放置的麦克风作为参照麦克风,在前边得出了另外8个麦克风与参照麦克风之间的声源距离差之后,就会有8个参数不同的公式(12)组成的方程组.在解方程组时需要使用最小二乘法,通过它可以直接计算出声源的三维坐标.该算法得到的精确度非常高,在1万米的数量级上的相对误差是百分之零点零几,在10万米时产生的误差也只有1.4%左右,这个距离和误差程度是可以接受的.此外,在仿真中针对不同的麦克风数量进行了大量实验,结果发现至少要使用5个麦克风才会有相对精确的测量值.总之仿真结果说明了该方法对麦克风的数量是具有一定限制的.
针对前述难以选择加权函数问题,下面对广义互相关函数(GCC)时延估计法提出改进方法.首先考虑在Gw1w2(ω)不为零时,应用中就能够估计出无音阶段的噪声互相关函数R(w1w2)(τ),也就是R12(τ)-Rw1w2(τ),然后再将噪声的互相关函数从信号的互相关函数中去除掉,由此削弱因噪声带来的不利影响.其次针对在房间中出现的混响现象,可以将G12(ω)分解为两个成分: 直接成分和反射成分[9].参见式(13)
G12(ω)=a1a2Gss(ω)e-iωτ12+
(13)
由于PHAT加权函数的分母|G12(ω)|不等于a1a2Gss(ω),因此不能确保对e-jωτ12分量的白化作用.因此,考虑修正PHAT加权函数,即乘以加权因子γ,以保证|γ|G12(ω)|=a1a2Gss(ω),由此一来便能起到较好的抗混响效应.加权因子γ实质上就是直接分量占功率谱的比例.可以利用房间的混响时间来估计出直接分量占据整个功率谱的比例,由此便得到加权因子γ.
(14)
即在信噪比较低时,就对频域给予一定的信噪比加权.在利用两路信号求解某个时延时,PHAT加权函数互功率谱法中需计算3次快速傅里叶变换.因此其运算量相对还是比较低的.但具有抑制噪声作用,因此在实际定位系统中,得到改进后的PHAT加权函数法得到了很好的应用.
由于在仿真模拟实验中针对声源信号的噪音是人为加上的,所以要得出只有噪声的信号是非常容易的,那么在得到了噪音的自相关函数[13]之后,就可以在信号的互相关函数中减掉该部分,经过仿真之后发现结果的确有所改进,但是效果还不够明显.考虑到信号与噪音可能并不是完全的不相关,也就是说信号和噪音的互相关性可能也会产生一定的影响,于是可用信号互相关函数减去一个分量,即
(15)
其中rnoise是噪音的相关函数,rxn与ryn是噪音和两个信号的互相关函数, 是一个比例系数体现的是这三个分量之间的比例.经过多次仿真试验发现当k为0.3时消除噪音的效果最佳.
改进前广义互相关函数算法的仿真结果如图1所示.改进前10db的结果如图2所示.
图1信噪比为20db时的互相关函数图
Fig.1 The cross-correlation function diagram with signal-to-noise ratio=20dB
图2 信噪比为10db时的互相关函数图
在10db时算法经改进后的结果如图3所示.由图2与图3的比较可以得知改进算法后的方法对噪音的抑制效果更好.
图3 改进后信噪比为10db互相关函数图
在20db时使用最小均方(LMS)自适应算法得到的结果如图3~4所示.从图3~4中可以看出在20db时,时延5处出现明显的峰值.上述仿真结果验证了该方法的正确性.
图4 信噪比为20的权值时域图
在10db时该方法的结果如图5所示.由图5可以看出,自适应算法在信噪比为10db时已经出现较多的峰值,而且在正确的时延处峰值处略有偏移.所以通过以上实验仿真的结果可以看出利用改进后的广义互相关函数算法要比自适应算法具有更好的抑制噪音效果.
图5 信噪比为10的权值时域图
通过对不同声源定位中的到达时间延迟算法以及定位算法的对比,以及在Matlab仿真软件上的模拟,说明改进的互相关函数法相对于自适应算法具有更好的抗噪能力,球形插值法也具有更精确的定位能力,所以建议实际应用中使用这两种算法能够实现更精确的声源定位.同时由于诸多限制,仿真模拟试验中还有诸多问题有待解决,如在互相关函数中减去噪音成分的比例具体应该是多少,傅里叶变换对互相关函数的影响到应该是什么样的,傅里叶变化的点数与信号的采样点数的取值是否有一定的要求,才能使得最后的峰值更加明显等问题.
致 谢
本文得到了湖北省教育科学"十二五"规划2013年度立项课题:地方性高校新兴交叉学科建设的研究——以网络科学为例(项目编号2013B060)的资助,在此表示衷心的感谢.
[1] 李承智,曲天书,吴玺宏.一种改进的AEDA声源定位及跟踪算法[J].北京大学学报:自然科学版,2005,41(5):809-814.
LI Chengzhi,Qu Tianshu,WU Xihong.A modified AEDA algorithm for sound source localization and tracking[J]. Acta Scientiarum Naturalium Universitatis Pekinensis, 2005,41(5):809-814.(in chineses)
[2] 郭兰申. 面向反恐领域基于多源信息融合的机器人感知系统研究[D].天津:河北工业大学,2006.
GUO Lanshen. Research on robot perception system for anti-terrorism based on multi-source information fusion[D]. Tianjin:Hebei University of Technology,2006. (in chineses)
[3] 金乃高,陈喆. 基于分层采样粒子滤波的麦克风阵列说话人跟踪法[J]. 电子学报,2008,36(1): 194-198.
JIN Nai-gao,CHEN Zhe. Microphone array speaker tracking using layered sampling particle filtering[J]. ACTA Electronica Sinica,2008,36(1):194-198. (in chineses)
[4] 殷福亮,陈喆. 基于加权子空间拟合的声源定位与跟踪方法[J]. 电子与信息学报,2008, 30(9):2134-2137.
YIN Fu-liang, CHEN Zhe. Weighted subspace fitting sound source localization method based on particle filtering[J]. Journal of Electronics & Information Technology, 2008, 30(9):2134-2137.(in chineses)
[5] 蔡卫平. 基于麦克风阵列的声源定位与跟踪算法研究[D].南京:东南大学,2010.
CAI Weiping. Research and tracking algorithm for sound source localization based on microphone array[D].Nanjing: Southeast University,2010. (in chineses)
[6] 冯道宁,王浩. 基于麦克风阵列和虚拟仪器的声源定位[J]. 计算机工程与应用,2012, 48(21) : 130-132.
FENG Dao-ning, WANG Hao. Speech source localization based on microphone arrays and labview[J]. CEA, 2012, 48(21): 130-132. (in chineses)
[7] 邵怀宗,林静然,彭启琮,等. 基于麦克风阵列的声源定位研究[J]. 云南民族大学学报,2004,13(4):256-259.
SHAO Huaizong,LIN jingrui,PENG Qicong ,et al. Study on localization for speech based on microphone array[J]. Journal of Yunnan Nationalities University,2004, 13(4):256-259. (in chineses)
[8] 陆晓燕,基于麦克风阵列实现声源定位[D]. 大连:大连理工大学,2003.
LU Xiaoyan, Implementation of acoustic source localization based on microphone array[D].Dalian: Dalian University of Technology,2003. (in chineses)
[9] 周浩祥.基于麦克风阵列的声源定位方法研究[D] . 大连:大连理工大学,2002.
ZHOU Haoxiang. Research on acoustic source localization methods based on microphone array[D].Dalian:Dalian University of Technology,2003. (in chineses)
[10] 严素清,黄冰. 传声器阵列的声源定位研究[J]. 电声技术,2004(12):27-30.
YAN Suqing,HUANG Bing. Study on acoustic source localization based on microphone arrays[J].Loudspeaker And Microphone, 2004(12):27-30. (in chineses)
[11] YOUN D H, AHMED N, CARTER G C. On using the LMS algorithm for time delay estimation[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1992,30(5):798-801.
[12] JIE Huang, Kume K, Saji A. et al. Robotic spatial sound socalization and its 3D sound human Interface[C]//First International Symposium on Cyber Worlds (CW2002),Tokyo:2002:191-197.
[13] 王宏禹,邱天爽. 自适应噪声抵消和时间延迟估计[D]. 大连:大连理工大学出版社,1999.
WANG Hongyu,QIU Tianshuang. Adaptive noise cancellation and time delay estimation[D].Dalian: Dalian University of Technology press,1999. (in chineses)
[14] JIE Huang, OHNISHI N, SUGIE N. A biomimetic system for localization and separation of multiple sound sources instrumentation and measurement[J]. IEEE Transactions on Volume,1995,44(3):733-738.
[15] SMITH J O, ABEL J S. Closed-form least-squares source location estimation from range difference measurements[J]. IEEE Transactions on Acoustics, Speech and Signal Processing,1987,35(12):1661-1669.