欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于STM32单片机声源方向识别器设计与实现毕业设计论文.doc

    • 资源ID:827755       资源大小:2.18MB        全文页数:79页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于STM32单片机声源方向识别器设计与实现毕业设计论文.doc

    1、摘要本科毕业设计(论文)基于STM32单片机声源方向识别器设计与实现摘要近年来,基于麦克风阵列的声源定位系统被广泛地应用于电话会议、视频会议、语音增强、助听器等系统中,因此受到了越来越多的关注,已经成为一大研究热点。在各种声源定位方法中,基于到达时延估计的双步定位法原理简单,运算量小,精度相对较高,有利于实时实现,因此它的应用也最为广泛,本文着重研究了该方法。 本文首先给出了麦克风阵列声源定位系统的硬件设计。该硬件电路实现了在一定的采样率下对多个麦克风通道进行同步采样。接下来,以STM32F103RBT6为硬件平台,设计了一个可以在二维平面内对声源进行实时定位的实验系统。STM32F103系列

    2、丰富的外设配置,使得STM32系列微型控制器适合于多种应用场合。系统软件部分的核心算法采用了基于达到时延估计双步定位。 最后,对系统进行大量测试,实验结果表明,该系统硬件性能良好,软件算法实现简单,运算量小,精度较高,可适用于实时定位系统中。关键词麦克风阵列;实验估计;声源定位;STM32F103RBT6AbstractIn recent years, source localization system based on microphone array is being widely used in the videoconference, teleconference, speech e

    3、nhancement, hearing aids. So it has been received a growing interest and become a very hot area. In various source location method, time difference of arrival (TDOA)based on the double step method is the most widely used, which has simple principle, low calculated amount, high precision, and can rea

    4、lize real-time in practice. The paper also focuses on this method.Firstly, the hardware design of the source localization system based on microphone array is been presented. Multi-channel microphone signal can be sampled at a certain sampling frequency in the same time in this design. Secondly, base

    5、d on the single chip Single-Chip microcomputer of STM32F103RBT6, standard and advanced communication interfaces. These features make the STM32F103 line microcontroller family suitable for a wide range of applications. The critical section of the system software is the double step sound source locati

    6、on method based on time difference of arrival (TDOA).Finally, do a great amount of experiment test, the experiment all results show that the hardware performance of this is good, and the software localization algorithm has simple implementation, little computation and high accuracy, so it can be use

    7、d in real time positioning system.KeywordsMicrophone array; sound source localization; Time delay estimation;STM32F103RBT673 目录目 录摘要II第1章 绪论11.1 课题背景及研究的目的和意义11.2 国内外研究现状51.3 本文主要工作及论文结构6第2章 声源定位系统的技术基础82.1 麦克风阵列声源定位系统整体结构82.2 STM32单片机简介92.3 KeilVision4MDK简介162.4 ISP下载器172.5 本章小结17第3章 声源定位算法研究193.1

    8、声源定位算法概述193.2 时延估计算法203.3 对时延估计算法误差的分析223.4 对时延估计算法的改进223.5 本章小结23第4章 麦克风阵列声源定位系统整体硬件设计244.1 硬件系统电路图设计244.2 音频放大电路244.3 STM32外围电路254.4 串行通信接口294.5 本章小结31第5章 声源定位系统程序设计325.1 KeilVision4MDK建立工程文件325.2 A/D转换程序设计325.3 基本互相关函数计算时延程序设计345.4 本章小结35第6章 声源定位系统测试366.1 硬件电路数据采集测试366.2 对时延估计算法的测试386.3 本章小结39结论4

    9、0参考文献42致谢错误!未定义书签。附录145附录2错误!未定义书签。附录3错误!未定义书签。附录4错误!未定义书签。附录565第1章 绪论第1章 绪论1.1 课题背景及研究的目的和意义声音是人类进行信息交流和认识外界的重要手段。对声音信号的处理研究伴随着声学的研究发展而进行。在信号与信息处理、计算机、数字通信、人工智能等先进技术的推动下,声音信号处理成为当今国内外的研究热点1。早在20世纪七八十年代,就已经开始将麦克风阵列应用于语音信号处理的研究中,进入90年代以来,基于麦克风阵列的语音信号处理算法逐渐成为一个新的研究热点。1985年Flanagan将麦克风阵列引入到大型会议的语音增强中,并

    10、开发出很多实际产品。1987年Silverman将麦克风阵列引入到语音识别系统,1992年又将阵列信号处理用于移动环境下的语音获取,后来将其应用于说话人识别。1995年Flanagan在混响环境下用阵列信号处理对声音进行捕获。1996年Silverman和BrandstEin开始将其应用于声源定位中,用于确定和实时跟踪说话人的位置。近年来,基于传声器阵列的声源定位技术得到广泛的应用2。系统通过传声器阵列接收声源信息,然后进行数字信号处理,得到声源的位置信息。目前,基于传声器阵列的声源定位的主要应用有: (1)人机交互 近年来随着机器人技术的发展,人们希望智能化机器人可以服务于人们的日常生活,尤

    11、其是为老年人的生活提供帮助,比如为老年人打扫卫生,或是为行动不便的老年人提供其他方面的协助。先前人们对智能机器人技术的发展主要是集中在移动系统和视觉系统上,缺少人机之间的交流和沟通,因此在人类与机器人之间建立一个有效的沟通方式是非常必要的3。无论对于专家和非专家人员来说,语音是人机交互最有前途的工具之一,因为语言能够提供双向的交互和不同标准的控制,所以机器人听觉系统的发展在家居机器人为人类服务方面提供了潜在的重要作用。机器人的听觉注意机制可以对外界的声音首先发起响应,进而引导机器人对声音目标进行观察,听觉系统还可以引起机器人的其他感官的注意,这种多信息融合技术已经成为一个重要的研究方向4,5。

    12、用于人机交互的机器人听觉系统的核心构成便是声源定位技术6。当一个机器人的使用者和智能机器人进行语言的交流时,机器人能很快发现这个使用者或是找到这个声源的位置。除此之外,它还能在黑暗的环境中通过声音信号寻找说话者,或是在复杂的环境中寻找危险的声源7。在人机交互设备中,听觉系统水平的高低已经成为智能化水平的重要标志之一。图1-1 机器人利用声源定位确定声源的位置(2)军事领域 在战场上,声源定位技术在反狙击手方面运用广泛,用来探测火炮发射的精确位置。声源定位技术还为发现和跟踪隐身飞机提供了一种简单的方法,相比于红外和雷达设备,可降低设备的造价8。例如飞行在12000米高空的隐身飞机,以1.5马赫的

    13、速度突防,发动机的声音需要40s的时间传播到布置在地面或海洋表面的麦克风阵列,这时隐身飞机刚飞过 20公里,只需根据麦克风阵列探测的隐身飞机的飞行轨迹就可以拦截隐身飞机。(3)视频、电话会议系统 目前大多数的视频、电话会议系统均使用了麦克风阵列技术,使用麦克风阵列技术不仅可以判定出当前发言人的位置,而且可以自动的将麦克风阵列的波束方向对准发言人的位置,屏蔽其他方位的噪声,提高了视频、电话会议系统的效果。(4)大型会场 大型会场一般采用固定位置的麦克风,限制了发言人的自由移动,佩戴无线麦克风也有诸多不便。而采用麦克风阵列的技术,通过对发言人进行声源定位,可以将阵列的波束方向对准发言人的位置,并随

    14、着发言人的移动调整波束方向,非常方便。(5)助听器 基于麦克风阵列的助听器可以根据声源的位置,将阵列波束方向对准声源的方向,很好地抑制了环境噪声,提高了助听器的性能。(6)工业降噪 应用声源定位技术,我们还可以对机械设备的不同区域进行降噪处理。如图 1-2 和图 1-3 所示,则是采用麦克风阵列望远镜检测汽车噪声源,及不同部位的噪声能量的分析结果。图1-2 声波阵列望远镜图1-3 汽车不同部位的噪声能量分析(7)智能手机去噪 目前已有智能手机已经采用麦克风阵列技术进行去噪,一般选用多个麦克风分别对准不同的方向,通过阵列信号处理的技术,去除环境噪声,仅放大说话人的声音。除此之外,声源定位技术还被

    15、广泛应用于电视电话会议和安防系统等领域。在电视电话会议上,声源定位系统可以将摄像头对准正在发言的人,使远方的与会人员也可以看见视频另一端的说话人,这样会使虚拟会议的真实感增强9。在光线昏暗的条件下,传统的视频监控对监控区域内的监控存在死角,声源定位技术不受光线条件的影响,可以弥补视频监控系统的不足,发现异常声源可以及时提醒监控人员。随着声源定位技术的发展,其应用领域将越来越广,更加接近人们的日常生活。在现有的银行监控系统中,主要运用的是视频监控,通过摄像机与录像机对监控场景的图像或视频进行采集和存储。但是其设备本身不具备对视频内容的分析判断能力,需要人工完成。由于这种单纯的人力监视受限于人体的

    16、观察能力,使得系统存在监控漏洞。如果能够开发一种更加智能化的监控系统,弥补现有系统的不足,有着很大的实用价值。人类的判断分析能力之所以高,就是因为我们从外界得到的信息较多。通过视觉、听觉、嗅觉等等,综合判断必定比单纯的一种信息得到的结论更准确。因此,在监控系统中使用声源定位技术可以使系统更加智能化。即监控过程分两步进行,声源定位系统不断检测环境中的声音信号,若检测到有异常声音时,立即定位该声源,然后控制摄像机对声源所在区域进行视频采集,同时发出警报提醒监控人员。因此,这种视频采集结合声源定位的监控系统极大地提高了监控效率。在军事领域,声源定位技术也起着极其重要的作用。例如狙击手定位系统就是一种

    17、声源定位系统,目标声源信号为狙击手开枪时步枪的膛口激波和弹丸飞行产生的冲击波10。定位系统通过接收这两种声波,确定狙击手的位置。目前已经研制成功的该类系统有:美军研制的“哨兵”、“安全”等单兵反狙击手探测定位系统。美国 BBN 公司开发的“枪弹定位器”声测系统。该系统采用 2 个传声器阵列测量弹丸飞行中的声激波对弹丸进行定位和分类,定位成功率达到90%。另外,试设想一下多媒体教室,若在传统的麦克风中置入声源定位系统,使得该麦克风不仅可以接收、扩大声音,而且可以对说话人的方位进行实时检测和跟踪,即麦克风始终对准讲话人的方向。这样就大大方便了讲话人的自由活动或交换。声音给人们带来了方便,丰富了人们

    18、的生活。而对声源位置的确定能给大家有效的利用声音提供帮助。事实证明,声源定位系统是一个很有意义的研究课题,随着声源定位技术的发展,其应用领域将越来越广,越来越贴近人们的日常生活11。1.2 国内外研究现状声源定位技术有几十年的发展历程。其基本原理就是根据收到的音频信号,确定声源的位置。目前主要采用基于麦克风阵列的信号处理方法。该方法是在 1996 年,由 Silverman 和 Brandstein 两人首先将其应用于说话人位置识别的定位系统中的。随着传声器阵列的信号处理技术的迅猛发展,麦克风阵列的产品以其极大的优越性已经应用到社会生活的各个场合。国外对声源定位技术的研究起步较早,目前的研究成

    19、果比也较多。主要应用于军事领域,如战场目标声音识别系统12、飞机探测系统、声探测预警系统13等。除军事领域外,其他领域的声源定位技术的研究成果也很多,如日本HONDA研究院研制的实时跟踪多声源的系统。该系统由两个麦克风阵列组成,分别为室内的麦克风阵列和嵌入机器人头部的麦克风阵列。这两个阵列分别采用基于加权延时累加波束成形法和自适应波束成形器法来定位多声源位置。加拿大魁北克的珊不勒凯大学机电学院研发的避障机器人,使用8元麦克风阵列采集声音,采用波束成形和粒子滤波方法实现声源的跟踪。近年来,国内的许多大学和研究所也对声源定位技术进行了研究。哈尔滨工程大学水声技术国家级重点实验室针对水下近场噪声源的

    20、定位,研究了一种矢量阵宽带 MVDR 聚焦波束形成方法。该方法解决了“左右舷模糊”问题,提高了处理增益,及对实际水声信号的适用性14。湖南科技大学和中南大学机电工程学院对海底超声波微地形探测系统进行了研究15。安徽理工大学电气与信息工程学院,设计了一种智能视频监控系统。该系统综合应用了声音和光的信息实现定位,突破了传统监控系统监控范围的局限性,提高了监控系统的监控效率16。另外,如何实现低成本的小型声源定位系统已成为目前研究的一个热点。例如,移动机器人、智能车等声音定位控制系统。文献17设计了一套基于单片机的声音导引系统,该系统通过检测声音信号到达任意两个探测器的时间差实现移动声源方位的估计,

    21、从而控制小车的运动方向,并引导小车到达指定位置。文献18介绍了一种用于移动机器人搜寻目标方向的声源定位系统。文献19设计了一套以 STM32 芯片为硬件的移动声源实时定位系统。1.3 本文主要工作及论文结构本文研究的主要内容是设计与实现基于麦克风阵列和STM32单片机的声源方向识别器。其中,包括麦克风阵列、音频放大电路的设计、A/D转换的电路设计及其相关程序的设计,声源定位算法的程序设计。但是考虑到时间不够充足这一实际情况,最后决定采用已完成的一套STM32单片机为核心的硬件电路作为实现声源定位的硬件系统。在最后对整个系统进行软硬联调,对系统进行大量声源定位实验,测试系统的精确程度以保证系统能

    22、够应用于实际环境中。论文共分为六章,章节主要内容如下:第1章介绍声源定位背景及研究的目的和意义,相关应用以及国内外的研究现状。第2章主要介绍整个声源定位系统硬件基础知识。首先介绍STM32F103系列单片机的主要性能、特点以及主要参数。其次介绍了现有的3 类基本声源定位技术。最后简略介绍编程软件KeilVision4MDK的使用方法。第3章主要对声源定位算进行了介绍,包括当下集中主要的声源定位算法,时延估计算法中的基本互相关函数,对时延估计算法误差的分析和改进。第4章主要介绍基于麦克风阵列和STM3单片机的声源方向识别器硬件整体结构的设计,包括麦克风阵列几何结构的选择,音频放大电路的设计,ST

    23、M32单片机的A/D转换电路的设计,以及各部分电路与单片机的连接方式。第5章主要介绍如何设计相关程序以实现STM32单片机的采样和A/D转换,声源定位算法的程序设计。第6章主要介绍使用已设计好的硬件系统结合声源定位算法算法进行多次声源定位实验并记录过程,进而对测试结果进行分析。分析系统误差并且提出改进的方法。最后为结论,主要介绍本次毕业设计工作的内容和取得的成果,设计过程中完成的声源定位系统的优点以及不足之处,并提出一些改进办法。第2章 声源定位系统的技术基础第2章 声源定位系统的技术基础2.1 麦克风阵列声源定位系统整体结构麦克风阵列声源定位系统主要包括四大部分:麦克风阵列部分、音频放大部分

    24、、采样和A/D转换部分以及声源定位算法处理部分。结构框图如图2-1所示。如图 2-1 声源定位系统框图(1)麦克风阵列 麦克风阵列的设计涉及到麦克风种类的选择、麦克风阵列结构的选择、阵元间距和阵元数目这些因素。麦克风阵列的设计与声源定位算法的选择、声源定位系统的设计细节相关,是实现麦克风阵列声源定位系统的基础。本系统采用两个麦克风以一定的间距并列放置,用于配合接下来的基于时延估计声源定位的计算方法。(2)音频放大模块 因为声音信号经麦克风转换为电压信号以后是毫伏级的, STM32单片机中的 ADC端口不能分辨出如此小的电压,故音频前置放大电路是声源定位系统中必不可少的。由于所选择的麦克风频率范

    25、围为2016KHz,为保证放大电路在麦克风的频率范围内都能正常工作,所选择的运算放大器应有足够宽的带宽。另外,所选择的模拟运算放大器应该具有较高的信噪比,以满足系统对采集信号的精度要求。本系统的运算放大器选用的是德州仪器TL084C,该放大器满足了系统所要求的增益和带宽要求,同时具有较宽的电源电压工作范围,保证了放大电路有着很宽的线性工作区。模拟运算放大芯片084C为四输入运算放大器,具有较高的转换率,INn+为同相输入端,INn-为反相输入端,OUTn为输出端,硬件电路中使用两个084C,可根据声音信号的大小决定采用一级放大还是两级放大。将麦克风接到放大器的输入端,经放大后与单片机相连,作为

    26、模拟信号的输入端。(3)采样和A/D转换模块 声源信号为模拟信号,在STM32单片机中实现声源定位的计算,则需要将模拟信号转换为数字信号,从而进行接下来的数字信号处理环节。该模块的作用就是对模拟信号进行等间隔采样,将模拟信号转换为数字信号,为接下来的定位计算提供可用数据。(4)声源定位算法处理模块 该模块主要对采集到的数据进行数字信号处理,依据声源定位算法,进而计算出声源的位置信息。2.2 STM32单片机简介STM32F103系列微处理器是首款基于ARMv7- M体系结构的32位标准RISC (精简指令集)处理器, 提供很高的代码效率, 在通常8位和16位系统的存储空间上发挥了ARM 内核的

    27、高性能。该系列微处理器工作频率为72MHz, 内置高达128K 字节的Flash存储器和20K 字节的SRAM, 具有丰富的通用I /O 端口。作为最新一代的嵌入式ARM 处理器, 它为实现MCU 的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供了卓越的计算性能和先进的中断响应系统。丰富的片上资源使得STM32F103系列微处理器在多种领域如电机驱动、实时控制、手持设备、PC游戏外设和空调系统等都显示出了强大的发展潜力6M32F103系列微处理器主要资源和特点如下:(1)多达51个快速I /O 端口, 所有I/O口均可以映像到16个外部中断, 几乎所有端口都允许5V 信号输入

    28、。每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉) 或其它的外设功能口。(2)2个12位模数转换器, 多达16个外部输入通道, 转换速率可达1MHz, 转换范围为03.6V;具有双采样和保持功能;内部嵌入有温度传感器,可方便的测量处理器温度值。(3)灵活的7路通用DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须CPU任何干预。通过DMA可以使数据快速地移动这就节省CPU的资源来进行其他操作。DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART 等。(4)内部

    29、包含多达7个定时器。(5)含有丰富的通信接口:三个USART异步串行通信接口、两个I2C 接口、两个SPI接口、一个CAN接口和一个USB接口,为实现数据通信提供了保证5。STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。如图2-2为定时器的框图,其功能包括: (1

    30、)16位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。 (2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 165535之间的任意数值。 (3)4个独立通道(TIMx_CH14),这些通道可以用来作为: 1.输入捕获 2.输出比较 3.PWM生成(边缘或中间对齐模式) 4.单脉冲模式输出 5.可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 一个定时器控制另外一个定时器)的同步电路。 6.支持针对定位的增量(正交)编码器和霍尔传感器电路 7.如下事件发生时产生中断/DMA: 更新:计数器向上溢出/向下溢出、计数器初始化(通过

    31、软件或者内部/外部触发) 触发事件(计数器启动、停止、初始化或由内部/外部触发计数)触发输入作为外部时钟或者按周期的电流管理 支持针对定位的增量(正交)编码器和霍尔传感器电路 输入捕获 输出比较图2-2 定时器的框图ADC(Analog to Digital Converter),模拟/数字转换器。在模拟信号需要以数字形式处理、存储或传输时,ADC必不可少。STM32系列单片机的ADC转换位数为12位,是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存

    32、器中,其框图如图2-3所示。STM32系列在片上集成的ADC外设非常强大,其主要特征如下:(1)12位分辨率(2)转换结束、注入转换结束和发生模拟看门狗事件时产生中断 (3)单次和连续转换模式 (4)从通道0到通道n的自动扫描模式 (5)自校准 (6)带内嵌数据一致性的数据对齐 (7)采样间隔可以按通道分别编程 (8)规则转换和注入转换均有外部触发选项 (9)间断模式 (10)双重模式(带2个或以上ADC的器件)(11)ADC供电要求:2.4V到3.6V (12)ADC输入范围:VREF- Vin VREF+ (13)规则通道转换期间有DMA请求产生STM32的ADC参考电压输入如表2-1所示

    33、表2-1 STM32的ADC参考电压输入名称信号类型注解VREF+输入,模拟参考正极ADC使用的高端/正极参考电压,2.4v VREF+ VDDAVDDA(1)输入,模拟电源等效于VDD的模拟电源且:2.4v VDDA VDD (3.6v)VREF-输入,模拟参考负极ADC使用的低端/负极参考电压,VREF-= VSSAVSSA(1)输入,模拟电源地等效于VSS的模拟电源地VDDA和VSSA应该分别连接到VDD和VSS通过设置ADC_CR2寄存器的A/DON位可给ADC上电。当第一次设置A/DON位时,它将ADC从断电状态下唤醒。ADC上电延迟一段时间后(tSTAB),再次设置A/DON位时开

    34、始进行转换。通过清除A/DON位可以停止转换,并将ADC置于断电模式。在这个模式中,ADC几乎不耗电(仅几个A)。ADC的时钟控制器ADCCLK时钟和PCLK2(APB2时钟)同步,ADC的输入时钟不得超过14MHz。STM32单片机有16个多路通道,可以把转换组织成两组:规则组和注入组,在任意多个通道上以任意顺序进行的一系列转换构成成组转换。STM32同样具有双ADC模式和单ADC模式,只有一个ADC工作时,具有单次转换和连续转换以及扫描模式三种模式;双ADC模式具有同步规则模式等多种模式。 图 2-3 ADC框图STM32单片机的A/D转换可以由外部事件触发, ADC1和ADC2用于规则通

    35、道的外部触发如表2-2所示,本实验中采用的是由通用定时器3所产生的TRGO事件来触发A/D转换。表2-2 ADC外部触发TIM1_CC3事件来自片上定时器的内部信号010TIM2_CC2事件011TIM3_TRGO事件100TIM4_CC4事件101信号经过音频放大器进行放大,被ADC采集、转换,然而ADC转换得到的数据如何转移到内存从而进行下一步的时延计算呢?这里我们使用DMA用来“搬运”这些数据。DMA,全称为:Direct Memory Access,即直接存储器访问,DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA 控制器 来实

    36、行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA传输对于高效能嵌入式系统算法和网络是很重要的。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与 I/O 设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。图2-4为DMA框图,STM32 的DMA有以下一些特性: (1)每个通道都直接连接专用的硬件 DMA 请求,每个通道都同样支持软件触发。这些功能通过软件来配置(2)在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、 中

    37、等和低),假如在相等优先权时由硬件决定(3)独立的源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐 (4)支持循环的缓冲器管理 (5)每个通道都有3个事件标志(DMA 半传输,DMA 传输完成和 DMA 传输 出错),这3个事件标志逻辑或成为一个单独的中断请求。(6)存储器和存储器间的传输 (7)外设和存储器,存储器和外设的传输 (8)闪存、SRAM、外设的 SRAM、APB1 、APB2 和 AHB 外设均可作为访问的 源和目标 (9)可编程的数据传输数目:最大为 65536首先在内存中开拓一片空间用来存储DMA从ADC寄存器转移而来的数

    38、据,即在内存中定义一个首地址,配置DMA的工作模式,使A/D转换数据不断地从ADC数据寄存器转移到SRAM中。转移的数据以两个数组的形式存储下来,供下面的声源定位计算使用。整个A/D转换的程序分为三个部分:包括DMA的配置程序、GPIO的配置程序以及ADC的配置程序。图 2-4 DMA框图2.3 KeilVision4MDK简介对STM32F103系列单片机开发前, 需要准备相应的软硬件。其中硬件主要包括STM32F103开发板(或用户目标板); 软件主要包括KeilVision4MDK开发平台。KeilVision4MDK是一个基于窗口的软件开发平台,它集成了强大而且现代化的编辑器、程管理器

    39、和make工具,几乎集成了嵌入式系统开发所需的全部工具: C/C+编译器、汇编器、链接/定位器、HEX文件生成器等。该软件提供了两种工作模式:编译和调试模式。在编译模式中,开发者可以创建工程、选择目标器件、新建文件、输入源代码、生成可执行文件;调试模式中,开发者可以利用其强大的集成调试器对应用程序进行调试,如设置断点、单步执行等, 方便了程序错误的查找和修改。作为ARM嵌入式开发的主流工具,MDK也是目前为数不多的完全支持Cortex-M3处理器的开发工具,并内含STM32F10x系列处理器片上外围接口固件库和完整的数据手册。MDK尽管是针对16位和32位处理器的,但仍然使用中国工程师非常熟悉

    40、的开发环境,当面对有更高性能需求的MCU开发时,开发人员可以利用原有开发经验轻松地实现过渡。该软件的突出特性包括:(1)启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。MDK开发工具可以自动生成完善的启动代码,并提供图形化的窗口,轻松完成修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。(2) KeilVision4MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和1/0口仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的A

    41、RM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。(3) KeilVision4MDK的性能分析器好比哈雷望远镜,能让开发工程师看得更远和更准,辅助查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,轻松完成代码的优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。(4)KeilVision4MDK无需寻求第三方编程软件与硬件支持,通过JLINK或类似仿真器与Flash编程工具一同轻松实现CPU片内Flash、外扩Flash烧写,并支持用户自行添加Flash编程算法;而且能支持Flash整片删除、扇区删除、编程前自动删除以及编程后自动校验等功

    42、能,轻松方便。(5)KeilVision4MDK中国版的用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将为国内工程师们开发出更有竞争力的产品提供更多的助力。2.4 ISP下载器KeilVision4MDK进行整个系统的软件设计,代码编写完成以后,对程序进行编译,系统自动生成HEX类型的文件,使用MCUISP(ISP下载器),将加载HEX文件到单片机中,下载成功以后如图2.6.2所示。ISP是在系统编程的英文缩写(In-System Programming)。简单的说,可以不用插拔芯片,也不需要编程器,就可以在你的目标应用板(有单片机的电路板)上直接编程

    43、,作程序改动调试。 在系统可编程技术与传统逻辑电路设计比较,其优点在于: (1)实现了在系统编程的调试,缩短了产品上市时间,降低了生产成本。 (2)无需使用专门的编程器,已编程器件无须仓库保管,避免了复杂的制造流程,降低了现场升级成本。 (3)使用ISP器件,不仅能够在已有硬件系统的基础上设计开发自己的系统,真正实现硬件电路的“软件化”,将器件编程和调试集中到生产最终电路板的测试阶段,使系统调试数字系统硬件现场升级变得容易而且便宜。2.5 本章小结本章首先介绍了麦克风阵列声源定位系统整体结构,克风阵列声源定位系统主要包括四大部分:麦克风阵列部分、音频放大部分、采样和A/D转换部分以及声源定位算

    44、法处理部分。其次介绍了STM32单片机的主要性能,着重介绍了A/D转换器,通用定时器和单片机的DMA功能。软件方面文章介绍了STM32单片机的软件编程工具以及后面用到的下载工具。通过对以上内容的介绍,为接下来的毕业设计提供了充足的预备知识,更加深入的理解单片机的工作方式,并且为程序的编写和下载打下了基础。 第3章 声源定位算法研究第3章 声源定位算法研究3.1 声源定位算法概述麦克风阵列是指一组摆放成特定几何结构的麦克风,利用特定算法对麦克风阵列拾取的声音信号进行处理,计算得出声源的具体位置。目前应用于麦克风阵列的声源定位算法大致可以分为三类20:(1)基于最大输出功率的可控波束形成技术(2)

    45、基于高分辨率谱估计技术(3)基于到达时间差(Time Difference of Arrival,TDOA)定位技术基于最大输出功率可控波束的声源定位算法21,最早是由 William R.hahnh 和 Steven A.thetter 在 1973 年提出的22。1983 年,Mati Wax 和 Thomas Kailath 将该方法由单声源定位扩展到多声源定位23。这种算法的基本思想24.25是通过对各阵元输出加权求和来得到波束,通过调整权值使波束的输出功率最大,以搜索的方式来寻找功率最大的点,该点即为声源的方向。基于麦克风阵列的语音拾取领域多用到了波束形成技术,用来进行语音增强,但是

    46、该方法在实现的过程中需要进行全局搜索,而这种搜索需要极大的运算量,影响了实时实现,所以将该方法用于稳健有效的声源定位系统还是比较困难。并且,可控波束定位技术依赖于背景噪声和声源信号的频谱特性的先验知识,但是在实际使用中,这些先验知识很难获取26.27。因此将该方法应用在实际系统中性能差异大,计算复杂度高,其应用范围受到了很大的限制28。基于高分辨率谱估计技术的声源定位方法 空间谱估计技术具有超高的空间信号的分辨能力,能突破并进一步改善一个波束宽带内的的空间不同来向的信号分辨能力29,所以又称为高分辨率谱估计技术。在实际的运用中,该方法要求信号是平稳的,以便利用时间平均估计阵元的相关矩阵,但声音信号是一个短时平稳过程,并不满足此条件,从而导致该方法的定位效果并不好;此外该方法适用于远场信号的处理,应用到近场声源定位中距离分辨率较低,准确性也不高30;而且该方法主要对窄带信号有效,对于像语音信号这样的宽带信号,可采用频率聚焦技术31,但这样会使算法运算量增加,不利于实时实现。基于时间延迟估计(Time Delay Estimation, TDE)的声源定位方法 此方法由两步完成,第一步计算同一阵列中不同的麦克风接


    注意事项

    本文(基于STM32单片机声源方向识别器设计与实现毕业设计论文.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922