一种分布式麦克风阵列中麦克风位置估计系统转让专利

申请号 : CN201310370093.2

文献号 : CN103439689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈喆殷福亮王舒文

申请人 : 大连理工大学

摘要 :

本发明公开了一种分布式麦克风阵列中麦克风位置估计系统,包括声源信号产生模块、扬声器、参考麦克风、待定位麦克风以及麦克风位置估计模块;声源信号产生模块输出端输出信号经扬声器转换为声音在分布式麦克风阵列的工作场地中播放;该声音被参考麦克风和待定位麦克风所接收;参考麦克风和待定位麦克风接收的信号同时传递至与待定位麦克风对应的麦克风位置估计模块。本发明用三个不同频带的信号作为三个声源的发声信号,在麦克风位置估计过程中一次性采集并分离出三个声源,能实现麦克风位置的在线估计。本发明将基于能量和时延的测距方法结合使用,先后进行距离的粗略、精细估计,保证了位置估计具有较小的计算量和较高的精度。

权利要求 :

1.一种分布式麦克风阵列中麦克风位置估计系统,其特征在于:包括声源信号产生模块(1)、扬声器、参考麦克风(2)、多个待定位麦克风(4)以及多个麦克风位置估计模块(3);

所述的声源信号产生模块(1)输出端输出信号经扬声器转换为声音在分布式麦克风阵列的工作场地中播放;该声音被参考麦克风(2)和待定位麦克风(4)所接收;参考麦克风(2)和待定位麦克风(4)接收的信号同时传递至与待定位麦克风(4)对应的麦克风位置估计模块(3);所述的麦克风位置估计模块(3)的输出端输出待定位麦克风(4)的坐标;所述的待定位麦克风(4)与麦克风位置估计模块(3)一一对应;

所述的声源信号产生模块(1)的工作方法包括以下步骤:

所述的声源信号产生模块(1)包括白噪声发生器和带通滤波器,白噪声发生器产生白噪声信号,所述的白噪声信号通过三个通带不同的带通滤波器,产生三个不同频带的带通信号,作为三个声源的发声信号,分别输入置于分布式麦克风阵列工作场地中3个扬声器;

设三个带通滤波器的单位脉冲响应分别为hj(n),j=1、2、3,分别对白噪声发生器产生的白噪声信号x(n)进行滤波,得到三个不同频带的带通信号sj(n),j=1、2、3,sj(n)=x(n)*hj(n),j=1、2、3

其中,符号“*”表示数字信号处理领域中的卷积运算;n表示白噪声信号x、单位脉冲响应h1、h2、h3的各采样值的序号;

所述的麦克风位置估计模块(3)数量与待定位麦克风(4)的数量相同,每个麦克风位置估计模块(3)的工作方式方法完全相同;第i个麦克风位置估计模块(3)对应于第i个待定位麦克风(4),麦克风位置估计模块包括信号有效性检测子模块、参考麦克风(2)声源信号分离子模块、参考麦克风(2)子频带背景噪声估计子模块、待定位麦克风(4)声源信号分离子模块、待定位麦克风(4)子频带背景噪声估计子模块、距离粗估计子模块、距离精估计子模块和三角形质心计算子模块;

所述的信号有效性检测子模块检测输入信号是否有效,并计算参考麦克风(2)接收到的信号sr(n)每帧的短时能量Er其中,M表示帧长,start表示当前帧在原始接收信号序列sr(n)中的起始位置;比较Er与信号/噪声判定阈值Ethr,若Er

当判定当前帧为噪声帧时,估计背景噪声能量Emin,更新有效性判定阈值Ethr;该阈值更新方法为if Emin<Er

Emin=Er

Ethr=aEmin

end if

其中,a为一个常数,a的取值范围是1

所述的参考麦克风(2)声源信号分离子模块利用与声源信号产生模块(1)中系数相同的三个带通滤波器将三个声源信号分离;这三个带通滤波器的单位脉冲响应也为hj(n),j=1、2、3,对参考麦克风(2)接收信号sr(n)分别进行滤波,得到三个不同频带的信号srj(n),j=1、2、3,即srj(n)=sr(n)*hj(n),j=1、2、3

当判定当前帧为噪声帧时,所述的参考麦克风(2)子频带背景噪声估计子模块分别估计三个子频带的能量Erj,j=1、2、3,将Erj,j=1、2、3,与前一次参考麦克风(2)子频带背景噪声能量估计结果εrj,old进行平滑,平滑结果作为当前的背景噪声能量估计值εrj,curr,εrj,curr=(1-b)·εrj,old+b·Erj,j=1、2、3其中,b为平滑因子,表示当前能量Erj,j=1、2、3,在平滑时所占比重,b的取值范围是

0

所述的待定位麦克风(4)声源信号分离子模块利用与声源信号产生模块(1)中系数相同的三个带通滤波器将三个声源信号分离;这三个带通滤波器的单位 脉冲响应也为hj(n),j=1、2、3,对待定位麦克风(4)接收信号si(n)分别进行滤波,得到三个不同频带的信号,即sij(n)=si(n)*hj(n),j=1、2、3

当判定当前帧为噪声帧时,所述的待定位麦克风(4)子频带背景噪声估计子模块分别估计三个子频带的能量Eij,j=1、2、3,再将Eij,j=1、2、3,与前一次待定位麦克风(4)子频带背景噪声能量估计结果εij,old进行平滑,平滑结果作为当前的背景噪声能量估计值εij,curr,εij,curr=(1-b)·εij,old+b·Eij,j=1、2、3其中,b为平滑因子,表示当前能量Eij,j=1、2、3,在平滑时所占比重,b的取值范围是

0

所述的距离粗估计子模块工作过程如下:

定义角标r表示参考麦克风(2),角标i表示第i个待定位麦克风(4),角标j表示第j个声源,即第j个扬声器,j=1、2、3,dij表示第j个声源与第i个待定位麦克风(4)之间的欧式距离,(xr,yr)和(xj,yj)分别表示参考麦克风(2)和第j个声源的坐标,drj表示第j个声源与参考麦克风(2)之间的欧式距离 εrj(t)为t时刻参考麦克风(2)处子频带背景噪声能量估计,εij(t)为t时刻第i个待定位麦克风(4)处的子频带背景噪声能量估计;在麦克风增益已校准,即相同声强下的麦克风输出信号能量相同的情况下,当判定当前帧为信号帧时,则第i个当前待定位麦克风(4)到第j个声源的距离粗估计 为为提高后续距离精估计的准确度,将当前距离粗估计结果 j=1、2、3,与前一次的平滑结果dij,old进行平滑,得到当前距离粗估计平滑结果dij,curr其中,β为平滑因子,表示当前距离粗估计结果 在平滑过程中所占比重,β的取值范围是0<β<1;

所述的距离精估计子模块工作过程如下:

定义αrj和αij分别为声音从第j个声源传播到参考麦克风(2)与第i个待定位麦克风(4)的衰减因子,τrj和τij分别为声音从声源j传播到参考麦克风(2)与第i个待定位麦克风(4)的延迟时间,vr(n)和vi(n)分别为参考麦克风(2)与第i个待定位麦克风(4)处的背景噪声,当判定当前帧为信号帧时,参考麦克风(2)与第i个待定位麦克风(4)接收到的来自于同一个声源sj的信号分别为srj(n)=αrjsj(n-τrj)+vr(n)

,j=1、2、3

sij(n)=αijsj(n-τij)+vi(n)

通常,背景噪声是均值为零的平稳噪声,与信号互不相关,不同麦克风处背景噪声也互不相关,则srj(n)和sij(n)的互相关函数Rrij(τ)表示为Rrij(τ)=E[srj(n)sij(n-τ)]=αrjαijE[srj(n-τrj)sij(n-τij-τ)],j=1、2、3其中,τ为表示延迟时间的变量,E[.]表示求期望的运算;

距离精估计采用基于时延的测距方法,用较简单的互相关法估计信号的延迟时间;对每一个可能的τ计算Rrij(τ),搜索到最大值位置,得到信号到达第i个待定位麦克风(4)相对于参考麦克风(2)的延迟时间τrij,即由于距离粗估计模块已经估计出待定位麦克风(4)到各个声源之间的粗略距离dij,curr,此时只需在粗距离附近一定范围内搜索麦克风的精细距离;定义声速为c,粗略距离dij,curr对应的粗时延为tj,curr=dij,curr/c,在dij,curr附近Δdij,curr范围内搜索精细距离,将距离信息转换为对应的时间信息Δtj,curr=Δdij,curr/c,则精细时延的搜索范围为[tj,curr-Δtj,curr,tj,curr+Δtj,curr];

将信号到达时间差乘以声速c,得到信号到达两个麦克风的距离差

drij=(τij-τrj)·c=-τrij·c,j=1、2、3

根据参考麦克风(2)到第j个声源的距离drj,以及第j个声源到参考麦克风(2)与第i个待定位麦克风(4)的距离差drij,获得待定位麦克风(4)到第j个声源的精细距离dijdij=drj+drij=drj-τrij·c所述的三角形质心计算子模块的工作过程如下:

定义(xs1,ys1)、(xs2,ys2)和(xs3,ys3)分别为三个声源坐标,di1、di2、di3分别为第i个待定位麦克风(4)到三个声源的精细距离;当判定当前帧为信号帧时,在得到上述第i个待定位麦克风(4)到第j个声源的精细距离dij之后,j=1、2、3,根据几何关系,通过求解以声源位置为圆心、距离为半径的三个圆的交点,来确定第i个待定位麦克风所在位置,即只有在理想情况下,三个圆才能相交于一点m,坐标为(xm,ym);而在一般情况下,由于计算误差的存在,此方程组无解,无解分为两种情况:第一种是三个圆不能交于一点,而是相交出一个区域;第二种是其中有至少两个圆没有交点;

对于第一种无解情况,选择相距最近的三个交点p1(xp1,yp1)、p2(xp2,yp2)和p3(xp3,yp3)组成三角形,求取该三角形质心m,坐标为(xm,ym),作为第i个待定位麦克风所在位置,即对于第二种无解情况,考虑到在估计麦克风位置时,各待定位麦克风(4)和校正声源位置均是固定的,则使用前一帧计算得的该两个圆交点来充当本帧交点。

2.根据权利要求1所述的一种分布式麦克风阵列中麦克风位置估计系统,其特征在于:所述的a的最佳值为4;b的最佳值为0.05;β的最佳值为0.05。

说明书 :

一种分布式麦克风阵列中麦克风位置估计系统

技术领域

[0001] 本发明涉及一种麦克风阵列的位置估计技术,特别是一种分布式麦克风阵列中麦克风位置估计系统。

背景技术

[0002] 麦克风阵列由多个麦克风排列组成,各麦克风同时采集信号并对信号进行联合处理,不仅可以有效抑制噪声和混响,获得良好的音质,还能够获得声音的方位信息,所以麦克风阵列在语音增强、声源定位、声源分离等应用中起着重要作用。近年来,随着集成电路技术的进步与网络通信、移动计算技术的发展,涌现出了一批通常配有Wi-Fi、蓝牙、音频接口等的便携设备(如笔记本电脑、智能手机等),并在日常工作生活中不断普及应用。利用这些便携设备,可以构成ad hoc分布式麦克风阵列。
[0003] 与规则麦克风阵列不同,分布式麦克阵列没有预先确定的几何结构和尺寸等信息,并且每个麦克风可能由独自的处理器控制,独立采集和处理数据。由于分布式麦克风阵列的几何结构、尺寸等信息无法预知,而进行分布式麦克风阵列信号处理又需要这些信息,因此,如何确定分布式麦克风阵列中的麦克风位置是一个必须解决的技术难题。
[0004] 陈涤等于2011年在公开号为CN102123495A的专利中公开了《一种基于RSSI校正的无线传感器网络质心定位算法》。该方法通过校正的RSSI测距技术,测量节点间点到点的距离,之后采用三角形质心算法进行节点定位。该方法计算量小,易于实现,具有较好的实用价值。但对于分布式麦克风阵列,由于声音信号功率随时间变化,且起伏较大,所以采用信号能量进行测距,精度往往不够高。
[0005] 成都电子科技大学肖华在2008年发表的《麦克风阵列的校正方法研究》中采用三个不同位置的校正声源来校正麦克风阵列中麦克风位置。该方案将一个声源先后放置于三个位置,分三次进行信号的采集与计算,最后将三次计算结果融合得到麦克风位置。但该方法的信号采集操作较繁琐,效率较低,只能离线计算,无法实现麦克风位置的在线估计。

发明内容

[0006] 为解决现有技术存在的上述问题,本发明要设计一种既具有较高精度、又具有较小计算复杂度、并可实现在线估计的分布式麦克风阵列中麦克风位置估计系统。
[0007] 为了实现上述目的,本发明的技术方案如下:一种分布式麦克风阵列中麦克风位置估计系统,包括声源信号产生模块、扬声器、参考麦克风、多个待定位麦克风以及多个麦克风位置估计模块;所述的声源信号产生模块输出端输出信号经扬声器转换为声音在分布式麦克风阵列的工作场地中播放;该声音被参考麦克风和待定位麦克风所接收;参考麦克风和待定位麦克风接收的信号同时传递至与待定位麦克风对应的麦克风位置估计模块;所述的麦克风位置估计模块的输出端输出待定位麦克风的坐标;所述的待定位麦克风与麦克风位置估计模块一一对应;
[0008] 所述的声源信号产生模块的工作方法包括以下步骤:
[0009] 所述的声源信号产生模块包括白噪声发生器和带通滤波器,白噪声发生器产生白噪声信号,所述的白噪声信号通过三个通带不同的带通滤波器,产生三个不同频带的带通信号,作为三个声源的发声信号,分别输入置于分布式麦克风阵列工作场地中3个扬声器;设三个带通滤波器的单位脉冲响应分别为hj(n),j=1、2、3,分别对白噪声发生器产生的白噪声信号x(n)进行滤波,得到三个不同频带的带通信号sj(n),j=1、2、3,
[0010] sj(n)=x(n)*hj(n),j=1、2、3
[0011] 其中,符号“*”表示数字信号处理领域中的卷积运算;n表示信号x、单位脉冲响应h1、h2、h3的各采样值的序号;
[0012] 所述的麦克风位置估计模块数量与待定位麦克风的数量相同,每个麦克风位置估计模块的工作方式方法完全相同;设第i个麦克风位置估计模块对应于第i个待定位麦克风,该模块包括信号有效性检测子模块、参考麦克风声源信号分离子模块、参考麦克风子频带背景噪声估计子模块、待定位麦克风声源信号分离子模块、待定位麦克风子频带背景噪声估计子模块、距离粗估计子模块、距离精估计子模块和三角形质心计算子模块;
[0013] 所述的信号有效性检测子模块检测输入信号是否有效,并计算参考麦克风接收到的信号sr(n)每帧的短时能量Er
[0014]
[0015] 其中,M表示帧长,start表示当前帧在原始接收信号序列sr(n)中的起始位置;比较Er与信号/噪声判定阈值Ethr,若Er
[0016] 当判定当前帧为噪声帧时,估计背景噪声能量Emin,更新有效性判定阈值Ethr;该阈值更新方法为
[0017] if Emin<Er
[0018] Emin=Er
[0019] Ethr=aEmin
[0020] end if
[0021] 其中,a为一个常数,a的取值范围是1
[0022] 所述的参考麦克风声源信号分离子模块利用与声源信号产生模块中系数相同的三个带通滤波器将三个声源信号分离;这三个带通滤波器的单位脉冲响应也为hj(n),j=1、2、3,对参考麦克风接收信号sr(n)分别进行滤波,得到三个不同频带的信号srj(n),j=1、2、
3,即
[0023] srj(n)=sr(n)*hj(n),j=1、2、3
[0024] 当判定当前帧为噪声帧时,所述的参考麦克风子频带背景噪声估计子模块分别估计三个子频带的能量Erj,j=1、2、3,
[0025] j=1、2、3
[0026] 将Erj,j=1、2、3,与前一次参考麦克风子频带背景噪声能量估计结果εrj,old进行平滑,平滑结果作为当前的背景噪声能量估计值εrj,curr,
[0027] εrj,curr=(1-b)·εrj,old+b·Erj,j=1、2、3
[0028] 其中,b为平滑因子,表示当前能量Erj,j=1、2、3,在平滑时所占比重,b的取值范围是0
[0029] 所述的待定位麦克风声源信号分离子模块利用与声源信号产生模块中系数相同的三个带通滤波器将三个声源信号分离;这三个带通滤波器的单位脉冲响应也为hj(n),j=1、2、3,对待定位麦克风接收信号si(n)分别进行滤波,得到三个不同频带的信号,即[0030] sij(n)=si(n)*hj(n),j=1、2、3
[0031] 当判定当前帧为噪声帧时,所述的待定位麦克风子频带背景噪声估计子模块分别估计三个子频带的能量Eij,j=1、2、3,
[0032] j=1、2、3
[0033] 再将Eij,j=1、2、3,与前一次待定位麦克风子频带背景噪声能量估计结果εij,old进行平滑,平滑结果作为当前的背景噪声能量估计值εij,curr,
[0034] εij,curr=(1-b)·εij,old+b·Eij,j=1、2、3
[0035] 其中,b为平滑因子,表示当前能量Eij,j=1、2、3,在平滑时所占比重,b的取值范围是0
[0036] 所述的距离粗估计子模块工作过程如下:
[0037] 定义角标r表示参考麦克风,角标i表示第i个待定位麦克风,角标j表示第j个声源(即第j个扬声器,j=1、2、3),dij表示第j个声源与第i个待定位麦克风之间的欧式距离,(xr,yr)和(xj,yj)分别表示参考麦克风和第j个声源的坐标,drj表示第j个声源与参考麦克风之间的欧式距离 在麦克风增益已校准(即相同声强下的麦克风输出信号能量相同)的情况下,当判定当前帧为信号帧时,则第i个待定位麦克风到第j个声源的距离粗估计 为
[0038] j=1、2、3
[0039] 为提高后续距离精估计的准确度,将当前距离粗估计结果 j=1、2、3,与前一次的平滑结果dij,old进行平滑,得到当前距离粗估计平滑结果dij,curr
[0040] j=1、2、3
[0041] 其中,β为平滑因子,表示当前距离粗估计结果 在平滑过程中所占比重,β的取值范围是0<β<1;
[0042] 所述的距离精估计子模块工作过程如下:
[0043] 定义αrj和αij分别为声音从声源j传播到参考麦克风与第i个待定位麦克风的衰减因子,τrj和τij分别为声音从声源j传播到参考麦克风与第i个待定位麦克风的延迟时间,vr(n)和vi(n)分别为参考麦克风与第i个待定位麦克风处的背景噪声,当判定当前帧为信号帧时,参考麦克风与第i个待定位麦克风接收到的来自于同一个声源si的信号分别为
[0044] j=1、2、3
[0045] 通常,背景噪声是均值为零的平稳噪声,与信号互不相关,不同麦克风处背景噪声也互不相关,则srj(n)和sij(n)的互相关函数Rrij(τ)表示为
[0046] j=1、2、3
[0047] 距离精估计采用基于时延的测距方法,用较简单的互相关法估计信号的延迟时间;对每一个可能的τ计算Rrij(τ),搜索到最大值位置,得到信号到达第i个待定位麦克风相对于参考麦克风的延迟时间τrij,即
[0048] j=1、2、3
[0049] 由于距离粗估计模块已经估计出待定位麦克风到各个声源之间的粗略距离dij,curr,此时只需在粗距离附近一定范围内搜索麦克风的精细距离;定义声速为c,粗略距离dij,curr对应的粗时延为tj,curr=dij,curr/c,在dij,curr附近Δdij,curr范围内搜索精细距离,将距离信息转换为对应的时间信息Δtj,curr=Δdij,curr/c,则精细时延的搜索范围为[tj,curr-Δtj,curr,tj,curr+Δtj,curr];
[0050] 将信号到达时间差乘以声速c,得到信号到达两个麦克风的距离差
[0051] drij=(τij-τrj)·c=-τrij·c,j=1、2、3
[0052] 根据参考麦克风到第j个声源的距离drj,以及第j个声源到参考麦克风与第i个待定位麦克风的距离差drij,获得第i个待定位麦克风到第j个声源的距离dij
[0053] dij=drj+drij=drj-τrij·c (12)
[0054] 所述的三角形质心计算子模块的工作过程如下:
[0055] 定义(xs1,ys1)、(xs2,ys2)和(xs3,ys3)分别为三个声源坐标,di1、di2、di3分别为待定位麦克风到三个声源的距离。当判定当前帧为信号帧时,在得到上述第i个待定位麦克风到第j个声源的精细距离dij之后,根据几何关系,通过求解以声源位置为圆心、距离为半径的三个圆的交点,来确定第i个待定位麦克风所在位置,即
[0056]
[0057] 只有在理想情况下,三个圆才能相交于一点m,坐标为(xm,ym);而在一般情况下,由于计算误差的存在,此方程组无解,无解分为两种情况:第一种是三个圆不能交于一点,而是相交出一个区域;第二种是其中有至少两个圆没有交点;
[0058] 对于第一种无解情况,选择相距最近的三个交点p1(xp1,yp1)、p2(xp2,yp2)和p3(xp3,yp3)组成三角形,求取该三角形质心m,坐标为(xm,ym),作为声源位置,即[0059]
[0060] 对于第二种无解情况,考虑到在估计麦克风位置时,各待定位麦克风和校正声源位置均是固定的,则使用前一帧计算得的该两个圆交点来充当本帧交点。
[0061] 本发明所述的a的最佳值为4;b的最佳值为0.05;β的最佳值为0.05。
[0062] 与现有技术相比,本发明具有以下有益效果:
[0063] 1、本发明选择三个不同频带的声音信号作为三个声源的发声信号,在麦克风位置估计过程中可一次性采集并分离出三个声源,不必离线计算,能够实现麦克风位置的在线估计。
[0064] 2、本发明将基于能量和时延的测距方法结合使用,先后进行距离的粗、精估计,保证了测距具有较小的计算量和较高的精度。
[0065] 3、本发明采用三角形质心算法获取阵列中各麦克风的位置,对各种无解情况均有相应的处理,保证定位结果的持续性和稳定性。

附图说明

[0066] 本发明共有附图14张,其中:
[0067] 图1是分布式麦克风阵列麦克风位置估计系统功能框图。
[0068] 图2是声源信号产生模块功能框图。
[0069] 图3是第i个麦克风位置估计模块的功能框图。
[0070] 图4是三圆相交于一点示意图。
[0071] 图5是三圆相交于一个区域示意图。
[0072] 图6是三圆不相交示意图。
[0073] 图7是仿真测试时分布式麦克风阵列与声源分布图。
[0074] 图8是三个带通滤波器的幅频响应曲线示意图。
[0075] 图9是坐标为(8,5)m处麦克风的横坐标估计结果。
[0076] 图10是坐标为(8,5)m处麦克风的纵坐标估计结果。
[0077] 图11是坐标为(8,5)m处麦克风的坐标估计误差。
[0078] 图12是坐标为(9,2)m处麦克风的横坐标估计结果。
[0079] 图13是坐标为(9,2)m处麦克风的纵坐标估计结果。
[0080] 图14是坐标为(9,2)m处麦克风的坐标估计误差。
[0081] 图中:1、声源信号产生模块,2、扬声器、参考麦克风,3、麦克风位置估计模块,4、待定位麦克风。

具体实施方式

[0082] 下面结合附图对本发明进行进一步地描述。
[0083] 如图1所示,一种分布式麦克风阵列中麦克风位置估计系统,包括声源信号产生模块1、扬声器、参考麦克风2、多个待定位麦克风4以及多个麦克风位置估计模块3;所述的声源信号产生模块1输出端输出信号经扬声器转换为声音在分布式麦克风阵列的工作场地中播放;该声音被参考麦克风2和待定位麦克风4所接收;参考麦克风2和待定位麦克风4接收的信号同时传递至与待定位麦克风4对应的麦克风位置估计模块3;所述的麦克风位置估计模块3的输出端输出待定位麦克风4的坐标;所述的待定位麦克风4与麦克风位置估计模块3一一对应;
[0084] 如图2所示,所述的声源信号产生模块1包括白噪声发生器和带通滤波器,白噪声发生器产生白噪声信号,所述的白噪声信号通过三个通带不同的带通滤波器,产生三个不同频带的带通信号,作为三个声源的发声信号,分别输入置于分布式麦克风阵列工作场地中3个扬声器。
[0085] 如图3所示,所述的麦克风位置估计模块3数量与待定位麦克风4的数量相同,每个麦克风位置估计模块3的工作方式方法完全相同;所述的麦克风位置估计模块3包括信号有效性检测子模块、参考麦克风2声源信号分离子模块、参考麦克风2子频带背景噪声估计子模块、待定位麦克风4声源信号分离子模块、待定位麦克风4子频带背景噪声估计子模块、距离粗估计子模块、距离精估计子模块和三角形质心计算子模块;
[0086] 如图4-6所示,所述的三角形质心计算子模块的工作过程如下:
[0087] 定义(xs1,ys1)、(xs2,ys2)和(xs3,ys3)分别为三个声源坐标,di1、di2、di3分别为第i个待定位麦克风4到三个声源的距离。当判定当前帧为信号帧时,在得到上述第i个待定位麦克风4到第j个声源的精细距离dij之后,j=1、2、3,根据几何关系,通过求解以声源位置为圆心、距离为半径的三个圆的交点,来确定第i个待定位麦克风所在位置,即[0088]
[0089] 只有在理想情况下,三个圆才能相交于一点m,坐标为(xm,ym)(如图4所示);而在一般情况下,由于计算误差的存在,此方程组无解,无解分为两种情况:第一种是三个圆不能交于一点,而是相交出一个区域(如图5所示);第二种是其中有至少两个圆没有交点(如图6所示);
[0090] 对于第一种无解情况,选择相距最近的三个交点p1(xp1,yp1)、p2(xp2,yp2)和p3(xp3,yp3)组成三角形,求取该三角形质心m,坐标为(xm,ym),作为声源位置,即[0091]
[0092] 对于第二种无解情况,考虑到在估计麦克风位置时,各待定位麦克风4和校正声源位置均是固定的,则使用前一帧计算得的该两个圆交点来充当本帧交点。
[0093] 本发明所述的a的最佳值为4;b的最佳值为0.05;β的最佳值为0.05。
[0094] 为验证本发明的优势,进行了如下仿真测试。假定一个10m×10m的区域,四个顶点的坐标分别为(0,0)m、(0,10)m、(10,0)m和(10,10)m。三个校准声源的坐标分别为(0,0)m、(0,1)m与(1,0)m,参考麦克风坐标为(1,1)m。区域中有8个待确定位置的麦克风,且各麦克风的增益已经被校准。校准声源、参考麦克风、待定位麦克风位置分布如图7所示。
[0095] 设三个带通滤波器均为8阶Butterworth滤波器,通带截止频率分别为[450Hz,650Hz]、[950Hz,1150Hz]和[1450Hz,1650Hz],系数分别为:
[0096] (1)[450Hz,650Hz]带通滤波器:
[0097] B1=1.0×10-4×[0.021505689961486,0,-0.086022759845944,0,0.129034139768916,0,-0.086022759845944,0,0.021505689961486];
[0098] A1=[1.0,-7.619560406446450,25.571208572772093,-49.362204407327965,59.944291732842998,-46.892314668407494,23.076325245729549,-6.532148379124553,0.814405997727282];
[0099] (2)[950Hz,1150Hz]带通滤波器:
[0100] B2=1.0×10-4×[0.021505687637543,0,-0.086022750550173,0,0.129034125825259,0,-0.08602275055017,0,0.021505687637543];
[0101] A2=[1.0,-7.147003817816104,22.953870141090817,-43.181776132672987,51.995025280573671,-41.021175158245249,20.714374288994392,-6.127031864547846,0.814405997727283];
[0102] (3)[1450Hz,1650Hz]带通滤波器:
[0103] B3=1.0×10-4×[0.021505687407555,0,-0.086022749630222,0,0.129034124445332,0,-0.08602274963022,0,0.021505687407555];
[0104] A3=[1.0,-6.399791880553000,19.157164010994535,-34.615721568256149,41.140865143886366,-32.883785334287396,17.288132742285850,-5.486456951495592,0.814405997727280].
[0105] 三个滤波器的频响曲线如图8所示。
[0106] 在距离粗估计附近0.1m范围内搜索精细距离,声速c近似取为340米/秒。采样频率为16KHz,数据处理帧长为0.2秒(即帧长M为3200点)。
[0107] 表1给出各个麦克风位置估计结果,由表1可见,在麦克风距离声源较近、接收信号信噪比较大时,仅基于能量测距定位误差较小,但是信噪比降低,定位误差增大。而将两种测距方法相结合,通过时延测距方法对能量测距结果进行修正,无论信噪比大小,定位误差都比较小。
[0108] 表1麦克风位置估计结果
[0109]
[0110] 图9-图14以坐标为(8,5)m和(9,2)m的麦克风为例给出定位过程中各帧估计结果。由图9-图14可见,虚线表示的仅基于能量定位结果始终有波动,而实线表示的基于能量和时延结合方法每帧定位结果呈收敛趋势,且收敛速度很快,故采用结合方法可以实现迅速、稳定的麦克风位置估计。
[0111] 在计算量方面,如果仅采用基于时延的测距方法,直接进行互相关计算,则在7
16KHz采样率条件下,计算0.2秒时长数据的互相关函数需要进行大约1.024×10次乘
7
法运算和1.023×10次加法运算;而先计算两路信号的能量进行距离粗估计,再在少量点处(在此仿真条件下,0.1m范围内等效为11个采样点)进行互相关计算,只需进行大约
4 4
4.16×10次乘法运算和4.159×10 次加法运算。计算量降至仅基于时延测距方法的约
1/240。