一种基于麦克风阵列的声源定位方法及装置与流程

文档序号:12714818阅读:195来源:国知局
一种基于麦克风阵列的声源定位方法及装置与流程

本发明涉及语音信号处理技术领域,尤其涉及一种基于麦克风阵列的声源定位方法及装置。



背景技术:

近年来,随着工业、民用和军事领域的定位应用需求的增大,基于声源检测与定位系统的研究已经成为新的研究热点。声源定位技术是阵列信号处理的重要技术之一,具有广阔的应用前景和实际意义,其已经在视频电话、视频会议系统、电话会议系统、监控系统、语音追踪系统以及声呐探索系统等领域得到广泛应用。

目前的声源定位系统是将多个麦克风按照一定顺序分布在空间的不同位置,对各个麦克风接收的语音信号进行处理,最终根据计算得出声源的最终位置。然而随着噪声环境的丰富以及混响的介入,传统的一维、二维声源定位算法已经不能满足声源定位精准的需求。而传统的三维声源定位算法相比一维和二维定位算法虽然计算较为准确,但是由于三维计算涉及计算量非常大,导致计算速度较慢,不能满足声源定位系统快而准的要求。



技术实现要素:

本发明所要解决的技术问题在于提供一种基于麦克风阵列的声源定位方法及装置,用以解决现有技术中的声源定位方法因计算量大导致计算速度较慢的问题。

为实现上述发明目的,本发明采用下述的技术方案:

依据本发明的一个方面,提供一种基于麦克风阵列的声源定位方法,包括:

预先在待检测空间内构建长方体麦克风阵列;其中,所述长方体麦克风阵列包括至少一个由八元麦克风构成的长方体阵列块;

在进行声源定位时,确定声源信号强度最大的目标麦克风所在的目标阵列块;

获取所述目标阵列块中所述目标麦克风与相邻麦克风、对角线麦克风之间的信号时延,并根据所述信号时延计算所述声源的位置。

优选的,所述预先在待检测空间内构建长方体麦克风阵列,具体包括:

当所述待检测空间为规则形状时,将所述待检测空间等分为至少一个小空间;

将所述小空间等分为8个小块,每个小块的中心即为麦克风所在的位置。

优选的,在确定声源信号强度最大的目标麦克风所在的目标阵列块时,具体包括:

以采样频率对各麦克风接收到的声源信号进行采样,预设时间内采样点的平方和即为所述声源信号强度;

确定所述声源信号强度最大的目标麦克风,并根据预设阵列块信息获取所述目标麦克风所在的目标阵列块。

优选的,所述获取所述目标阵列块中所述目标麦克风与相邻麦克风、对角线麦克风之间的信号时延,并根据所述信号时延计算所述声源的位置,具体包括:

当所述目标阵列块包括多个阵列块时,获取每个阵列块中的所述目标麦克风与相邻麦克风、对角线麦克风之间的信号时延;

根据每个阵列块中所述信号时延分别计算出一个声源的位置;

获取每个声源的位置的平均值,所述平均值即为声源的最终位置。

优选的,在获取所述目标麦克风与所述相邻麦克风、所述对角线麦克风的信号时延之前,所述方法还包括:

对所述相邻麦克风、所述对角线麦克风采集的声源离散信号进行加窗、时频变换处理,获取去噪的时域信号;

利用倒谱法对所述时域信号进行去混响处理,得到纯语音时域信号,以基于所述纯语音时域信号获取所述信号时延。

优选的,所述根据所述信号时延计算所述声源的位置,具体包括:

利用三维空间定位方法,根据所述信号时延获取所述声源与所述目标麦克风之间的距离;其中,所述三维空间的三维坐标系以所述目标麦克风为原点,将所述相邻麦克风所在的方向分别为X轴、Y轴以及Z轴;

利用空间三角形余弦定理和余弦公式,基于所述声源与所述目标麦克风之间的距离计算所述声源的空间坐标。

优选的,所述声源与所述目标麦克风之间的距离的计算公式如下:

其中,c为声速;ti为声源到相邻麦克风i与声源到原点的时间差;t4为声源到对角麦克风与声源到原点的时间差;

所述声源的空间坐标的计算公式如下:

其中,Lx为所述目标麦克风与X轴上相邻麦克风的距离;Ly为所述目标麦克风与Y轴上相邻麦克风的距离、Lz为所述目标麦克风与Z轴上相邻麦克风的距离。

依据本发明的一个方面,提供一种基于麦克风阵列的声源定位装置,包括:

构建单元,用于预先在待检测空间内构建长方体麦克风阵列;其中,长方体麦克风阵列包括至少一个由八元麦克风构成的长方体阵列块;

确定单元,用于在进行声源定位时,确定接收声源信号强度最大的目标阵列块;

定位单元,用于获取所述阵列块中声源信号强度最大的目标麦克风与相邻麦克风、对角麦克风之间的信号时延,并根据所述信号时延确定声源的位置。

优选的,所述构建单元,具体用于:

当所述待检测空间为规则形状时,将所述待检测空间等分为至少一个小空间;

将所述小空间等分为8个小块,每个小块的中心即为麦克风所在的位置。

优选的,所述确定单元,具体用于:

以采样频率对各麦克风接收到的声源信号进行采样,预设时间内采样点的平方和即为所述声源信号强度;

确定所述声源信号强度最大的目标麦克风,并根据预设阵列块信息获取所述目标麦克风所在的目标阵列块。

优选的,所述定位单元,具体用于:

当所述目标阵列块包括多个阵列块时,获取每个阵列块中的所述目标麦克风与相邻麦克风、对角线麦克风之间的信号时延;

根据每个阵列块中所述信号时延分别计算出一个声源的位置;

获取每个声源的位置的平均值,所述平均值即为声源的最终位置。

优选的,所述定位单元,还用于:

在获取所述目标麦克风与所述相邻麦克风、所述对角麦克风的信号时延之前,对所述相邻麦克风、所述对角麦克风采集的声源离散信号进行加窗、时频变换处理,获取去噪的时域信号;

利用倒谱法对所述时域信号进行去混响处理,得到纯语音时域信号,以基于所述纯语音时域信号获取信号时延。

优选的,所述定位单元,具体用于:

利用三维空间定位装置,根据所述信号时延获取声源与目标麦克风之间的距离;其中,所述三维空间的三维坐标系以所述目标麦克风为原点,将所述相邻麦克风所在的方向分别为X轴、Y轴以及Z轴;

利用空间三角形余弦定理和余弦公式,基于所述声源与目标麦克风之间的距离计算声源的空间坐标。

优选的,所述定位单元,具体用于:

计算所述声源与所述目标麦克风之间的距离的公式如下:

其中,c为声速;ti为声源到相邻麦克风i与声源到原点的时间差;t4为声源到对角麦克风与声源到原点的时间差;

计算所述声源的空间坐标的公式如下:

其中,Lx为所述目标麦克风与X轴上相邻麦克风的距离;Ly为所述目标麦克风与Y轴上相邻麦克风的距离、Lz为所述目标麦克风与Z轴上相邻麦克风的距离。

本发明具有以下有益效果:

本发明所提供的基于麦克风阵列的声源定位方法及装置,根据声源信号强度的目标麦克风所在的目标阵列块:而后只计算目标麦克风和相邻三个麦克风以及对角麦克风接收的信号时延,再根据该信号时延利用三维的空间定位方法即可确定声源的具体位置坐标。可知,由于本发明先确定目标麦克风再计算声源具体位置,无须开根号等繁琐计算,计算量小且计算速度快,因此在语音信号处理领域,具有较强的实用性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中基于麦克风阵列的声源定位方法的流程图;

图2为本发明一具体实施例中麦克风阵列的示意图;

图3为本发明一具体实施例中基于麦克风阵列的声源定位方法的流程图;

图4为本发明一具体实施例中八元麦克风阵列布置的示意图;

图5为图4中八元麦克风阵列布置标号后的位置示意图;

图6为图4中八元麦克风阵列重新构建坐标系后的示意图;

图7为本发明实施例中基于麦克风阵列的声源定位装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种基于麦克风阵列的声源定位方法,如图1所示,具体包括如下步骤:

步骤101,预先在待检测空间内构建长方体麦克风阵列。

其中,长方体麦克风阵列至少包括一个由八元麦克风构成的长方体阵列块。例如,图2中的长方体麦克风阵列包括两个长方体阵列块,即由麦克风1~8所构成的阵列块1和麦克风8~12所构成的阵列块2。可知,本发明中最小的单元为八元麦克风构成的阵列块,可根据实际需要对阵列块的数量和组成方式进行适应性的调整,只要保证所有的阵列块构成一个长方体麦克风阵列即可。

在该步骤中,在待检测空间内构建空间三维坐标系,在该三维坐标系中建立麦克风阵列模型,确定各个麦克风在三维空间内的具体位置。本发明中对于待检测空间的具体形状不做具体的限定,例如可以为规则的长方体、正方体或者球体等,还可以为其他的不规则形状。对于在待检测空间中长方体麦克风阵列中麦克风的位置不做具体的限定。其中,

可选地,在规则形状的待检测空间构建长方体麦克风阵列时,具体包括:

将待检测空间等分为至少一个小空间;

将小空间等分为8个小块,每个小块的中心即为麦克风所在的位置。

本发明中通过等分的方式进行布局,使得各个麦克风之间为等间距。各个采集点采用均匀布置的方式,便于采集信号的处理,同时提到信号采集的有效性。

步骤102,在进行声源定位时,确定声源信号强度最大的目标麦克风所在的目标阵列块。

在该步骤中,长方体麦克风阵列中的各个麦克风采集声源信号,根据声源信号强度确定强度值最大的目标麦克风,并获取该目标麦克风所在的目标阵列块。其中,本发明中在确定声源信号的强度时,需要对各个麦克风采集的声源信号进行采样,获取预设周期内的采样点的平方和值,该平方和值即为声源信号强度。

其中,当长方体麦克风阵列包括多个阵列块时,需预先设定阵列块信息,具体包括每个麦克风所在的目标阵列块和每个目标阵列块所包含的麦克风。当确定目标麦克风后,即可查找获取目标麦克风所在的目标阵列块。可知,目标阵列块的数量根据目标麦克风所处的位置所决定。例如,图2中,麦克风7所在的目标阵列块则包括阵列块1和阵列块2;麦克风1所在的目标阵列块则只包括阵列块1。

步骤103,获取目标阵列块中目标麦克风与相邻麦克风、对角麦克风之间的信号时延,并根据该信号时延计算声源的位置。

其中,当目标阵列块包括多个阵列块时,获取每个阵列块中的目标麦克风与相邻麦克风、对角线麦克风之间的信号时延;根据每个阵列块中信号时延分别计算出一个声源的位置;获取每个声源的位置的平均值,该平均值即为声源的最终位置。

可选的,在计算阵列块中目标麦克风与相邻麦克风、对角线麦克风之间的信号时延时,利用归一化互相关法。通过利用归一化互相关法,使得后续在声源定位时,计算更加简便并且准确。对于归一化互相关法在后文中进行详细介绍,这里仅作简单说明。

其中,为了进一步考虑环境噪声和混响对声源定位的影响,优选地,在获取目标麦克风与相邻麦克风、对角麦克风的信号时延之前,需要对各个麦克风采集的声源信号进行去噪以及混响处理,具体方式如下:

对目标麦克风的相邻麦克风、对角麦克风采集的声源离散信号进行加窗、时频变换处理,获取去噪的时域信号;

利用倒谱法对时域信号进行去混响处理,得到纯语音时域信号,以基于纯语音时域信号获取上述的信号时延。

其中,这里各麦克风的声源离散信号在步骤102中获取的,即对各个麦克风采集的声源信号进行采样,采样后获取的信号即为声源离散信号。在对加窗、时频变换处理时,对该声源离散信号进行傅里叶变换转换成频域信号,通过利用谱减法对该频域信号进行去噪处理,再利用傅里叶反变换获取去噪后的时域信号。对于谱减法和倒谱法都已经是本领域技术人员所熟知的技术,对于具体实现过程这里不再进行赘述。

可知,本发明实施例中,只计算目标麦克风与其相邻的三个麦克风以及对角麦克风接收信号的时延,可有效节省计算工作量,提高声源定位的速度。通过对采集的离散信号进行去噪和混响的处理,避免外部环境对于声源定位的影响,有效提高声源定位的精确度。

其中,根据信号时延计算声源的位置时,由于声源与各个麦克风的位置符合几何关系,因此利用三维空间定位方法,可获取声源与目标麦克风之间的距离。而利用空间三角形余弦定理和余弦公式,可计算出声源的空间坐标。对于计算声源的空间坐标具体过程,在后文具体实施例中进行介绍。

其中,在计算声源的位置坐标时,所用到的量仅涉及目标麦克风、相邻麦克风以及对角麦克风的位置,且该位置关系位于长方体阵列块中,因此为了减少计算量,优选地,以目标麦克风为原点,以目标麦克风相邻的麦克风所在的方向分别为X轴、Y轴以及Z轴的正向,重新构建三维坐标系。根据新的坐标系中的目标麦克风、相邻麦克风以及对角麦克风的位置计算声源的位置。需要说明的是,当目标阵列块包括多个阵列块,根据每个阵列块中信号时延计算出一个声源的位置时,可在每个阵列块中重新构建坐标系;通过重新构建坐标系,进一步地简化了计算复杂度,有效提高了声源的定位速度。

上述提及,对于包含多个阵列块的长方体麦克风阵列时,可计算目标阵列块中每个阵列块中声源的位置,声源的最终位置即为每个阵列块声源的位置平均值。因此,下面具体实施例中,主要以长方体麦克风阵列的最小单元,即八元麦克风构成的阵列块为例,对声源定位方法进行介绍,如图3所示,具体包括如下步骤:

步骤201,在空间三维坐标系中,建立麦克风阵列模型,确定各麦克风在三维空间的位置。

其中,在建立麦克风阵列模型,将三维密闭的规则空间根据上下、前后、左右方向等分8小块,按照每个小块的对角线取出各小块中心,中心即所放麦克风位置,组成的麦克风阵列,如图4和图5所示。该麦克风阵列可以是长方体或正方体形状,并对各个麦克风进行标号(例如,M1,M2,M3……)。

步骤202,以采样频率Fs对各个麦克风接收到的声源信号s(t)进行采样,得到离散信号s(n);其中,t表示连续时间,n表示离散时间,Fs可以为8kHz、16kHz、32kHz、44.1kHz、48kHz等。

步骤203,根据采样的离散信号确定声源信号强度最大的目标麦克风。

具体地,分别对各个麦克风采样的离散信号s(n)中一个帧周期内(即n取0~N-1)的所有采样点进行平方再求和,该平方和值即为麦克风的声源信号强度(能量值)。按能量值的大小对各个麦克风进行排序,确定能量值最大的目标麦克风。若出现多个麦克风收集能量同为最大的情况,选其中任何一个麦克风作为目标麦克风即可。而目标麦克风所在的位置附近即为声源所在的位置。其中,帧周期可以自定义,也可以为一般的语音帧信号的长度,例如为20ms。

步骤204,获取目标麦克风与相邻麦克风、对角麦克风之间的信号延迟。

以图4中目标麦克风为M1为例,与M1相邻的麦克风为M2、M4、M5,其对角麦克风为M7。

在该步骤中,首先对M2、M4、M5、M7采样的帧s(n)(n取0~N-1)信号进行傅里叶变换,利用谱减法进行降噪处理后,再进行傅里叶反变换得到去噪时域信号xi(n),i取2、4、5、7。

其次,利用倒谱法对去噪时域信号xi(n)进行去混响处理,得到纯语音时域信号yi(n)。

接着,利用归一化互相关方法,求出M1M2、M1M4、M1M5的时间差以及M1M7的时间差,具体公式如下:

ti=argmaxρ(t) (2)

其中,i取2,4,5,7;yi(n)为M2、M4、M5、M7的纯语音时域信号;yj(n-τ)为M1的语音时域信号。

步骤205,重新构建坐标系,并根据目标麦克风与相邻麦克风、对角麦克风之间的信号延迟计算声源的位置。

在该步骤中,以麦克风M1为原点为例,相邻三个麦克风为M2、M4、M5,所在的方向分别为X轴、Y轴和Z轴正方向,如图6所示,重新构建三维坐标系。其中,假设声源所在的位置为S。

利用三维空间定位方法,求得声源到坐标原点O的距离r(即声源到目标麦克风之间的距离,也就是OS的长度)。

由于空气中声速为:

其中,T表示室温,单位为℃。

根据三维空间定位方法,麦克风阵列M1、M2、M4、M5、M7与声源S的几何位置满足如下公式:

其中,Lx为OM2之间距离(即为M1、M2麦克风间的距离),Ly为OM4之间距离(即为M1、M4麦克风间的距离),Lz为OM5之间距离(即为M1、M5麦克风间的距离);C为声速;t1为声音从声源位置S到M2的时间和从声源位置S到原点O的时间差,即为SM2和SO的时延;t2为声音从声源位置S到M4的时间和从声源位置S到原点O的时间差,即为SM4和SO的时延;t3为声音从声源位置S到M5的时间和从声源位置S到原点O的时间差,即为SM5和SO的时延;t4为声音从声源位置S到M7的时间和从声源位置S到原点O的时间差,即为SM7和SO的时延。

根据公式(4)进行变换,计算获取的声源与坐标原点O的距离r表示式为:

进一步地,可以变换为:

根据步骤204计算的信号时延值,即可获得声源与坐标原点O的距离r值。

接着,根据空间三角形余弦定理和余弦公式求出(x,y,z)的坐标如下。

同理,求中y,z的坐标如下:

因此,根据公式(8)、(9)和(10),即可确定声源所在的具体位置。

本发明实施例还提供了一种基于麦克风阵列的声源定位装置,用于实现上述的方法,如图7所示,该装置具体包括:

构建单元71,用于预先在待检测空间内构建长方体麦克风阵列;其中,长方体麦克风阵列包括至少一个由八元麦克风构成的长方体阵列块;

确定单元72,用于在进行声源定位时,确定接收声源信号强度最大的目标阵列块;

定位单元73,用于获取阵列块中声源信号强度最大的目标麦克风与相邻麦克风、对角麦克风之间的信号时延,并根据信号时延确定声源的位置。

进一步地,构建单元71,具体用于:

当待检测空间为规则形状时,将待检测空间等分为至少一个小空间;

将小空间等分为8个小块,每个小块的中心即为麦克风所在的位置。

进一步地,确定单元72,具体用于:

以采样频率对各麦克风接收到的声源信号进行采样,预设时间内采样点的平方和即为声源信号强度;

确定声源信号强度最大的目标麦克风,并根据预设阵列块信息获取目标麦克风所在的目标阵列块。

进一步地,定位单元73,具体用于:

当目标阵列块包括多个阵列块时,获取每个阵列块中的目标麦克风与相邻麦克风、对角线麦克风之间的信号时延;

根据每个阵列块中信号时延分别计算出一个声源的位置;

获取每个声源的位置的平均值,平均值即为声源的最终位置。

进一步地,定位单元73还用于:

在获取目标麦克风与相邻麦克风、对角麦克风的信号时延之前,对相邻麦克风、对角麦克风采集的声源离散信号进行加窗、时频变换处理,获取去噪的时域信号;

利用倒谱法对时域信号进行去混响处理,得到纯语音时域信号,以基于纯语音时域信号获取信号时延。

进一步地,定位单元73,具体用于:

利用三维空间定位装置,根据信号时延获取声源与目标麦克风之间的距离;其中,三维空间的三维坐标系以目标麦克风为原点,将相邻麦克风所在的方向分别为X轴、Y轴以及Z轴;

利用空间三角形余弦定理和余弦公式,基于声源与目标麦克风之间的距离计算声源的空间坐标。

进一步地,定位单元73,还用于:

计算声源与目标麦克风之间的距离的公式如下:

其中,c为声速;ti为声源到相邻麦克风i与声源到原点的时间差;t4为声源到对角麦克风与声源到原点的时间差;

计算声源的空间坐标的公式如下:

其中,Lx为目标麦克风与X轴上相邻麦克风的距离;Ly为目标麦克风与Y轴上相邻麦克风的距离、Lz为目标麦克风与Z轴上相邻麦克风的距离。

需要说明的是,对于装置实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可,这里就不再进行赘述。

综上所述,本发明所提供的麦克风阵列的声源定位方法,根据麦克风接收声源信号的能量大小进行排序,先确定能量值最大的目标麦克风的位置(即声源位于该位置附近):而后只计算目标麦克风和相邻三个麦克风以及对角麦克风接收的信号时延;再根据该信号时延利用三维的空间定位方法即可确定声源的具体位置坐标。可知,由于本发明先确定目标麦克风再计算声源具体位置,因此计算量小,且无须开根号等繁琐计算,并且计算速度快,在语音信号处理领域,具有较强的实用性。另外,本发明还考虑了环境噪声和混响的对声源定位的影响,进一步地提高了声源定位的精度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。

虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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