精华内容
下载资源
问答
  • TDOA定位算法,基于7站定位算法,Taylor算法,仿真分析,误差分析
  • PAGEPAGE 1毕 业 设 计(论 文)基于MATLAB声源定位系统专业年级 07级应用物理学学 号姓 名指导教师评 阅 人二○一一年六月中国 南京河 海 大 学本科毕业设计(论文)任务书(理 工 科 类)Ⅰ、毕业设计(论文)题目:基于...

    PAGE

    PAGE 1

    毕 业 设 计(论 文)

    基于MATLAB的声源定位系统

    专业年级 07级应用物理学

    学 号

    姓 名

    指导教师

    评 阅 人

    二○一一年六月

    中国 南京

    河 海 大 学

    本科毕业设计(论文)任务书

    (理 工 科 类)

    Ⅰ、毕业设计(论文)题目:

    基于matlab系统声源识别与实时定位初步研究

    Ⅱ、毕业设计(论文)工作内容(从综合运用知识、研究方案的设计、研究方法和手段的运用、应用文献资料、数据分析处理、图纸质量、技术或观点创新等方面详细说明):

    研究内容:

    声源的识别与实时定位技术有很广泛的应用。在多媒体系统、人机界面、视频会议系统、移动机器人以及军事系统中等领域有着较高的利用价值,因此受到人们的广泛研究。本论文采用matlab系统来完成相应的软件和硬件控制工作。首先使用matlab控制pc机的声卡完成声源数据的采集,进而利用matlab强大的数值计算和处理功能完成对声源数据的实时处理,给出友好的人机交互界面。

    本毕业文主要有以下几个方面的工作:

    (1)准备阶段 收集资料,学习阅读有关资料、师生交流,设计实验步骤和论文大纲,完成实验准备工作;

    (2)实验阶段 在指导教师指导下,完成实验步骤、获得实验数据。

    (3)论文阶段 根据论文大纲,师生交流,撰写毕业论文。

    (4)提交 修改完成,交指导教师

    中文摘要

    基于传声器阵列的声源定位是指将若干个传声器按照一定的几何结构排列,组成传声器阵列,通过阵列信号处理的方法对该阵列接收到的声源信号进行处理,根据所得数据确定出声源的几何位置。基于传声器阵列的声源定位技术在视频会议、目标定位、语音识别、声音检测及语音增强等领域有重要的应用价值。它可以以电子瞄准的方式对准声源而不需要人为地移动传声器,弥补了单个传声器在噪声处理和声源定位方面的不足,有着广阔的应用前景。本文主要对基于传

    声器阵列的声源定位技术领域中的基于时延的定位理论进行了研究。

    首先对传声器阵列及其研究现状进行了总体概述,讨论了基于传声器阵列的声源定位所面临的问题,重点分析了传声器阵列信号处理的特殊性和混响的产生原因及影响,总结归纳并比较了各种基于传声器阵列声源定位方法的优缺点。重点分析了基于时延估计的声源定位方法。讨论了几种时延估计方法,然后介绍了几种几何定位法和目标函数空间搜索定位法。

    我们开发了一种基于MAYA44 V3声卡的声源定位系统,进行了系统的声源定位实验,给出了实验结果,并提出了改进方案。实验证明所设计的声源定位系统实际可用,并可以为进一步的声源定位技术研究提供硬件平台支持。

    关键词:传声器阵列 声源定位 时延估计 MAYA44 V3声卡

    ABSTRACT

    Acoustic source localization with microphone arrays refers to that the location of acoustic source is determined by the signal imformation received from several microphones arrayed with a certain geometric structure.Acoustic source localization techniques have a variety of important uses in videoconferencing,targets'directionfinding,speech recognition,sound detection and speech enhancement.An array of microphones has a number of advantages over

    展开全文
  • 完整代码可直接运行,运行效果图见压缩包
  • 最近在优化频谱监测系统中的TDOA定位精度。TDOA中最重要的问题无外乎是信号时差的提取。看了国内外的文献,一致首推“广义相关(Generalized Cross Correlation–GCC)算法”。 查文献,在matlab中使用模拟正弦波...

    一、简介

    最近在优化频谱监测系统中的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

    展开全文
  • 完整代码可直接运行,运行效果图见压缩包
  • 时延估计的声源定位算法及MATLAB实现.pdf
  • 最近在优化频谱监测系统中的TDOA定位精度。TDOA中最重要的问题无外乎是信号时差的提取。看了国内外的文献,一致首推“广义相关(Generalized Cross Correlation–GCC)算法”。 查文献,在matlab中使用模拟正弦波...

    一、简介

    最近在优化频谱监测系统中的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

    展开全文
  • 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位。常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术、基于可控波束...

    声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的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,得到目标的二维角度之后即可推算出目标的三维位置.

    137389c6389a5014f44ab035a8e0eeb6.gif
    22cc67e39d4355d34c03269b82d2712b.png

    注意点

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

    更多信息请点击了解更多

    展开全文
  • 一、简介 基于matlab声源双麦克风的房间冲激响应 二、源代码 clear all; close all; fs=8000; %采样频率 path_length = 256; %路径长度 mic1=[0.9 1.5 1.5];
  • 麦克风声源定位:通过SRP-PHAT和其他数值方法进行的麦克风声源定位。(基于SRP-PHAT的麦克风声源定位
  • 完整代码可直接运行,运行效果图见压缩包
  • TDOA声源定位

    2018-07-22 20:46:20
    利用TDOA估计时间延迟,进行声源定位。这个是基于matlab声源定位程序。
  • 一、简介 MUSIC算法 是一种基于矩阵特征空间分解的方法。从几何角度讲,信号处理的观测空间可以分解为信号子空间和噪声子空间,显然这两个空间是正交的。信号子空间由阵列接收到的数据协方差矩阵中与信号对应的特征...
  • 一、简介 MUSIC算法 是一种基于矩阵特征空间分解的方法。从几何角度讲,信号处理的观测空间可以分解为信号子空间和噪声子空间,显然这两个空间是正交的。信号子空间由阵列接收到的数据协方差矩阵中与信号对应的特征...
  • 声源定位源码

    热门讨论 2015-06-09 15:01:30
    声源定位是依据声音信号到达各个麦克风的时延来判定声源的位置
  • 原文链接:...声源定位算法是利用麦克风阵列进行声音...
  • 语音处理,声源定位中的一些基本特征 在语音信号处理的研究中,常常涉及到很多复杂的音频特征提取,而且这些特征大部分用matlab提取较方便,但是如果转为python,就需要花一点时间自己去理解了。 考虑到后续要用...
  • 一、简介 基于matlab声源双麦克风的房间冲激响应 二、源代码 clear all; close all; fs=8000; %采样频率 path_length = 256; %路径长度 mic1=[0.9 1.5 1.5];
  • 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位。 常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术、基于可控...
  • %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %%%%%%%%%%%%%%%%进行声源定位%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tg=tg12(LF) tp=tg32(LF) %时间延迟 sita(LF)=asin((c*...
  • 完整代码可直接运行,运行效果图见压缩包
  • 目录远场模型自由场信号模型互相关方法(Cross-Correlation,CC)广义互相关方法(Generalized Cross-correlation, GCC)GCC-PHAT方法matlab实现 参考文献下载地址:Microphone_Array_Signal_Processing(中文版+英文...
  • 完整代码可直接运行,运行效果图见压缩包
  • 该资源实现了基于广义互相关的五元十字声源定位系统的仿真,可以完成声源位置坐标,俯仰角的测量以及输出。
  • 经典的声源定位算法,包括波束成形,TDOA和高分辨率频谱估计。 用法 matlab -nodesktop -nosplash –r matlabfile (name of .m) 算法解释 波束成形:一种空间滤波方法,是一种在传感器阵列中用于定向信号传输或接收...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 148
精华内容 59
关键字:

matlab声源定位

matlab 订阅