精华内容
下载资源
问答
  • 主要采用基于传声器阵列的被动声源定位技术,系统由传声器及其外围电路、声音信号采集电路、处理器外围电路、LCD驱动和外围电路及系统电源电路五部分组成,根据接收的声音信号确定目标的位置。介绍了目前常用的声源...
  • 为了改善在复杂环境下声源定位算法的性能,提出了一种新的时延估计(TDE)方法,即基于传递函数比的统计模型方法(ATFR-SM)。该方法采用统计模型去除噪声对传递函数(ATF)的影响,在计算传递函数时对功率谱密度...
  • 为提高调制声场特征提取的准确性,减小噪声对全息重建结果影响,提出复解析小波变换的调制声源...利用仿真信号及音响实验分析验证表明,该方法能准确识别、定位调制声源,计算量小,抑制噪声能力强,且全息重建精度高。
  • 本文以基于声源定位的自主摄像系统为依托,主要是讲解声源定位的基础知识,以及如何实现声源定位。如果感兴趣以及对其中不懂的可以添加博主QQ:2859340499进行咨询 1. 硬件搭建——麦克风阵列设计: 一维直线型...

    本文以基于声源定位的自主摄像系统为依托,主要是讲解声源定位的基础知识,以及如何实现声源定位如果感兴趣(程序资料等)以及对其中不懂的可以添加博主QQ:2859340499进行咨询
    同时附B站对应的视频讲解链接:声源定位视频

    1. 硬件搭建——麦克风阵列设计:
    在这里插入图片描述
    一维直线型麦克风传声器阵列:可以在180°的范围内进行声源定位,结构最简单的,计算量少。
    一维三角型麦克风传声器阵列:可以在360°范围内进行声源定位,安装比较复杂,计算量大。

    2. 软件设计:
    在这里插入图片描述
    时延估计算法:
    由于声源信号相对于两个麦克风传声器之间的距离不相同,所以声波面到达两个麦克风传声器就产生了到达时间差,距离差就等于声源信号在空气中传播的速度和两个麦克风传声器之间相对时延的乘积。
    (1)使用数字量传感器(检测到声音为高低电平):
    在这里插入图片描述
    (2)使用模拟量输出传感器(输出值需要AD采集):
    在这里插入图片描述
    3. 声源定位实际测试:
    硬件测试平台为STM32搭建,测试时分别在麦克风阵列的左面和正面进行模拟发声,利用硬件设备上自带的显示屏以及电脑显示的麦克风传声器获取的声音信号波形进行比较。
    在这里插入图片描述
    其中硬件设备的 显示屏上面第一行前面的数据代表两个麦克风传声器之间检测到语音信号段中最大信号量的相对时延,第二行的标志位1(右面)或者2(左面)代表了这两个麦克风传声器是哪一个先检测到采集的这一段语音信号中的信号量最大值。
    从 显示屏上第二行的标志位可以看到这两个传声器中右面(1)的先检测到语音信号段中的语音最大值,从第一行第一个数据可以看出经过1个单位时延左面(2)的也检测到了语音信号段中的语音最大值。可以看出这两个传声器检测到语音信号段中信号量的最大值的先后相差无几,也就是说这两个麦克风传声器几乎是同步检测到语音信号,所以从 显示屏上可以看出麦克风阵列检测到的声源所在位置是在麦克风阵列的正中间。为了判断硬件设备检测的准确性,需要通过麦克风传声器测出的波形来进行验证:
    在这里插入图片描述
    从电脑上得到的两个麦克风传声器检测到的波形,可以看出两个传声器检测到的语音信号波形几乎是同步的,所以可以验证在正面发声时麦克风阵列检测结果是准确的。

    正面验证通过之后,在麦克风传声器的左面进行发声,如图为在麦克风阵列正面发声时硬件设备测试的结果。
    在这里插入图片描述
    从 显示屏上可以看到这两个传声器中左面(2)的先检测到语音信号段中的语音最大值,在经过10257个单位时延后右面(1)传声器也检测到了语音信号段中的语音最大值。可以看出这两个传声器中明显是左面的先检测到语音信号段中信号量的最大值,所以可以推断出麦克风阵列检测到的声源所在位置是在麦克风阵列的左面。同时也为了判断硬件设备检测的准确性,也通过麦克风传声器测出的波形来进行验证:
    在这里插入图片描述
    从得到的麦克风传声器波形可以看出,两个传声器检测到的语音信号波形中传声器 明显比传声器 先检测到,所以可以验证在左面发声时麦克风阵列检测结果是准确的。通过以上两组测试可以确定每组实验时的准确性,因此就基本可以确定麦克风阵列声源定位的硬件以及软件设计是可行的。

    4. 应用(基于声源定位的摄像头系统):
    在这里插入图片描述
    简易搭建,过于丑陋~~~~~~~~~

    注:本文中涉及的硬件及软件为博主本人搭建设计,其中有不足的地方欢迎大家留言讨论。如果需要资料(声源定位程序源代码、本文内容相配套的论文、网上较好的论文资料、PPT等)可以添加博主QQ:2859340499

    展开全文
  • 声源定位技术能够通过传感器阵列对目标声源的探测,经过信号处理,实现声源的跟踪和定位。该技术在语音通信、助听设备、及军事等领域应用广泛,对瞬时随机声响定位,特别是对一些特定声音异常位置的判断有独特的实用...

    声源定位技术能够通过传感器阵列对目标声源的探测,经过信号处理,实现声源的跟踪和定位。该技术在语音通信、助听设备、及军事等领域应用广泛,对瞬时随机声响定位,特别是对一些特定声音异常位置的判断有独特的实用价值。目前多数研究论文对声源定位研究算法主要基于计算机仿真得出,然而现实中声学环境的复杂性以及声音信号的特殊性使得某些因素(如混响)的影响不能被忽略。因此,定位方法在实时性、响应速度和可行性方面还需要更加深刻的研究,特别是对瞬时声响进行自动跟踪的能力。

    本文从实际应用出发,讨论了各种应用较为广泛的传声器阵列的声源定位算法,并针对某些算法在应用上存在的问题提出了可行的改进方案。针对随机瞬时声响设计出基于虚拟仪器的瞬时声响三维实时定位系统。文章主要完成了以下的工作:

    (1)通过对传声器阵列信号处理研究的现状及其主要的应用领域的探讨,研究传声器阵列信号处理与窄带天线阵列信号处理的区别,分析传声器阵列信号处理所面临的问题。

    (2)根据不同应用的声学环境探讨传声器阵列声源定位的数学模型,重点研究三维空间定位的四元平面方阵定位原理,针对四元平面方阵存在的不足提出改进方案。

    (3)研究基于时延估计的传声器阵列声源定位算法中最为典型的广义互相关算法及其扩展形式,针对多个声源的情况,探讨多目标定位的MUSIC算法,对窄带MUSIC算法进行了改良,能有效应用于对近场宽带信号的处理。

    (4)以研华PCI-1714采集卡作为信号采集平台,由LabVIEW图形化编程语言和MATLAB语言进行编程,从四元方阵定位模型理论出发,结合互功率谱时延估计算法设计基于虚拟仪器的随机瞬时声响定位系统。实验证明该系统对单个声源有较快的定位速度,精度理想,基本能满足对近场瞬时声源的实时定位要求。同时基于此采集平台针对多个声源存在的情况,对改进的MUSIC算法性能进行了现场测试分析。

    展开全文
  • C++声源定位.zip

    2020-08-26 10:19:44
    声源定位方法有基于麦克风阵列声源定位方法,基于双耳听觉机理声源定位方法和基于光学传感方式声源定位方法。其中,基于麦克风阵列的声源定位方法一般...此外,目前声源定位技术一般都需要一个传声器来获取该位置的声音信
  • 声源定位技术定位出外界声源相对于机器人的方向和位置,机器人听觉声源定位系统可以极大地提高机器人与外界交互的能力。总结和分析面向机器人听觉的声源定位技术对智能机器人技术的发展有着重要的意义。首先总结了...
  • 声源定位

    千次阅读 2019-11-06 13:08:35
    声源定位 一.简介 声音定位是人们感知周围事物的一个重要部分。即使看不到那里有什么,我们也可以根据声音大致判断出我们周围有什么。尝试在电子设备中复制相同的系统可以证明是一种有价值的方式来感知机器人、...

    声源定位
    一.简介
    声音定位是人们感知周围事物的一个重要部分。即使看不到那里有什么,我们也可以根据声音大致判断出我们周围有什么。尝试在电子设备中复制相同的系统可以证明是一种有价值的方式来感知机器人、安全和一系列其他应用的环境。我们构造了一个三角形排列的麦克风来定位任意声音的方向。通过记录来自三个麦克风的输入,我们可以将记录相互关联,以识别音频记录之间的时间延迟。因为三个麦克风的物理位置是已知的,所以可以使用麦克风之间的时间延迟来估计声音的方向。估计方向后,我们在液晶显示器上用箭头显示方向。
    二.整体设计思路
    在这里插入图片描述
    2.1 数学原理
    在采样帧中,两个麦克风之间的近似最大时间延迟是使用以下三个参数计算得出的:1.室温下干燥空气中的声速,2.每个麦克风之间的距离,3.采样速率。
    最大时间延迟=采样速率/(声速距离)= 25 kHz / (343 m/s 0.50 m)
    本项目中用于计算两个信号之间时间延迟的主要数学技术是互相关,它通过沿另一个信号滑动一个信号来测量两个信号的相似性。公式如下:
    在这里插入图片描述
    2.2 硬件框图
    下图说明了本项目中使用的所有外设。PIC32利用10位模数转换器(ADC)读取模拟输入,利用串行外设接口(SPI)通道写入薄膜晶体管显示器,利用另一个串行外设接口通道写入数模转换器(DAC)进行模拟输出。
    在这里插入图片描述
    2.3 硬件/软件权衡
    在硬件和软件之间进行选择是实现容易的平衡,同时倾向于在微控制器中运行系统,以增加微控制器提供的灵活性。由于我们希望能够比较声音和可能的时间延迟,大多数音频处理都是在PIC32微控制器中完成的。虽然某些项目中提到使用硬件脉冲检测器来确定到达时间,但我们选择用软件来确定,因为这样可以让我们检测非脉冲的声音。一些放大和信号控制是在硬件滤波器和放大器中完成的,因为这对ADC正确读取输入信号和消除混叠是必要的。在PIC32内部,我们决定让微控制器使用直接存储器存取通道将数据传输到缓冲器,而不是让处理器高速中断来采样ADC。这允许微控制器在采样过程中进行其他处理。
    三.硬件
    3.1 概观
    该项目的硬件包括3个麦克风电路、一个电压调节器、一个按钮、一个薄膜晶体管显示器和一个开关组成的原型板。3个麦克风电路中的每一个都包括驻极体麦克风、一组滤波器和放大器。麦克风电路的每个输出都被反馈入PIC32上的模数转换器通道。单独的线性电压调节器用于为麦克风电路供电。原型板的3.3v电源轨未被使用,因为我们发现微控制器的噪声可以进入电源轨并被放大器拾取。此外,9v电池用于提供整体电源。我们还发现5v插入式壁装电源往往会产生不必要的噪声(可能来自某些开关频率)。该按钮用于开始采样,并简单地作为上拉连接。配置了微控制器的内部下拉。薄膜晶体管显示器用于显示调试信息并指向声音的方向。麦克风电路和电压调节器焊接在焊接板上。最后,使用一个双通道12位数模转换器进行调试。这用于回放录音和输出相关波形。这些可以在示波器上看到。
    3.2 麦克风电路
    麦克风电路由三部分组成。首先是麦克风本身。第二是高通滤波器,用于在向放大器馈电之前去除麦克风中的任何DC值。最后是放大器,它是一个运算放大器,被配置为充当带通滤波器。麦克风电路示意图如下所示:
    在这里插入图片描述
    MCP6242是用于放大器的运算放大器。这是一款3.3V兼容轨对轨运算放大器。初始高通滤波器的截止频率约为160Hz。带通放大器上的高通滤波器被选择为与初始高通滤波器的截止值大致匹配。至于运算放大器的低通滤波器,选择该滤波器的截止频率约为725Hz。选择这些较低频率的选择是因为我们能够用原始方法获得原始采样率。使用的增益是1000:1。这将证明是一个问题,这将在后面的进一步改进部分看到。麦克风电路的每个输出都连接到一个具有模拟功能的输入/输出引脚。使用的引脚是RA0、RA1和RB3,它们对应于AN0、AN1和AN5。这些被组装成焊接板,如下所示:
    在这里插入图片描述
    3.3 按钮
    按钮电路相对简单。这只是一个与330欧姆电阻串联的按钮开关。开关电路的一端是3.3V轨,另一端是PIC32的数字输入/输出引脚。PIC32配置为提供弱下拉,因此当开关打开时,输入/输出引脚读数为0,当闭合时,输入/输出引脚读数为1。开关最初连接到原板,但这最终会导致问题,因为单击开关会导致组件抖动。为了解决这个问题,将一个不同的开关焊接到一段绞合的24awg(截面积大概为0.2平方毫米)电线上,然后连接起来代替车载开关。这允许系统可以进行短距离触发。按钮开关连接到RB7,如下图所示。
    在这里插入图片描述
    3.4 薄膜晶体管显示器
    薄膜晶体管显示器用于显示调试信息并指向声源方向。我们使用的器件是Adafruit,它提供薄膜晶体管显示器、薄膜晶体管显示器驱动器和SD卡读卡器(本项目未使用)。其代码是一个库,该库改编自Adafruit提供的库,用于运行带有Arduino的薄膜晶体管。薄膜晶体管分支使用了一个SPI通道和其他几个数字输入/输出引脚。薄膜晶体管显示器的引脚排列与赛ABB开发板中的配置相同。具体如下:RB0 ->D/C、RB1->ECS、RB2->reset、RB11->EMOSI和RB14->CLK。
    在这里插入图片描述
    3.5 数字模拟转换器
    使用的数模转换器是MCP4822。这是我们常用的12位双通道数模转换器。数模转换器仅用于调试系统,不用于项目本身。通过以1kHz的速率向数模转换器发送波形,我们可以查看系统的输出情况。数模转换器采用标准配置,如下所示:RB4->CS,RB5->MOSI,RB15->CLK。
    3.6 进一步改进
    对于硬件而言,进一步的改进将包括对放大器进行返工,去掉按钮电路,让音频电路触发采样。首先,选择放大器带通滤波器的频率范围是因为原始系统具有低采样频率。由于当前系统可以在25kHz下采样而没有问题,并且经过一些调整后可以增加到40kHz,因此我们可以改变低通滤波器的截止频率。比几千赫高得多。然而,一个问题是增益带宽积大约为550kHz。当增益为1000:1时,结果将系统频率限制在550kHz。但是我们应该注意,增益带宽积的特性不太好,因此芯片之间可能会有很大差异。添加高通滤波器会造成相位偏移,因为每个运算放大器可能不同,这意味着每个麦克风的相位偏移也不同。由于互相关依赖于检查输入信号的相位,这意味着峰值的位置取决于麦克风听到的声音的频率。
    四.软件
    4.1 概述
    为了最大化系统的采样率,我们修改了时钟预分频器,使时钟频率达到60 MHz。然而,为了开始声音定位检测,需要按下按钮来激活程序,并且使用去抖状态机(有限状态机)来保持按钮的状态。首先,为了定位声音的方向,系统首先需要记录来自每个麦克风通道的读数,这是使用直接存储器访问来最小化处理器使用的,并且记录的麦克风数据存储在阵列中。第二,每个通道的记录与下一个通道互相关,并且用相应的相对定时识别互相关值的峰值点。第三,每对声道之间的相对定时将被用于通过使用定时差的相对方向和麦克风放置的物理关系的知识来计算声源的方向,以导出三个方向上的声源。最后,在薄膜晶体管显示屏上画出相应的箭头来提示结果。下一节将详细讨论软件的每个组件,还包括调试功能、实验方法和进一步的建议。
    4.2 直接存储器存取和模数转换器
    三个麦克风通道的模拟输入连接到三个模数转换器通道,即通道0、1和5。模数转换器配置为自动采样模式,在上一次转换完成时,将连续采样下一个数据,采样大小为三个通道,并转换为16位有符号整数。麦克风的录音是使用直接存储器存取完成的,特别是三个麦克风通道的三个直接存储器存取通道。对于每个通道,DMA最初被配置为从麦克风数据从模数转换器缓冲器传输到记录阵列,并且每次传输的整个块大小是记录阵列的大小,其被设置为采样速率乘以十分之一秒。一旦功能调用使能了直接存储器存取通道,直接存储器存取将以定时器2中断设置的速率传输16位大小的单元,该中断被配置为系统时钟/采样频率=2400个时钟周期。当整个数据块被传输时,码分多址信道将提升码分多址_电动车辆_夏令时_满标志,以表示传输完成。此外,计算线程检查所有三个DMA通道的完成标志,以开始声音定位的计算。
    4.3 按钮
    按钮线程持续读取按钮的输入,并使用按钮去抖状态机FSM来更新按钮的当前状态。FSM被用来适当地捕捉按钮的全部按下。按钮按下切换就绪标志,向计算线程发出信号,以直接内存分配传输开始计算。下图具体说明了FSM。
    在这里插入图片描述
    4.4 互相关
    一旦麦克风数据完全记录在阵列中,将对每对麦克风记录计算互相关。互相关是在信道0和信道1、信道1和信道2、信道2和信道0上计算的。在互相关计算中,每个通道的记录值加上每个麦克风通道的恒定DC偏置,这是为每个通道独立测量的。无论如何,通过沿着第二记录完全滑动第一记录的中间部分来计算每个互相关,并且计算完全重叠的记录的点积之和,并且得到的互相关值并存储在记录大小的数组中。滑动窗口的大小是在用多个窗口大小进行实验之后选择的,并且该大小允许使用大量的记录值来寻找两个通道之间的相关性,以及足够的互相关数据来适应麦克风的物理距离在记录约束之间的最大时移量。当互相关值被计算时,三对中每一对的峰值及其索引值将被识别和记录,以计算源声音的方向。
    4.5 计算方向
    声源的方向是使用互相关计算期间检测到的三个峰值指数来计算的。使用3位编码来确定方向。编码的每个比特对应于峰值指数是正还是负,当指数是正时,这意味着第一次记录发生在第二次记录之前,因此第一次记录的麦克风比第二次记录的麦克风更靠近声源。编码由以下赋值构成。
    在这里插入图片描述
    接下来,使用以下逻辑使用3位编码来确定声音的方向,该逻辑将方向确定为在其他两个麦克风通道之前接收信号的麦克风通道。
    在这里插入图片描述
    通过画一个指向三个麦克风之一的箭头,结果方向将显示在薄膜晶体管显示屏上。
    4.6 数模转换器(用于调试)
    为了调试系统,配置了两个数模转换器通道。数模转换器配置为通过串行接口输出互相关数据,串行接口以定时器3中断设置的速率输出数据,定时器3中断配置为60kHz。输出引脚连接到示波器,以便观察和分析互相关信号,这些信号从最新的计算互相关阵列中反复流出。
    4.7 尝试了另一种方法
    我们尝试的第一种声音定位计算方法是连续计算每个麦克风通道与预先录制的录音的互相关。因此,由于实时计算的需求非常紧张,采样率受到很大限制。我们达到的最高采样速率在微处理器运行时为60 MHz,它太低,无法合理分辨麦克风通道之间的时序延迟。从这种方法获得的结果不能识别出符合理论直觉的一致相关性。
    4.8 代码片段
    下面是每个函数和线程的代码,仅供参考。

    //定时器3中断服务例程
    void __ISR(_TIMER_3_VECTOR, ipl2) Timer3Handler(void) {   
    mT3ClearIntFlag();    
    transfer_to_DAC_Channel_A();    
    transfer_to_DAC_Channel_B();
    }
    //计算源声音的方向
    //在薄膜晶体管显示器上绘制结果
    void compute_direction() {    
    // assigned encoding   
     encoding = (peak_index[0] > 0) << 2 | (peak_index[1] > 0) << 1 | (peak_index[2] > 0);
     direction = check_cases_identified _direction(encoding);
     draw_TFT(direction);}
     //交叉关联每对麦克风录音
     void cross_correlate() {    
        for (each channel) {        
           for (shift range) {           
              for (index range) {         
              correlate_value += mic(channel) + biase * mic(next channel) + biase;
                             }            
                             Update_new_peak_value(); 
                     }   
                 }
    }
    //线程等待按钮按下来记录和调用
    //交叉关联和计算方向
    static PT_THREAD(protothread_computation(struct pt * pt)) {    
    PT_BEGIN(pt);   
    while (1) {        
    wait_until_button_pushed();        
    Reset_button;        
    Star_DMA_transfer(All_3_channels);        
    wait_until_all_DMA_complete();        
    //cross_correlation the new recordings        
    cross_correlation();        
    //compute and display direction        
    compute_direction();    
    }    
    PT_END(pt);
    }
    //这个线程更新并维护按钮的状态
    static PT_THREAD(protothread_button(struct pt * pt)) {    
    PT_BEGIN(pt);   
    while (1) {        
    button = Read_Button_input();        
    // FSM for the button press debouncing        
    transition_case_for_button_state();   
     }    
     PT_END(pt);
     }
     //主要功能。配置和初始化定时器、数模转换器、模数转换器、直接存储器、薄膜晶体管、引脚、线程。
    void main(void) {    
    // Configure timer3 interrupt    
    Config_Timer3(sys_clock / 1000);     
    // Configure timer 2 interrupt    
    Config_Timer2(sys_clock / sampling_rate);    
    /// SPI setup for DAC    
    Configure_SPI_for_DAC();     
    //Configure and enable the ADC    
    Enable_ADC_for_3_Channels();     
    // DMA Configure for 3 channels  
    Enable_3_DMA_Channels_on_Timer2_and_Raise_DONE_flag();     
    // set up i/o port pin    
    set_digital_input_and _pulldown(push_button_input_pin);     
    // config threads    
    PT_setup();    
     // setup system wide interrupts    
     INTEnableSystemMultiVectoredInt();     
     // init the threads   
      initialize_threads();     
      // config and init the display    
      tft_config();     
      // round-robin scheduler for threads    
      while (1) {        
      PT_SCHEDULE(protothread_button( & pt_button));   
      PT_SCHEDULE(protothread_computation( & pt_computation));    
         }
     }

    五.结果
    声音定位效果很好,计算延迟很小。当系统能够捕捉麦克风电路带通范围内的正弦扫描有效部分时,该器件工作最佳,因此可以完全捕捉录音的频率特性进行比较。这意味着系统的精度取决于点击按钮的用户的精度,也取决于系统使用的运算放大器,因为这将决定上限的位置。测试设备时捕获了以下图像。
    在这里插入图片描述
    在这里插入图片描述
    两条上迹线显示来自其中一个麦克风的记录信号,下迹线显示来自两个麦克风通道的互相关结果。互相关迹线使用高电平信号来显示数据何时开始和结束。这使我们能够看到互相关的起点和终点以及峰值的位置。在第一幅图像中,峰值明显向左移动,表明一个记录领先于另一个记录,而在另一幅图像中,峰值居中,表明两个记录大致在同一时间。虽然该系统通常是正确的,但存在一致性问题。项目范围缩小到检测与每个麦克风对齐的方向的原因是读数不一致,即使读数一致也不完全正确。这可能是麦克风电路的问题。运算放大器的增益带宽积引起的低通滤波可能会导致麦克风在输入信号上看到不同的相移。我们相信情况是这样的,因为互相关的峰值会像上面描述的那样以干净的波形返回,但是峰值会位于错误的部分。这表明麦克风电路或采样有问题。由于中央处理器时钟工作在60兆赫,模数转换器的采样频率也在兆赫范围内,所以我们通常不关心模数转换器采样之间的延迟,也不关心直接存储器将数据顺序复制到缓冲器中。这只会使麦克风电路在输入信号中产生一些不希望的相移。更糟糕的是,由于相移差可能与频率有关,并且测试信号是频率的线性扫描,这意味着采样和互相关的结果将取决于用户在频率扫描中在正确时间按下按钮的能力。这是不可靠的,因为大多数人不能捕捉到精确到不到十分之一秒的正确时间,所以如果系统也能自己触发采样会更好,因为这样会更一致。
    另一方面,这个项目实际上没有任何安全问题。由于该设备只需记录音频信号并在显示器上返回方向,因此它没有任何移动部件,也不发射/辐射任何电磁波、任何声波或任何可能对周围环境和生物特别有害或干扰的能量输出。就可用性而言,该设备需要相当多的工作。首先,移除按钮将是一个关键的改变,这将提高设备的可用性,因为目前,它需要一个正确定时的按钮,这将要求用户是准确的。第二,扩展带通电路的频率范围,以允许设备检测更宽范围的声音信号。最后,使用更多麦克风通道可能会提高声音方向的检测分辨率。因此,为了充分利用该设备,需要进一步开发该设备的许多方面。
    六.结论
    最终设计和原始设计没有达到最初为项目设定的预期。因此,项目范围缩小到指向最近的麦克风。我们遇到的主要问题是,系统没有从每对麦克风通道之间的相对时间延迟中给出特别一致的结果。在很大程度上,系统会分辨出正确的麦克风,但是不一致意味着它多次指向错误的方向。最初,我们希望能够以高得多的分辨率,十度,分辨出一个方向。互相关代码和代码中峰值的索引似乎给出了正确的结果。互相关波形看起来像理论上的预期,但偶尔会在错误的位置出现峰值。返回峰值索引的代码似乎也会根据观察到的波形峰值给出正确的索引。因此,误导性不一致性的来源很可能不是来自计算,而是麦克风电路。如结果部分所述,麦克风电路中滤波器所选择的截止频率不是我们希望系统运行的声音范围的正确频率。此外,运算放大器增益带宽积的低通也可能导致电路对音频施加不同的相移。如果我们要重做这个项目,我们可能会降低增益,选择增益带宽积更高的运算放大器。这可能会减少或消除我们得到的相关峰值的变化。此外,我们为低通滤波器选择了不同的截止频率,这将使我们的项目能够在更高的频率范围内工作。让系统自己触发采样也可能有助于减少我们看到的不一致性。该系统没有任何重大的安全问题。该项目只需读取音频读数,并尝试确定音频的来源方向。唯一的输出显示在薄膜晶体管显示器上。薄膜晶体管显示屏不够亮,不会损害人们的视力。关于隐私,音频记录的持续时间被限制在十分之一秒,一旦采集下一个样本,它们就会被丢弃。虽然理论上可以从用于调试的数模转换器通道中提取音频,但最终版本会删除该调试功能。
    七.物料清单
    项目 数量
    PIC32MX250F128B芯片 1
    大硬纸板19V电池 1
    薄膜晶体管液晶显示器 1
    麦克风 3
    小型焊接板 3
    运算放大器MCP6241 3
    跨接电缆 10
    扬声器 2
    SIP或插头插座/插头 20
    电压调节器MCP1702 1

    更多创意方案,长按识别下图中二维码,敬请关注本人的微信公众号“小科谈”,愿天下没有难做的电子产品。
    在这里插入图片描述

    展开全文
  • 声源定位技术是语音识别技术的基础,针对复杂噪声和混响的室内环境造成声源定位精度不理想的问题,提出了一种基于麦克风阵列的声源定位系统。首先阐述了声源定位原理,然后提出了改进的广义互相关算法。该算法利用两...
  • 针对混响条件下现有声源定位技术中麦克风数量必须大于声源数量的现状,提出了一种基于压缩感知的双麦克风混响多声源(至少3个声源)定位算法。将多声源定位问题看作是块稀疏信号的重构问题,在频域将全房间冲激响应...
  • 基于互相关算法的声源定位分析,张明瀚,石为人,时延估计是阵列信号处理中的一项关键技术。针对室内视频监控系统对声源定位技术的需求,本文对广义互相关算法中基本互相关、互功
  • 声发射用于声源定位技术,原理分析,三位定位技术,很好很强大
  • 今天刚刚接触这个方向,找了一篇论文看看,了解了以下的一些知识。... 1.声源定位 麦克风阵列拾取(通过麦克风阵列获取声源信号)→ 一...(1)利用声源定位技术确定鼾声的位置(鼾声也是一种声音信号,也是该系统的...

      今天刚刚接触这个方向,找了一篇论文看看,了解了以下的一些知识。论文链接:https://www.doc88.com/p-9823111731616.html

    1.声源定位

    麦克风阵列拾取(通过麦克风阵列获取声源信号)→ 一系列处理 → 声源定位算法(得到声源的位置)

    2.在声源定位技术上设计止鼾系统(软硬件结合)

    (1)利用声源定位技术确定鼾声的位置(鼾声也是一种声音信号,也是该系统的声源);

    (2)根据信号使用单片机控制气泵的充气;

    (3)充气后会使止鼾枕产生斜坡使人翻身,这样从而达到止鼾的目的。

    3.声源定位技术可分为:主动和被动

       主动:既有接收端又有发送端

       被动:只有接收端

       被动声源定位的特点:不受其他信号的干扰,具有良好的隐蔽性,并且可以全天工作。

    4.声音传播的特点:可绕开障碍物

    5.语音信号的特点

      语音信号本身不具备方向性,所以不存在空间位置信息,要获得其空间位置信息是通过麦克风采集语音信号时的相对位置才能确定。

    6.任何技术的核心都是涉及到该技术的算法,好的算法可以提高定位的精度。

      比如声源定位技术的核心就是声源定位算法

    7.关于声源定位的算法

      分为三类:

    (1)基于信号理想波束引导的声源定位算法

    (2)基于到达时间差(TDOA)的声源定位算法

    (3)基于子空间的声源定位算法(这是一种高分辨率的算法)

              其又可以分为:MUSIC算法为代表的窄带信号定位算法

                                         非相干信号子空间算法ISM和相干信号子空间算法CSM为代表的宽带信号定位算法

              传统的子空间类算法通常适用于窄带信号,但鼾声是属于宽带信号,所以要利用涉及宽带信号定位的相关算法。宽带信号的分析技术除了有子空间类,还有小波分析和时频分析。

    8.语音信号

      语音信号是一种复杂的信号类别,它具有非平稳性、时变性以及较大的离散性,但是在某一极短的时间段内,信号的特性一般是不会发生变化的,即具有“短时平稳性”。

    展开全文
  • 论述了基于麦克风阵列的声源定位技术的基本原理,给出了利用FPGA实现系统各模块的设计方法。重点介绍了其原理和模块的电路实现,给出的基于FPGA设计实验结果表明,系统最大限度发挥了FPGA的优势、简化了系统设计、...
  • 基于麦克风阵列的声源定位聚焦算法研究,居太亮,彭启琮,基于麦克风阵列的声源定位技术在通信、控制、声纳等领域已经受到广泛关注,宽带聚焦类算法是解决宽带信号定位问题的重要算法。常
  • 摘 要: 基于TDOA(Time Difference Of ... 声源定位技术是通过声学传感装置接收声波,将其转化为电信号,再利用该电信号进行分析处理,以此实现对声源位置进行探测、识别并对目标进行定位及跟踪的一门技术。 ....
  • 声源定位与识别

    2019-01-07 10:34:57
    运用扫频技术确定声源方向,进一步定位声源,在人工智能等领域也有较广泛的运用
  • 基于MUSIC算法的声源定位技术具有很高的估计精度及稳定性,算法的运算量主要集中在谱搜索部分。可以通过时延估计声源定位算法预先估计出方位角来缩小谱搜索空间,降低MUSIC算法的运算量。实验结果表明,该方法在保证...
  • 对基于麦克风阵列的声源定位技术进行了研究,分析了时延估计算法的构成方法,在此基础上提出了用于二维DOA估计的双曲线算法。利用传声器MPA416和数据采集卡PXI4472结合Labview虚拟仪器实现了对声源的二维DOA估计。...
  • 目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术、基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术。 基于TDE的算法核心在于对...
  • 基于球谐域MVDR波束形成技术的远场多声源定位,黄青华,庄启雷,本文提出一种基于球谐域最小方差无失真响应(MVDR)波束形成技术的三维空间远场多声源定位算法,该算法将波束形成技术推广到球谐��
  • 基于双麦克风声源定位的视频跟踪.docx 研究思路分享
  • 使用TDOA进行声源定位

    千次阅读 2020-09-19 17:36:08
    根据现有的研究成果来看,声源定位(Sound Source Localization, SSL)存在以下几种方法:基于最大输出功率的可控波束成形的定位方法、基于高分辨谱估计的定位方法和基于到达时延差(Time Difference of Arrival,TDOA)...
  • 人工智能领域中声源定位的研究与发展------第二章 声源定位系统 (4)
  • 基于无线传感器网络生源定位技术 高斯混合模型的EM算法实现程序
  • 麦克风阵列声源定位 GCC-PHAT

    万次阅读 多人点赞 2018-03-28 22:16:43
    麦克风阵列声源定位 利用麦克风阵列可以实现声源到达方向估计(direction-of-arrival (DOA) estimation),DOA估计的其中一种方法是计算到达不同阵元间的时间差,这里主要介绍经典的GCC-PHAT方法 背景 简单说明...
  • AliOS Things声源定位应用演示

    千次阅读 2018-10-09 14:59:08
    利用麦克风阵列进行声源定位在智能降噪、语音增强、语音识别等领域有广泛应用和研究前景。本文介绍基于AliOS Things + STM32F413H Discovery开发板实现声源定位算法集成和功能演示。 声源定位算法 本案例集成了...
  • This paper proposes a new digital beamformer for uniform concentric spherical array (UCSA) having nearly frequency invariant (FI) characteristics. The basic principle is to transform the received ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,056
精华内容 422
关键字:

声源定位技术