【声源定位】基于matlab广义互相关声源定位【含Matlab源码 548期】
2021/6/27 20:22:33
本文主要是介绍【声源定位】基于matlab广义互相关声源定位【含Matlab源码 548期】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、简介
最近在优化频谱监测系统中的TDOA定位精度。TDOA中最重要的问题无外乎是信号时差的提取。看了国内外的文献,一致首推“广义相关(Generalized Cross Correlation--GCC)算法”。
查文献,在matlab中使用模拟正弦波仿真测试了一下广义相关算法,没有达到预期效果,百思不得其解。浏览了一下网络上关于GCC的评论,国内外不少人都抱怨无法得到预期仿真结果。最后,想到广义相关算法公式中,影响计算结果的主要参数是相位信息,应该需要使用仿真调制信号来测试。使用Matlab仿真FM/FSK/PSK之后,效果果然不错。在C++程序中实现这个算法只是工作量的问题了。matlab仿真源代码展示在这里,供大家参考。注意,不同版本Matlab需要使用不同的调制函数。
你可以使用广义互相关( Generialized Cross-Correlation )来估计一个信号达到两个传感器的时间延迟。比如应用麦克风阵列来确定声源方位的应用背景。问题可以用以下模型来描述:
二、源代码
clear all; close all; clc load s.mat; s1=s1_10db(:)'; %变为行向量 s2=s2_10db(:)'; %变为行向量 wnd=512; inc=256; [delay]=GCC_Method('standard',s1,s2,wnd,inc); subplot(411) plot(delay-wnd,'*') ylim([0,12]) title('标准GCC') xlabel('帧数') ylabel('延时/点') [delay]=GCC_Method('phat',s1,s2,wnd,inc); subplot(412) plot(delay-wnd,'*') ylim([0,12]) title('Phat-GCC') xlabel('帧数') ylabel('延时/点') [delay]=GCC_Method('scot',s1,s2,wnd,inc); subplot(413) plot(delay-wnd,'*') ylim([0,12]) title('Scot-GCC') xlabel('帧数') ylabel('延时/点') [delay]=GCC_Method('ml',s1,s2,wnd,inc); subplot(414) plot(delay-wnd,'*') ylim([0,12]) unction frameout=enframe(x,win,inc) nx=length(x(:)); % 取数据长度 nwin=length(win); % 取窗长 if (nwin == 1) % 判断窗长是否为1,若为1,即表示没有设窗函数 len = win; % 是,帧长=win else len = nwin; % 否,帧长=窗长 end if (nargin < 3) % 如果只有两个参数,设帧inc=帧长 inc = len; end nf = fix((nx-len+inc)/inc); % 计算帧数 frameout=zeros(nf,len); % 初始化 indf= inc*(0:(nf-1)).'; % 设置每帧在x中的位移量位置 inds = (1:len); % 每帧数据对应1:len frameout(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:)); % 对数据分帧
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
这篇关于【声源定位】基于matlab广义互相关声源定位【含Matlab源码 548期】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23JAVA语音识别项目入门教程
- 2024-11-23Java云原生学习:从入门到实践
- 2024-11-22Java创业学习:初学者的全面指南
- 2024-11-22JAVA创业学习:零基础入门到实战应用教程
- 2024-11-22Java创业学习:从零开始的Java编程入门教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22JAVA对接阿里云智能语音服务学习教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22Java副业学习:零基础入门到实战项目
- 2024-11-22Java副业学习:零基础入门指南