CN111060872B - 基于麦克风阵列的声源定位方法、装置和计算机设备 - Google Patents
基于麦克风阵列的声源定位方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111060872B CN111060872B CN202010184759.5A CN202010184759A CN111060872B CN 111060872 B CN111060872 B CN 111060872B CN 202010184759 A CN202010184759 A CN 202010184759A CN 111060872 B CN111060872 B CN 111060872B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- microphone
- subarray
- sound source
- common
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 239000013598 vector Substances 0.000 claims abstract description 129
- 230000005236 sound signal Effects 0.000 claims abstract description 108
- 238000003491 array Methods 0.000 claims abstract description 56
- 230000004807 localization Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000007781 pre-processing Methods 0.000 claims description 20
- 238000012216 screening Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 17
- 238000000691 measurement method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000005314 correlation function Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000001454 recorded image Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/04—Position of source determined by a plurality of spaced direction-finders
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本申请提供了一种基于麦克风阵列的声源定位方法、装置、计算机设备和计算机可读存储介质,麦克风阵列包括2个麦克风子阵列。在定位过程中,首先针对各个麦克风子阵列建立各自对应的子阵列坐标系,以及建立共同对应的公共坐标系。然后使用SRP‑PHAT算法对预处理后的声音信号进行计算,得到声源在各子阵列坐标系中分别对应的方向向量。最后将各个方向向量归化到公共坐标系中,计算得到声源在公共坐标系中的位置坐标。在此过程中,可以摆脱常用测距方法,从而使得对声源的角度测定和距离测量同时进行,从而有效避免声源角度和声源距离因延时的不对应,有效提高声源定位的精准度。
Description
技术领域
本申请涉及声源定位技术领域,特别涉及一种基于麦克风阵列的声源定位方法、装置和计算机设备。
背景技术
声源定位技术是阵列信号处理的重要技术之一,目前在声呐探测、视频电话会议、人工智能、语音追踪与识别、监控系统等多个领域有着广泛的应用。现有基于麦克风阵列的声源定位方法,通常采用远场模型,从而测量声源的方位角。然后通过常用的测距方式,例如红外线、超声波等方法,而红外线、超声波等发射装置需要依赖电机控制,并且红外线、超声波需要发射端发射信号后再接收,硬件结构及算法流程比较复杂,对声源的方向测定与距离测量并不是同步的。因此,在对声源的定位过程中会产生延迟,使得测得的声源角度与距离不对应,导致声源定位精准度低。
发明内容
本申请的主要目的为提供一种基于麦克风阵列的声源定位方法、装置和计算机设备,旨在解决现有基于麦克风阵列的声源定位方法角度与距离不对应、声源定位精准度低的弊端。
为实现上述目的,本申请提供了一种基于麦克风阵列的声源定位方法,所述麦克风阵列包括2个麦克风子阵列,所述声源定位方法包括:
获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
对所述声音信号进行预处理;
使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
根据所述位置坐标确定所述声源的位置;
其中,所述分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
进一步的,所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
进一步的,所述对所述声音信号进行预处理的步骤,包括:
将所述声音信号做短时傅里叶变换,得到二次声音信号;
对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
进一步的,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
获取当前所述麦克风阵列的使用场景类型;
从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本申请还提供了一种基于麦克风阵列的声源定位装置,所述麦克风阵列包括2个麦克风子阵列,所述声源定位装置包括:
第一获取模块,用于获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
预处理模块,用于对所述声音信号进行预处理;
第一计算模块,用于使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
第二计算模块,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
确定模块,用于根据所述位置坐标确定所述声源的位置;
其中,所述第二计算模块,包括:
归化单元,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
第一判断单元,用于根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
第二判断单元,用于若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
第一判定单元,用于若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述第二计算模块,还包括:
第三判断单元,用于若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
第四判断单元,用于若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
第二判定单元,用于若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述第一计算模块,包括:
选取单元,用于按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
计算单元,用于将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
筛选单元,用于从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
进一步的,所述麦克风子阵列呈立体布置,所述第一获取模块,包括:
第一建立单元,用于以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
第二建立单元,用于以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
进一步的,所述预处理模块,包括:
变换单元,用于将所述声音信号做短时傅里叶变换,得到二次声音信号;
去混响单元,用于对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
进一步的,所述声源定位装置,还包括:
第二获取模块,用于获取当前所述麦克风阵列的使用场景类型;
筛选模块,用于从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种基于麦克风阵列的声源定位方法、装置和计算机设备,麦克风阵列包括2个麦克风子阵列。在定位过程中,首先针对各个麦克风子阵列建立各自对应的子阵列坐标系,以及建立共同对应的公共坐标系。然后使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各子阵列坐标系中分别对应的方向向量。最后将各个方向向量归化到公共坐标系中,计算得到声源在公共坐标系中的位置坐标。在此过程中,可以摆脱常用测距方法,从而使得对声源的角度测定和距离测量同时进行,从而有效避免声源角度和声源距离因延时的不对应,有效提高声源定位的精准度。
附图说明
图1是本申请一实施例中基于麦克风阵列的声源定位方法的步骤示意图;
图2是本申请一实施例中通过两直线交点确定声源位置的示意图;
图3是本申请一实施例中通过两直线的公垂线确定声源位置的示意图;
图4是本申请一实施例中基于麦克风阵列的声源定位装置的整体结构框图;
图5是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种基于麦克风阵列的声源定位方法,所述麦克风阵列包括2个麦克风子阵列,所述声源定位方法包括:
S1:获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
S2:对所述声音信号进行预处理;
S3:使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
S4:分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
S5:根据所述位置坐标确定所述声源的位置。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例中以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,而r和R的具体数值则是根据现场麦克风的布置所确定,可以由工作人员在完成对麦克风阵列的布置后测量出具体的数值输入到系统中,也可以由系统通过现有技术自动测量出r和R的具体数值,在此不做详述。由此,设定麦克风阵列在使用场景中的最近测量距离为Dmin,以及最远测量距离为Dmax。当r满足在Dmin内时为远场模型,即 ,其中λ为波长, ,c为声速,一般为340m/s,f为信号频率,本实施例中可以取值为8000Hz。当R满足在Dmax内时为近场模型,即 。据此,系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2;并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。公共坐标系和子阵列坐标系在首次建立后,如果麦克风阵列在后续的使用中,麦克风阵列的布置位置没有发生改变,则公共坐标系和子阵列坐标系可以通过使用记录直接获取,不需要重新构建。系统通过麦克风阵列接收声源输出的声音信号。系统先将声音信号做短时傅里叶变换,得到二次声音信号;再对二次声音信号做多通道WPE去混响,从而完成对声音信号的预处理,得到预处理后的声音信号。系统按照参照角度范围,各个子阵列坐标系分别均匀选取若干个初始方向向量。其中,一组初始方向向量对应一个子阵列坐标系,一组初始方向向量由多个初始方向向量组成。然后系统将各初始方向向量和预处理后的声音信号代入SRP-PHAT表达式中,计算得到各初始方向向量对应的SRP-PHAT值。再从各子阵列坐标系对应的若干个SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的子阵列坐标系的声源方向向量。系统分别将各子阵列坐标系的声源方向向量及坐标原点归化到公共坐标系中,联立直线方程,得到直线方程组。其中,直线方程组包括两个直线方程,一个直线方程对应一个子阵列坐标系。系统根据直线方程组,判断各直线方程对应的直线是否异面。若各直线方程对应的直线共面,则判断各直线方程对应的直线的交点是否位于预设角度范围,该预设角度范围是指声源可能出现的区域。若各直线方程的交点是位于预设角度范围内,则将交点的坐标作为声源在公共坐标系中的位置坐标,如图2所示。其中,麦克风阵列包括吊顶式、贴墙式等,不同类型的麦克风阵列对应的“声源可能出现的区域”不同。以吊顶式的麦克风阵列为例,麦克风阵列安装在天花板上,声源不可能从天花板上传来,该“声源可能出现的区域”体现为具体的参数则为公共坐标系的Z轴为正以外的区域,即吊顶式的麦克风阵列,如果交点的坐标不位于公共坐标系的Z轴为正的区域,这样交点的坐标才是声源在公共坐标系中的位置坐标。不同类型的麦克风阵列所对应的“声源可能出现的区域”由设计人员在出厂时对应定义。若各直线方程对应的直线异面,则判断各直线的公垂线的长度是否小于两个麦克风子阵列对应的几何中心距离,以及是否位于声源可能出现的区域,即预设角度范围。若各直线的公垂线的长度小于两个麦克风子阵列对应的几何中心距离,且是位于预设角度范围内,则将公垂线的中点的坐标作为声源在公共坐标系中的位置坐标,如图3所示。系统根据声源的位置坐标,可以计算得到声源的位置坐标所对应的点与公共坐标系L0的原点之间的距离、方位角和俯仰角,从而确定声源在麦克风阵列的应用场景中的位置。其中,根据两点坐标确定两点之间的距离、方位角、俯仰角的计算方法为公知常识,在此不做详述。
进一步的,上述分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
S401:分别将各所述方向向量和各所述子阵列坐标系的原点坐标归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
S402:根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
S403若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围内,所述预设角度范围为声源可能出现的区域;
S404:若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,系统在计算后得到声源在对应的子阵列坐标系的方向向量、,将其归化到公共坐标系L0中,则分别为,。直角坐标系L1对应的正四面体的几何中心,即原点坐标为点(x1,y1,z1),直角坐标系L2对应的正四面体的几何中心为点(x2,y2,z2)。系统根据各子阵列坐标系的原点坐标和各方向坐标分别联立直线方程,得到直线方程组:,其中,,,,。系统根据直线方程组可以判断各直线方程对应的直线是否异面。具体地,系统计算:;如果,则两直线共面,若是平行或交点不在预设角度范围内,比如麦克风阵列为吊顶式,若交点在公共坐标系的z轴为正的区域上,则舍弃当前计算,否则,可以求得声源位置,即两直线的交点的坐标为声源在公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
S405:若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
S406:若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
S407:若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,麦克风阵列由两个麦克风子阵列组成,并且麦克风子阵列呈立体布置,比如正四面体。由上述实施例可知,系统计算:。如果,则说明两直线异面。此时,系统构建两直线之间的公垂线,并判断该公垂线的长度是否小于这两个麦克风子阵列对应的几何中心距离R。如果两直线的公垂线的长度大于或等于R,则舍弃当前计算;若公垂线的长度小于R,则判断公垂线的中点的坐标是否位于预设角度范围,若是位于预设角度范围,则以公垂线的中点坐标作为声源的位置坐标。
进一步的,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
S301:按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
S302:将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
S303:从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
本实施例中,麦克风阵列系统在接收到声源发出的声音信号xi后,对其进行预处理,比如做短时傅里叶变换、去混响等,得到预处理后的声音信号Y(l,k)。系统将预处理后的声音信号Y(l,k)按照麦克风所在的正多面体子阵,比如正四面体分别拆分为Y(1)(l,k)和Y(2)(l,k),下面表示为Y(a)(l,k),a为1、2,与子阵列坐标系的对应。系统采用SRP-PHAT算法,分别在声音信号Y(a)(l,k)所在的子阵列坐标系中做声源方向的测定。具体地,系统按照预先设定的角度范围,即参照角度范围,在空间中均匀选取N个初始方向向量,n,然后求取与各初始方向向量对应的SRP-PHAT值,再在这些SRP-PHAT值里面寻找峰值,以峰值最大者对应的初始方向向量作为目标声源方向,即对应的子阵列坐标系的方向向量。其中,SRP-PHAT算法的表达式为:
;其中,M=4,为一个麦克风子阵列对应的阵元个数,为第a个子阵列中的第i和第j个麦克风的接收信号基于相位变换加权的广义互相关函数GCC-PHAT,其表达为:;其中,k是频率索引,k=1,2,…,K,K是FFT变换的点数,表示共轭,,是采样频率,表示方向向量到达第个和第个麦克风的到达时间差TDOA(Time Difference of Arrival)。以和分别表示第个和第个麦克风的直角坐标向量,c为声速,则:
进一步的,各所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
S101:以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
S102:以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的,麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,其中R和r的数值可以由设计人员根据设备的应用场景确定后输入,也可以由系统通过现有技术自动测量得到,在此不做详述。系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2。并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。
进一步的,所述对所述声音信号进行预处理的步骤,包括:
S201将所述声音信号做短时傅里叶变换,得到二次声音信号;
S202:对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
本实施例中,系统所采用的麦克风阵列为4通道的麦克风阵列。麦克风阵列在采集到声源输出的声音信号后,该声音信号为4通道时域信号。系统首先对4通道时域信号,做短时傅里叶变换后,得到二次声音信号。其中,是通道索引,有;则第帧第个频带的信号表示为。其中包含了麦克风子阵列1和麦克风子阵列2的声音信号。然后,系统为了减少混响信号对声源定位的影响,对二次声音信号做多通道WPE去混响,最终得到预处理后的声音信号。本实施例中,系统选用基于NLMS的WPE去混响方法。其方法如下。
系统可以用线性预测形式来表示去混响后的信号:
进一步的,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
S6:获取当前所述麦克风阵列的使用场景类型;
S7:从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本实施例中,系统在选取初始方向向量时,需要根据参照角度范围进行选取,一方面是为了缩小声源定位的搜索范围,减少计算量,提高声源定位的效率;另一方面是为了减少反射声的影响,提高声源定位的准确度。比如,吊顶式的会议通话设备,语音源不可能出现在天花板上,可以把俯仰角小于90°的范围剔除出去,便可以排除来自天花板的反射声。参照角度范围可以由工作人员手动输入,也可以由系统根据采集的使用场景类型进行自动匹配。具体地,系统可以通过摄像头等采集装置获取到麦克风阵列当前所部署的场景的图像,然后根据场景的图像与预先录入的图像进行比对,从而得到使用场景类型。然后将使用场景类型输入到预先构建的角度数据库中,根据角度数据库中的使用场景类型与预设角度范围映射表对应得到,当前的使用场景类型对应的预设角度范围,并将该预设角度范围设定为参照角度范围,以便在后续计算中调用。
本实施例提供的一种基于麦克风阵列的声源定位方法、装置和计算机设备,麦克风阵列包括不少于2个的麦克风子阵列。在定位过程中,首先针对各个麦克风子阵列建立各自对应的子阵列坐标系,以及建立共同对应的公共坐标系。然后使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各子阵列坐标系中分别对应的方向向量。最后将各个方向向量归化到公共坐标系中,计算得到声源在公共坐标系中的位置坐标。在此过程中,可以摆脱常用测距方法,从而使得对声源的角度测定和距离测量同时进行,从而有效避免声源角度和声源距离因延时的不对应,有效提高声源定位的精准度。
参照图4,本申请一实施例提供了一种基于麦克风阵列的声源定位装置,所述麦克风阵列包括2个麦克风子阵列,所述声源定位装置包括:
第一获取模块1,用于获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
预处理模块2,用于对所述声音信号进行预处理;
第一计算模块3,用于使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
第二计算模块4,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
确定模块5,用于根据所述位置坐标确定所述声源的位置。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的,麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例中以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,而r和R的具体数值则是根据现场麦克风的布置所确定,可以由工作人员在完成对麦克风阵列的布置后测量出具体的数值输入到系统中,也可以由系统通过现有技术自动测量出r和R的具体数值,在此不做详述。由此,设定麦克风阵列在使用场景中的最近测量距离为Dmin,以及最远测量距离为Dmax。当r满足在Dmin内时为远场模型,即,其中λ为波长,,c为声速,一般为340m/s,f为信号频率,本实施例中可以取值为8000Hz。当R满足在Dmax内时为近场模型,即。据此,系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2;并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。公共坐标系和子阵列坐标系在首次建立后,如果麦克风阵列在后续的使用中,麦克风阵列的布置位置没有发生改变,则公共坐标系和子阵列坐标系可以通过使用记录直接获取,不需要重新构建。系统通过麦克风阵列接收声源输出的声音信号。系统先将声音信号做短时傅里叶变换,得到二次声音信号;再对二次声音信号做多通道WPE去混响,从而完成对声音信号的预处理,得到预处理后的声音信号。系统按照参照角度范围,各个子阵列坐标系分别均匀选取若干个初始方向向量。其中,一组初始方向向量对应一个子阵列坐标系,一组初始方向向量由多个初始方向向量组成。然后系统将各初始方向向量和预处理后的声音信号代入SRP-PHAT表达式中,计算得到各初始方向向量对应的SRP-PHAT值。再从各子阵列坐标系对应的若干个SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的子阵列坐标系的声源方向向量。系统分别将各子阵列坐标系的声源方向向量及坐标原点归化到公共坐标系中,联立直线方程,得到直线方程组。其中,直线方程组包括两个直线方程,一个直线方程对应一个子阵列坐标系。系统根据直线方程组,判断各直线方程对应的直线是否异面。若各直线方程对应的直线共面,则判断各直线方程对应的直线的交点是否位于预设角度范围,该预设角度范围是指声源可能出现的区域。若各直线方程的交点是位于预设角度范围,则将交点的坐标作为声源在公共坐标系中的位置坐标,如图2所示。其中,麦克风阵列包括吊顶式、贴墙式等,不同类型的麦克风阵列对应的“声源可能出现的区域”不同。以吊顶式的麦克风阵列为例,麦克风阵列安装在天花板上,声源不可能从天花板上传来,该“声源可能出现的区域”体现为具体的参数则为公共坐标系的Z轴为正以外的区域,即吊顶式的麦克风阵列,如果交点的坐标不位于公共坐标系的Z轴为正的区域,这样交点的坐标才是声源在公共坐标系中的位置坐标。不同类型的麦克风阵列所对应的“声源可能出现的区域”由设计人员在出厂时对应定义。若各直线方程对应的直线异面,则判断各直线的公垂线的长度是否小于两个麦克风子阵列对应的几何中心距离,以及是否位于声源可能出现的区域,即预设角度范围。若各直线的公垂线的长度小于两个麦克风子阵列对应的几何中心距离,且是位于预设角度范围,则将公垂线的中点的坐标作为声源在公共坐标系中的位置坐标,如图3所示。系统根据声源的位置坐标,可以计算得到声源的位置坐标所对应的点与公共坐标系L0的原点之间的距离、方位角和俯仰角,从而确定声源在麦克风阵列的应用场景中的位置。其中,根据两点坐标确定两点之间的距离、方位角、俯仰角的计算方法为公知常识,在此不做详述。
进一步的,所述第二计算模块4,包括:
归化单元,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
第一判断单元,用于根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
第二判断单元,用于若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
第一判定单元,用于若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,系统在计算后得到声源在对应的子阵列坐标系的方向向量、,将其归化到公共坐标系L0中,则分别为,。直角坐标系L1对应的正四面体的几何中心,即原点坐标为点(x1,y1,z1),直角坐标系L2对应的正四面体的几何中心为点(x2,y2,z2)。系统根据各子阵列坐标系的原点坐标和各方向坐标分别联立直线方程,得到直线方程组:,其中,,,,。系统根据直线方程组可以判断各直线方程对应的直线是否异面。具体地,系统计算:;如果,则两直线共面,若是平行或交点不在预设角度范围内,比如麦克风阵列为吊顶式,若交点在公共坐标系的z轴为正的区域上,则舍弃当前计算,否则,可以求得声源位置,即两直线的交点的坐标为声源在公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述第二计算模块4,还包括:
第三判断单元,用于若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
第四判断单元,用于若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
第二判定单元,用于若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,麦克风阵列由两个麦克风子阵列组成,并且麦克风子阵列呈立体布置,比如正四面体。由上述实施例可知,系统计算:。如果,则说明两直线异面。此时,系统构建两直线之间的公垂线,并判断该公垂线的长度是否小于这两个麦克风子阵列对应的几何中心距离R。如果两直线的公垂线的长度大于或等于R,则舍弃当前计算;若公垂线的长度小于R,则判断公垂线的中点的坐标是否位于预设角度范围,若是位于预设角度范围,则以公垂线的中点坐标作为声源的位置坐标。
进一步的,所述第一计算模块3,包括:
选取单元,用于按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
计算单元,用于将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
筛选单元,用于从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
本实施例中,麦克风阵列系统在接收到声源发出的声音信号xi后,对其进行预处理,比如做短时傅里叶变换、去混响等,得到预处理后的声音信号Y(l,k)。系统将预处理后的声音信号Y(l,k)按照麦克风所在的正多面体子阵,比如正四面体分别拆分为Y(1)(l,k)和Y(2)(l,k),下面表示为Y(a)(l,k),a为1、2,与子阵列坐标系的对应。系统采用SRP-PHAT算法,分别在声音信号Y(a)(l,k)所在的子阵列坐标系中做声源方向的测定。具体地,系统按照预先设定的角度范围,即参照角度范围,在空间中均匀选取N个初始方向向量,n,然后求取与各初始方向向量对应的SRP-PHAT值,再在这些SRP-PHAT值里面寻找峰值,以峰值最大者对应的初始方向向量作为目标声源方向,即对应的子阵列坐标系的方向向量。其中,SRP-PHAT算法的表达式为:
;其中,M=4,为一个麦克风子阵列对应的阵元个数,为第a个列中的第i和第j个麦克风的接收信号基于相位变换加权的广义互相关函数GCC-PHAT,其表达为:;其中,k是频率索引,k=1,2,…,K,K是FFT变换的点数,表示共轭,,是采样频率,表示方向向量到达第个和第个麦克风的到达时间差TDOA(Time Difference of Arrival)。以和分别表示第个和第个麦克风的直角坐标向量,c为声速,则:
进一步的,所述麦克风子阵列呈立体布置,所述第一获取模块1,包括:
第一建立单元,用于以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
第二建立单元,用于以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的,麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,其中R和r的数值可以由设计人员根据设备的应用场景确定后输入,也可以由系统通过现有技术自动测量得到,在此不做详述。系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2。并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。
进一步的,所述预处理模块2,包括:
变换单元,用于将所述声音信号做短时傅里叶变换,得到二次声音信号;
去混响单元,用于对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
本实施例中,系统所采用的麦克风阵列为4通道的麦克风阵列。麦克风阵列在采集到声源输出的声音信号后,该声音信号为4通道时域信号。系统首先对4通道时域信号,做短时傅里叶变换后,得到二次声音信号。其中,是通道索引,有;则第帧第个频带的信号表示为。其中包含了麦克风子阵列1和麦克风子阵列2的声音信号。然后,系统为了减少混响信号对声源定位的影响,对二次声音信号做多通道WPE去混响,最终得到预处理后的声音信号。本实施例中,系统选用基于NLMS的WPE去混响方法。其方法如下。
系统可以用线性预测形式来表示去混响后的信号:
进一步的,所述声源定位装置,还包括:
第二获取模块6,用于获取当前所述麦克风阵列的使用场景类型;
筛选模块7,用于从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本实施例中,系统在选取初始方向向量时,需要根据参照角度范围进行选取,一方面是为了缩小声源定位的搜索范围,减少计算量,提高声源定位的效率;另一方面是为了减少反射声的影响,提高声源定位的准确度。比如,吊顶式的会议通话设备,语音源不可能出现在天花板上,可以把俯仰角小于90°的范围剔除出去,便可以排除来自天花板的反射声。参照角度范围可以由工作人员手动输入,也可以由系统根据采集的使用场景类型进行自动匹配。具体地,系统可以通过摄像头等采集装置获取到麦克风阵列当前所部署的场景的图像,然后根据场景的图像与预先录入的图像进行比对,从而得到使用场景类型。然后将使用场景类型输入到预先构建的角度数据库中,根据角度数据库中的使用场景类型与预设角度范围映射表对应得到,当前的使用场景类型对应的预设角度范围,并将该预设角度范围设定为参照角度范围,以便在后续计算中调用。
本申请中提供的一种基于麦克风阵列的声源定位装置,麦克风阵列包括不少于2个的麦克风子阵列。在定位过程中,首先针对各个麦克风子阵列建立各自对应的子阵列坐标系,以及建立共同对应的公共坐标系。然后使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各子阵列坐标系中分别对应的方向向量。最后将各个方向向量归化到公共坐标系中,计算得到声源在公共坐标系中的位置坐标。在此过程中,可以摆脱常用测距方法,从而使得对声源的角度测定和距离测量同时进行,从而有效避免声源角度和声源距离因延时的不对应,有效提高声源定位的精准度。
参照图5,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储角度数据库等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于麦克风阵列的声源定位方法,其中,所述麦克风阵列包括2个麦克风子阵列。
上述处理器执行上述基于麦克风阵列的声源定位方法的步骤:
S1:获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
S2:对所述声音信号进行预处理;
S3:使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
S4:分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
S5:根据所述位置坐标确定所述声源的位置。
进一步的,上述分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
S401:分别将各所述方向向量和各所述子阵列坐标系的原点坐标归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
S402:根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
S403若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围内,所述预设角度范围为声源可能出现的区域;
S404:若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
S405:若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
S406:若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
S407:若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
S301:按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
S302:将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
S303:从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
进一步的,各所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
S101:以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
S102:以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
进一步的,所述对所述声音信号进行预处理的步骤,包括:
S201将所述声音信号做短时傅里叶变换,得到二次声音信号;
S202:对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
进一步的,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
S6:获取当前所述麦克风阵列的使用场景类型;
S7:从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于麦克风阵列的声源定位方法,其中,所述麦克风阵列包括2个麦克风子阵列,具体为:
S1:获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
S2:对所述声音信号进行预处理;
S3:使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
S4:分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
S5:根据所述位置坐标确定所述声源的位置。
进一步的,上述分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
S401:分别将各所述方向向量和各所述子阵列坐标系的原点坐标归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
S402:根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
S403若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围内,所述预设角度范围为声源可能出现的区域;
S404:若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
S405:若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
S406:若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
S407:若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
进一步的,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
S301:按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
S302:将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
S303:从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
进一步的,各所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
S101:以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
S102:以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
进一步的,所述对所述声音信号进行预处理的步骤,包括:
S201将所述声音信号做短时傅里叶变换,得到二次声音信号;
S202:对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
进一步的,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
S6:获取当前所述麦克风阵列的使用场景类型;
S7:从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (8)
1.一种基于麦克风阵列的声源定位方法,其特征在于,所述麦克风阵列包括2个麦克风子阵列,所述声源定位方法包括:
获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
对所述声音信号进行预处理;
使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
根据所述位置坐标确定所述声源的位置;
其中,所述麦克风子阵列呈正多面体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号的步骤之前,包括:
以所述麦克风子阵列对应的正多面体的几何中心为原点,分别建立与各所述麦克风子阵列对应的直角坐标系;
以两个所述麦克风子阵列对应的正多面体的几何中心连线的中点为原点建立直角坐标系,得到所述公共坐标系;
所述分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,得到各所述方向向量分别对应的方向坐标:
以及各所述子阵列坐标系的原点坐标:(x1,y1,z1)、(x2,y2,z2);
根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
若各所述直线方程对应的直线的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
2.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述根据所述直线方程组,判断各所述直线方程对应的直线是否异面的步骤之后,包括:
若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
3.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系,所述参照角度范围为预先设定的角度范围;
将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
4.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述对所述声音信号进行预处理的步骤,包括:
将所述声音信号做短时傅里叶变换,得到二次声音信号;
对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
5.根据权利要求3所述的基于麦克风阵列的声源定位方法,其特征在于,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
获取当前所述麦克风阵列的使用场景类型;
从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
6.一种基于麦克风阵列的声源定位装置,其特征在于,所述麦克风阵列包括2个麦克风子阵列,所述声源定位装置包括:
第一获取模块,用于获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
预处理模块,用于对所述声音信号进行预处理;
第一计算模块,用于使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
第二计算模块,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
确定模块,用于根据所述位置坐标确定所述声源的位置;
其中,所述麦克风子阵列呈正多面体布置,所述第一获取模块还用于:
以所述麦克风子阵列对应的正多面体的几何中心为原点,分别建立与各所述麦克风子阵列对应的直角坐标系;
以两个所述麦克风子阵列对应的正多面体的几何中心连线的中点为原点建立直角坐标系,得到所述公共坐标系;
所述第二计算模块,包括:
归化单元,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,得到各所述方向向量分别对应的方向坐标:,,以及各所述子阵列坐标系的原点坐标:(x1,y1,z1)、(x2,y2,z2);
第一判断单元,用于根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
第二判断单元,用于若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
第一判定单元,用于若各所述直线方程对应的直线的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184759.5A CN111060872B (zh) | 2020-03-17 | 2020-03-17 | 基于麦克风阵列的声源定位方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184759.5A CN111060872B (zh) | 2020-03-17 | 2020-03-17 | 基于麦克风阵列的声源定位方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111060872A CN111060872A (zh) | 2020-04-24 |
CN111060872B true CN111060872B (zh) | 2020-06-23 |
Family
ID=70307922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010184759.5A Active CN111060872B (zh) | 2020-03-17 | 2020-03-17 | 基于麦克风阵列的声源定位方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111060872B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111785057A (zh) * | 2020-06-23 | 2020-10-16 | 大众问问(北京)信息科技有限公司 | 一种突发事件的提示方法、装置及车辆 |
CN111489753B (zh) * | 2020-06-24 | 2020-11-03 | 深圳市友杰智新科技有限公司 | 抗噪声的声源定位方法、装置和计算机设备 |
CN112198498A (zh) * | 2020-09-11 | 2021-01-08 | 海创半导体科技(深圳)有限公司 | 一种利用智能语音模组测距的方法 |
CN114442039A (zh) * | 2020-11-05 | 2022-05-06 | 中国移动通信集团山东有限公司 | 一种声源定位方法、装置和电子设备 |
WO2022133739A1 (zh) * | 2020-12-22 | 2022-06-30 | 贵州电网有限责任公司 | 一种基于时间差的头戴式ar眼镜声源定位方法及装置 |
CN112684412B (zh) * | 2021-01-12 | 2022-09-13 | 中北大学 | 一种基于模式聚类的声源定位方法及系统 |
CN113312971B (zh) * | 2021-04-25 | 2024-09-06 | 普联国际有限公司 | 麦克风阵列的参数标定方法、装置、终端设备及存储介质 |
CN113514801A (zh) * | 2021-04-28 | 2021-10-19 | 成都启英泰伦科技有限公司 | 基于深度学习的麦克风阵列声源定位方法及声源识别方法 |
CN113865021A (zh) * | 2021-08-20 | 2021-12-31 | 海信(山东)空调有限公司 | 一种空调系统及空调控制方法 |
CN114488009A (zh) * | 2021-12-01 | 2022-05-13 | 南京惠斯通智能科技有限责任公司 | 一种基于矢量传感器的声源定位方法 |
CN114353285B (zh) * | 2022-01-26 | 2023-02-17 | Tcl空调器(中山)有限公司 | 声源定位方法、装置、计算机设备、空调器以及存储介质 |
CN116466294B (zh) * | 2022-12-30 | 2024-07-19 | 国网宁夏电力有限公司 | 一种二维超声波阵列信号定位检测方法、装置 |
CN116027271B (zh) * | 2022-12-30 | 2024-06-25 | 国网宁夏电力有限公司 | 一种三维超声波阵列信号定位检测方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0834748A1 (en) * | 1996-10-01 | 1998-04-08 | He Holdings, Inc. Dba Hughes Electronics | Vehicle position tracking technique |
CN104142492A (zh) * | 2014-07-29 | 2014-11-12 | 佛山科学技术学院 | 一种srp-phat多源空间定位方法 |
CN206057554U (zh) * | 2016-08-10 | 2017-03-29 | 北京理工大学 | 一种多球麦克风阵列声场声压采集装置 |
CN107613428A (zh) * | 2017-09-15 | 2018-01-19 | 北京地平线信息技术有限公司 | 声音处理方法、装置和电子设备 |
CN108333480A (zh) * | 2018-01-04 | 2018-07-27 | 国家电网公司华中分部 | 一种变电站局部放电定位系统的定位方法 |
CN108680901A (zh) * | 2018-04-13 | 2018-10-19 | 南京信息工程大学 | 一种新型的声源方位定位方法 |
CN109254266A (zh) * | 2018-11-07 | 2019-01-22 | 苏州科达科技股份有限公司 | 基于麦克风阵列的声源定位方法、装置及存储介质 |
CN110068796A (zh) * | 2019-03-31 | 2019-07-30 | 天津大学 | 一种用于声源定位的麦克风阵列方法 |
CN110673819A (zh) * | 2019-09-18 | 2020-01-10 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
-
2020
- 2020-03-17 CN CN202010184759.5A patent/CN111060872B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0834748A1 (en) * | 1996-10-01 | 1998-04-08 | He Holdings, Inc. Dba Hughes Electronics | Vehicle position tracking technique |
CN104142492A (zh) * | 2014-07-29 | 2014-11-12 | 佛山科学技术学院 | 一种srp-phat多源空间定位方法 |
CN206057554U (zh) * | 2016-08-10 | 2017-03-29 | 北京理工大学 | 一种多球麦克风阵列声场声压采集装置 |
CN107613428A (zh) * | 2017-09-15 | 2018-01-19 | 北京地平线信息技术有限公司 | 声音处理方法、装置和电子设备 |
CN108333480A (zh) * | 2018-01-04 | 2018-07-27 | 国家电网公司华中分部 | 一种变电站局部放电定位系统的定位方法 |
CN108680901A (zh) * | 2018-04-13 | 2018-10-19 | 南京信息工程大学 | 一种新型的声源方位定位方法 |
CN109254266A (zh) * | 2018-11-07 | 2019-01-22 | 苏州科达科技股份有限公司 | 基于麦克风阵列的声源定位方法、装置及存储介质 |
CN110068796A (zh) * | 2019-03-31 | 2019-07-30 | 天津大学 | 一种用于声源定位的麦克风阵列方法 |
CN110673819A (zh) * | 2019-09-18 | 2020-01-10 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111060872A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111060872B (zh) | 基于麦克风阵列的声源定位方法、装置和计算机设备 | |
Argentieri et al. | A survey on sound source localization in robotics: From binaural to array processing methods | |
Brandstein et al. | A practical methodology for speech source localization with microphone arrays | |
JP7109852B2 (ja) | 音声認識方法、装置、コンピュータデバイス、電子機器及びコンピュータプログラム | |
US9460732B2 (en) | Signal source separation | |
CN111489753B (zh) | 抗噪声的声源定位方法、装置和计算机设备 | |
Yook et al. | Fast sound source localization using two-level search space clustering | |
JP6467736B2 (ja) | 音源位置推定装置、音源位置推定方法および音源位置推定プログラム | |
CN107942284B (zh) | 基于二维正交非均匀线阵的水下波达方向估计方法与装置 | |
CN113126028B (zh) | 一种基于多个麦克风阵列的噪声源定位方法 | |
Di Carlo et al. | Mirage: 2d source localization using microphone pair augmentation with echoes | |
CN109669158B (zh) | 一种声源定位方法、系统、计算机设备及存储介质 | |
Tuma et al. | Sound source localization | |
Gala et al. | Realtime active sound source localization for unmanned ground robots using a self-rotational bi-microphone array | |
CN108107403A (zh) | 一种波达方向估计方法和装置 | |
Lovatello et al. | Steerable circular differential microphone arrays | |
Bologni et al. | Acoustic reflectors localization from stereo recordings using neural networks | |
Cho et al. | Sound source localization for robot auditory systems | |
KR20090128221A (ko) | 음원 위치 추정 방법 및 그 방법에 따른 시스템 | |
Guarato et al. | Ultrasonic sonar system for target localization with one emitter and four receivers: Ultrasonic 3D localization | |
CN112965033A (zh) | 一种声源定位系统 | |
Meuse et al. | Characterization of talker radiation pattern using a microphone array | |
Carmena et al. | Artificial ears for a biomimetic sonarhead: From multiple reflectors to surfaces | |
CN111239688A (zh) | 一种基于校准源的分布式多麦克风阵列的映射校准方法 | |
Togami et al. | Head orientation estimation of a speaker by utilizing kurtosis of a DOA histogram with restoration of distance effect |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Method, device, and computer equipment for sound source localization based on microphone array Granted publication date: 20200623 Pledgee: Shenzhen Shunshui Incubation Management Co.,Ltd. Pledgor: SHENZHEN YOUJIE ZHIXIN TECHNOLOGY Co.,Ltd. Registration number: Y2024980029366 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |