声源定位方法与装置的设计和研究
声源定位方法与装置的设计和研究
声源定位技术在工业、交通、军事等领域有着广泛的应用。本文设计了一种七元非对称麦克风阵列声源定位装置,综合考虑声音信号的时延和多普勒效应,实现了对静止声源和运动声源的高精度定位。实验结果表明,该装置对静止声源的定位精度约为±2cm,定位范围约为0~70cm;对运动声源,装置可以得到不同时刻声源的位置和速度,拟合后得到的运动参数误差约为3%。
1 声源定位方法与装置的设计
1.1 基于到达时延差的定位方法
如图1所示,由于声源到不同麦克风的距离不同,声音传播时间也不同,这在不同麦克风接收的声音信号上体现为一定的相位差。假设两个不同位置的麦克风i,j接收到的声音信号为(消除信号中的混响)
其中,S(t)为声源产生的声音信号;τij为声音由声源直接传播到两个麦克风的时间差,即时延差,ki,j为声音传播到麦克风i,j过程中的振幅衰减因子;ni,j(t)为麦克风i,j所接收的环境噪声。两个信号的互相关函数可记为
由于信号和噪声以及两个噪声之间都是不相关的,且其均值为零,则
对于相同信号S(t),显然当τ=τij时,互相关函数RSS有最大值。因此RSiSj(τ)取最大值时对应的τij即为两信号间的时延差。
互相关函数的形式实际上就是两个信号的卷积,可以借助傅里叶变换求出互相关函数,并可以通过在傅里叶变换后进行一定的加权,求出广义互相关函数
根据不同加权函数G的形式,可得出不同类型的广义互相关函数。
记声源的位置为r=(x,y,z),麦克风i的位置为ri=(xi,yi,zi),通过声源与麦克风的位置可得第i个麦克风与第j个麦克风间的时延差为
其中,c为声速。以1号麦克风为基准计算时延差,则上式可写为矩阵形式
其中,di=(ri2-r12-c2τ2i1)/2。记l=|r-r1|为声源到1号麦克风的距离,上式可简写为
方程组的解为两个线性方程AX=B与AX=D的解的线性叠加,即
其中,ai(i=1,2,3)为AX=B的三个解,bi为AX=D的三个解。在上述解中,l为未知参数,又l2=(x-x1)2+(y-y1)2+(z-z1)2,将解式(8)代入得
通过上述方程的联合计算可得l,代入(x,y,z)可以解出物体的估计位置。
实际实验中,需要的麦克风个数较多,为了充分利用测量的时延信息,A通常不是方阵,所列的矩阵方程是超定的。对于此类方程,可以选择求其两步加权最小二乘估计解。
1.2 基于多普勒效应的定速方法
当声源运动时,麦克风接收的声音信号相较于原始信号而言,从时域上看除了平移(即由时延引起的相位变化),还会有由多普勒效应引起的拉伸。通过对信号拉伸程度的分析,可以获得与声源速度相关的多普勒因子,进而对声源的速度进行还原。
如图2所示,麦克风n的位置矢量为rn,声源在t0时刻的位置矢量为r(t0),相对麦克风n的位置矢量为qn(t0)。在t0+t时刻发出的声音信号将被麦克风n在t0+tn时刻接收,其中tn满足
在声源从初始位置r(t0)运动到另一位置r(t0+t)的过程中,取时间间隔t足够小,满足声源运动路径远小于声音传播路径的长度
,因此可以认为t0时刻矢量qn(t0)与声源运动轨迹间的夹角αn(t0)与t0+t时刻夹角αn(t0+t)相等。因此可得
联立式(10)、式(11)可得
将所有麦克风接受的信号在时域上进行平移可以消除信号间的相位差,只保留信号间的拉伸变化,进而分析多普勒效应。定义麦克风的同步信号为
其中,τn(t0)=|qn(t0)|/c,即声音传播到第n个麦克风的时延,上式与tn相乘的因子为多普勒因子,体现了当声源在运动时的速度信息,此时产生的多普勒效应会在时域上对原信号进行拉伸,即
根据图2的几何关系可得
同理可以得到麦克风m的多普勒拉伸,将两个麦克风的多普勒因子相除可得麦克风m、n的相对多普勒拉伸因子
在得到声音信号后,通过互相关函数求得信号间的时延差,消除时延差后得到同步时间信号。定义模糊度函数
上式描述了两个函数在相对拉伸域上的相似度,其中σ即为多普勒拉伸因子,该函数的最大值对应的情况即两信号间的相对多普勒拉伸因子。
以本实验中七个相互独立的麦克风为例,可以将其中一个麦克风设定为参考系,即n取1。将其余六个麦克风接收的声音信号与1号麦克风进行对比,得到六个相对多普勒拉伸因子(δf12,δf13,δf14,δf15,δf16,δf17),可以得到六个方程(m=2,3,…,7)
联立其中任何三个方程即可解出一组声源的速度vi=(vix,viy,viz)。遍历所有可能的组合可以得到20组速度信息,对其求平均值得到,该速度值即为最终的实验测定结果。
2 声源定位装置
七元非对称麦克风阵列定位装置如图3所示。实验装置主要包含三个模块:声音探测模块、信号采集模块、声源运动控制模块。
声音探测模块为由七个朝向相同的麦克风组成的麦克风阵列,麦克风为海康威视DS-2FP1021型通用麦克风。以阵列中心杆的底端为坐标系原点,阵列中各个麦克风的位置如表1所示。之后声源定位的坐标亦是在此坐标系下的坐标。装置采用七个麦克风是在控制硬件成本和计算时间的前提下,保证实现较高的定位精确度。采用非对称的结构一方面保证麦克风之间互不遮挡,可以较好采集声音信号;另一方面阵列的非对称性也能消除定位结果的简并性。
信号采集模块采用AD7606型8通道同步采样模数数据采集系统。该系统可以实现8通道声音信号的同步采样,最大采样频率可达到200kHz,远大于实验中的声音频率(~kHz),能够满足实验要求。本实验的采样率设置为100kHz。
声源运动模块负责控制声源运动,实验中采用二维导轨控制声源位置,通过单摆装置和转动电机控制声源进行单摆运动和圆周运动。
实际应用时,可通过以下步骤进行操作:
(1)通过声音探测模块(麦克风阵列)探测声源发出的声音信号,信号采集模块完成声音信号的数据采集和存储;
(2) 对声音信号进行预处理,消除噪声与混响;
(3) 通过互相关函数与模糊度函数求得各声音信号间的时延差与多普勒因子。对于运动声源,以Δt为时间间隔,对每段Δt的声音信号求取时延差与多普勒因子;
(4) 将时延差与多普勒因子代入位置方程式(6)与速度方程式(18),可解得声源的位置与速度。对于运动声源,即得每段Δt时间内的平均位置与平均速度。
3 声源定位实验结果
实验中分别以测量结果的不确定度和误差来反映装置的稳定性和精准性,对静止声源定位进行了多次实验探究。
3.1 不同声源信号定位
考虑算法对不同声频信号的应用效果,首先分别采用歌声(《夜莺》)、调制信号和敲击声进行定位测试。利用麦克风阵列采集5秒声音信号,并计算得到了其互相关函数,如图4所示。
利用互相关函数得到各个麦克风信号之间的时延差后,代入方程(6)进行解算可得声源的定位结果。对每种声源进行独立重复的5次定位,定位结果如图5所示。
三种声源信号定位坐标的平均值、不确定度和误差如表2所示。由定位结果可知,实验装置对多种声源信号的定位误差均在2cm之内,其中歌声的定位不确定度最小,因此后续定位实验均采用歌声作为声源信号。
3.2 静止声源定位
将声源固定在二维轨道的不同位置,声音信号选为歌声(《夜莺》)。如图6所示,以麦克风阵列所朝方向为+y方向,与其垂直方向为x方向。将声源分别置于五个y坐标、三个x坐标不同的位置,以探究装置对不同空间位置处静止声源的定位效果。
图6 改变声源x,y坐标示意图
将声源放置在y坐标不同的五个位置上,每个位置重复进行五次定位,取位置平均值为最终结果,计算定位结果的不确定度与误差。具体数据如表3所示。
将声源放置在x坐标不同的三个位置上,每个位置重复进行五次定位,取位置平均值为最终结果,计算定位结果的不确定度与误差,整理定位结果如表4所示。
最终在不同的位置的定位结果如图7所示。在改变y坐标的实验中,随着声源y坐标的增大,即离麦克风阵列越远,三个维度上的不确定度均增加,且精度存在减小的趋势,在y=65.4cm处,x,y,z的定位结果均在实际位置误差范围的边缘,且不确定度均较大,因此可以认为y在0,70cm内为本装置的较优的定位范围。
图7 分别改变声源的坐标的定位结果
(ac) 声源位于不同坐标时定位结果的坐标;(df) 声源位于不同坐标时定位结果的坐标
在改变x坐标的实验中,x坐标的误差与不确定度在三个位置均较小,但y坐标的误差与不确定度在x=0的位置较小,在离y轴远的位置较大。对于x坐标的不确定度小于y坐标不确定度的现象,考虑是由于麦克风阵列朝向y方向,改变声源的x坐标相较改变y坐标对麦克风之间的时延差改变较大,因此相较于y坐标,信号间的时延差能够较好地限制x坐标,因此x坐标的不确定度较小;对于y坐标的不确定度随着离y轴越远而增大的情况,考虑是由于在y轴上,由于正对麦克风阵列,因此改变y坐标,前后斜向的麦克风之间时延差变化较大,因此结果的y坐标不确定度较小,而在远离y轴位置,改变y坐标对时延差改变不大,因此不确定度较大。但在实验所涉及的范围内,y坐标的多次定位误差也仅有2cm左右。
3.3 运动声源定位
考虑在实际应用中,多是对运动声源的定位,且均为较大尺度,结合实验教学内容,将该装置应用于单摆和圆周运动实验中,采用时延法和多普勒效应的联合定位,分别对做匀速圆周运动和单摆运动的声源进行探测,声音信号为歌声(《夜莺》)。
3.3.1 匀速圆周运动声源
利用时延法对匀速圆周运动声源的位置进行解算,选取的定位间隔为0.1s,对持续运动2.4s的声源进行定位,之后利用位置解算结果和多普勒效应对速度进行解算。但由于声源在0.8m之外的运动超出了麦克风阵列的定位区间,数据误差较大。因此选择定位精度较好的部分0~0.7m进行数据分析。对圆形轨迹进行拟合,如图8所示。
图8 匀速圆周运动的定位点及拟合轨迹图
声源运动半径的拟合结果为r=0.289m,实际值为r0=0.300m,相对误差为
设匀速圆周运动的圆心坐标为(xc0,yc0),运动半径为rc,运动角频率为ωc,运动速率为vc,可得声源作圆周运动时的理论位置和速度表达式为
其中,v0=ωcrc。对数据拟合可得定位和定速结果,如图9所示。
图9 匀速圆周运动定位数据及拟合结果
(a) x-t图; (b) y-t图; (c) vx-t图; (d)vy-t图εr=r-r0〖〗r0×100%=3.7%
四次拟合结果中ωc的平均值
s,实际转动角频率为ωc0=2.30rad/s。相对误差为
圆心定位结果为(-0.0027m,0.5727m),圆心定位的误差为δx=0.0027m,δy=0.0073m。
运动速度的拟合结果(图9(c)和图9(d))相对误差较大,是由于声源运动速度较小,多普勒效应较弱,同时受到环境噪声的影响,导致算法存在一定误差,但位置误差均在5cm以内,速度误差均在0.3m/s以内。
3.3.2 单摆运动声源
同样利用时延法对单摆运动声源的位置进行解算,选取的定位间隔为0.1s,对持续运动3.2s的声源进行定位,利用位置解算结果和多普勒效应对速度进行解算,对声源的运动轨迹进行拟合,如图10所示。
图10 单摆运动的定位点及拟合轨迹图
单摆摆长的拟合结果为l=0.758m,实际值为l=0.780m,相对误差为
设单摆偏离平衡位置的最大角度为θ0,则声源作单摆运动时的理论位置和速度为
其中,g为重力加速度。对数据进行拟合可得定位结果,如图11所示。
拟合可得x方向角频率的平均值为
,z方向角频率的平均值为
,可以认为
,与单摆的运动特性相符。
同样地,由于声源运动速度较低,多普勒效应较弱,同时受到环境噪声的影响,使速度的解算结果存在一定的误差。
图11 单摆运动定位数据及拟合结果
(a) x-t图; (b) z-t图; (c) vx-t图; (d) vz-t图
3.3.3 应用:重力加速度的测量
基于单摆的定位结果,可以进行重力加速度的测量。根据单摆周期公式和周期的定义式
可得重力加速度的计算式为
将单摆数据代入公式(25)可得重力加速度的测量值为
天津当地加速度为g0=9.80m/s2,则测量的相对误差为
除了测量重力加速度,类似地,基于声音定位的实验结果,还可以将其拓展到“验证刚体转动定律”、“测量刚体的转动惯量”、“碰撞实验和动量守恒定律的探究”等大学物理实验中,从而丰富现有方法,为其提供一种新颖的测量方式。
4 结语
文章提出一种综合时延法与多普勒效应的定位方法,并基于此方法搭建了一套七元非对称麦克风阵列声音定位探测装置,在对前人的算法进行优化后,增加了定位结果的抗噪性,提高了时延计算的精度并解决了运动声源定位问题。通过实验测定显示,装置具有较好的稳定性和精准性,装置的定位范围为0~70cm,定位误差为±2cm。同时将其应用于不同运动形式的声源定位探测,进一步获得声源运动速度以及其他相关物理量的测量,例如单摆实验中的重力加速度的测量。将声音定位与其他实验内容的结合,为大学物理实验教学提出一种新颖的教学案例,相信学生通过本实验的探究,会对声学的理论和技术有一个较全面的认识和掌握。
受实验室条件的限定,装置仍存在一定的局限性,但此类装置在简单的实验场景中有着不错的应用。在较复杂的实验环境中,可以考虑通过互相关函数的特性,进行多个不同声源声音信号的区分和分离,以及各自的定位;同时考虑风速的影响,则需计算更为复杂的多普勒效应等。