基于麦克风阵列声源定位识别系统的设计_第1页
基于麦克风阵列声源定位识别系统的设计_第2页
基于麦克风阵列声源定位识别系统的设计_第3页
基于麦克风阵列声源定位识别系统的设计_第4页
基于麦克风阵列声源定位识别系统的设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于麦克风阵列的声源定位系统设计目录TOC\o"1-3"\h\u202701引言 [5]。2基于麦克风阵列的声源定位系统工作原理本次设计中,利用四个声音传感器模块,成十字排列组成麦克风阵列,其排列方式如图1所示。水平放置支架,模块的收音器件麦克风均朝上,能够完成朝向范围内收音功能。接收声源声音信号后,经单片机程序处理,比较互相关的值。例如MIC1与MIC2互相关的值大于MIC1与MIC4互相关的值,则表明声源更可能处于MIC1、MIC2之间而不是MIC1、MIC4之间,再通过比较MIC1与MIC2之间的强度大小,进一步细分方位,以输出最终的声源方位。图1麦克风阵列排列图3基于麦克风阵列的声源定位系统总体方案设计3.1系统预期功能基于麦克风阵列的声源定位系统利用麦克风阵列对信号源声音信号进行采集、放大,送往STM32F103C8T6单片机进行滤波、归一、互相关等算法处理,判断声源的方位,可确定声源位于平面内八方位之一,再由双180°舵机进行指示,便于快速判断方位。具有OLED显示模块,可实时显示各麦克风信号经AD转换后原始数据,以供麦克风模块的快速测试及维修。3.2系统的设计方案基于麦克风阵列的声源定位系统设计框图如图2所示。本系统由信号采集系统、控制系统、显示系统、执行系统组成。信号采集系统由麦克风阵列及放大电路组成,检测声音信号并进行初步处理后送往控制系统。控制系统使用微控制器,对接收到的信号识别后进行处理分析,并控制执行机构的工作及显示系统的显示。执行系统由双180度舵机组成,两舵机配合,能够进行360°声源方位指示。显示系统采用了OLED液晶显示屏,显示信号采集系统原始AD转换数据以便检查传感器模块。图2基于麦克风阵列的声源定位系统设计框图3.3本设计器件选型和介绍器件的选型如表1所示。STM32F103C8T6作为基于麦克风阵列的声源定位系统的主控制器;麦克风进行声音信号采集,经LM386芯片放大后交予主控制器处理;OLED显示屏显示各麦克风模块经主控制器AD转换后数据;5V可供180°舵机进行声源方位指示。表1器件的选型及其功能序号器件名称功能1STM32F103C8T6主控制器2声音传感器模块采集声音信号3OLED显示屏显示实时数据4SG90舵机指示方位此次设计的主控制器STM32F103C8T6如图3所示。此芯片基于ARMCortex-M内核设计,是32位微控制器,其特点是性能高且低功耗,具备20KB的SRAM和64KB的Flash储存器,还具备多种接口、可达72MHz的工作频率,其工作电压一般为2-3.6V,此芯片I/O端口数量多,响应速度快,同时还具有ADC、定时器等模拟外设。其丰富的外设、强大的处理能力、广泛的应用范围以及良好的社区支持,在许多项目中都得到了广泛使用。图3STM32F103C8T6控制模块声音检测预处理采用的是声音传感器模块,实物图如图4所示。通过麦克风来接收声音信号,由于麦克风输出的电流很微弱,故需经电容滤波后送往运算放大器芯片进行处理。运算放大器不仅能精确放大麦克风产生的微弱型号,还能将信号的原始特性保持不变,再使用电位器调节运算放大器的增益可控制经其输出信号的强度,以适应多种情况。图4模拟声音传感器模块方位指示采用了SG90舵机,实物图如图5所示。该舵机是一种小型的伺服电机,其具有体积小、重量轻、结构简单、价格便宜、快速响应的特点及良好的稳定性。其功能十分强大,能够利用PWM调控其旋转方式,还可根据控制信号来输出指定的角度情况以实现较为精确的角度控制。图5SG90舵机信息显示选用了0.96寸OLED显示屏,实物图如图6所示。该显示屏色彩鲜艳饱满,屏幕上四分之一部分为黄光,屏幕下四分之三部分为蓝光,其响应速度快、功耗低、还采用薄型设计使重量较轻,其接口具备的高兼容性更方便用户选择,与此同时它还具有强大的显示功能,128*64的像素分辨率能够清晰地显示文本及图像信息。图6OLED显示屏4基于麦克风阵列的声源定位系统硬件设计4.1单片机最小系统电路STM32F103C8T6正常工作需为其配备3.3V工作电压,还需复位电路让NRST引脚低电平以复位到初始状态。其时钟则由8MHz晶振和电容组成,确保其工作依时间顺序。其最小系统如图7所示。复位电路、时钟电路、电源和地线均按需连接,可满足单片机运行的基本要求。图7单片机最小系统图4.2声音传感器电路本次设计中,声音传感器电路图如图8所示。D1是LED灯能在电源接通时亮起,为电源指示灯,麦克风对声音信号进行采集,其信号经C1滤波后送往LM386芯片进行信号放大并输出,而电位器RP则能够调整输出值的大小,以供后续处理,C2起去耦作用,防止直流信号干扰音频信号。此传感器电路利用诸多电容进行滤波、去耦等操作,以确保信号最终质量。图8声音传感器电路4.3SG90舵机与单片机连接电路本次设计中,采用双SG90舵机来指示声源方位,其连接电路如图9所示。该舵机具有三个引脚,其中VCC与5V电源相连、GND与电源GND相连接用于给舵机供电,而DATE数据输入引脚则与单片机PA6引脚连接以接收单片机的PWM信号,以此完成方位指示,另一舵机DATA与PA7连接,原理一致故不展示。图9SG90舵机连接电路4.4OLED显示屏与单片机连接电路本次设计中,采用0.96寸OLED显示屏来显示各麦克风数据,其连接电路如图10所示。该显示屏有四个引脚,其中VCC和GND分别连接对应工作电压及接地,以保障显示屏供电。SCL引脚则与单片机PB8引脚连接,控制数据在显示屏和控制器之间的传输速度,确保数据的准确和及时传输,SDA引脚与单片机PB9引脚连接,负责在微控制器和显示屏之间发送和接收数据以实现OLED显示屏的显示功能。图10OLED显示屏连接电路5基于麦克风声源定位系统软件设计5.1主程序设计系统主程序流程图如图11所示。主程序开始后先对所有模块进行初始化,在主函数中先利用while(1)循环启动将读取到的数据在OLED实时上显示,KEY1按下后,开始计算声源位置,改变两舵机朝向以指示声源方向信息,KEY2按下后舵机即恢复到初始位置,程序运行可分为如下步骤:OLED显示屏的显示内容:显示屏具有四行显示,分别显示PA0、PA1、PA2、PA3四引脚在ADC模式下进行AD转换后的原始数据。与此同时OLED上会显示静态字符串,将各数据信息与麦克风编号相结合,以测试麦克风收音模块大致情况是否满足要求。SG90方向指示舵机的控制:在检测到KEY1按下后,算法开始计算声源方向信息,结合内部定时器,将以一定的周期改变控制舵机的PWM波,以达到舵机周期性指示方向的目的,设置周期是为了防止上一周期舵机仍未到达指定位置并已停留一段时间以至于方位指示不清晰。在检测到KEY2按下后,两舵机即回到初始位置,退出声源定位模式。图11主程序流程图5.2声源定位程序处理信号处理及声源定位流程图如图12所示。在麦克风接收到声音信号后,经电容第一次滤波后,送往LM386芯片进行信号放大处理,其输出可由电位器调节大小,以使同一情况下的麦克风模块输出基本一致,输出信号将分别发往对应的单片机引脚PA0-PA3,这四个引脚被程序设置为ADC模式,将接收到的信号进行AD转换后直接显示到OLED上,另一方面,程序会将数据进行二次滤波,将十次数据经去最大、最小值后取平均以完成二次滤波操作,再将经二次滤波后的数据进行归一处理便于比较,经较为精准的互相关算法比较后即可得到声源方位信息。图12声源定位程序流程图5.3SG90舵机程序设计SG90舵机程序流程图如图13所示。先打开RCC_APB1以开启时钟,将PA6、PA7引脚设置为复用推挽模式以输出PWM波形控制舵机。定时器配置后选择PWM模式,再将舵机进行初始化,将舵机旋转角度进行限制以保护舵机,当KEY1按下后舵机即进入声源方位指示模式,按下KEY2舵机则复位。图13SG90舵机程序流程图6实物的调试6.1硬件的调试硬件调试阶段,焊接电路板,准备连接电路各模块前利用万用表确保各线路正常导通情况,确认无误后接着安装主控芯片、电源模块、麦克风模块、OLED显示屏等,确认各模块连接无接触不良。OLED显示屏应显示各麦克风模块AD转换原始数据,主动发出声音后观测其示数变化是否与声音大小变化情况大致相同,以确保声音接收模块正常无误,以此来调试硬件。在调试过程中,发现PCB板连线与电路图存在差距,经实验排查,系嘉立创模块封装存在问题,该模块表现为原理图正常但转换成PCB时引脚被打乱,更换模块封装并仔细检查无误后重新打板解决此问题。6.2程序的调试程序调试阶段,依次调试各个模块,确保其能够正确运行,如图14所示。首先测试单片机能否识别按键按下及松开信号,实现舵机控制以及舵机的复位,测试过程中发现舵机偶发停顿及左右抖动,还有触发不灵的情况,经排查,系延时去抖参数设置不当,经多次调整,上述情况消失,此模块能正常使用。测试OLED显示屏能否正确显示AD转换数值,模块正确安装后,开启单片机并复位后四个声音接收模块通道均有数值显示且按照每100ms变化一次以便粗判断声音接收模块基本功能是否完好,在万用表蜂鸣器长鸣情况下将各模块互相调换连接方式,OLED显示数值基本不变,仅显示位置变更,以此判断程序基本逻辑无误,可正常使用。测试PWM波输出情况,连接各模块,将双SG90电机并排紧贴放置,依其初始位置安装方位指示器,经测试,PA6、PA7引脚能够输出PWM波以正确控制舵机运行。最后多次检查程序逻辑严谨程度,剔除、更换可能存在风险的代码,以保障后期的无误运行。图14程序调试图6.3总体调试系统总体调试如图15所示。将编写完成的程序下载到单片机内,结合已调试好的硬件电路进行总体调试。调试过程中发现,在实际情况中,使用麦克风阵列定位时,极易使最终舵机指示方向与声源方向不一致,经多次排查和测试发现,系一麦克风模块发生损坏导致,其表现特性为电位器仅最大增益时才可较为正常地输出声音信号,其余情况下,其输出数值呈现有周期规律的变换,虽调为最大增益时可工作,但考虑到其输出普遍偏大,可能会对程序产生干扰,遂更换模块,再次进行调试后,问题解决。图15总体调试图7总结7.1基于麦克风阵列的声源定位系统发展前景本文借助STM32F103C8T6微控制器为核心设计了基于麦克风阵列的声源定位系统,对声源方向定位能够进行大致确定,双SG90舵机指示声源方位信息,声源位置信息一目了然,同时其操作及使用简单便捷,成本较低、还可使用更高精度的收声模块以达到更高的精度,各个模块方便检修,仅需简单操作即可更换配件维修,声源信息也可用作其他用途,例如话筒自动对准发言人方向,任课老师离开黑板达一定时间后自动擦掉黑板等,故此设计具有一定的应用前景及可扩展性。7.2作品不足之处本作品由于前期设计考虑不周全,以及受限于麦克风收音模块精度及灵敏度,有以下不足之处:声源位置定位只能够判断平面内八方位之一,无法判断精确的角度方向以及平面内位置坐标,麦克风阵列在收音方面容易受到干扰,以至输出结果偶有错误,且未添加蓝牙模块,使得本系统只能近距离手动操控。参考文献李志.基于WLAN的室内定位技术及应用研究[D].东北大学,2022.DOI:10.27007/ki.gdbeu.2018.000669.刘国仲.新课标下初中物理生活化教学的实践探析[J].数理化解题研究,2023(35):107-109.侯伟.基于深度学习的声源定位算法研究[D].哈尔滨理工大学,2021.DOI:10.27063/ki.ghlgu.2020.000472.刘权毅,闫思哲,刘博一,等.声源定位方法与装置的设计和研究[J].物理与工程,2023,33(06):60-69.党晓敏.麦克风阵列声源定位系统的研究与实现[D].西安理工大学,2024.DOI:10.27398/ki.gxalu.2023.000903.侯晓飞.基于麦克风阵列的汽车鸣笛声识别与定位系统的研究[D].天津科技大学,2024.DOI:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论