分布式麦克风阵列网络的鲁棒声源空间定位方法转让专利

申请号 : CN201510808753.X

文献号 : CN105388459B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨毅孙甲松

申请人 : 清华大学

摘要 :

本发明为一种分布式麦克风阵列网络的鲁棒声源空间定位方法,通过构建三维空间坐标系、估计到达时间差并降低混响干扰、估计声源位置、最终判定声源位置,本发明使用两个麦克风阵列确定三维空间坐标,充分利用麦克风阵列网络中存在的时延信息降低室内混响带来的干扰;并将空间坐标区域进行划分,通过两次估计来最终确定声源的空间位置,本发明性能和计算代价优于现有技术水平,具有应用广泛,结构简单,成本低廉的优点,适用于智能家居和智能监控等使用分布式麦克风阵列网络的场景。

权利要求 :

1.一种分布式麦克风阵列网络的鲁棒声源空间定位方法,包括如下步骤:第一步,构建三维空间坐标系,

第二步,估计每个麦克风对的到达时间差,并降低混响干扰;

第三步,估计声源位置;

第四步,最终判定声源位置;

其特征在于,

所述第一步中,假设分布式麦克风阵列网络有N个麦克风阵列作为网络节点,麦克风阵列为线性阵列,即阵列上的麦克风在一条直线上且麦克风彼此的实际物理间距均为D;每个麦克风阵列包括M个麦克风,对每个麦克风阵列而言,假设各路麦克风采集进来的信号同步;在声学空间中存在K个声源,其中N≥2,M≥4,K≥1;

定义每个麦克风阵列中每个麦克风的空间位置 其中 表示第j个麦克风阵列中的第i个麦克风的空间位置矢量,xij,yij,zij代表此空间位置分别在x轴、y轴、z轴上的投影,且i∈[1,M],j∈[1,N];

假设每个声源的空间位置彼此不重叠,且每个声源在时间上彼此不重叠,定义每个声源的空间位置 其中 表示第k∈[1,K]个声源的空间位置矢量,xk,yk,zk代表此空间位置分别在x轴、y轴、z轴上的投影;

在此基础上,构建一个三维空间坐标系,全部麦克风及声源的空间位置以此坐标系为基准,坐标系满足如下要求:(1)第1个节点的麦克风阵列位于x轴,即其上的第i个麦克风的位置矢量为且x11≥0;

(2)第2个节点的麦克风阵列位于y轴,即其上的第i个麦克风的位置矢量为且y12≥0;

(3)z轴垂直于x轴和y轴构成的平面;

(4)其他麦克风阵列水平于第1个麦克风阵列或第2个麦克风阵列;

(5)全部麦克风及声源的空间位置在x轴和y轴上的投影都不小于0;

在此三维空间坐标系中,将第一象限按照D*D*D的尺寸进行划分得到I>0个子空间区域,将第i个子空间区域的中心点定义为 定义第i个子空间区域的中心点和第j个阵列之间的时间差矢量为

2.根据权利要求1所述分布式麦克风阵列网络的鲁棒声源空间定位方法,所述第二步中,首先在安静的室内产生近似于冲击响应的声音信号δ,则δ在每个麦克风阵列的麦克风对ii'上产生的广义互相关函数为:其中i代表第i个麦克风,i'代表第i'个麦克风且有i'≠i,麦克风对ii'为第i个麦克风和第i'个麦克风构成的一对, 代表室内混响干扰下δ引起的麦克风i与麦克风i'之间的广义互相关函数, 代表在第j个麦克风阵列上第i个麦克风上采集到的声音信号,h(n)代表信号δ引起的室内混响冲激响应,*代表卷积,F代表傅里叶变换,F-1代表傅里叶反变换,*代表复共轭,|.|代表求模;

当不存在室内混响时,δ在每个麦克风阵列的麦克风对ii'上产生的广义互相关函数为:代表无室内混响干扰的麦克风i与麦克风i'之间的广义互相关函数;

随后计算每个目标声源在室内混响干扰下产生的广义互相关函数:其中k代表第k个声源, 为室内混响干扰下第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数, 代表在第j个麦克风阵列中的第i个麦克风上采集到的第k个声源的声音信号,h(n)代表室内混响冲激响应;

当不存在室内混响时,每个目标声源在室内混响干扰下产生的广义互相关函数为:代表无室内混响干扰下,第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数,则有:通过公式: 将在室内混响干扰下得到的 转化为无

室内混响干扰的 随后对 求极值,得到每个麦克风阵列上每个麦克风对的到达时间差,每个麦克风对的到达时间差计算如下:其中, 为第k个声源到第j个麦克风阵列上的麦克风对ii'的到达时间差估计,argmax(f(x))为使f(x)得到最大值所对应的变量x,Fs为采样率。

3.根据权利要求2所述分布式麦克风阵列网络的鲁棒声源空间定位方法,所述第三步中,在得到第k个声源与第j个麦克风阵列的时间差估计矢量  后,求其与第i个子空间区域和第j个麦克风阵列之间的时间差矢量 的最小距离和,并求得这个最小距离和对应的第i个子空间区域ik:则得到第k个声源的三维空间位置(xk,yk,zk)的估计值为 其中, 为第ik个子空间区域的中心点三维坐标。

4.根据权利要求3所述分布式麦克风阵列网络的鲁棒声源空间定位方法,所述第四步中,当 之间存在相同的一组 或多组值则 即为第k个声源在给定的三维空间坐标系中的三维空间位置的最终估计值;当  之间不存在相同的值,则挑选其中与ik子空间区域的时间差矢量的距离和最小的一组值,并代入如下公式,得到最终估计值

说明书 :

分布式麦克风阵列网络的鲁棒声源空间定位方法

技术领域

[0001] 本发明属于语音技术领域,特别涉及一种分布式麦克风阵列网络的鲁棒声源空间定位方法。

背景技术

[0002] 随着软硬件技术的不断发展,分布式传感器网络逐渐在民用市场得到普及。在诸如环境监测、安全监控及智能家居等场景中,都需要使用声源定位功能,例如对环境的噪声源进行监测;在光照不足时监控视频无能为力,此时需要进行声源探测和定位;智能家居场景中的声源定位可以提高人机交互的效果。
[0003] 常见的用于声源定位的设备是麦克风阵列,一般定义为:由多个(通常大于三个)麦克风按照指定的几何规则摆放并完全同步采集声音信号的设备。麦克风阵列对同步的要求非常高,因为基于麦克风阵列的声源定位和语音增强等算法的精度,都依赖于对声波传播到达每个阵元的时间差的正确估计;此外这种估计非常容易受到房间混响的干扰而产生误差。
[0004] 麦克风阵列网络系统是由多个麦克风阵列作为节点组成声传感器网络对语音进行处理,无线网络中分布式语音输入设备需要统一的时钟来保证采集时间同步;分布式麦克风阵列网络是由多个麦克风阵列组成的信号采集系统,每个麦克风阵列作为一个网络的节点,由不同设备控制,具有各自独立的时钟和采样频率,节点与节点之间的排列和间距没有限制,分布式麦克风阵列网络采集的信号在时间域不完全同步。
[0005] 麦克风阵列定位的常用方法为:基于到达时间差(Time Delay of Arrival,TDOA)的定位,定位首先通过时延估计得到声源信号到达不同阵元的时间差,再通过麦克风阵列的几何构造进行声源位置判断;基于双耳电平差(Inter-aural Level Difference,ILD)的定位建立在人耳感知特性基础之上,借助于声源到达两耳间的电平差信息来判断声源的位置。其中的时延估计算法则主要包括广义互相关(Generalized Cross Correlation,GCC)、最大似然估计(Maximum Likelihood Estimation,MLE)和最小均方误差(Least Mean Square,LMS)及其改进方法。
[0006] 然而这些麦克风阵列声源定位的方法并不完全适用于分布式麦克风阵列网络声源定位,首先是由于上述技术假设所有的麦克风都是同步的,而在一个分布式麦克风阵列场景中只有同节点上的麦克风之间是同步的,不同节点上的麦克风采集的信号不同步;其次是分布式麦克风阵列网络声源定位系统中存在多个麦克风阵列,每个麦克风阵列在空间中的相对位置是未知的;此外依然存在对房间混响敏感导致无法满足定位精度的问题。

发明内容

[0007] 为了克服上述现有技术的缺点,本发明的目的在于提供一种分布式麦克风阵列网络的鲁棒声源空间定位方法,以分布式麦克风阵列网络作为信号采集和输出设备,通过使用两个麦克风阵列确定三维空间坐标并对空间坐标区域进行划分,利用时延估计数据对多个时空域不重叠的信号进行定位,并通过反复估计来最终确定声源的空间位置;根据本发明进行的声源定位原理简单,计算代价小,在三维空间上定位的理论误差范围小于麦克风间距(通常为厘米量级),性能优于基于现有技术的方法,具有较好的定位精度及鲁棒性,可应用于智能监控和智能家居等需要进行声源定位的场景。
[0008] 为了实现上述目的,本发明采用的技术方案是:
[0009] 一种分布式麦克风阵列网络的鲁棒声源空间定位方法,首先构建三维空间坐标系,然后估计到达时间差并降低混响干扰,估计声源位置,最终判定声源位置。
[0010] 本发明使用两个麦克风阵列确定三维空间坐标,充分利用麦克风阵列网络中存在的时延信息降低室内混响带来的干扰;并将空间坐标区域进行划分,通过两次估计来最终确定声源的空间位置。
[0011] 具体步骤如下:
[0012] 第一步,构建三维空间坐标系
[0013] 假设分布式麦克风阵列网络有N个麦克风阵列作为网络节点,麦克风阵列为线性阵列,即阵列上的麦克风在一条直线上且麦克风彼此的实际物理间距均为D;每个麦克风阵列包括M个麦克风,对每个麦克风阵列而言,假设各路麦克风采集进来的信号同步;在声学空间中存在K个声源,其中N≥2,M≥4,K≥1;
[0014] 定义每个麦克风阵列中每个麦克风的空间位置 其中 表示第j个麦克风阵列中的第i个麦克风的空间位置矢量,xij,yij,zij代表此空间位置分别在x轴、y轴、z轴上的投影,且i∈[1,M],j∈[1,N];
[0015] 假设每个声源的空间位置彼此不重叠,且每个声源在时间上彼此不重叠,定义每个声源的空间位置 其中 表示第k∈[1,K]个声源的空间位置矢量,xk,yk,zk代表此空间位置分别在x轴、y轴、z轴上的投影;
[0016] 在此基础上,构建一个三维空间坐标系,全部麦克风及声源的空间位置以此坐标系为基准,坐标系满足如下要求:
[0017] (1)第1个节点的麦克风阵列位于x轴,即其上的第i个麦克风的位置矢量为且x11≥0;
[0018] (2)第2个节点的麦克风阵列位于y轴,即其上的第i个麦克风的位置矢量为且y12≥0;
[0019] (3)z轴垂直于x轴和y轴构成的平面;
[0020] (4)其他麦克风阵列水平于第1个麦克风阵列或第2个麦克风阵列;
[0021] (5)全部麦克风及声源的空间位置在x轴和y轴上的投影都不小于0;
[0022] 在此三维空间坐标系中,将第一象限按照D*D*D的尺寸进行划分得到I>0个子空间区域,将第i个子空间区域的中心点定义为 定义第i个子空间区域的中心点和第j个阵列之间的时间差矢量为
[0023] 第二步,估计到达时间差并降低混响干扰
[0024] 首先在安静的室内产生近似于冲击响应的声音信号δ,则δ在每个麦克风阵列的麦克风对ii'上产生的广义互相关函数为:
[0025]
[0026] 其中i代表第i个麦克风,i'代表第i'个麦克风且有i'≠i,麦克风对ii'为第i个麦克风和第i'个麦克风构成的一对, 代表室内混响干扰下δ引起的麦克风i与麦克风i'之间的广义互相关函数, 代表在第j个麦克风阵列上第i个麦克风上采集到的声音信号,h(n)代表信号δ引起的室内混响冲激响应,*代表卷积,F代表傅里叶变换,F-1代表傅里叶反变换,*代表复共轭,|.|代表求模;
[0027] 当不存在室内混响时,δ在每个麦克风阵列的麦克风对ii'上产生的广义互相关函数为:
[0028]
[0029] 代表无室内混响干扰的麦克风i与麦克风i'之间的广义互相关函数;
[0030] 随后计算每个目标声源在室内混响干扰下产生的广义互相关函数:
[0031]
[0032] 其中k代表第k个声源, 为室内混响干扰下第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数, 代表在第j个麦克风阵列中的第i个麦克风上采集到的第k个声源的声音信号,h(n)代表室内混响冲激响应;
[0033] 当不存在室内混响时,每个目标声源在室内混响干扰下产生的广义互相关函数为:
[0034]
[0035] 代表无室内混响干扰下,第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数,则有:
[0036] 通过公式: 将在室内混响干扰下得到的 转化为无室内混响干扰的 随后对 求极值,得到每个麦克风阵列上每个麦克风对的到达时间差,每个麦克风对的到达时间差计算如下:
[0037]
[0038] 其中, 为第k个声源到第j个麦克风阵列上的麦克风对ii'的到达时间差估计,argmax(f(x))为使f(x)得到最大值所对应的变量x,Fs为采样率;
[0039] 第三步,估计声源位置
[0040] 在得到上述第k个声源与第j个麦克风阵列的时间差估计矢量后,求其与第i个子空间区域和第j个麦克风阵列之间的时间差矢量 的最
小距离和,并求得这个最小距离和对应的第i个子空间区域ik:
[0041]
[0042] 则得 到 第k个 声源的 三 维空间 位 置 (xk ,yk ,z k)的 估 计值 为其中, 为第ik个子空间区域的中心点三维坐标;
[0043] 第四步,最终判定声源位置
[0044] 当 之间存在相同的一组或多组值则 即为第k个声源在给定的三维空间坐标系
中的三维空间位置的最终估计值;当 之间不存在相
k
同的值,则挑选其中与i子空间区域的时间差矢量的距离和最小的一组值,并代入如下公式,得到最终估计值
[0045]
[0046] 与现有技术相比,本发明的有益效果是:
[0047] (1)本发明提出的分布式麦克风阵列网络利用两个麦克风阵列进行三维坐标系构建,降低了对分布式麦克风阵列网络的摆放要求,可以适用于多种场景;
[0048] (2)本发明提出的用冲击信号估计并降低混响干扰的计算方法,原理简单,可有效提高时延估计准确率;
[0049] (3)本发明提出的在指定的三维坐标系进行空间区域划分并用最小距离和确定最终声源位置,原理简单,计算代价低,可适用于硬件环境配置较低的场景中。
[0050] 综上,本发明提出分布式麦克风阵列网络声源三维空间定位方法在对多个时空域不重叠的信号进行空间定位时,性能和计算代价优于现有技术水平。本发明的声源定位方法具有应用广泛,结构简单,成本低廉的优点,适用于智能家居和智能监控等使用分布式麦克风阵列网络的场景。

附图说明

[0051] 图1是分布式麦克风阵列网络的声源空间定位方法总体示意图。
[0052] 图2是分布式麦克风阵列网络的三维坐标系构建实施图。

具体实施方式

[0053] 下面结合附图和实施例详细说明本发明的实施方式。
[0054] 如图1所示,
[0055] 图1是本发明的声源空间定位方法的总体流程图。
[0056] (1)构建三维空间坐标系;(2)估计到达时间差并降低混响干扰;(3)估计声源位置;(4)最终判定声源位置。
[0057] 本发明实施例的整个计算过程细节构成如下:
[0058] 1、构建三维空间坐标系
[0059] 假设分布式麦克风阵列网络有N≥2个麦克风阵列作为网络节点,麦克风阵列为线性阵列,即阵列上的麦克风在一条直线上且麦克风彼此的实际物理间距均为D;每个麦克风阵列包括M≥4个麦克风,对每个麦克风阵列而言,假设各路麦克风采集进来的信号同步;在声学空间中存在K≥1个声源。并且进行如下一些预定义:
[0060] 定义对每个麦克风阵列中每个麦克风的空间位置:
[0061]    (公式1)
[0062] 其中mij表示第j个麦克风阵列中的第i个麦克风的空间位置矢量,xij,yij,zij代表此空间位置分别在x轴、y轴、z轴上的投影,且有i∈[1,M],j∈[1,N]。
[0063] 假设每个声源的空间位置彼此不重叠,且每个声源在时间上彼此不重叠。定义每个声源的空间位置:
[0064]    (公式2)
[0065] 其中 表示第k∈[1,K]个声源的空间位置矢量,xk,yk,zk代表此空间位置分别在x轴、y轴、z轴上的投影。
[0066] 在此基础上,构建一个三维空间坐标系,全部麦克风及声源的空间位置以此坐标系为基准,坐标系满足如下要求:
[0067] (1)第1个节点的麦克风阵列位于x轴,即其上的第i个麦克风的位置矢量为且x11≥0;
[0068] (2)第2个节点的麦克风阵列位于y轴,即其上的第i个麦克风的位置矢量为且y12≥0;
[0069] (3)z轴垂直于x轴和y轴构成的平面;
[0070] (4)其他麦克风阵列水平于第1个麦克风阵列或第2个麦克风阵列;
[0071] (5)全部麦克风及声源的空间位置在x轴和y轴上的投影都不小于0。
[0072] 在此三维空间坐标系中,将第一象限按照D*D*D的尺寸进行划分得到I个子空间区域,将第i≤I个子空间区域的中心点定义为 定义第i个子空间区域的中心点和第j个阵列之间的时间差矢量为
[0073] 2、估计到达时间差并降低混响干扰
[0074] 基于分布式麦克风阵列网络的声源定位一般在室内进行,室内混响是引起到达时间差估计错误的重要因素之一,因此需要对室内混响进行粗估计并在后续计算中尽可能的去除混响引起的干扰。
[0075] 首先在安静的室内采用拍一次手或咳嗽等方式,产生近似于冲击响应的声音信号δ,则δ在每个麦克风阵列(节点)的麦克风对(麦克风对就是第i个麦克风和第i'个麦克风构成的一对)上产生的广义互相关函数为:
[0076]    (公式3)
[0077] 其中i代表第i个麦克风,i'代表第i'个麦克风且有i'≠i, 代表室内混响干扰下δ引起的麦克风i与麦克风i'之间的广义互相关函数, 代表在第j个麦克风阵列(节点)上第i个麦克风上采集到的声音信号,h(n)代表信号δ引起的室内混响冲激响应,*代表卷积,F代表傅里叶变换,F-1代表傅里叶反变换,*代表复共轭,|.|代表求模。
[0078] 事实上,当不存在室内混响时,上述广义互相关函数应为:
[0079]    (公式4)
[0080] 代表无室内混响干扰的麦克风i与麦克风i'之间的广义互相关函数,由于为一常数,因此得到 为一常数。并且结合傅里叶变换的性质,有:
[0081]    (公式5)
[0082] 随后计算每个目标声源在室内混响干扰下产生的广义互相关函数:
[0083]    (公式6)
[0084] 其中k代表第k个声源,i代表第i个麦克风,i'代表第i'个麦克风且有i'≠i,代表室内混响干扰下第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数,代表在第j个麦克风阵列(节点)中的第i个麦克风上采集到的第k个声源的声音信号,h(n)代表室内混响冲激响应,*代表卷积,F代表傅里叶变换,F-1代表傅里叶反变换,*代表复共轭,|.|代表求模。
[0085] 事实上,当不存在室内混响时,上述广义互相关函数应为:
[0086]    (公式7)
[0087] 代表无室内混响干扰下,第k个声源引起的麦克风i与麦克风i'之间的广义互相关函数。因此有
[0088]    (公式8)
[0089] 结合公式5和公式8可以得到
[0090]    (公式9)
[0091] 即可以通过公式9将在室内混响干扰下得到的 转化为无室内混响干扰的随后对 求极值,得到每个麦克风阵列(节点)上每个麦克风对的到达时间差。每个麦克风对的到达时间差计算如下:
[0092]    (公式10)
[0093] 其中 为第k个声源到第j个麦克风阵列上的麦克风对ii'的到达时间差估计,argmax(f(x))为使f(x)得到最大值所对应的变量x,Fs为采样率。
[0094] 3、估计声源位置
[0095] 按照第一步提到的三维坐标系,并根据到达时间差的定义,估计第k个声源与第1个麦克风阵列之间的M-1个时间差估计矢量
[0096]    (公式11)
[0097] 计算时间差估计矢量 与第i个子空间区域的中心点和第1个阵列之间的时间差矢量 的最小距离和,并得到最小距离和所对应的ik:
[0098]    (公式12)此处ik可能不唯一。对第k个声源,其三维空间位置(xk,yk,zk)的估计值为其中, 为第ik个子空间区域的中心点三维坐标。
[0099] 估计第k个声源与第2个麦克风阵列之间的M-1个时间差估计矢量
[0100]    (公式13)
[0101] 计算时间差估计矢量 与第i个子空间区域的中心点和第2个阵列之间的时间差矢量 的最小距离和,并得到最小距离和所对应的ik:
[0102]    (公式14)
[0103] 此处ik可能不唯一。对第k个声源,在给定的三维空间坐标系中其三维空间位置(xk,yk,zk)的估计值为 其中, 为第ik个子空间区域的中心点三维坐标。
[0104] 4、最终判定声源位置
[0105] 当 之间存在相同的一组或多组值则 即为第k个声源在给定的三维空间坐标系中
的三维空间位置的最终估计值;当 之间不存在相同
的值,则挑选其中与ik子空间区域的时间差矢量的距离和最小的一组值,并代入如下公式,得到最终估计值
[0106]    (公式15)
[0107] 图2是本发明的分布式麦克风阵列网络的三维坐标系构建实施图。如图所示,第1个麦克风阵列和第2个麦克风阵列构成三维坐标系的xy平面,设z轴垂直于xy平面;其他麦克风阵列需要平行于第1个麦克风阵列或第2个麦克风阵列。