【声源定位】基于matlab不同空间谱估计的声源定位算法比较【含Matlab源码 545期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【声源定位】基于matlab不同空间谱估计的声源定位算法比较【含Matlab源码 545期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、声源定位算法简介
1 引言
声源识别定位系统技术广泛应用于军用和民用领域,在民用领域中主要用于环保、无损检测和交通运输行业。近年来,在麦克风阵列基础上衍生的定位技术成为研究热点。其基本原理比较简单,是通过具有一定几何扩展结构的阵列采集声源信号,通过相应的阵列信号处理技术对语音信号进行系统的分析和处理,确定声源的位置和方向。基于麦克风阵列的声源定位技术在学术界有着非常突出的研究价值和十分广泛的应用前景。由于不一样的场合下声源所发出的声音信号类别不同,周围环境也不同,然而声源定位的思路方法是相同的,所以在不同的领域中也可以使用部分关于声源定位的核心算法。本文将分析基于麦克风阵列的声源定位技术的不同算法。
2 阵列信号模型
在这个声源定位系统中,麦克风阵列处于最前端,在整个信号采集及后续处理过程中起着十分重要的作用。将阵列模拟成一个空间模型,它显示的声源信号将对应阵列的空间信息。根据不同的声源距离,将阵列模型可以分为近场和远场两种不同的类型。信号输入为远处声源时,阵列直径忽略不计,传声器收到的声波信号为平面波,如图1所示,此时仅需要确定声波的入射方向即可,无需考虑具体的距离和方位。信号输入为近处声源时,则需考虑声源与阵列之间的距离,传声器收到的声波信号为球面波,如图2所示。近处声源模型更贴近实际情况,提供了更多的声源信息,提高了定位准确度。
图1 远处声源示意图
图2 近处声源示意图
根据声源定位技术,总结了不同的定位算法,包括可控波束形成、高分辨率谱估计和时延估计等定位算法。
3 可控波束形成定位算法
可控波束形成技术是比较成型的技术,地位也比较重要,被广泛应用于雷达等通信领域。波束形成法的使用原理:在基于麦克风阵列的声源定位技术中是加权求和各个阵元输出,得到基阵的输出,在利用改变加权的系数在其余的方向上产生较小的响应,而在希望的方向上形成较强的波束。确定出声源信号的方位信息则是利用对整个观测空间的波束进行扫描。定位算法包括以下两种。
延迟求和波束算法。这是一种基本波束形成方法,该方法利用信号之间的相位延迟来改变波的方向,该计算方法计算量小、信号失真度小,但这种方法有个缺点就是对噪声的鲁棒性较差,需要更多的阵列来弥补。
自适应滤波算法。在上述技术的基础上增加了自适应滤波技术。该方法根据相应的决策依据调整权重,得到相应的最优波束形成器。常用的标准有最小均方误差等。自适应滤波算法计算量小、信号失真小,但对噪声鲁棒性强,所需阵列少。
4 基于高分辨率谱估计的定位算法
高分辨率谱估计的定位算法的基本原理是通过计算相关矩阵的空间之谱,利用每个元素信号的相关拟合矩阵得到声源的方向。该算法主要包括Characteristic Subspace算法和Subspace Fitting算法。
Characteristic Subspace算法的基本原理是从阵列接收到的各种声音信号中提取自相关矩阵,然后将其分解为信号和噪声两个不同的特征值,通过比较两个子空间的特征值,对其进行空间谱搜索,完成位置估计。该算法包括多信号分类算法、旋转不变子空间算法等。
Subspace Fitting算法的基本原理是在阵列收到的信息数据的子空间与阵列形状之间建立拟合关系。这种算法包括SSF算法、NSF算法等,应用也较为广泛。
上述两种不同的定位算法主要针对的是区间较窄的信号,在过去普通的阵列信号处理过程得到了广泛的应用。但由于声源信号大多使用的较宽的区间信号,因此定位算法的实用性方面不强。另外,该信号需要统计特别平稳的信号在时域中巧妙地估计相关矩阵。然而,对于声音、语言等不平稳信号,在极短平稳时间内很难采集到足够及充分的数据来满足高分辨率谱估计准确度的要求。因此,这种定位算法在实际应用中并没有得到广泛的应用。
5 基于时延估计定位算法
此种类型的定位算法,其基本原理是依据信号从初始位置到达不同距离和位置接受器的时间之差,通过一系列算法算出信号位置所对应的特征面,多种接收器可以同步接收不同种的特征面,各特征面的交汇处就是信号源的位置,该方法在当前应用最为广泛。
时延估计法具有方法简单、运算量小等优点,在基于麦克风阵列的声源定位算法中较受欢迎。在该系统中,定位确定过程大致分为两个不同阶段:时延估计阶段和定位阶段。由于特征面的几何特性,时延值估计的误差在定位阶段被放大,导致定位的成功率低下,定位误差也随之增大。因此,如何提高时延估计的成功率和准确度便成了声源定位系统的关键。同时,时延估计的技术和理论也由于各种新型技术的出现得到了快速发展,各种基于时延估计的改进算法也随之涌现。
5.1 广义互相关时延估计算法(GCC时延估计算法)
此种类型的算法是比较实用的时延估计算法,它主要手段是利用互相关函数来进行计算。在该系统中,阵列的每个接收器接收到的信号都可能来源于同一处,并且信号之间有很强的相关性。在最理想的条件下,每两个信号之间的时间延迟可以通过计算每两个信号之间的相关函数来确定。
5.2 最小均方时延估计算法
在上述GCC算法中,信号的产生使用的是理想模型,没有加入室内混响噪声的影响因素,因此,混响噪声影响到一定程度时,GCC计算方法的结果并不理想。而本办法最小均方算法中使用的信号是根据实际情况建立的模型。通过自身的适应性滤波,在房间内产生单位的脉冲响应函数,然后根据响应函数得到估计值。此计算方法从噪声混响以及屋内的冲击反馈出发,能有效地减少混响。
三、部分源代码
clc;
clear all;
close all;
- 1
- 2
- 3
- 4
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]陶巍,刘建平,张一闻.基于麦克风阵列的声源定位系统[J].计算机应用. 2012,32(05)
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/114954882
- 点赞
- 收藏
- 关注作者
评论(0)