CN111060872A - 基于麦克风阵列的声源定位方法、装置和计算机设备 - Google Patents

基于麦克风阵列的声源定位方法、装置和计算机设备 Download PDF

Info

Publication number
CN111060872A
CN111060872A CN202010184759.5A CN202010184759A CN111060872A CN 111060872 A CN111060872 A CN 111060872A CN 202010184759 A CN202010184759 A CN 202010184759A CN 111060872 A CN111060872 A CN 111060872A
Authority
CN
China
Prior art keywords
coordinate system
microphone
sound source
subarray
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.)
Granted
Application number
CN202010184759.5A
Other languages
English (en)
Other versions
CN111060872B (zh
Inventor
陈俊彬
王广新
杨汉丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Youjie Zhixin Technology Co ltd
Original Assignee
Shenzhen Youjie Zhixin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Youjie Zhixin Technology Co ltd filed Critical Shenzhen Youjie Zhixin Technology Co ltd
Priority to CN202010184759.5A priority Critical patent/CN111060872B/zh
Publication of CN111060872A publication Critical patent/CN111060872A/zh
Application granted granted Critical
Publication of CN111060872B publication Critical patent/CN111060872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-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/04Position 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)
  • Circuit For Audible Band Transducer (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (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内时为远场模型,即
Figure 464642DEST_PATH_IMAGE001
,其中λ为波长,
Figure 444099DEST_PATH_IMAGE002
,c为声速,一般为340m/s,f为信号频率,本实施例中可以取值为8000Hz。当R满足在Dmax内时为近场模型,即
Figure 286153DEST_PATH_IMAGE003
。据此,系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2;并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。公共坐标系和子阵列坐标系在首次建立后,如果麦克风阵列在后续的使用中,麦克风阵列的布置位置没有发生改变,则公共坐标系和子阵列坐标系可以通过使用记录直接获取,不需要重新构建。系统通过麦克风阵列接收声源输出的声音信号。系统先将声音信号做短时傅里叶变换,得到二次声音信号;再对二次声音信号做多通道WPE去混响,从而完成对声音信号的预处理,得到预处理后的声音信号。系统按照参照角度范围,各个子阵列坐标系分别均匀选取若干个初始方向向量。其中,一组初始方向向量对应一个子阵列坐标系,一组初始方向向量由多个初始方向向量组成。然后系统将各初始方向向量和预处理后的声音信号代入SRP-PHAT表达式中,计算得到各初始方向向量对应的SRP-PHAT值。再从各子阵列坐标系对应的若干个SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的子阵列坐标系的声源方向向量。系统分别将各子阵列坐标系的声源方向向量及坐标原点归化到公共坐标系中,联立直线方程,得到直线方程组。其中,直线方程组包括两个直线方程,一个直线方程对应一个子阵列坐标系。系统根据直线方程组,判断各直线方程对应的直线是否异面。若各直线方程对应的直线共面,则判断各直线方程对应的直线的交点是否位于预设角度范围,该预设角度范围是指声源可能出现的区域。若各直线方程的交点是位于预设角度范围内,则将交点的坐标作为声源在公共坐标系中的位置坐标,如图2所示。其中,麦克风阵列包括吊顶式、贴墙式等,不同类型的麦克风阵列对应的“声源可能出现的区域”不同。以吊顶式的麦克风阵列为例,麦克风阵列安装在天花板上,声源不可能从天花板上传来,该“声源可能出现的区域”体现为具体的参数则为公共坐标系的Z轴为正以外的区域,即吊顶式的麦克风阵列,如果交点的坐标不位于公共坐标系的Z轴为正的区域,这样交点的坐标才是声源在公共坐标系中的位置坐标。不同类型的麦克风阵列所对应的“声源可能出现的区域”由设计人员在出厂时对应定义。若各直线方程对应的直线异面,则判断各直线的公垂线的长度是否小于两个麦克风子阵列对应的几何中心距离,以及是否位于声源可能出现的区域,即预设角度范围。若各直线的公垂线的长度小于两个麦克风子阵列对应的几何中心距离,且是位于预设角度范围内,则将公垂线的中点的坐标作为声源在公共坐标系中的位置坐标,如图3所示。系统根据声源的位置坐标,可以计算得到声源的位置坐标所对应的点与公共坐标系L0的原点之间的距离
Figure 540417DEST_PATH_IMAGE004
、方位角
Figure 151527DEST_PATH_IMAGE005
和俯仰角
Figure 36306DEST_PATH_IMAGE006
,从而确定声源在麦克风阵列的应用场景中的位置。其中,根据两点坐标确定两点之间的距离、方位角、俯仰角的计算方法为公知常识,在此不做详述。
进一步的,上述分别将各所述方向向量归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
S401:分别将各所述方向向量和各所述子阵列坐标系的原点坐标归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
S402:根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
S403若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围内,所述预设角度范围为声源可能出现的区域;
S404:若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,系统在计算后得到声源在对应的子阵列坐标系的方向向量
Figure 365656DEST_PATH_IMAGE007
Figure 629803DEST_PATH_IMAGE008
,将其归化到公共坐标系L0中,则分别为
Figure 360999DEST_PATH_IMAGE009
Figure 88783DEST_PATH_IMAGE010
。直角坐标系L1对应的正四面体的几何中心,即原点坐标为点(x1,y1,z1),直角坐标系L2对应的正四面体的几何中心为点(x2,y2,z2)。系统根据各子阵列坐标系的原点坐标和各方向坐标分别联立直线方程,得到直线方程组:
Figure 905430DEST_PATH_IMAGE011
,其中,
Figure 439179DEST_PATH_IMAGE012
,
Figure 24881DEST_PATH_IMAGE013
,
Figure 313780DEST_PATH_IMAGE014
,
Figure 617723DEST_PATH_IMAGE015
。系统根据直线方程组可以判断各直线方程对应的直线是否异面。具体地,系统计算:
Figure 689584DEST_PATH_IMAGE016
;如果
Figure 67475DEST_PATH_IMAGE017
,则两直线共面,若是平行或交点不在预设角度范围内,比如麦克风阵列为吊顶式,若交点在公共坐标系的z轴为正的区域上,则舍弃当前计算,否则,可以求得声源位置,即两直线的交点的坐标为声源在公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
S405:若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
S406:若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
S407:若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,麦克风阵列由两个麦克风子阵列组成,并且麦克风子阵列呈立体布置,比如正四面体。由上述实施例可知,系统计算:
Figure 485467DEST_PATH_IMAGE016
。如果
Figure 276705DEST_PATH_IMAGE018
,则说明两直线异面。此时,系统构建两直线之间的公垂线,并判断该公垂线的长度是否小于这两个麦克风子阵列对应的几何中心距离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个初始方向向量
Figure 152257DEST_PATH_IMAGE019
,n
Figure 509289DEST_PATH_IMAGE020
,然后求取与各初始方向向量对应的SRP-PHAT值,再在这些SRP-PHAT值里面寻找峰值,以峰值最大者对应的初始方向向量
Figure 343253DEST_PATH_IMAGE021
作为目标声源方向,即对应的子阵列坐标系的方向向量。其中,SRP-PHAT算法的表达式为:
Figure 90629DEST_PATH_IMAGE022
;其中,M=4,为一个麦克风子阵列对应的阵元个数,
Figure 35451DEST_PATH_IMAGE023
为第a个子阵列中的第i和第j个麦克风的接收信号基于相位变换加权的广义互相关函数GCC-PHAT,其表达为:
Figure 122356DEST_PATH_IMAGE024
;其中,k是频率索引,k=1,2,…,K,K是FFT变换的点数,
Figure 127221DEST_PATH_IMAGE025
表示共轭,
Figure 364823DEST_PATH_IMAGE026
Figure 644495DEST_PATH_IMAGE027
是采样频率,
Figure 179381DEST_PATH_IMAGE028
表示方向向量
Figure 355148DEST_PATH_IMAGE019
到达第
Figure 77116DEST_PATH_IMAGE029
个和第
Figure 363741DEST_PATH_IMAGE030
个麦克风的到达时间差TDOA(TimeDifference of Arrival)。以
Figure 159659DEST_PATH_IMAGE031
Figure 506326DEST_PATH_IMAGE032
分别表示第
Figure 715591DEST_PATH_IMAGE029
个和第
Figure 599715DEST_PATH_IMAGE030
个麦克风的直角坐标向量,c为声速,则:
Figure 843614DEST_PATH_IMAGE033
;其中,
Figure 830025DEST_PATH_IMAGE034
表示向量的2-范数。
进一步的,各所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
S101:以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
S102:以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的,麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,其中R和r的数值可以由设计人员根据设备的应用场景确定后输入,也可以由系统通过现有技术自动测量得到,在此不做详述。系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2。并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0
进一步的,所述对所述声音信号进行预处理的步骤,包括:
S201将所述声音信号做短时傅里叶变换,得到二次声音信号;
S202:对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
本实施例中,系统所采用的麦克风阵列为4通道的麦克风阵列。麦克风阵列在采集到声源输出的声音信号后,该声音信号为4通道时域信号。系统首先对4通道时域信号
Figure 792164DEST_PATH_IMAGE035
,做短时傅里叶变换后,得到二次声音信号
Figure 420592DEST_PATH_IMAGE036
。其中,
Figure 456681DEST_PATH_IMAGE029
是通道索引,有
Figure 879572DEST_PATH_IMAGE037
;则第
Figure 63429DEST_PATH_IMAGE038
帧第
Figure 495547DEST_PATH_IMAGE039
个频带的信号表示为
Figure 248127DEST_PATH_IMAGE040
。其中包含了麦克风子阵列1和麦克风子阵列2的声音信号。然后,系统为了减少混响信号对声源定位的影响,对二次声音信号
Figure 107499DEST_PATH_IMAGE036
做多通道WPE去混响,最终得到预处理后的声音信号。本实施例中,系统选用基于NLMS的WPE去混响方法。其方法如下。
系统可以用线性预测形式来表示去混响后的信号:
Figure 513072DEST_PATH_IMAGE041
其中,表示转置,
Figure 748881DEST_PATH_IMAGE042
为缓存的历史值。
Figure 493983DEST_PATH_IMAGE043
Figure 524256DEST_PATH_IMAGE044
其中
Figure 682705DEST_PATH_IMAGE045
是预测延时,是为了防止处理的语音被过度白化,ORD是预测阶数。
Figure 191047DEST_PATH_IMAGE046
Figure 915289DEST_PATH_IMAGE047
进一步的,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
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内时为远场模型,即
Figure 113534DEST_PATH_IMAGE048
,其中λ为波长,
Figure 493700DEST_PATH_IMAGE049
,c为声速,一般为340m/s,f为信号频率,本实施例中可以取值为8000Hz。当R满足在Dmax内时为近场模型,即
Figure 805732DEST_PATH_IMAGE050
。据此,系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2;并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0。公共坐标系和子阵列坐标系在首次建立后,如果麦克风阵列在后续的使用中,麦克风阵列的布置位置没有发生改变,则公共坐标系和子阵列坐标系可以通过使用记录直接获取,不需要重新构建。系统通过麦克风阵列接收声源输出的声音信号。系统先将声音信号做短时傅里叶变换,得到二次声音信号;再对二次声音信号做多通道WPE去混响,从而完成对声音信号的预处理,得到预处理后的声音信号。系统按照参照角度范围,各个子阵列坐标系分别均匀选取若干个初始方向向量。其中,一组初始方向向量对应一个子阵列坐标系,一组初始方向向量由多个初始方向向量组成。然后系统将各初始方向向量和预处理后的声音信号代入SRP-PHAT表达式中,计算得到各初始方向向量对应的SRP-PHAT值。再从各子阵列坐标系对应的若干个SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的子阵列坐标系的声源方向向量。系统分别将各子阵列坐标系的声源方向向量及坐标原点归化到公共坐标系中,联立直线方程,得到直线方程组。其中,直线方程组包括两个直线方程,一个直线方程对应一个子阵列坐标系。系统根据直线方程组,判断各直线方程对应的直线是否异面。若各直线方程对应的直线共面,则判断各直线方程对应的直线的交点是否位于预设角度范围,该预设角度范围是指声源可能出现的区域。若各直线方程的交点是位于预设角度范围,则将交点的坐标作为声源在公共坐标系中的位置坐标,如图2所示。其中,麦克风阵列包括吊顶式、贴墙式等,不同类型的麦克风阵列对应的“声源可能出现的区域”不同。以吊顶式的麦克风阵列为例,麦克风阵列安装在天花板上,声源不可能从天花板上传来,该“声源可能出现的区域”体现为具体的参数则为公共坐标系的Z轴为正以外的区域,即吊顶式的麦克风阵列,如果交点的坐标不位于公共坐标系的Z轴为正的区域,这样交点的坐标才是声源在公共坐标系中的位置坐标。不同类型的麦克风阵列所对应的“声源可能出现的区域”由设计人员在出厂时对应定义。若各直线方程对应的直线异面,则判断各直线的公垂线的长度是否小于两个麦克风子阵列对应的几何中心距离,以及是否位于声源可能出现的区域,即预设角度范围。若各直线的公垂线的长度小于两个麦克风子阵列对应的几何中心距离,且是位于预设角度范围,则将公垂线的中点的坐标作为声源在公共坐标系中的位置坐标,如图3所示。系统根据声源的位置坐标,可以计算得到声源的位置坐标所对应的点与公共坐标系L0的原点之间的距离
Figure 525427DEST_PATH_IMAGE051
、方位角
Figure 897502DEST_PATH_IMAGE052
和俯仰角
Figure 764964DEST_PATH_IMAGE053
,从而确定声源在麦克风阵列的应用场景中的位置。其中,根据两点坐标确定两点之间的距离、方位角、俯仰角的计算方法为公知常识,在此不做详述。
进一步的,所述第二计算模块4,包括:
归化单元,用于分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
第一判断单元,用于根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
第二判断单元,用于若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
第一判定单元,用于若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,系统在计算后得到声源在对应的子阵列坐标系的方向向量
Figure 880687DEST_PATH_IMAGE054
Figure 579522DEST_PATH_IMAGE055
,将其归化到公共坐标系L0中,则分别为
Figure 122499DEST_PATH_IMAGE056
Figure 214607DEST_PATH_IMAGE057
。直角坐标系L1对应的正四面体的几何中心,即原点坐标为点(x1,y1,z1),直角坐标系L2对应的正四面体的几何中心为点(x2,y2,z2)。系统根据各子阵列坐标系的原点坐标和各方向坐标分别联立直线方程,得到直线方程组:
Figure 134022DEST_PATH_IMAGE058
,其中,
Figure 562729DEST_PATH_IMAGE059
,
Figure 276607DEST_PATH_IMAGE060
,
Figure 118661DEST_PATH_IMAGE061
,
Figure 576187DEST_PATH_IMAGE062
。系统根据直线方程组可以判断各直线方程对应的直线是否异面。具体地,系统计算:
Figure 187297DEST_PATH_IMAGE063
;如果
Figure 134394DEST_PATH_IMAGE064
,则两直线共面,若是平行或交点不在预设角度范围内,比如麦克风阵列为吊顶式,若交点在公共坐标系的z轴为正的区域上,则舍弃当前计算,否则,可以求得声源位置,即两直线的交点的坐标为声源在公共坐标系中的位置坐标。
进一步的,所述麦克风子阵列呈立体布置,所述第二计算模块4,还包括:
第三判断单元,用于若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
第四判断单元,用于若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
第二判定单元,用于若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
本实施例中,麦克风阵列由两个麦克风子阵列组成,并且麦克风子阵列呈立体布置,比如正四面体。由上述实施例可知,系统计算:
Figure 198165DEST_PATH_IMAGE063
。如果
Figure 456452DEST_PATH_IMAGE065
,则说明两直线异面。此时,系统构建两直线之间的公垂线,并判断该公垂线的长度是否小于这两个麦克风子阵列对应的几何中心距离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个初始方向向量
Figure 922068DEST_PATH_IMAGE066
,n
Figure 243328DEST_PATH_IMAGE067
,然后求取与各初始方向向量对应的SRP-PHAT值,再在这些SRP-PHAT值里面寻找峰值,以峰值最大者对应的初始方向向量
Figure 59974DEST_PATH_IMAGE068
作为目标声源方向,即对应的子阵列坐标系的方向向量。其中,SRP-PHAT算法的表达式为:
Figure 531407DEST_PATH_IMAGE069
;其中,M=4,为一个麦克风子阵列对应的阵元个数,
Figure 851530DEST_PATH_IMAGE070
为第a个列中的第i和第j个麦克风的接收信号基于相位变换加权的广义互相关函数GCC-PHAT,其表达为:
Figure 343691DEST_PATH_IMAGE071
;其中,k是频率索引,k=1,2,…,K,K是FFT变换的点数,
Figure 382054DEST_PATH_IMAGE072
表示共轭,
Figure 985074DEST_PATH_IMAGE073
Figure 490529DEST_PATH_IMAGE074
是采样频率,
Figure 888013DEST_PATH_IMAGE075
表示方向向量
Figure 413672DEST_PATH_IMAGE066
到达第
Figure 554803DEST_PATH_IMAGE029
个和第
Figure 115097DEST_PATH_IMAGE030
个麦克风的到达时间差TDOA(TimeDifference of Arrival)。以
Figure 355586DEST_PATH_IMAGE076
Figure 634121DEST_PATH_IMAGE077
分别表示第
Figure 578943DEST_PATH_IMAGE029
个和第
Figure 728164DEST_PATH_IMAGE030
个麦克风的直角坐标向量,c为声速,则:
Figure 753537DEST_PATH_IMAGE078
;其中,
Figure 50526DEST_PATH_IMAGE079
表示向量的2-范数。
进一步的,所述麦克风子阵列呈立体布置,所述第一获取模块1,包括:
第一建立单元,用于以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
第二建立单元,用于以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
本实施例中,麦克风阵列由两个呈立体布置的麦克风子阵列组成,各麦克风子阵列间隔一定的距离。进一步的,麦克风子阵列由多个阵元组成,麦克风子阵列呈正多面体布置,比如正四面体,各个阵元布置于正四面体的端点上,此时麦克风子阵列为4通道的麦克风子阵列。本实施例以两个呈正四面体的麦克风子阵列组成的麦克风阵列为例,对本申请的实施进行具体说明。阵元距离所在的正四面体的几何中心为r,而两个正四面体的几何中心距离为R,其中R和r的数值可以由设计人员根据设备的应用场景确定后输入,也可以由系统通过现有技术自动测量得到,在此不做详述。系统以麦克风子阵列对应的正四面体的几何中心为原点,分别建立与每个麦克风子阵列对应的直角坐标系,得到子阵列坐标系L1、L2。并且,系统以两个正四面体的几何中心连线的中点为原点建立直角坐标系,得到两个麦克风子阵列共同对应的公共坐标系L0
进一步的,所述预处理模块2,包括:
变换单元,用于将所述声音信号做短时傅里叶变换,得到二次声音信号;
去混响单元,用于对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
本实施例中,系统所采用的麦克风阵列为4通道的麦克风阵列。麦克风阵列在采集到声源输出的声音信号后,该声音信号为4通道时域信号。系统首先对4通道时域信号
Figure 533460DEST_PATH_IMAGE035
,做短时傅里叶变换后,得到二次声音信号
Figure 802768DEST_PATH_IMAGE036
。其中,
Figure 385059DEST_PATH_IMAGE029
是通道索引,有
Figure 372606DEST_PATH_IMAGE037
;则第
Figure 659231DEST_PATH_IMAGE038
帧第
Figure 783045DEST_PATH_IMAGE039
个频带的信号表示为
Figure 129713DEST_PATH_IMAGE040
。其中包含了麦克风子阵列1和麦克风子阵列2的声音信号。然后,系统为了减少混响信号对声源定位的影响,对二次声音信号
Figure 404224DEST_PATH_IMAGE036
做多通道WPE去混响,最终得到预处理后的声音信号。本实施例中,系统选用基于NLMS的WPE去混响方法。其方法如下。
系统可以用线性预测形式来表示去混响后的信号:
Figure 963381DEST_PATH_IMAGE041
其中,
Figure 207281DEST_PATH_IMAGE080
表示转置,
Figure 724850DEST_PATH_IMAGE042
为缓存的历史值。
Figure 359093DEST_PATH_IMAGE043
Figure 987521DEST_PATH_IMAGE081
其中
Figure 85927DEST_PATH_IMAGE045
是预测延时,是为了防止处理的语音被过度白化,ORD是预测阶数。
Figure 508818DEST_PATH_IMAGE046
Figure 754991DEST_PATH_IMAGE047
进一步的,所述声源定位装置,还包括:
第二获取模块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 (6)

1.一种基于麦克风阵列的声源定位方法,其特征在于,所述麦克风阵列包括2个麦克风子阵列,所述声源定位方法包括:
获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系,并获取声音信号;
对所述声音信号进行预处理;
使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量;
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标;
根据所述位置坐标确定所述声源的位置;
其中,所述分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,按照预设规则计算得到所述声源在所述公共坐标系中的位置坐标的步骤,包括:
分别将各所述方向向量和各所述子阵列坐标系的原点归化到所述公共坐标系中,联立直线方程,得到直线方程组,其中,所述直线方程组包括两个直线方程,一个直线方程对应一个所述子阵列坐标系;
根据所述直线方程组,判断各所述直线方程对应的直线是否异面;
若各所述直线方程对应的直线共面,则判断各所述直线方程对应的直线的交点是否位于预设角度范围,所述预设角度范围为声源可能出现的区域;
若各所述直线方程的交点是位于预设角度范围,则将所述交点的坐标作为所述声源在所述公共坐标系中的位置坐标。
2.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述麦克风子阵列呈立体布置,所述根据所述直线方程组,判断各所述直线方程对应的直线是否共面的步骤之后,包括:
若各所述直线方程对应的直线异面,则判断各所述直线的公垂线的长度是否小于两个所述麦克风子阵列对应的几何中心距离;
若各所述直线的公垂线的长度小于两个所述麦克风子阵列对应的几何中心距离,则判断所述公垂线的中点的坐标是否位于所述预设角度范围;
若所述公垂线的中点的坐标是位于所述预设角度范围,则将所述公垂线的中点的坐标作为所述声源在所述公共坐标系中的位置坐标。
3.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述使用SRP-PHAT算法对预处理后的声音信号进行计算,得到声源在各所述子阵列坐标系中分别对应的方向向量的步骤,包括:
按照参照角度范围,各所述子阵列坐标系分别均匀选取若干个初始方向向量,其中,一组所述初始方向向量对应一个所述子阵列坐标系 ;
将各所述初始方向向量和所述声音信号代入SRP-PHAT表达式中,计算得到各所述初始方向向量对应的SRP-PHAT值;
从各所述子阵列坐标系对应的若干个所述SRP-PHAT值中,筛选出峰值最大的SRP-PHAT值所对应的初始方向向量,作为对应的所述子阵列坐标系的所述方向向量。
4.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述麦克风子阵列呈立体布置,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤,包括:
以各所述麦克风子阵列各自对应的几何中心为原点,建立对应的直角坐标系,得到各所述子阵列坐标系;
以各所述麦克风子阵列各自对应的几何中心的连线中点为原点,建立直角坐标系,得到所述公共坐标系。
5.根据权利要求1所述的基于麦克风阵列的声源定位方法,其特征在于,所述对所述声音信号进行预处理的步骤,包括:
将所述声音信号做短时傅里叶变换,得到二次声音信号;
对所述二次声音信号做多通道WPE去混响,得到所述预处理后的声音信号。
6.根据权利要求3所述的基于麦克风阵列的声源定位方法,其特征在于,所述获取各所述麦克风子阵列分别对应的子阵列坐标系,以及各所述麦克风子阵列共同对应的公共坐标系的步骤之前,包括:
获取当前所述麦克风阵列的使用场景类型;
从预先构建的角度数据库中获取与所述使用场景类型对应的预设角度范围,作为所述参照角度范围,其中,所述角度数据库中构建有使用场景类型与预设角度范围映射表。
CN202010184759.5A 2020-03-17 2020-03-17 基于麦克风阵列的声源定位方法、装置和计算机设备 Active CN111060872B (zh)

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 true CN111060872A (zh) 2020-04-24
CN111060872B 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111489753A (zh) * 2020-06-24 2020-08-04 深圳市友杰智新科技有限公司 抗噪声的声源定位方法、装置和计算机设备
CN111785057A (zh) * 2020-06-23 2020-10-16 大众问问(北京)信息科技有限公司 一种突发事件的提示方法、装置及车辆
CN112198498A (zh) * 2020-09-11 2021-01-08 海创半导体科技(深圳)有限公司 一种利用智能语音模组测距的方法
CN112684412A (zh) * 2021-01-12 2021-04-20 中北大学 一种基于模式聚类的声源定位方法及系统
CN113312971A (zh) * 2021-04-25 2021-08-27 普联国际有限公司 麦克风阵列的参数标定方法、装置、终端设备及存储介质
CN113514801A (zh) * 2021-04-28 2021-10-19 成都启英泰伦科技有限公司 基于深度学习的麦克风阵列声源定位方法及声源识别方法
CN114353285A (zh) * 2022-01-26 2022-04-15 Tcl空调器(中山)有限公司 声源定位方法、装置、计算机设备、空调器以及存储介质
CN114442039A (zh) * 2020-11-05 2022-05-06 中国移动通信集团山东有限公司 一种声源定位方法、装置和电子设备
WO2022133739A1 (zh) * 2020-12-22 2022-06-30 贵州电网有限责任公司 一种基于时间差的头戴式ar眼镜声源定位方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 信息处理方法及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
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 联想(北京)有限公司 信息处理方法及电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111785057A (zh) * 2020-06-23 2020-10-16 大众问问(北京)信息科技有限公司 一种突发事件的提示方法、装置及车辆
CN111489753A (zh) * 2020-06-24 2020-08-04 深圳市友杰智新科技有限公司 抗噪声的声源定位方法、装置和计算机设备
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眼镜声源定位方法及装置
CN112684412A (zh) * 2021-01-12 2021-04-20 中北大学 一种基于模式聚类的声源定位方法及系统
CN112684412B (zh) * 2021-01-12 2022-09-13 中北大学 一种基于模式聚类的声源定位方法及系统
CN113312971A (zh) * 2021-04-25 2021-08-27 普联国际有限公司 麦克风阵列的参数标定方法、装置、终端设备及存储介质
CN113514801A (zh) * 2021-04-28 2021-10-19 成都启英泰伦科技有限公司 基于深度学习的麦克风阵列声源定位方法及声源识别方法
CN114353285A (zh) * 2022-01-26 2022-04-15 Tcl空调器(中山)有限公司 声源定位方法、装置、计算机设备、空调器以及存储介质
CN114353285B (zh) * 2022-01-26 2023-02-17 Tcl空调器(中山)有限公司 声源定位方法、装置、计算机设备、空调器以及存储介质

Also Published As

Publication number Publication date
CN111060872B (zh) 2020-06-23

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
CN111489753B (zh) 抗噪声的声源定位方法、装置和计算机设备
JP6467736B2 (ja) 音源位置推定装置、音源位置推定方法および音源位置推定プログラム
US20140226838A1 (en) Signal source separation
CN103181190A (zh) 用于远场多源追踪和分离的系统、方法、设备和计算机可读媒体
CN108107403B (zh) 一种波达方向估计方法和装置
CN109669158B (zh) 一种声源定位方法、系统、计算机设备及存储介质
Di Carlo et al. Mirage: 2d source localization using microphone pair augmentation with echoes
CN113126028A (zh) 一种基于多个麦克风阵列的噪声源定位方法
Gala et al. Realtime active sound source localization for unmanned ground robots using a self-rotational bi-microphone array
US20130148814A1 (en) Audio acquisition systems and methods
Lovatello et al. Steerable circular differential microphone arrays
Cho et al. Sound source localization for robot auditory systems
CN113314138B (zh) 基于麦克风阵列的声源监听分离方法、装置及存储介质
KR20090128221A (ko) 음원 위치 추정 방법 및 그 방법에 따른 시스템
Meuse et al. Characterization of talker radiation pattern using a microphone array
CN111239688A (zh) 一种基于校准源的分布式多麦克风阵列的映射校准方法
Carmena et al. Artificial ears for a biomimetic sonarhead: From multiple reflectors to surfaces
KR20200066891A (ko) 2차원 마이크 어레이를 이용한 3차원 음원 위치 검출 장치 및 방법
Trucco et al. Low-cost acoustic cameras for underwater wideband passive imaging
Togami et al. Head orientation estimation of a speaker by utilizing kurtosis of a DOA histogram with restoration of distance effect
RU170249U1 (ru) Устройство для температурно-инвариантной аудиовизуальной локализации источника голоса
Reijniers et al. An optimized spatial sampling strategy for wide-view planar array 3-d sonar sensors

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