低复杂度的分布式麦克风阵列声源定位系统的制作方法

文档序号:11275192阅读:304来源:国知局
低复杂度的分布式麦克风阵列声源定位系统的制造方法与工艺

本发明涉及一种低复杂度的分布式麦克风阵列声源定位系统。主要涉及专利分类号g01测量;测试g01s无线电定向;无线电导航;采用无线电波测距或测速;采用无线电波的反射或再辐射的定位或存在检测;采用其他波的类似装置g01s5/00通过确定两个或更多个方向或位置线的配合来定位;通过确定两个或更多个距离的配合进行定位g01s5/18应用了超声波、声波或次声波g01s5/20由多个分隔开的定向器确定的信号源位置。



背景技术:

在服务机器人等应用中,常需定位声源。相比使用传统规则结构的麦克风阵列,分布式麦克风阵列不仅灵活性好,而且具有更大的空间孔径,可以获得更好的定位性能,同时,对麦克风节点失能也具有一定容错性。

现有的基于可控波束形成、信号到达时间差(tdoa)和空间谱估计等定位方法总体而言精度受混响和噪声影响较大,个别算法还受麦克风阵列几何结构影响,导致算法可移植性差,对阵列节点失能容错性差。

特征定位算法因其很好地利用室内信号复杂的反射折射等信息来生成特征库,使得该类方法在室内定位问题中被广泛使用。但是,受硬件处理器运算能力限制,特征方法较高的复杂度成为其进一步发展的障碍。因而,在定位精度足够情况下,降低室内定位方法低复杂度的就成为一个发明课题。

现有主流技术之一,采用了最大似然估计器计算信号到达时延,进而完成声源定位。最大似然估计器来估计tdoa渐进等价于非线性最小二乘法。首先根据每个麦克风阵列节点接收到的信号,估计出响应信号到达时延;然后通过添加距离坐标分量建立一个四维坐标系,从而构造一个自变量为x、y和z坐标以及距离坐标的目标函数;接下来,借助锥面定位法并且通过与参考麦克风的位置相比较,最终得到声源位置。

该方法在构建关于声源位置目标函数时,需要预先知道所有麦克风的准确坐标,并且需要一个参考麦克风,这在很多应用场景中无法实现。与此同时,在每个麦克风节点内,都假设麦克风阵列为均匀线性阵列,以确定接收信号模型;其次,该方法最终通过在锥面搜索到声源的最小距离来得到声源位置,而这个过程的目标函数非线性,不仅所得结果存在非全局最优解的可能,而且运算过程复杂。

现有技术中,也出现了先用分步格点划分法将整个定位区域划分成若干个格点,每个麦克风分别接收声源发出的信号;其次,通过对接收信号加窗处理,并经过两次离散余弦变换(dct)提取语音信号特征;接下来,利用上一步得到的降维特征向量构造稀疏定位模型,并增加模型失配修正环节以将除噪声外的其他因素考虑在内;最后,借助字典学习和稀疏重构,实现定位目的。

该方法所采用的稀疏重构在求解过程中,目标函数存在收敛困难问题,并且在信号信噪比低时会导致定位准确度下降。另外,该发明中字典学习与更新过程使得其复杂度较高,运算量较大。



技术实现要素:

本发明要解决的技术问题是一种低复杂度的分布式麦克风阵列声源定位系统,麦克风阵列中的每个麦克风节点中由至少2个麦克风组成,包括:

离线训练单元,该单元包括:

分别计算p个待定位点到n个麦克风节点中所述两个麦克风的时间差,即时延τ的时延估计模块i,每个麦克风节点对应p个时延τ1、τ2……τp;

根据所述每个麦克风节点对应的p个时延,计算每个麦克风节点的时延分布概率密度函数的时延分布函数估计模块;

所述每个麦克风节点的时延分布概率密度函数记录在特征库中;

定位单元,该单元包括:

时延估计模块ii,分别计算待定位位置处的声源到n个麦克风节点中所述两个麦克风的时间差,即时延τ,每个待定位位置对应n个时延τ1、τ2……τn;

信度值求取模块,该模块分析由所述时延估计模块ii计算得出的待定位位置的n个时延τ对应一个所述待定位点的信度值m;

针对一个待定位的音源点,系统中的n个麦克风节点对应n个信度值,m1、m2……mn;

分布式数据融合模块,该模块根据系统内每个待定位位置对应的n个信度值,采用加权ds理论进行融合,得出系统总信度值bel;

定位模块,该模块比较选取的待定位点位置信度值,得到与p个指纹点位置信度值最接近的标记位置,即为该待定位置的所述标记。

作为优选的实施方式,所述的时延估计模块i采用广义互相关法并配合相位变换加权函数(gcc-phat)来求得时延,过程如下:

定义一个麦克风节点中的两个麦克风接收到的信号分别为x1(t)和x2(t),声源到麦克风节点的时延τ12可由式(1)、式(2)求得,

其中,x1(f)和x2(f)分别是两个麦克风接收到的信号x1(t)和x2(t)的傅里叶变换,借助fft算法近似求得两时域信号的傅里叶变换结果,(·)*表示共轭操作,e表示自然对数的底,j为虚单位,j2=-1,f为频率,τ12表示时延。

作为优选的实施方式,所述的时延分布函数估计模块计算过程如下:

计算该节点处的时延分布概率密度函数公式为

式中,p为每个麦克风节点处得到的时延个数,也是位置标记数。h为带宽(或称窗口),决定估计函数的平滑度。k(·)为核函数,满足对称性及归一性(∫k(x)dx=1),本发明中核函数选择高斯形式,xc为核函数中心,具体公式为:

最终得到所有n个麦克风节点处的时延分布的概率密度函数

作为优选的实施方式,所述信度值求取模块利用时延分布估计模块得到的该麦克风节点处的时延分布概率密度函数,当给定一个时延τ时,对应得到其信度值m,如下公式:

当整个系统有n个麦克风节点时,对于一个待定位点,就可以得到n个信度值m1,m2,…,mn。

作为优选的实施方式,所述的分布式数据融合模块的加权ds理论的融合过程如下:

其中,wi和wj分别表示第i个麦克风节点和第j个麦克风节点的权重;⊕表示ds融合;权重为

式中max{x,y}表示取x,y中的最大值,n为麦克风节点总数;针对n个麦克风节点的分布式数据融合,一致性算法

迭代过程如下:

其中∪表示对于麦克风节点i的所有通信节点处的信度值按上述加权ds融合规则进行融合,l=10为迭代次数。

通过采用上述技术方案,本发明提出的一种低复杂度的分布式麦克风阵列声源定位系统,有益效果如下:在满足精度要求的同时,本发明算法降低了复杂度和运算量,核心算法没有复杂的非线性计算。对低信噪比高混响环境的适应性较强,在该类型环境中仍然可以保证较高准确度。采用分布式数据融合算法后,针对分布式麦克风节点有损坏的场景,依然可以得到令人满意的定位效果,增强了算法的可移植性和鲁棒性。

附图说明

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

图1为本发明的系统模块图

图2为本发明模拟实验中会议室俯视平面图

图3为本发明标记判断误差定义示意图

图4为本发明中混响时间对定位准确度的影响示意图

图5为本发明中噪声对定位准确度的影响

图6为本发明中分布式麦克风节点逻辑等效图

图7为本发明中节点损坏与定位误差的关系示意图

图8为本发明实施例中三种算法在不同混响条件下的对比示意图

图9为本发明实施例中三种算法在不同信噪比条件下的对比示意图

具体实施方式

为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1-图9所示:

本发明的整体框图如图1所示,总体包括两部分,即离线训练模块(10)和定位模块(20)。

其中离线训练模块(10)中包括时延估计模块(101)、时延分布函数估计模块(102)和构建指纹库模块(103);定位模块(20)包括时延估计模块(201)、信度值求取模块(202)、分布式数据融合模块(203)和定位模块(204)。

其中时延估计模块(101)与时延估计模块(201)功能、原理和实现方式相同。

离线训练模块(10)

训练阶段,在室内可允许人员走动的范围内,每间隔1米设定一个标记位置。本实施例中每两个麦克风构成一个节点,多个节点构成麦克风阵列,随机分布在室内。

本模块主要目的是得到每个麦克风节点处关于时延分布的概率密度函数,以此构成指纹库,具体流程如表1所示。

表1时延分布的概率密度函数估计流程

时延估计模块(101)

时延估计是指求出声源到一个麦克风节点中两个麦克风的时间差。本发明采用广义互相关法并配合相位变换加权函数(gcc-phat)来求得时延。

首先定义一个麦克风节点中的两个麦克风接收到的信号分别为x1(t)和x2(t),声源到麦克风节点的时延τ12可由式(1)、式(2)求得,

其中,x1(f)和x2(f)分别是两个麦克风接收到的信号x1(t)和x2(t)的傅里叶变换,在本发明中借助fft算法近似求得两时域信号的傅里叶变换结果,(·)*表示共轭操作,e表示自然对数的底,j为虚单位,j2=-1,f为频率,τ12表示时延。

时延分布函数估计模块(102)

该模块估计每个麦克风节点处时延的分布概率密度,采用核函数估计法。

在训练阶段,得到所有位置标记点分别到每个麦克风节点的时延,即针对每个麦克风节点有一系列时延τ1,τ2,…,τp,计算该节点处的时延分布概率密度函数公式为

式中,p为每个麦克风节点处得到的时延个数,也是位置标记数。h为带宽(或称窗口),决定估计函数的平滑度。k(·)为核函数,满足对称性及归一性(∫k(x)dx=1),本发明中核函数选择高斯形式,xc为核函数中心,具体公式为

以此类推,可以得到所有n个麦克风节点处的时延分布的概率密度函数这些概率密度函数即构成本发明的指纹库(103)。

定位模块(20)

信度值求取模块(202)

本模块求声源在某处时,到第i个麦克风节点时延τ对应的信度值。本发明中使用时延分布概率密度函数作为信度函数,利用时延分布估计模块(102)得到的该麦克风节点处的时延分布概率密度函数,当给定一个时延τ时,就可以对应得到其信度值m,如下公式:

这样,当整个系统有n个麦克风节点时,对于一个待定位点,就可以得到n个信度值m1,m2,…,mn。

分布式数据融合模块(203)

本发明采用加权ds理论进行数据融合。质函数(又称信度函数)可表示为

m:p(θ)→[0,1](6)

其中θ为一个元素相互独立且有限的集合,在本发明中称为定位问题的全域,由一系列可能的子命题构成。式(6)的含义为给定全域θ的任一子集,都可以得到一个在[0,1]范围内的值,表征该子集对应命题的信度值。

质函数m需同时满足条件于是,对于全域中一子命题a各麦克风节点所得信度值利用ds理论进行融合,得到总信度值。ds融合规则为:

式中,命题a、b、c集合满足都为全域θ的子集;i、j表示麦克风节点序号。因此,对于某待定位位置,将在信度值求取模块中得到的n个麦克风节点处观测到的关于该位置的信度值m1,m2,…,mn按上述ds融合规则进行融合,最终得到所有麦克风节点对该位置的总信度m。

在本实施例中提出了一种更适应实际需求的分布式加权ds数据融合方式,

其中,wi和wj分别表示第i个麦克风节点和第j个麦克风节点的权重;⊕表示ds融合。

在现有技术中给出了一种基于传感器在相似条件下的历史表现估计得到正确率来表示节点的权重。本实施例使用不基于历史先验信息的权重确定法(即按照无向图思想),根据分布式麦克风阵列的通信半径,得到与每个节点通信的节点个数d,在本实施例中称为节点的度,则权重为

式中max{x,y}表示取x,y中的最大值,n为麦克风节点总数。

针对n个麦克风节点的分布式数据融合,本实施例根据一致性算法

提出基于所提加权ds融合规则的一致性迭代方法,

其中∪表示对于麦克风节点i的所有通信节点处的信度值按上述加权ds融合规则进行融合。l为迭代次数,本实施例中l取10。

定位模块

该模块利用数据融合模块得到的所有麦克风节点对待定位位置的信度值来确定出该待定位位置属于训练模块中的哪个位置标记。

首先,对于每一个待定位位置,构造证据全域θ={a,r,n},其中a指的是命题“声源在该标记处”,r表示命题“声源不在该标记处”,n表示命题“不确定声源是否在该标记处”。则命题a、r和n可信度的计算公式[4]分别为

a=(1-n)×mi(12)

r=(1-n)×(1-mi)(13)

表2ds数据融合全域子集集合关系

在定位阶段,只考虑“声源在该标记处”的总信度值,计算过程参考式(8),其中b、c的选取条件满足b,c∈{a,r,n}且式(8)中的命题a、b和c的集合关系满足如表2(以两个麦克风节点为例),其中表示空集。

定位步骤如下:

(1)对于某一待定位位置,n个麦克风节点分别接收到音频信号,计算出声源到每个节点的时延τ1,τ2,…,τn。

(2)根据时延分布函数估计模块中式(5)得到n个麦克风节点对于该位置的信度值m1,m2,…,mn。

(3)根据预设定的麦克风节点通信半径,以及数据融合模块中式(8)、式(9)和基于所提加权ds融合规则的一致性迭代算法式(11)进行分布式数据融合,得到n个麦克风节点对该位置数据融合后的信度值m'1,m'2,…,m'n。

(4)再将该n个数据融合后的信度值m'1,m'2,…,m'n按加权ds数据融合规则融合,得到最后该位置的总信度值bel。

(5)将bel与训练阶段得到的p个位置标记处的信度值做比较,得到与该待定位位置信度值最接近的标记位置信度值,即为该待定位位置的所属标记。

实施例

本实施例中,采用matlab进行仿真,模拟会议室的平面图如图2所示,其中房间大小为8×6×3米;会议桌大小为5×2×0.8米;说话人的高度设定为1.6米;位置标记点的间隔为1米,共有24个标记位置;每个麦克风节点包含两个麦克风,间距固定为30厘米,共15对麦克风分布式地散放在会议桌上。用image模型用来模拟房间脉冲响应及各麦克风接收到的音频信号,声速为343米/秒。

本实施例中定义了“标记判断误差”来衡量算法准确度,其定义为待定位位置到所得标记位置的距离与理论所属的位置距离之差,如下图3所示。

在仿真实验中,定义n表示montecarlo实验次数,采用均方根误差(rmse)表征声源位置所属标记的估计与理论所属标记的偏离程度。

本实施例方法的抗混响和噪声性能

图4给出了相同信噪比(snr=20db)、不同混响时间情况下,对本实施例算法的定位准确度的影响。其中,rt60表示混响时间;ms表示毫秒。图5给出了相同混响时间rt60=0.3秒、不同信噪比(snr)的条件下,对本实施例算法的定位准确度影响。其中db表示分贝。

从图4可见,定位误差会随着混响时间的加大而增加,但也可发现每增加100毫秒混响时间,各定位误差区间对应百分比减小不足5%,在混响为200ms和

300ms条件下,定位误差有近90%小于0.5米,即使在500ms混响下,定位误差也有85%小于1米;从图5可见,噪声严重,即snr=5db时,定位误差虽有下降,但仍有近65%定位误差小于1米,相较于位置标记而言,该误差等价于将待定位的位置标记错判给相邻的一个标记;而对于信噪比为15db和25db情况下,分别有近85%和90%定位误差小于0.5米,这等价于所属特征标记错判不到相邻一个标记。从而说明本算法在给待定位位置进行所属特征标记分类时,受混响和噪声影响较小。

本实施例方案抵抗节点失能的性能

本实施例中,可将麦克风节点分布及通信情况等效成一种无向图,如图6所示。麦克风节点等效成图结构中的节点,图结构中的边表示这两个节点所代表的麦克风节点间可通信。并且定义与该节点通信的节点个数为该节点的度。黑色节点表示损坏节点,白色节点为正常工作节点,实边表示正常通信,虚边表示因节点损坏导致的通信失败。

在节点失能对定位影响的仿真实验中,选定室内环境参数为信噪比20db,混响时间t60=0.3秒。首先仿真了无节点损坏情况下,算法的定位准确度;其次随机选择一个节点损坏,得到对应的定位准确度,并做多次montecarlo仿真求均值,以得到损坏一个节点情况下,算法的定位准确度;最后以同样的随机方法,得到损坏两个节点的情况下,算法的定位准确度。将三条曲线对比在图7中显示。从图7可见,当有节点损坏时,本实施例所提方法定位准确度会有所下降,但仍可得到可接受的定位位置所属标记准确度。

本实施例方案与两种常见的声源特征定位方法的对比

参与对比的两种方法如下:对比方法1:采用声源到各麦克风节点的时延作为参考量,并借助支持向量机(svm)进行分类训练来构成特征库。在定位测试阶段,用测得的待定位声源位置到各麦克风节点的时延通入到已训练好的svm分类器中得到所属位置标记。对比方法2:采用声源到各麦克风节点的时延作为参考量直接构成特征库,在定位测试阶段,用测得的待定位声源位置到各麦克风节点的时延与特征库中时延做比较,得到与其最接近的时延序号所对应的标记,即为待定位声源位置所属标记。为了对比需要,本实施例与上述两文献中方法对比时,均只取到两方法特征分类阶段的结果。

图8和图9分别显示了三种算法针对不同混响和信号噪声比的情况下的性能。图8比较三种算法的抗混响能力,固定信噪比为20db;图9比较三种算法的抗噪能力,混响时间t60=0.3秒。横坐标分别为混响时间(rt)和信噪比(snr),纵坐标表示在定位误差小于1米(即本实施例中相邻标记点的间隔)所对应的比例。由图8、图9可见,三种方法在低混响、高信噪比环境下性能相近,但对高混响时间或低信噪比环境,本实施例方法的性能显著优于其它两种对比方法。三种方法主要运算量的对比。

此处为方便起见,定义了一些特定符号来表示除加乘基本运算外的复杂操作,具体如表3所示。同时设一致性算法融合迭代次数为c;任意一麦克风节点的度为ns;麦克风节点总数为m。则表4给出三种方法分别的主体计算量。

表3运算量计算的相关符号

表4计算量对比

分析表4可知,对比方法2(即直接以时延作为参考量构建特征库)的运算量最低,与此同时对比方法1(即以时延作为参考量并借用支持向量机构建特征库)的运算量最高。算法一运算量主要高在svm训练阶段权重迭代更新时的非线性运算,而且与训练时迭代次数正相关,事实上支持向量机往往需要多次迭代,因此其运算量最高。而本算法在基本的加乘运算量上比其他两种方法高出m2,这主要是因为ds融合时需要先算出全域的“不确定”子集对应的信度,虽与m2成正比,但往往麦克风节点数在10数量级上,所以相比而言运算量不会剧烈增加。其次本算法在其他运算量上远小于机器学习相关方法,较算法二只增加一个概率密度函数估计的计算量。而由式(3)可知,该估计计算量与位置标记数正相关,即φ1~o(p),因此实际增加的运算量较小。

以上所述,仅为本实施例较佳的具体实施方式,但本实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实施例揭露的技术范围内,根据本实施例的技术方案及其发明构思加以等同替换或改变,都应涵盖在本实施例的保护范围之内。

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