CN115902776B - 一种基于被动式声音信号的声源定位方法 - Google Patents
一种基于被动式声音信号的声源定位方法 Download PDFInfo
- Publication number
- CN115902776B CN115902776B CN202211576668.1A CN202211576668A CN115902776B CN 115902776 B CN115902776 B CN 115902776B CN 202211576668 A CN202211576668 A CN 202211576668A CN 115902776 B CN115902776 B CN 115902776B
- Authority
- CN
- China
- Prior art keywords
- microphone
- sound source
- signal
- los
- microphone array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明公开了一种基于被动式声音信号对声源进行定位的方法,目的是解决目前定位方法复杂度高、速度慢、精度较差、不适宜三维场景等问题。技术方案是首先选择线性麦克风阵列;选择声音传播模型为远场模型,搭建信号传播路径,简化远场声源定位模型,构建虚拟的壁镜麦克风阵列;然后采用自相关算法和互相关算法测量三种时延参数;基于三种时延参数建立三个损失函数;最后基于梯度下降方法最小化三个损失函数之和测量声源坐标。本发明在二维场景下定位声源比现有技术精度更高、速度更快,且本发明在三维场景同样也实现了较高的精度,解决了现有方法只能定位声源二维坐标的问题。
Description
技术领域
本发明涉及物联网领域被动式声源定位方法,特别涉及一种基于被动式声音信号的声源定位方法。
背景技术
被动式声音信号,顾名思义是被观测物体发出声音,被观测物体作为声源,发出的声音信号就是被动式声音信号。基于这种声音信号可以建立观测主体与被观测物体之间的联系。被动式声音信号定位声源在物联网领域具有广泛应用。例如在安全领域,可以检测是否因为发出声音的是窗户等破碎造成的非法闯入。在智能家居领域,通过人的发声可以实现人机交互;在公共场合可以检测噪声来源,如汽车非法鸣笛,从而做出相应的处理来减少噪声污染。
一般来说,人类的双耳具有初步的声源定位功能,但是只能近似判断声音的方向(direction),对于声源距离(distance)的判定往往只能实现很低精度。近些年,学术界一些学者通过设计单麦克风结合超材料的方式、使用深度学习方法进行盲音分离、音源增强的研究和工作。同时,使用麦克风阵列利用声音进行测距也是一个可以实现定位的方法。基于麦克风传感器阵列设备的声源测距方法具有处理简单、成本低等特质。由于这些特性,麦克风阵列在声音增强、声音降噪、户外直播、盲声源分离等场景有广泛的研究。市场中也有基于麦克风阵列进行指定说话人的人声增强的产品。
麦克风阵列指的是具有特定拓扑形状和功能的一种麦克风排列。麦克风阵列由一定数目的麦克风组成,通过麦克风对环境中的声音信号进行采样。
一般来说,有以下几种常用的基于阵列信号的声源定位方法:高分辨谱估计方法(High Resolution Spectrum Estimation)、波束形成器方法(Beamforming)、到达时间差方法(Time Difference of Arrial,TDOA)。对传感器阵列接收信号进行融合、去重,计算机可估计声源在三维空间中的位置,从而实现对被观测物体定位的功能。
TDOA(到达时间差方法,Time Difference of Arrial)定位算法是一种常用于声源定位的方法(见文献Sheng Shen,Daguan Chen,Yu-Lin Wei,Zhijian Yang,and RomitRoy Choudhury等人的论文,“Voice localization using nearby wall reflections”:基于周边墙壁声音反射的定位方法)。该方法是基于到达不同麦克风的时间差进行声源方向定位的方法。在麦克风阵列上使用TDOA算法,可以方便地估计被观测物体方向角。TDOA算法通过使用广义互相关的方法,计算两个麦克风阵列收到声音信号的最大互相关信号峰值,依次对不同麦克风测量不同的到达时间差。该最大峰对应的横坐标,就是两条声音信号的到达时间差。该方法的精度受到麦克风阵列大小的制约,目前达到误差在0.5m内的精度范围。(见文献Sheng Shen,Daguan Chen,Yu-Lin Wei,Zhijian Yang,and Romit RoyChoudhury等人的论文,“Voice localization using nearby wall reflections,”:基于周边墙壁声音反射的定位方法)TDOA方法使小麦克风在实际场景中很难提供高精度的定位,其次目前的方法很难扩展到三维场景。
如何降低时间复杂度、提高声源定位的精度和速度,是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题是针对目前TDOA方法中复杂度高、定位速度慢、定位精度较差、很难扩展到三维场景等问题,提供一种基于被动式声音信号的声源定位方法。降低时间复杂度、提高声源定位的精度和速度,并扩展到三维场景。
技术方案是:首先选择麦克风阵列,选择声音传播模型为远场模型,搭建信号传播路径,简化远场模型,构建虚拟的壁镜麦克风阵列;然后采用自相关算法和互相关算法测量三种时延参数,基于三种时延参数建立三个损失函数,最后基于梯度下降方法最小化三个损失函数之和测量声源坐标。
本发明包括如下步骤:
第一步,选择麦克风阵列,方法是:
步骤1.1选择线性麦克风阵列,麦克风阵列从形状上分类,可分为线性、圆形阵列等。线性麦克风阵列,即麦克风排列呈直线;圆形阵列即麦克风排列成圆形。线性阵列较为简单,在很多情况下可将声波看成是平面波,可以使用线性阵列的算法,所以选择线性麦克风阵列。
步骤1.2确定线性麦克风阵列中的麦克风数量:从数量上来分,可分为二麦、三麦、四麦、六麦等。麦克风数量越多,算法上更容易实现声音的降噪、声音的增强,为了提高测量的精度,选择四麦或六麦的阵列,即麦克风数量I为4或6。
步骤1.3确定麦克风阵列款式为树莓派款式:麦克风阵列有搭载于树莓派(一种微型嵌入式计算机)上的款式,也有USB接入电脑的款式。USB接入电脑的款式需要依赖于电脑进行计算处理,而树莓派款式可以在麦克风阵列自身内嵌的微型计算机进行一些计算任务。因此,树莓派款式比USB接入电脑的款式更适合普遍的物联网环境,所以选用树莓派款式。
第二步,搭建声源测距定位模型。选择声音传播模型为远场模型,搭建信号传播路径;简化远场模型;构建虚拟的壁镜麦克风阵列。方法是:
步骤2.1搭建远场定位模型和信号多路传播路径,方法如下:
步骤2.1.1由于麦克风阵列规模较小,选用远场定位模型(见书籍John CCurlander and Robert N McDonough,Synthetic aperture radar,vol.11,Wiley,NewYork,1991.)。远场定位模型中声音信号到达每个麦克风传感器的方向角近似或相同。
步骤2.1.2搭建信号多路传播路径。
设声源发出的信号是s(t),t是声音信号的发送时刻,第i个麦克风采集到的声源信号yi(t)的数学模型为公式(1),i为正整数且1≤i≤I:
其中,K为声音信号到达第i个麦克风的传播路径条数,αk为第k条路径的传播衰减因子(声源信号到达第i个麦克风后的强度与声源发射时信号强度的比值),在三维场景下存在高度角,是第i个麦克风第k条路径的高程角,/>是第i个麦克风第k条路径的水平角,/>为声音信号沿第k条传递到第i个麦克风的时延、ni(t)为第i个麦克风采集到的噪声信号,/>为第i个麦克风接收的声源在/>时刻发射的声音信号。/>表示第i个麦克风关于夹角/>与夹角/>的导向矢量(steering vector,见文献综述S.Gannot,E.Vincent,S.Markovich-Golan,and A.Ozerov,“A Consolidated Perspectiveon Multimicrophone Speech Enhancement and Source Separation:多麦克风语音增强和分离,2017”)。
步骤2.2对声源信号yi(t)的数学模型进行简化,方法是:
按到达方式划分麦克风接收到的信号,在有限的空间中,声源信号既可以直接通过空气到达麦克风,也能通过墙壁反射被麦克风接收。将直接通过空气到达麦克风的声源信号记为LOS(the line-of sight)信号,将通过墙壁反射被麦克风接收的声源信号记为ECHO(the echo of nearby wall reflections)信号,简化模型的方法是:
提取LOS信号和正好反射进入麦克风话筒中心的ECHO信号,直接反射入麦克风话筒中心的ECHO信号强度最高,建立LOS信号直接传递给麦克风的路径和ECHO信号传递给麦克风的路径,令公式(1)中K=2。
以第1个麦克风为例,LOS信号到达第1个麦克风所用的时间为t1,ECHO信号到达第1个麦克风所用时间为t′1,LOS信号与ECHO路径的时延差为t′1-t1。这个时延差是由LOS传播的路径比ECHO传播路径短产生的,而且只用第一个麦克风的时延信息,命名为第二时延参数。
声源通过LOS路径到达第2个麦克风所用的时间为t2,第1个麦克风与第2个麦克风之间的LOS时延差为t2-t1,这个时延差命名为第一时延参数,因为t3-t1、t4-t1都是线性关系,t3-t1是t2-t1的两倍,t4-t1是t2-t1的三倍,因此第一时延参数能用一条直线的斜率表示。
传统的TDOA方法都是利用这两类时延差算坐标,只能求解二维平面坐标,但不同的麦克风第二时延参数有差别,t′2-t2、t′3-t3都不同,为了把这个信息用上,本发明引入镜壁麦克风阵列以提高定位准确性。
步骤2.3,构建虚拟的壁镜麦克风阵列。真实的阵列麦克风之间的间距很小,麦克风间距越小,波束的指向性越差,定位精度越低(见文献Robert A Monzingo andThomasWMiller,Introduction to adaptive arrays:自适应阵列的介绍,Scitechpublishing,2004.)。基于ECHO信号的路径将第一步选择的麦克风阵列(令为真实麦克风阵列)等价成一个与墙壁垂直的壁镜(即镜面对称)麦克风阵列,方法是:
步骤2.3.1将麦克风阵列与一面墙壁平行摆放(即麦克风阵列的线性方向与墙壁平行)。
步骤2.3.2令i=1。
步骤2.3.5令i=i+1。
步骤2.3.6若i≤I,转步骤2.3.3;i>I,转第三步。
真实麦克风阵列接收LOS信号,镜壁麦克风阵列接收ECHO信号。
以第1个麦克风为例,声源通过LOS路径到达真实麦克风阵列第1个麦克风所用的时间为t1,通过ECHO路径到达镜壁麦克风阵列第1个麦克风所用时间为t′1,LOS信号与ECHO路径的时延差为t″1=t′1-t1。声源通过LOS路径到达真实麦克风阵列第2个麦克风所用的时间为t2,通过ECHO路径到达镜壁麦克风阵列第2个麦克风所用时间为t′2,LOS信号与ECHO路径的时延差为t″2=t′2-t2。
把第一个真实麦克风和第一个镜壁麦克风作为一个整体,把t′1-t1当作一个整体,t″1-t″2=t′1-t1-(t′2-t2)
将LOS信号与ECHO路径的时延差之差命名为第三时延参数。
第三步,测量信道时延。
广义互相关(Cross-correlation)的GCC-PHAT算法(见文献Charles Knapp andGlifford Carter,“The generalized correlation method for estimation of timedelay:时延估计的广义互相关法,”1976.)和自相关算法(Self-correlation)是目前求解声音信号到达麦克风阵列中时间延迟较为成熟的方法,本发明采用广义互相关的GCC-PHAT算法测量第一时延参数τL,采用自相关算法求解第二时延参数τLE和第三时延参数ΔτLE,第一时延参数τL表示第1个麦克风与其它麦克风之间的LOS时延差,第二时延参数τLE表示LOS信号与ECHO路径到达麦克风阵列中同一麦克风的时延差,第三时延参数ΔτLE表示LOS信号与ECHO路径的时延差之差,方法是:
步骤3.1建立三维坐标模型,方法是:
步骤3.1.1在与真实麦克风阵列平行的墙壁上任取一点作为原点,令原点坐标为(0,0,0),要求原点和I个麦克风话筒中心在同一水平面。
步骤3.1.2沿真实麦克风阵列线性方向建立x轴。
步骤3.1.3在水平垂直x轴的方向建立y轴,在竖直垂直x轴的方向建立z轴。
步骤3.1.4设三维空间中声源的坐标为Ps,令Ps坐标为(xs,ys,zs)。
步骤3.2测量第一时延参数τL,方法如下:
步骤3.2.1测量真实麦克风阵列中第j个麦克风和第1个麦克风之间的LOS时延差τj,1,2≤j≤I,方法如下:
步骤3.2.1.1令j=2。
步骤3.2.1.2采集<j,1>号麦克风对(即由第j个麦克风和第1个麦克风组成的一对麦克风)接收的声音信号。
步骤3.2.1.3在频域上采用互相关GCC-PHAT算法计算第1个麦克风和第j个麦克风互相关图谱Cor<j,1>(t);
步骤3.2.1.4提取Cor<j,1>(t)图谱最高峰,峰值的横坐标记为τj,1,代表第j个麦克风和第1个麦克风LOS与LOS信号互相关。
步骤3.2.1.5令j=j+1。
步骤3.2.1.6若j≤I,转步骤3.2.1.2;若j>I,说明已经完成测量麦克风间LOS时延差任务,得到了τ2,1,…,τj,1,…,τI,1,转步骤3.2.2。
步骤3.2.2将麦克风编号2,…,j,…,I作为横坐标,τ2,1,…,τj,1,…,τI,1作为纵坐标,在二维坐标平面上写成坐标形式(2,τ2,1),…,(j,τj,1),…,(I,τI,1)。
步骤3.2.3线性拟合坐标为(2,τ2,1),…,(j,τj,1),…,(I,τI,1)的I-1个点,得到拟合后的直线,命名为第一直线,令第一时延参数τL等于第一直线的斜率,(参见线性拟合提高时延参数精度,具体见文献Weiguo Wang,Jinming Li,Yuan He,and YunhaoLiu等人的论文,“Localizing multiple acoustic sources with a single microphone array,”:基于单个麦克风阵列定位多声源的方法)。
步骤3.3,测量第二时延参数τLE和第三时延参数ΔτLE,方法是:
步骤3.3.1.1令i=1;
步骤3.3.1.2采集第i个麦克风接收的声音信号。
步骤3.3.1.3在频域上采用自相关算法计算第i个麦克风来自LOS和ECHO两条路径的自相关,得到图谱Cor<i>(t)。
步骤3.3.1.5.令i=i+1。
步骤3.3.5令第三时延参数ΔτLE等于第二直线的斜率。
第四步,基于第一时延参数τL,第二时延参数τLE和第三时延参数ΔτLE建立三个损失函数,方法是:
步骤4.1根据第一时延参数τL建立第一损失函数,方法如下:
步骤4.1.1计算LOS传播路径与水平排列的阵列夹角θ1的余弦值cosθ1,cosθ1采用单位方向向量内积表示,如公式(2)所示:
为x轴方向单位向量,/>为从声源到达第一个真实麦克风的三维矢量,x1为第一个麦克风话筒中心的x轴坐标,ha为麦克风话筒中心的z轴坐标(所有麦克风话筒中心z轴坐标相等),/>为/>的模(声源到达第一个真实麦克风直线距离)。
步骤4.1.2计算声源到达第一个真实麦克风和第二个真实麦克风的直线距离之差d1,d1=da cosθ1。da为麦克风阵列相邻麦克风之间的距离,θ1为LOS信号与麦克风阵列水平夹角,由远场模型假设可知I个麦克风的LOS信号与麦克风阵列水平夹角都是θ1,ECHO信号与墙壁的水平夹角都是θ2。
c表示声速。
步骤4.2根据第二时延参数τLE,建立第二损失函数,方法如下:
步骤4.2.2计算声音信号在LOS与ECHO信号的时延差τLE内传播的距离d2,d2=τLEc。
步骤4.3根据第三时延参数ΔτLE建立第三损失函数,方法如下:
步骤4.3.1计算LOS路径与ECHO路径余弦值差值cosθ2-cosθ1。
cosθ2-cosθ1采用单位方向向量内积表示,如公式(5)所示:
表示为x轴方向单位向量,/>为从声源到达第一个虚拟麦克风的三维矢量,θ2为壁镜麦克风阵列接收的ECHO信号传播路径与水平排列的阵列的夹角,由远场模型假设可知I个麦克风的ECHO信号与墙壁的水平夹角都是θ2,dw为麦克风阵列与墙壁的距离,/>
c表示声速。
第五步,采用梯度下降法测量声源坐标,方法是:
步骤5.1联立公式(3),公式(4),公式(6),得到如公式(7)所示的方程组
采用本发明可以达到以下技术效果:
1.本发明精度高。本发明2.3步引入虚拟的镜壁麦克风阵列,并引入第三种时延参数,可以得到更细粒度的时延信息,获得声源较精确的坐标值。
2.本发明速度快。本发明3.2、3.3步只把自相关和互相关结合起来并且只提取图谱最高值,计算量小,减少了算法运行所需的时间。
3.本发明可应用到三维场景,本发明第5.1步采用三个方程定位出声源的三维坐标,解决了目前定位方法只能定位二维坐标的缺陷。解决了现有方法只能定位声源二维坐标的问题。本方法也能在三个方程下获得二维情况下的声源坐标,且相比较现有方法可以取得更高精度。
附图说明
图1为本发明总体流程图;
图2为单个麦克风接收不同路径的声音信号示意图;
图3为真实麦克风阵列接收LOS和ECHO信号的阵列平面图;
图4为麦克风阵列及虚拟镜壁麦克风接收LOS和ECHO信号的阵列平面图;
图5为本发明在两个不同场景下的二维定位误差;图5(a)是本发明在6×10×4m空房间环境中的定位误差,图5(b)是本发明在4×4×3m办公室环境中的定位误差;
图6为与已有方法定位测量误差对比图;
图7为与已有方法定位所需计算时间对比图。
具体实施方式
以下结合附图对本发明技术方案结合具体实施例作进一步的描述,但本发明并不限于这些实施例。
还应该理解,此处所描述的具体实施例仅仅用于理解本发明,并不用于限定本发明。
图1是本发明总体流程图;如图1所示,在6×10×4m空房间和4×4×3m办公室两种空间布局下分别测试本发明。
本发明包括以下步骤:
第一步,选择麦克风阵列,方法是:
步骤1.1选择线性麦克风阵列,本实施例选择使用seeed公司出品的线性麦克风阵列ReSpeaker。
步骤1.2确定线性麦克风阵列中的麦克风数量:本实施方案选择四麦的阵列4-Mic,I=4。
步骤1.3确定麦克风阵列款式为树莓派款式。
第二步,搭建声源测距定位模型。选择声音传播模型为远场模型,搭建信号传播路径;简化远场模型;构建虚拟的壁镜麦克风阵列。方法是:
步骤2.1搭建远场定位模型和信号多路传播路径,方法如下:
步骤2.1.1选用远场定位模型。远场定位模型中声音信号到达每个麦克风传感器的方向角近似或相同。
步骤2.1.2搭建信号多路传播路径。
设声源发出的信号是s(t),t是声音信号的发送时刻,第i个麦克风采集到的声源信号yi(t)的数学模型为公式(1),i为正整数且1≤i≤I:
其中,K为声音信号到达第i个麦克风的传播路径条数,αk为第k条路径的传播衰减因子,在三维场景下存在高度角,是第i个麦克风第k条路径的高程角,/>是第i个麦克风第k条路径的水平角,/>为声音信号沿第k条传递到第i个麦克风的时延、ni(t)为第i个麦克风采集到的噪声信号,/>为第i个麦克风接收的声源在/>时刻发射的声音信号。/>表示第i个麦克风关于夹角/>与夹角/>的导向矢量(steering vector)
步骤2.2对声源信号yi(t)的数学模型进行简化,方法是:
将直接通过空气到达麦克风的声源信号记为LOS信号,将通过墙壁反射被麦克风接收的声源信号记为ECHO信号,如图2所示,从声源通过空气到达麦克风的声源信号为LOS信号,通过墙壁反射被麦克风接收的声源信号为ECHO信号,图2中画了三条,为3个ECHO信号,对于单个麦克风而言,LOS信号只有一条,但ECHO信号可以有不同的反射角,通过不同反射路径被麦克风接收(即使不是正好反射到麦克风话筒中心但仍可被麦克风接收),简化模型的方法是:
提取LOS信号和正好反射进入麦克风话筒中心的ECHO信号,直接反射入麦克风话筒中心的ECHO信号强度最高,建立LOS信号直接传递给麦克风的路径和ECHO信号传递给麦克风的路径,令公式(1)中K=2,如图3所示:
dw表示麦克风阵列与墙壁的距离,da表示麦克风阵列相邻麦克风之间的距离,θ1表示LOS信号与麦克风阵列水平夹角,θ2表示ECHO信号与墙壁的水平夹角,由远场模型假设可知I个麦克风的LOS信号与麦克风阵列水平夹角都是θ1,ECHO信号与墙壁的水平夹角都是θ2。
以第1个麦克风为例,LOS信号到达第1个麦克风所用的时间为t1,ECHO信号到达第1个麦克风所用时间为t′1,LOS信号与ECHO路径的时延差为t′1-t1。这个时延差是由LOS传播的路径比ECHO传播路径短产生的,而且只用第一个麦克风的时延信息,命名为第二时延参数。
声源通过LOS路径到达第2个麦克风所用的时间为t2,第1个麦克风与第2个麦克风之间的LOS时延差为t2-t1,这个时延差命名为第一时延参数,因为t3-t1、t4-t1都是线性关系,t3-t1是t2-t1的两倍,t4-t1是t2-t1的三倍,因此第一时延参数能用一条直线的斜率表示。
传统的TDOA方法都是利用这两类时延差算坐标,只能求解二维平面,但不同的麦克风第二时延参数有差别,t′2-t2、t′3-t3都不同,为了把这个信息用上,本发明引入镜壁麦克风阵列以提高定位准确性。
步骤2.3,构建虚拟的壁镜麦克风阵列。基于ECHO信号的路径将第一步选择的麦克风阵列(令为真实麦克风阵列)等价成一个与墙壁垂直的壁镜(即镜面对称)麦克风阵列,方法是:
步骤2.3.1将麦克风阵列与一面墙壁平行摆放(即麦克风阵列的线性方向与墙壁平行)。
步骤2.3.2令i=1。
步骤2.3.5令i=i+1。
步骤2.3.6若i≤I,转步骤2.3.3;i>I,转第三步。
真实麦克风阵列接收LOS信号,镜壁麦克风阵列接收ECHO信号,如图4所示,
以第1个麦克风为例,声源通过LOS路径到达真实麦克风阵列第1个麦克风所用的时间为t1,通过ECHO路径到达镜壁麦克风阵列第1个麦克风所用时间为t′1,LOS信号与ECHO路径的时延差为t″1=t′1-t1。声源通过LOS路径到达真实麦克风阵列第2个麦克风所用的时间为t2,通过ECHO路径到达镜壁麦克风阵列第2个麦克风所用时间为t′2,LOS信号与ECHO路径的时延差为t″2=t′2-t2。
把第一个真实麦克风和第一个镜壁麦克风作为一个整体,把t′1-t1当作一个整体,t″1-t″2=t′1-t1-(t′2-t2)
将LOS信号与ECHO路径的时延差之差命名为第三时延参数。第三步,测量信道时延。
采用广义互相关的GCC-PHAT算法测量第一时延参数τL,采用自相关算法求解第二时延参数τLE和第三时延参数ΔτLE,方法是:
步骤3.1建立三维坐标模型,方法是:
步骤3.1.1在与真实麦克风阵列平行的墙壁上任取一点作为原点,令原点坐标为(0,0,0),要求原点和I个麦克风话筒中心在同一水平面。
步骤3.1.2沿真实麦克风阵列线性方向建立x轴。
步骤3.1.3在水平垂直x轴的方向建立y轴,在竖直垂直x轴的方向建立z轴。
步骤3.1.4设三维空间中声源的坐标为Ps,令Ps坐标为(xs,ys,zs)。
步骤3.2,测量第一时延参数τL,方法如下:
步骤3.2.1测量真实麦克风阵列中第j个麦克风和第1个麦克风之间的LOS时延差τj,1,2≤j≤I,方法如下:
步骤3.2.1.1令j=2。
步骤3.2.1.2采集<j,1>号麦克风对(即由第j个麦克风和第1个麦克风组成的一对麦克风)接收的声音信号。
步骤3.2.1.3在频域上采用互相关GCC-PHAT算法计算第1个麦克风和第j个麦克风互相关图谱Cor<j,1>(t);
步骤3.2.1.4提取Cor<j,1>(t)图谱最高峰,峰值的横坐标记为τj,1,代表第j个麦克风和第1个麦克风LOS与LOS信号互相关。
步骤3.2.1.5令j=j+1。
步骤3.2.1.6若j≤I,转步骤3.2.1.2;若j>I,说明已经完成测量麦克风间LOS时延差任务,得到了τ2,1,…,τj,1,…,τI,1,转步骤3.2.2。
步骤3.2.2将麦克风编号2,…,j,…,I作为横坐标,τ2,1,…,τj,1,…,τI,1作为纵坐标,在二维坐标平面上写成坐标形式(2,τ2,1),…,(j,τj,1),…,(I,τI,1)。
步骤3.2.3线性拟合坐标为(2,τ2,1),…,(j,τj,1),…,(I,τI,1)的I-1个点,得到拟合后的直线,命名为第一直线,令第一时延参数τL等于第一直线的斜率。
步骤3.3,测量第二时延参数τLE和第三时延参数ΔτLE,方法是:
步骤3.3.1.1令i=1;
步骤3.3.1.2采集第i个麦克风接收的声音信号。
步骤3.3.1.3在频域上采用自相关算法计算第i个麦克风来自LOS和ECHO两条路径的自相关,得到图谱Cor<i>(t):
步骤3.3.1.5.令i=i+1。
步骤3.3.5令第三时延参数ΔτLE等于第二直线的斜率。
第四步,基于第一时延参数τL,第二时延参数τLE和第三时延参数ΔτLE建立三个损失函数,方法是:
步骤4.1根据第一时延参数τL建立第一损失函数,方法如下:
步骤4.1.1计算LOS传播路径与水平排列的阵列夹角θ1的余弦值cosθ1,cosθ1采用单位方向向量内积表示,如公式(2)所示:
为x轴方向单位向量,/>为从声源到达第一个真实麦克风的三维矢量,x1为第一个麦克风话筒中心的x轴坐标,ha为麦克风话筒中心的z轴坐标(所有麦克风话筒中心z轴坐标相等),/>为/>的模(声源到达第一个真实麦克风直线距离)。
步骤4.1.2计算声源到达第一个真实麦克风和第二个真实麦克风的直线距离之差d1,d1=da cosθ1。
c表示声速。
步骤4.2根据第二时延参数τLE,建立第二损失函数,方法如下:
步骤4.2.2计算声音信号在LOS与ECHO信号的时延差τLE内传播的距离d2,d2=τLEc。
步骤4.3根据第三时延参数ΔτLE建立第三损失函数,方法如下:
步骤4.3.1计算LOS路径与ECHO路径余弦值差值cosθ2-cosθ1。
cosθ2-cosθ1采用单位方向向量内积表示,如公式(5)所示:
c表示声速。
第五步,采用梯度下降法测量声源坐标,方法是:
步骤5.1联立公式(3),公式(4),公式(6),得到如公式(7)所示的方程组
Ωroom表示坐标搜索空间范围,argmin表示返回三个损失函数之和最小的声源坐标值为(xs,ys,zs),完成三维空间声源定位任务,解决了现有方法只能定位在声源二维情况下坐标的问题。本发明也能在三个方程下求解二维情况下的声源坐标,且相比较现有方法可以取得更高精度。
使用直尺测量声源坐标作为声源的实际坐标,将本发明输出的声源坐标与实际坐标相比较,得到本发明的定位精度。对比本发明的定位精度与现有声源定位工具the SoTA2D ISSL system Symphony(采用TDOA算法)的定位精度来检测本发明的效果。
在6×10×4m空房间和4×4×3m办公室分别测量数据,绘制出定位实验的误差图(三维误差图描述过于复杂,这里给出二维误差图,即麦克风阵列的麦克风中心和声源在一个二维平面),如图5所示,图5(a)是在6×10×4m空房间测得的结果,图5(b)是在4×4×3m办公室测得的结果,麦克风阵列位置不变,x表示声源在x轴方向上声源与坐标原点的距离(坐标原点所在位置即麦克风阵列所在位置),y表示声源在y轴方向上声源与坐标原点的距离。如图5(a)所示,二维网格中的16个格子代表16个离散的测试点,每个测试点的横坐标和纵坐标都是0.5m的整数倍,每个格子中的数值代表声源位于该格子内的定位误差,定位误差表示成测量位置到原点的直线距离与声源实际位置到原点的直线距离的差值,单位是米,差值越小表示测量位置与实际位置越接近,定位精度越高。如图5(a)从上到下第三行从左到右第3格所示,声源在x轴上坐标为1.5m,y轴上坐标为1m,测量位置到原点的直线距离与实际位置到原点的直线距离差值为0.11m。如图5(b)从上到下第三行从左到右第3格所示,声源在x轴上坐标为1.5m,y轴上坐标为1m,测量位置到原点的直线距离与实际位置到原点的直线距离差值为0.14m。
从误差图中可以看出当距离变远后精度有所下降,这是因为LOS和ECHO信号变弱,干扰了主峰的提取。从图5(a)和图5(b)可以看出在办公室定位声源坐标的误差大于空房间下的坐标误差,因为办公室的空间布局比空房间更加复杂。
本发明与声源定位工具Symphony在定位误差和计算时间进行对比。
定位误差方面,本发明和Symphony在6×10×4空房间中进行测试。测量本发明和Symphony二维下的定位误差时保持麦克风阵列的麦克风中心和声源在一个二维平面,测量本发明在三维下定位误差时声源与麦克风阵列不在同一高度。定位误差如图6所示,横坐标表示定位误差,定位误差的定义与图5相同,纵坐标表示累计分布函数CDF(CumulativeDistribution Function),描述了声源在同一位置反复测量出现不同定位误差的概率,在2D场景下,图6曲线1和曲线3表明在纵坐标相同时曲线1的横坐标始终小于曲线3的横坐标,说明在相同CDF下本发明的误差(error)始终小于Symphony。从图6可以得出本发明在二维场景下实现0.179m的中值误差(对应CDF=0.5时的error值),小于Symphony的0.389m的中值误差。图6曲线1与曲线2表明定位3D声源坐标的难度高于定位2D声源坐标,Symphony无法在三维场景下实现定位,而本发明在三维场景下实现0.436m的中值误差。
在计算时间方面,如图7,computation delay表示在不同场景下不同算法在电脑、手机、树莓派麦克风三种设备运行的时长,本发明可以在电脑、手机、树莓派麦克风三种设备上运行,Symphony只能在电脑和树莓派麦克风上运行。在二维情况下,本发明在电脑和树莓派阵列运行时长分别是0.12s和2.31s,均优于Symphony的0.9s和5.7s,且本发明在三维情况下也有较低的运行时长,在电脑、手机、树莓派麦克风上运行的时间分别为0.17s、0.52s、3.1s。算法运行的时间与需要计算的任务规模相关,本发明只把自相关和互相关结合起来并且只提取主峰,计算任务少,计算速度快。
Claims (5)
1.一种基于被动式声音信号的声源定位方法,其特征在于包括以下步骤:
第一步,选择麦克风阵列为线性麦克风阵列,麦克风数量为I,I为正整数;
第二步,搭建声源测距定位模型;选择声音传播模型为远场模型,搭建信号传播路径;简化远场模型;构建虚拟的壁镜麦克风阵列;方法是:
步骤2.1搭建远场定位模型和信号多路传播路径,方法如下:
步骤2.1.1选用远场定位模型,远场定位模型中声音信号到达每个麦克风传感器的方向角近似或相同;
步骤2.1.2搭建信号多路传播路径:设声源发出的信号是s(t),t是声音信号的发送时刻,第i个麦克风采集到的声源信号yi(t)的数学模型为公式(1),i为正整数且1≤i≤I:
其中,K为声音信号到达第i个麦克风的传播路径条数,αk为第k条路径的传播衰减因子,在三维场景下存在高度角,是第i个麦克风第k条路径的高程角,/>是第i个麦克风第k条路径的水平角,/>为声音信号沿第k条传递到第i个麦克风的时延、ni(t)为第i个麦克风采集到的噪声信号,/>为第i个麦克风接收的声源在/>时刻发射的声音信号;/>表示第i个麦克风关于夹角/>与夹角/>的导向矢量;
步骤2.2对声源信号yi(t)的数学模型进行简化,方法是:按到达方式划分麦克风接收到的信号,将直接通过空气到达麦克风的声源信号记为LOS信号,将通过墙壁反射被麦克风接收的声源信号记为ECHO信号,提取LOS信号和正好反射进入麦克风话筒中心的ECHO信号,建立LOS信号直接传递给麦克风的路径和ECHO信号传递给麦克风的路径,令公式(1)中K=2;
步骤2.3,构建虚拟的壁镜麦克风阵列,基于ECHO信号的路径将第一步选择的麦克风阵列即真实麦克风阵列等价成一个与墙壁垂直的壁镜麦克风阵列,真实麦克风阵列中每个麦克风与墙壁的距离相等, 为真实麦克风阵列中第i个麦克风与墙壁的距离;真实麦克风阵列与虚拟麦克风阵列镜面对称;真实麦克风阵列接收LOS信号,壁镜麦克风阵列接收ECHO信号,转第三步;
第三步,测量信道时延,包括采用广义互相关的GCC-PHAT算法测量第一时延参数τL,采用自相关算法测量第二时延参数τLE和第三时延参数ΔτLE,第一时延参数τL表示第1个麦克风与其它麦克风之间的LOS时延差,第二时延参数τLE表示LOS信号与ECHO路径到达麦克风阵列中同一麦克风的时延差,第三时延参数ΔτLE表示LOS信号与ECHO路径的时延差之差,方法是:
步骤3.1建立三维坐标模型,方法是:
步骤3.1.1在与真实麦克风阵列平行的墙壁上任取一点作为原点,令原点坐标为(0,0,0),要求原点和I个麦克风话筒中心在同一水平面;
步骤3.1.2沿真实麦克风阵列线性方向建立x轴;
步骤3.1.3在水平垂直x轴的方向建立y轴,在竖直垂直x轴的方向建立z轴;
步骤3.1.4设三维空间中声源的坐标为Ps,令Ps坐标为(xs,ys,zs);
步骤3.2,测量第一时延参数τL,方法:
步骤3.2.1测量真实麦克风阵列中第j个麦克风和第1个麦克风之间的LOS时延差τj,1,2≤j≤I,得到τ2,1,...,τj,1,...,τI,1;
步骤3.2.2将麦克风编号2,...,j,...,I作为横坐标,τ2,1,...,τj,1,...,τI,1作为纵坐标,在二维坐标平面上写成坐标形式(2,τ2,1),...,(j,τj,1),...,(I,τI,1);
步骤3.2.3线性拟合坐标为(2,τ2,1),...,(j,τj,1),...,(I,τI,1)的I-1个点,得到拟合后的直线,命名为第一直线,令第一时延参数τL等于第一直线的斜率;
步骤3.3,测量第二时延参数τLE和第三时延参数ΔτLE,方法是:
步骤3.3.5令第三时延参数ΔτLE等于第二直线的斜率;
第四步,基于τL,τLE和ΔτLE建立三个最小化损失函数,方法是:
步骤4.1根据τL建立第一损失函数,方法是:
步骤4.1.1计算LOS传播路径与水平排列的阵列夹角θ1的余弦值cosθ1,cosθ1采用单位方向向量内积表示,如公式(2)所示:
为x轴方向单位向量,/>为从声源到达第一个真实麦克风的三维矢量,x1为第一个麦克风话筒中心的x轴坐标,ha为麦克风话筒中心的z轴坐标,/>为/>的模即声源到达第一个真实麦克风直线距离;dw为真实麦克风阵列中每个麦克风与墙壁的距离,/>θ1为LOS信号与麦克风阵列水平夹角;
步骤4.1.2计算声源到达第一个真实麦克风和第二个真实麦克风的直线距离之差d1,d1=dacosθ1;da为麦克风阵列中相邻麦克风之间的距离;
c表示声速;
步骤4.2根据第二时延参数τLE,建立第二损失函数,方法是:
步骤4.2.2计算声音信号在LOS与ECHO信号的时延差τLE内传播的距离d2,d2=τLEc;
步骤4.3根据第三时延参数ΔτLE建立第三损失函数,方法是:
步骤4.3.1计算LOS路径与ECHO路径余弦值差值cosθ2-cosθ1;
cosθ2-cosθ1采用单位方向向量内积表示,如公式(5)所示:
θ2为壁镜麦克风阵列接收的ECHO信号传播路径与水平排列的阵列的夹角:
c表示声速;
第五步,采用梯度下降法测量声源坐标,方法是:
步骤5.1联立公式(3),公式(4),公式(6),得到如公式(7)所示的方程组
2.如权利要求1所述的一种基于被动式声音信号的声源定位方法,其特征在于第一步所述选择的麦克风阵列为树莓派款式,麦克风数量I为4或6。
4.如权利要求1所述的一种基于被动式声音信号的声源定位方法,其特征在于步骤3.2.1所述测量麦克风阵列中第j个麦克风和第1个麦克风之间的LOS时延差τj,1的方法是:
步骤3.2.1.1令j=2;
步骤3.2.1.2采集<j,1>号麦克风对接收的声音信号,<j,1>号麦克风对指由第j个麦克风和第1个麦克风组成的一对麦克风;
步骤3.2.1.3在频域上采用互相关GCC-PHAT算法计算第1个麦克风和第j个麦克风互相关图谱Cor<j,1>(t);
步骤3.2.1.4提取Cor<j,1>(t)图谱最高峰,峰值的横坐标记为τj,1,代表第j个麦克风和第1个麦克风LOS与LOS信号互相关;
步骤3.2.1.5令j=j+1;
步骤3.2.1.6若j≤I,转步骤3.2.1.2;若j>I,说明已经完成测量麦克风间LOS时延差任务,得到了τ2,1,…,τj,1,…,τ1,1。
步骤3.3.1.1令i=1;
步骤3.3.1.2采集第i个麦克风接收的声音信号;
步骤3.3.1.3在频域上采用自相关算法计算第i个麦克风来自LOS和ECHO两条路径的自相关,得到图谱Cor<i>(t):
步骤3.3.1.5.令i=i+1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576668.1A CN115902776B (zh) | 2022-12-09 | 2022-12-09 | 一种基于被动式声音信号的声源定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576668.1A CN115902776B (zh) | 2022-12-09 | 2022-12-09 | 一种基于被动式声音信号的声源定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115902776A CN115902776A (zh) | 2023-04-04 |
CN115902776B true CN115902776B (zh) | 2023-06-27 |
Family
ID=86477840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211576668.1A Active CN115902776B (zh) | 2022-12-09 | 2022-12-09 | 一种基于被动式声音信号的声源定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115902776B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117031397B (zh) * | 2023-10-07 | 2023-12-12 | 成都流体动力创新中心 | 一种运动物体噪声源定位和评估的快速计算方法 |
CN117991192B (zh) * | 2024-04-03 | 2024-06-18 | 广东鼎创智造科技有限公司 | 一种无线麦克风声源定位方法、装置、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644650A (zh) * | 2017-09-29 | 2018-01-30 | 山东大学 | 一种基于渐进串行正交化盲源分离算法的改进声源定位方法及其实现*** |
CN108828501A (zh) * | 2018-04-29 | 2018-11-16 | 桂林电子科技大学 | 在室内声场环境中对移动声源进行实时跟踪定位的方法 |
CN109932689A (zh) * | 2019-02-24 | 2019-06-25 | 华东交通大学 | 一种适用于特定定位场景的任意阵列优化方法 |
CN110488223A (zh) * | 2019-07-05 | 2019-11-22 | 东北电力大学 | 一种声源定位方法 |
CN113702909A (zh) * | 2021-08-30 | 2021-11-26 | 浙江大学 | 一种基于声音信号到达时间差的声源定位解析解计算方法及装置 |
-
2022
- 2022-12-09 CN CN202211576668.1A patent/CN115902776B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644650A (zh) * | 2017-09-29 | 2018-01-30 | 山东大学 | 一种基于渐进串行正交化盲源分离算法的改进声源定位方法及其实现*** |
CN108828501A (zh) * | 2018-04-29 | 2018-11-16 | 桂林电子科技大学 | 在室内声场环境中对移动声源进行实时跟踪定位的方法 |
CN109932689A (zh) * | 2019-02-24 | 2019-06-25 | 华东交通大学 | 一种适用于特定定位场景的任意阵列优化方法 |
CN110488223A (zh) * | 2019-07-05 | 2019-11-22 | 东北电力大学 | 一种声源定位方法 |
CN113702909A (zh) * | 2021-08-30 | 2021-11-26 | 浙江大学 | 一种基于声音信号到达时间差的声源定位解析解计算方法及装置 |
Non-Patent Citations (1)
Title |
---|
A novel Time-Delay-of-Arrival estimation technique for multi-microphone audio processing;Jes Thyssen et al.;2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP);21-25 * |
Also Published As
Publication number | Publication date |
---|---|
CN115902776A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115902776B (zh) | 一种基于被动式声音信号的声源定位方法 | |
CN107181543B (zh) | 一种基于传播模型和位置指纹的三维室内无源定位方法 | |
Schillebeeckx et al. | Biomimetic sonar: Binaural 3D localization using artificial bat pinnae | |
Tervo et al. | Acoustic reflection localization from room impulse responses | |
CN108646221B (zh) | 一种基于声源阵列的空间麦克风定位方法 | |
Ba et al. | L1 regularized room modeling with compact microphone arrays | |
JPH09512676A (ja) | 適応性ビーム形成方法及び装置 | |
CN104053129A (zh) | 一种基于稀疏射频指纹插值的无线传感器网络室内定位方法和装置 | |
CN105388459A (zh) | 分布式麦克风阵列网络的鲁棒声源空间定位方法 | |
Tervo et al. | Estimation of reflections from impulse responses | |
CN107861096A (zh) | 基于声音信号到达时间差的最小二乘测向方法 | |
CN109709520A (zh) | 基于麦克风阵列的室内定位与建图方法 | |
Ogiso et al. | Robust indoor localization in a reverberant environment using microphone pairs and asynchronous acoustic beacons | |
CN103487796B (zh) | 一种利用水声信道统计不变特征实现被动测距的方法 | |
CN111107626A (zh) | 一种基于时间反演的doa定位方法 | |
CN110095755B (zh) | 一种声源定位方法 | |
US10375501B2 (en) | Method and device for quickly determining location-dependent pulse responses in signal transmission from or into a spatial volume | |
CN110488253A (zh) | 基于互相关函数延迟求和的多途时延差估计方法 | |
KR20090128221A (ko) | 음원 위치 추정 방법 및 그 방법에 따른 시스템 | |
CN110865359A (zh) | 一种基于接收信号强度的水声测距方法 | |
CN114994608B (zh) | 基于深度学习的多设备自组织麦克风阵列声源定位方法 | |
Zhu et al. | Measurement based ray launching for analysis of outdoor propagation | |
Spiesberger | Geometry of locating sounds from differences in travel time: Isodiachrons | |
Nonsakhoo et al. | Angle of arrival estimation by using stereo ultrasonic technique for local positioning system | |
CN103209476A (zh) | 基于信号强度消除多径干扰实现准确室内定位的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |