郭志文 孙燕斌 余方能 张梅林 杨鲸会 黄裕满
摘 要:基于麦克风阵列的声源定位产品以STC89C52为核心处理器,通过麦克风阵列模块获取声源信号,通过放大、滤波和整形导入处理模块,最终通过TDOA定位法计算出声源空间位置,控制摄像头拍摄并通过1602LCD显示声源位置。
关键字:麦克风阵列;TDOA定位算法
引言:随着科技的发展,智能化设备已经广泛的用于灾区搜救、违章鸣笛抓拍和考场监考之中。但是目前国内没有任何一款产品可以同时一次性解决这三类问题,而我们团队自主研发的智能声源定位产品就可以轻易的达到这个目的。本文以自主研发的声源定位产品为对象,基于TDOA定位算法算出声源空间位置,实现该产品实时拍摄与实时定位的功能。
一、系统整体设计方案
系统使用MAX9814高性能麦克风组成的麦克风矩阵获取声源信号,这些声源信号通过放大、滤波、整形等步骤处理后传给单片机STC89C52。单片机经过相关计算与TDOA定位算法,得出声源的空间位置,随后根据该位置控制摄像头转动并通过1602LCD显示声源的位置坐标。
二、系统硬件设计
1.电源模块
电源由稳压部分、滤波部分、变压部分构成。提供给整个系统±12V或者±5V的电压,保证电路的工作正常。由于电路较为简单,采用三端稳压管即可实现,故不做过多概述。
2.摄像头模块
摄像头模块选用RISYM摄像头。根据本产品的需求,我们使用的摄像头模块须具备以下两点功能:其一是具有能够灵活运动的舵机,来应对各种工作环境下的工作视角;其二是具备可添加识别等模块的功能,因为本项目的设计初衷需要摄像模块具备识别、跟踪、定位等多项功能。而该种类摄像头正是具备上述两点功能。
3.显示模块
选用1602LCD作为显示模块,它是一种应用于数字、字母、符号等显示的点阵型晶体模块。可以显示两行,每行可显示16个字,具备本产品显示功能的基本需求,保证了坐标的完整显示。
4.信息处理模块
选用单片机STC89C52作为信息处理模块。STC89C52是一种功耗低、性能强的CMOS8位微控制器,具有8字节的系统可编程Flash存储器,STC89C52虽然使用经典的MCS-51内核,但是却在其基础之上做了许多改进,例如在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash。STC89C52具有的标准功能有:256字节RAM,8k字节Flash,32位的I/O口线,三位16位的定时器、计数器,全双工串口,時钟电路及片内晶振等等。另外在STC89C52进行静态逻辑操作时,有空闲和掉电保护这两种模式。在第一个模式中,CPU停止工作,允许定时器/计数器、串口、RAM、中断继续工作,而在第二种模式之中,振荡器被停止,RAM被保存,直到硬件复位或下一个中断复位为止,单片机停止一切工作。保证了数据的接收、处理与发送等功能的正常运作。
5.麦克风阵列技术
选用全向麦克风作为信息收集模块。所谓的全向麦克风就是一种采集声音的装置,该装置运用多个麦克风的特定排列与相应算法的应用,就可以采集在不同空间方向上传播的声音。与单向、双向、心型麦克风相比,全向麦克风可以在一定范围内接收来自空间中任意方向上的声音,完美的契合了本产品在相关应用场景中的需求。
三、系统软件设计
TDOA定位算法
基于麦克风阵列的到达时间差技术,该方法首先利用数据处理模块接收并处理来自麦克风阵列所收集的声源信号,根据定时器的定时功能得到声源信号到达空间不同位置麦克风的时间,再利用该时间差求得声源信号达到不同位置麦克风的距离差,最后用再利用相关算法确定声源信号的空间位置。
基于时间差的定位原理
三、结语
本文介绍了一种基于麦克风阵列的声源定位产品。改产品通过放大、滤波、整形等步骤处理后传给单片机STC89C52。单片机经过相关计算与TDOA定位算法,得出声源的空间位置,随后根据该位置控制摄像头转动并通过1602LCD显示声源的位置坐标。最终实现灾区搜救、违章鸣笛抓拍和考场监考这三个问题的解决。
参考文献
[1]屈顺彪,俞华,芦竹茂,申冲,韩钰,王晨光.面向声源定位的改进广义互相关时延估计方法[J].导航定位与授时,2021,8(06):118-124.
[2]张源.面向声学照相的阵列信号参数估计算法研究[D].导师:武岳.四川大学,2021.