基于matlab的声源定位系统_盲源分离算法

基于matlab的声源定位系统_盲源分离算法(转载)基于TDOA声源定位算法仿真–MATLAB仿真转载自:https://blog.xxcxw.cn/archives/28声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位。常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术、基于可控波束形成(Beamforming)的定位技术和基于TDOA的定位技术,以上三种算法在阵列信号处理中,尤其是移动通信的阵列信号处理中都有广泛的应用。但是声音信号与传统的电磁

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(转载)基于TDOA声源定位算法仿真–MATLAB仿真
转载自:https://blog.xxcxw.cn/archives/28

声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位。

常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术、基于可控波束形成(Beamforming)的定位技术和基于TDOA的定位技术,以上三种算法在阵列信号处理中,尤其是移动通信的阵列信号处理中都有广泛的应用。但是声音信号与传统的电磁波信号存在许多的不同,主要包括以下几点:

带宽不同:麦克风阵列处理的多是宽带信号,频率范围一般在 300Hz到 3KHz 之间;传统的阵列信号处理的多是窄带信号。
信号的平稳性:麦克风阵列处理的多是非平稳的语言信号,传统阵列处理的对象多是平稳信号。
干扰噪声不同:传统的阵列处理的信号中的噪声一般为不相关的高斯噪声,麦克风阵列处理的信号中既有相关的高斯噪声,也有非高斯噪声。
由于声音信号与电磁波信号存在上述几点不同,尤其是信号带宽问题和信号的平稳性问题,因此传统的基于高分辨率谱估计的定位技术、基于可控波束形成(Beamforming)的定位算法不太适用于声源定位算法,

基于TDOA的声源定位算法具有运算量小、算法简单易实现、定位精度较高、硬件成本低的特点,使得该算法在实际中的应用非常广泛,而且可以实现实时定位。基于 TDOA 的声音定位算法实现原理简单,一般分为延时估计和声源定位两个部分,时延估计的精确度直接决定了声源定位的精度,所以时延估计精度是该算法的核心部分。本章分别介绍基于 TDOA 的声源定位算法中的时延估计的方法和基于得到的时延信息进行声源定位的方法,并对算法进行仿真。
传统的时延估计方法有很多,传统的时延估计算法主要有基于相关分析的时延估计方法,基于相位谱估计的时延估计方法,基于参数估计的时延估计方法等,应用最广泛的方法主要为基于相关分析的时延估计方法中的广义互相关函数法(GCC)和基于自适应滤波器的延时估计方法中的最小均方自适应滤波法(LMS)。

广义互相关法

广义互相关法的基本原理是在传统的通过互相关来求时延的算法的基础上,对接收到的信号进行滤波处理,对信号和噪声进行白化处理,增强信号中信噪比较高的频率成分,从而到达抑制噪声功率的目的,使得相关函数取得尖锐的峰值,提高时延估计的精度,因此和上述的LMS算法相比,广义互相关法可以取得更好的时延估计性能。 因为广义互相关法的基础仍然是互相关算法,因此首先简单介绍下互相关算法,互相关算法的基本原理公式如下式所示,其中h(n)即对应时延为t的冲激响应,且R(k)的幅度峰值应该位于k=t的位置。 广义互相关法为了解决上述问题,对上述得互相关结果R(K)进行了频域得均衡处理,这样就只保留了互相关得相位信息,即时延信息,去除了音频信号本身得影响,再进行反傅里叶变换得到R(k)即可得到一个峰值非常陡峭的冲击信号,其峰值位置正好对应的就是时延差的位置,。由于实际音频信号的采样率有限,为了进一步提高时延估计得分辨率,还需要对广义互相关的结果进行进一步的差值处理,得到更加精确的时延信息,因此处理流程如下所示。

本仿真中主要采用了广义互相关算法作为时延信息得提取算法。 利用广义互相关算法得到时延信息之后,就需要根据麦克风阵列的几何信息估计声源的方位,进而估计出目标的位置。在本文的场景声源于目标的关系可以近似当作是远程声源进行处理。主要考虑使用二维L型阵列进行接收,L型阵列的X轴和Y轴的阵元可以分别视为一个一维的线型阵列,然后可以分别估计声源来向的水平角度和垂直角度。因此在接下来的内容中将简单介绍声源方位估计得算法。分别估计得到水平阵列的角度θ1和垂直阵列的角度θ2之后,由于本文中的声源目标是猪,因此目标的高度维度坐标肯定是0,得到目标的二维角度之后即可推算出目标的三维位置

基于matlab的声源定位系统_盲源分离算法
在这里插入图片描述
注意点

声源使用从网上下载了一段猪语音(wav文件)作为声源生成麦克风接收信号。
实现了单目标声源定位(包括方位和目标位置,根据场景目标应该在地上)
该程序采用了TDOA声源定位算法(可以参考《基于FPGA的声源定位系统软硬件设计》4节、《基于麦克风阵列的声源定位系统硬件设计与算法研究1》第4章)
文档下载:链接:https://pan.baidu.com/s/1Hgk_y2FE-Ic04iEkIDAVBw
提取码:h76w

程度下载:链接:https://pan.baidu.com/s/1AurO823CuifsXeH_Po-ItQ
提取码:bcy9

解压密码可以私信我或者在下面评论。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190689.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AI经典案例_人工智能挑战

    AI经典案例_人工智能挑战来源:Stanford编辑:好困David「AI100」报告第二弹!本次报告评估了2016年至2021年间人工智能的发展,涵盖14大问题,探讨了人工智能发展的关键领域。主题是「人工智能在…

    2022年9月27日
    0
  • javaweb酒店管理系统源代码_java简单酒店管理系统代码

    javaweb酒店管理系统源代码_java简单酒店管理系统代码大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。今天将为大家分析一个小型酒店管理系统(当前酒店管理系统已经得到了充足的发展和完善,一些大的酒店购买了功能强大、数据量处理快速、客户行为研究的软件,借此来提升酒店的核心竞争力。但是对于一些中小规模的酒店而言,昂贵的系统花费、专人的维护是不现实的,也是非常不灵活的。…

    2022年9月25日
    1
  • 【CAS】CAS原理「建议收藏」

    【CAS】CAS原理「建议收藏」CAS是所有原子类的底层原理,乐观锁主要采用CAS算法。CAS,比较并交换,是==JDK提供的非阻塞原子性操作,通过硬件保证比较-更新操作的原子性。==通常结合volatile保证共享变量的原子性。

    2022年10月16日
    0
  • list转有序map「建议收藏」

    list转有序map「建议收藏」publicstatic<KextendsComparable<?superK>,V>Map<K,V>sortByKey(Map<K,V>map){ Map<K,V>result=newLinkedHashMap<>(); map.entrySet().stream() .sorted(Map.Entry.<K,V>c..

    2022年9月23日
    0
  • C++有序双向链表

    C++有序双向链表

    2021年8月20日
    58
  • 分布式存储系统考虑因素-分区容错性[通俗易懂]

    分布式存储系统考虑因素-分区容错性[通俗易懂]分布式存储系统中的多台服务器通过网络进行连接。但是我们无法保证网络是一直通畅的,分布式系统需要具有一定的容错性来处理网络故障带来的问题。

    2022年7月25日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号