基于声源阵列的空间麦克风定位方法与流程

文档序号:15924739发布日期:2018-11-14 01:01阅读:602来源:国知局

本发明的技术方案涉及应用声波用多条由路径差测量确定的位置线的配合确定信号源的位置,具体地说是基于声源阵列的空间麦克风定位方法。

背景技术

伴随着科学技术日新月异的发展,传感器技术的应用领域逐步扩大,其所面对的工作环境也愈来愈复杂。对麦克风位置进行准确的定位,能够帮助分布式麦克风阵列信号处理,而麦克风阵列在语音增强、声源定位和声源分离的应用中起着重要作用。同时,麦克风定位可以帮助解决当前机器人领域众多问题。例如,当机器人处于未知的环境中,对自身位姿未知时,如何进行自定位和环境识别,即同时自定位和地图构建一直都是智能机器人技术研究的热点和难点,为了解决这一难题,从机器人听觉系统的角度出发,确定出待定位麦克风的位置坐标,将机器人技术与机器人所处环境中的分布的麦克风位置进行有机结合,解决机器人同时自定位与构建环境地图的问题,从而帮助实现机器人全自主移动等。因此,确定麦克风阵列中的麦克风位置是一个现今该技术领域中必须解决的技术难题。

成都电子科技大学肖华在2008年发表的《麦克风阵列的校正方法研究》中,采用三个不同位置的校正声源来校正麦克风阵列中麦克风位置,该方法将一个声源先后放置于三个位置,分三次进行信号的采集与计算,最后将三次计算结果融合得到麦克风位置,但该方法存在信号采集操作较繁琐,效率较低,只能离线计算,无法实现麦克风位置的在线估计的缺陷。cn103439689b公开了一种分布式麦克风阵列中麦克风位置估计系统,该方法通过选择三个不同频带的声音信号作为三个声源的发声信号,在麦克风位置估计过程中一次性采集并分离出三个声源,实现麦克风位置的在线估计,将基于能量和时延的测距方法结合使用,先后进行距离的粗、精估计,采用三角形质心算法获取阵列中各麦克风的位置,对各种无解情况均有相应的处理,但此方法存在只针对平面的麦克风阵列进行了位置估计,无法实现空间分布麦克风的位置估计的缺陷。



技术实现要素:

本发明所要解决的技术问题是:提供基于声源阵列的空间麦克风定位方法,利用四个声源的声音信号、参考麦克风和各个声源之间的固定距离实现了三维空间中的麦克风的在线定位,克服了现有技术中存在的信号采集操作较繁琐,效率较低,只能离线计算,无法实现麦克风位置的在线估计以及只针对平面的麦克风阵列进行了位置估计,无法实现空间分布麦克风的位置估计的缺陷。

本发明解决该技术问题所采用的技术方案是:基于声源阵列的空间麦克风定位方法,具体步骤如下:

第一步,声源的四元三维阵列分布:

将四个声源按照正四面体的形式空间分布,定义声源1空间坐标为s1(x1,y1,z1),声源2空间坐标为s2(x2,y2,z2),声源3空间坐标为s3(x3,y3,z3),声源4空间坐标为s4(x4,y4,z4),构建成为一个三维空间坐标系,由此完成声源的四元三维阵列分布,并且规定在此空间分布的麦克风位置的表示都将以此坐标系为基准,上述四个声源依次发声,共产生四个声音信号分别为si(t)(i=1,2,3,4);

第二步,设置参考麦克风:

设置参考麦克风,该参考麦克风到上述第一步中四个声源中的第j个声源的距离为lj(j=1,2,3,4),即参考麦克风到上述第一步中四个声源的距离分别为l1、l2、l3和l4,这四个距离的数值确定为已知且固定不变,同时参考麦克风的位置在距离上述各个声源小于10米的范围之内,即10米≥lj>0,保证参考麦克风接收到的各个声源的声音信号强度均为强信号;

第三步,标记待定位麦克风:

在上述第一步的正四面体的形式空间中,在以长=60米,宽=60米,高=20米的长方体空间范围内,随机分布m=200个麦克风,上述第一步的四个声源依次产生声音信号,随机分布的麦克风中能够接收到四个声音信号的均被标记为待定位麦克风,待定位麦克风的数量记为n,m≥n≥1;

第四步,用麦克风定位单元定位待定位麦克风在空间中的位置:

所述麦克风定位单元的操作程序如下:

(4.1)四个声源依次产生声音信号,参考麦克风与待定位麦克风接收到四个声音信号:

上述第一步的四个声源依次产生声音信号,上述第二步中设置的参考麦克风与上述第三步中的待定位麦克风均会接收到四个声音信号;设定所有麦克风接收到的声音信号模型是理想模型,即这里环境噪声用高斯白噪声近似代替,设定四个声源依次产生的声音信号为si(t)(i=1,2,3,4),其中,t表示各个声源发声对应的时间,i=1,2,3,4,表示四个声源,某一个待定位麦克风接收到的四个声音信号中的某一个声音信号x(t)如下公式(1)所示:

x(t)=αs(t-τ)+n(t)(1),

公式(1)中,x(t)表示声音信号x与时间t的函数关系,t为该待定位麦克风接收到声音信号对应的时间,α表示声音信号到麦克风的幅度衰减系数,τ表示声音信号到麦克风的时间延迟、n(t)表示环境噪声信号,s(t-τ)表示具有时间延迟τ的声源产生的声音信号,s(t)和n(t)互不相关,

(4.2)用经典的时延估计法中的广义互相关函数法估计声达时间差:

上述第一步的四个声源依次产生的声音信号中的某一个声音信号到达上述第二步中设置的参考麦克风与上述第三步中的某一个待定位麦克风时间差定义为声达时间差,用经典的时延估计法中的广义互相关函数法估计声达时间差,分别为tdoa1、tdoa2、tdoa3、tdoa4;

(4.3)计算某一个声源与参考麦克风的距离和该声源与待定位麦克风的距离的差值:

定义δtij(i=1,2.....n;j=1,2,3,4)为上述第二步中设置的参考麦克风与上述第三步的待定位麦克风中的第i个待定位麦克风接收到上述第一步中四个声源中的第j个声源发出的第j个声音信号的时间差,该时间差δtij由测定得到,定义声音在空气中传播速度为c,将前述时间差δtij乘以声速c,得到上述第一步中四个声源中的第j个声源与上述第二步中设置的参考麦克风的距离和与上述第三步的待定位麦克风中的第i个待定位麦克风的距离的差值δlij为如下公式(2)所示,

δlij=δtij·c(2),

(4.4)计算待定位麦克风与上述某一个声源的距离:

根据上述第二步中设置的参考麦克风到上述第一步中四个声源中的第j个声源的距离lj(j=1,2,3,4),以及由公式(2)计算得到的第j个声源到参考麦克风与上述第三步的待定位麦克风中的第i个待定位麦克风的距离差δlij,由公式(3)计算得到上述第三步的待定位麦克风中的第i个待定位麦克风到上述第一步中四个声源中的第j个声源的距离dij如下:

dij=lj+δlij=lj+δtij·c(3),

根据几何关系,通过求解,分别以上述第一步中的四个声源位置为球心,以上述第三步的待定位麦克风到相对应的上述第一步中的每个声源的距离为半径分别绘制的四个球的交点,来确定上述第三步的待定位麦克风中的第i个待定位麦克风所在空间环境中的位置如下方程式:

方程式(4)中,xi,yi,zi表示上述第三步中的待定位麦克风中的第i个待定位麦克风所在空间环境中的位置,x1、y1、z1;x2、y2、z2;x3、y3、z3;x4、y4、z4依次表示上述第一步中的四个声源的位置,di1、di2、di3、di4分别表示上述第三步中的待定位麦克风中的第i个待定位麦克风分别到上述第一步中的四个声源中的每个声源的距离,由于上述第一步中的四个声源位置在空间中以正四面体形式分布,因而四个声源两两构成的向量之间互相线性无关,从而保证上述方程式(4)只有一个解,该解即为上述第三步的待定位麦克风到相对应的上述第一步中的每个声源的距离为半径分别绘制的四个球的交点,此交点坐标即为上述第三步的待定位麦克风中的第i个待定位麦克风所在空间中的位置坐标,由此完成基于声源阵列的空间麦克风定位。

本发明的有益效果是:与现有技术相比,本发明所具有的突出的实质性特点和显著进步如下:

(1)本发明利用四个声源的声音信号、参考麦克风和各个声源之间的固定距离实现了三维空间中的麦克风的在线定位。本发明将四个声源按照四元三维阵列,特别是正四面体的方式排列分布,利用其对称性,保证了定位全向性,同时保证信号被麦克风均匀接收,从而满足定位精度,保证定位精度的持续性和稳定性。

(2)cn103439689b所公开的一种分布式麦克风阵列中麦克风位置估计系统,其方法只针对平面的麦克风阵列进行了位置估计,无法实现空间分布麦克风的位置估计,与之相比,本发明设计了一种精度较高、计算复杂度较小、并能够实现在线定位的基于声源阵列的空间麦克风定位方法,完全克服了上述技术存在的不足与缺陷。

(3)基于声源阵列的空间麦克风定位方法,利用四个声源的声音信号、参考麦克风和各个声源之间的固定距离实现了三维空间中的麦克风的在线定位,克服了现有技术中存在的信号采集操作较繁琐,效率较低,只能离线计算,无法实现麦克风位置的在线估计以及只针对平面的麦克风阵列进行了位置估计,无法实现空间分布麦克风的位置估计的缺陷。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明基于声源阵列的空间麦克风定位方法的流程示意图。

图2是本发明中四个声源呈正四面体排列分布示意图。

图3是本发明中四个球相交于一点示意图。

图4是本发明中仿真测试时基于声源阵列的空间麦克风定位示意图。

具体实施方式

图1所示实施例表明,图中符号→表示基于声源阵列的空间麦克风定位方法的流程处理方向;所述的s1、s2、s3、s4分别为产生声音信号的四个声源,产生的声音信号被参考麦克风和待定位麦克风1、待定位麦克风2…待定位麦克风n所接收,利用经典的时延估计法中的广义互相关函数法来估计四个声源依次产生的声音信号si(t)(i=1,2,3,4)到达参考麦克风与待定位麦克风的时间差即声达时间差,即为图中的tdoa1、tdoa2、tdoa3、tdoa4,其中,t表示各个声源发声对应的时间,i=1,2,3,4表示四个声源,进行“麦克风定位单元”的操作,将tdoa1、tdoa2、tdoa3、tdoa4作为输入信号,输出待定位麦克风在三维空间中的坐标,包括待定位麦克风1坐标、待定位麦克风2坐标…待定位麦克风n坐标,由此完成基于声源阵列的空间麦克风定位。

图2所示实施例表明,所述的声源分布单元中,声源阵列为正四面体,在同一个三维空间坐标系的位置中。在以o为原点的三维空间坐标系(x、y、z)中,s1、s2、s3、s4分别为四个声源,c0为参考麦克风,其所处位置距离各个声源小于10米,m1设定为第一个待定位麦克风,即所要进行定位的目标待定位麦克风之一,l1为参考麦克风c0到第一个声源s1的距离,已知且固定不变,同理,参考麦克风c0到其他声源(s2、s3、s4)的距离分别为l2、l3、l4也已知且固定不变,d11为第一个待定位麦克风m1到第一个声源s1的距离,它是由s1到达c0与m1的时间差乘以声速计算得到的距离差,然后再根据已知距离l1所求得的,以此类推,可计算出m1到其他声源的距离,这是定出m1空间位置的必要条件。

图3所示实施例表明,s1、s2、s3、s4分别为四个声源,m1为第一个待定位麦克风,d11、d12、d13、d14分别为m1到四个声源s1、s2、s3、s4的距离。分别以四个声源位置为球心,相对应的待定位麦克风m1到四个声源的距离为半径作出四个球,由于声源在空间中以正四面体形式分布,因而由声源两两构成的向量之间互相线性无关,从而该四个球在空间中只有一个交点,此交点即为待定位麦克风m1的坐标,如图中黑色三角形所示。由此以待定位麦克风m1到每个声源的距离为半径分别绘制的四个球的交点来确定待定位麦克风m1所在空间环境中的位置。

图4所示实施例表明,为验证本发明的优势,进行了如下仿真测试:设定一个长、宽、高分别为60m、60m、20m的空间区域,如图中坐标轴所示,在该空间区域内,图中四个空心圆○示为四个声源的坐标,位置分别为(6,0,0)m、(-3,3√3,0)m、(-3,-3√3,0)m与(0,0,)m;参考麦克风★坐标为(0,0,0)m,即选择坐标原点为参考麦克风★的位置,图中空间区域中有200个随机分布的麦克风+,经验证,其中有两个接收到四个声音信号的麦克风,即有两个待定位麦克风●,因其是200个随机分布的麦克风+中的两个,所以在图中显示两个待定位麦克风●的图形“●”肯定是与200个代表随机分布的麦克风+中的两个“+”图形重叠,重叠后的图形在该图4图中有显示。根据本发明的方法对这200个随机分布的麦克风中的两个待定位麦克风的位置进行了估计,估计的结果如该图4中的“□”所示,“□”所在的位置就是本发明方法对麦克风估计的位置,换句话说,“●”所在的位置是需要对其进行定位的也就是待定位麦克风的实际位置。由本发明基于声源阵列的空间麦克风定位方法将这两个待定位麦克风位置估计出来,声源位置、参考麦克风、随机分布的麦克风、待定位麦克风以及待定位麦克风位置估计的分布如该图4所示。

实施例

本实施例的基于声源阵列的空间麦克风定位方法,具体步骤如下:

第一步,声源的四元三维阵列分布:

将四个声源按照正四面体的形式空间分布,定义声源1空间坐标为s1(x1,y1,z1),声源2空间坐标为s2(x2,y2,z2),声源3空间坐标为s3(x3,y3,z3),声源4空间坐标为s4(x4,y4,z4),构建成为一个三维空间坐标系,由此完成声源的四元三维阵列分布,并且规定在此空间分布的麦克风位置的表示都将以此坐标系为基准,上述四个声源依次发声,共产生四个声音信号分别为si(t)(i=1,2,3,4);

第二步,设置参考麦克风:

设置参考麦克风,该参考麦克风到上述第一步中四个声源中的第j个声源的距离为lj(j=1,2,3,4),即参考麦克风到上述第一步中四个声源的距离分别为l1、l2、l3和l4,这四个距离的数值确定为已知且固定不变,同时参考麦克风的位置在距离上述各个声源小于10米的范围之内,即10米≥lj>0,保证参考麦克风接收到的各个声源的声音信号强度均为强信号;

第三步,标记待定位麦克风:

在上述第一步的正四面体的形式空间中,在以长=60米,宽=60米,高=20米的长方体空间范围内,随机分布m=200个麦克风,上述第一步的四个声源依次产生声音信号,随机分布的麦克风中能够接收到四个声音信号的均被标记为待定位麦克风,待定位麦克风的数量记为n,m≥n≥1;

第四步,用麦克风定位单元定位待定位麦克风在空间中的位置:

所述麦克风定位单元的操作程序如下:

(4.1)四个声源依次产生声音信号,参考麦克风与待定位麦克风接收到四个声音信号:

上述第一步的四个声源依次产生声音信号,上述第二步中设置的参考麦克风与上述第三步中的待定位麦克风均会接收到四个声音信号;设定所有麦克风接收到的声音信号模型是理想模型,即这里环境噪声用高斯白噪声近似代替,设定四个声源依次产生的声音信号为si(t)(i=1,2,3,4),其中,t表示各个声源发声对应的时间,i=1,2,3,4,表示四个声源,某一个待定位麦克风接收到的四个声音信号中的某一个声音信号x(t)如下公式(1)所示:

x(t)=αs(t-τ)+n(t)(1),

公式(1)中,x(t)表示声音信号x与时间t的函数关系,t为该待定位麦克风接收到声音信号对应的时间,α表示声音信号到麦克风的幅度衰减系数,τ表示声音信号到麦克风的时间延迟、n(t)表示环境噪声信号,s(t-τ)表示具有时间延迟τ的声源产生的声音信号,s(t)和n(t)互不相关,

(4.2)用经典的时延估计法中的广义互相关函数法估计声达时间差:

上述第一步的四个声源依次产生的声音信号中的某一个声音信号到达上述第二步中设置的参考麦克风与上述第三步中的某一个待定位麦克风时间差定义为声达时间差,用经典的时延估计法中的广义互相关函数法估计声达时间差,分别为tdoa1、tdoa2、tdoa3、tdoa4;

(4.3)计算某一个声源与参考麦克风的距离和该声源与待定位麦克风的距离的差值:

定义δtij(i=1,2.....n;j=1,2,3,4)为上述第二步中设置的参考麦克风与上述第三步的待定位麦克风中的第i个待定位麦克风接收到上述第一步中四个声源中的第j个声源发出的第j个声音信号的时间差,该时间差δtij由测定得到,定义声音在空气中传播速度为c,将前述时间差δtij乘以声速c,得到上述第一步中四个声源中的第j个声源与上述第二步中设置的参考麦克风的距离和与上述第三步的待定位麦克风中的第i个待定位麦克风的距离的差值δlij为如下公式(2)所示,

δlij=δtij·c(2),

(4.4)计算待定位麦克风与上述某一个声源的距离:

根据上述第二步中设置的参考麦克风到上述第一步中四个声源中的第j个声源的距离lj(j=1,2,3,4),以及由公式(2)计算得到的第j个声源到参考麦克风与上述第三步的待定位麦克风中的第i个待定位麦克风的距离差δlij,由公式(3)计算得到上述第三步的待定位麦克风中的第i个待定位麦克风到上述第一步中四个声源中的第j个声源的距离dij如下:

dij=lj+δlij=lj+δtij·c(3),

根据几何关系,通过求解,分别以上述第一步中的四个声源位置为球心,以上述第三步的待定位麦克风到相对应的上述第一步中的每个声源的距离为半径分别绘制的四个球的交点,来确定上述第三步的待定位麦克风中的第i个待定位麦克风所在空间环境中的位置如下方程式:

方程式(4)中,xi,yi,zi表示上述第三步中的待定位麦克风中的第i个待定位麦克风所在空间环境中的位置,x1、y1、z1;x2、y2、z2;x3、y3、z3;x4、y4、z4依次表示上述第一步中的四个声源的位置,di1、di2、di3、di4分别表示上述第三步中的待定位麦克风中的第i个待定位麦克风分别到上述第一步中的四个声源中的每个声源的距离,由于上述第一步中的四个声源位置在空间中以正四面体形式分布,因而四个声源两两构成的向量之间互相线性无关,从而保证上述方程式(4)只有一个解,该解即为上述第三步的待定位麦克风到相对应的上述第一步中的每个声源的距离为半径分别绘制的四个球的交点,此交点坐标即为上述第三步的待定位麦克风中的第i个待定位麦克风所在空间中的位置坐标,由此完成基于声源阵列的空间麦克风定位。

表1为本实施例的基于声源阵列的空间麦克风定位的结果

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1