基于TDOA 声源定位算法的激光武器狙击手攻击系统设计

2024-03-19 05:17陶冶博郑洁霁张越罗必露杨志超葛永彦
电子制作 2024年5期
关键词:时间差麦克风声源

陶冶博,郑洁霁,张越,罗必露,杨志超,葛永彦

(嘉兴职业技术学院,浙江嘉兴,314036)

0 引言

为了实现基于TDOA 声源定位算法的激光武器狙击手攻击系统,本文以STM32 单片机为主控制器,以驻极体麦克风为声音检测传感器,利用TDOA 算法实现音源的坐标测量,距离测量误差小于±0.1m,角度测量误差小于±1°,测量时间不超过2s。此外,本系统可以用激光指示出声源所在位置,模拟使用激光武器打击目标。

1 基于TDOA 的声源定位算法

1.1 TDOA 算法

时差到达(Time Difference of Arrival,TDOA)算法是一种用于测量信号源位置的技术,其基本原理是通过分析信号在不同接收器之间的到达时间差来确定信号源的位置。TDOA 算法常用于定位声音、雷达信号、通信信号等各种信号源的位置,尤其在无线通信、无人驾驶、军事和应急救援等领域具有重要应用。

TDOA 算法的核心思想是:在一个多接收器的系统中,当一个信号源发出信号时,这个信号在不同接收器上的到达时间会因为信号传播速度的限制和传播路径的不同而产生微小的差异。通过测量这些微小的时间差,可以推算出信号源相对于接收器的位置。

TDOA 算法的实现一般涉及以下几个步骤:信号接收:在不同位置放置接收器来接收信号源发出的信号;时间差测量:接收器会记录信号到达的时间戳。通过比较不同接收器之间的时间戳差异,可以计算出信号到达的时间差;距离计算:通过已知的信号传播速度(如声速、电磁波速度等),可以将时间差转换为距离差;定位计算:结合已知接收器的位置信息和计算得到的距离差,使用三角测量法或其他定位算法来计算信号源的精确位置。

到达时间差是利用待测目标到达2 个接收基站的时间,取其差值来获得,这时需要基站时间的严格同步,但是当两基站间移动信道传输特性相似时,可减少由多径效应带来的误差,如图1 所示。

图1 TDOA 算法示意图

根据到达时间差获得的TDOA 方程为:

其中(x,y)为待测目标的坐标 (x1,y1) (x2,y2) (x3,y3)为3个接收基站的坐标,c为声速,t1、t2、t3分别为待测目标声音信号传播到3 个接收基站所需的时间。

通过将公式(1)~(3)这一组非线性方程求解,即可得到对目标位置的估计。

1.2 时间测量分析

发射端与接收端是异步的,无法得知发射的起始时刻,无法求出音源到麦克风的绝对时间。所以我们只能算出音源到任意两个麦克风的时间差。

假设用于接收枪声信号的麦克风分别设置在A,B,C。Q 为原点,P 为音源位置。通过3 个测试点,两两求差,可得时间差为:

1.3 求解音源位置和相角

如图2 所示,P 点为平面上的任意一点,根据几何关系可以推算出,得到如下公式:

图2 音源检测原理

求解公式(6)、(7)可得目标坐标,为方便对声源位置的判断,通过以下公式将结果转换为极坐标。

2 系统整体设计

本文设计的基于TDOA 声源定位算法的激光武器狙击手攻击系统的整体框图如图3 所示,包括单片机、声音检测电路、舵机云台、激光光源、电源。声音检测电路通过驻极体麦克风采集声音信号,通过滤波、放大、整形后,送入单片机外部中断,测出3 个麦克风采集信号的时间差,再计算得出声源的距离和角度。功能样机实物图如图4 所示。

图3 系统框图

图4 枪声定位装置实物图

2.1 硬件设计

2.1.1 声音检测电路

本系统硬件电路的核心为声音检测电路,电路包含驻极体麦克风信号采集、滤波、放大、整形几部分组成,为了方便调试,在信号输出端放置了LED,用于信号指示。电路原理图如图5 所示。

图5 声音检测电路

2.1.2 激光驱动电路

该系统使用小功率激光二极管模拟激光武器。本文采用继电器实现对激光二极管开关的控制。继电器线圈并联的1N4148 二极管用于在继电器断开时释放线圈中的能量。8050 三极管实现继电器的驱动。电路如图6 所示。

图6 继电器电路图

2.1.3 外部接口电路

硬件接口包括HMI 屏幕、3 路声音采集电路接口、2 路云台舵机接口以及激光接口。HMI 屏幕和声音采集电路与单片机采用同一路电源供电。激光接口与舵机接口采用航模电池单独供电,防止电机运转时产生的电源波动,影响系统的测量精度。电路如图7 所示。

图7 接口电路图

2.2 软件设计

软件的总体流程如图8 所示,系统的程序主要由两部分构成:声源检测、声源位置指示。声源检测功能是由单片机测出声源与测量点A、B、C 的时间差并转换计算求得声源位置与源点的距离和相角。声源位置指示功能是由单片机根据测得声源的位置和相角,来指示云台转动达到声源方向并开启激光指示出声源位置。

图8 软件流程图

2.2.1 TDOA 算法求解

TDOA 算法的核心是非线性方程组的求解,该方程组可以通过多种数学方法来求解,其中最常见的方法之一是使用非线性最小二乘法(Nonlinear Least Squares,NLS)来拟合方程组以估计声源的位置。但是本文设计的系统为了降低功耗、减小体积,采用单片机作为核心处理器。使用非线性最小二乘法来拟合方程组的求解方法对于单片机计算量较大。为了提高测量速度,本文采用查表法,即提前计算好测量区域内时间差与坐标的对应表,并将该表存入单片机的ROM 内,通过查表的方式将时间差转换为位置坐标,如图9 所示。

图9 TDOA 算法非线性方程组的求解

2.2.2 显示界面

本文设计的基于TDOA 声源定位算法的激光武器狙击手攻击系统的显示界面如图10 所示。

图10 用户交互界面

左上角显示当前的测量结果,包括角度和距离数据。下方是角度指示指针,便于用户快速获得枪声的角度。

3 系统测试

3.1 测试环境及条件

测试工具:米尺、量角器、秒表。

测试环境及条件:在场地中ABCD 内放置好声源检测装置,在声源目标摆放区内摆置好模拟枪声的声源,如图11 所示。

3.2 距离测量误差实验

测试方案:将自制模拟枪声音频系统放置于测试场地,通过麦克风组成阵列采集信号,处理计算后通过屏幕显示并记录数据,测量时间使用秒表记录。测试数据如表1 所示。

表1 距离测量实验数据

图11 测试环境

结论:测试结果表明,该系统可以实现枪声距离的测量,测量误差小于±0.1m,测量时间小于2s。

3.3 角度测量误差实验

测试方案:将自制模拟枪声音频系统放置于测试场地,通过麦克风组成阵列采集信号,处理计算后通过屏幕显示并记录数据,测量时间使用秒表记录。测试数据如表2 所示。

表2 角度测量实验数据

结论:测试结果表明,该系统可以实现枪声角度的测量,角度测量误差小于±1°,测量时间小于2s。

4 结论

本文设计的基于TDOA 声源定位算法的激光武器狙击手攻击系统,采用TDOA 算法,通过对枪声到达不同声音传感器的时间差,实现枪声位置的测量。为了提高测量速度,本文采用查表法代替传统的最小二乘拟合的方法求解非线性方程组,使得整机可以采用单片机作为核心处理器,降低了系统的功耗和体积。最后,本文通过实验测量所设计的枪声定位系统,距离测量误差小于±0.1m,角度测量误差小于±1°,测量时间不超过2s。此外,本系统可以用激光指示出声源所在位置,模拟使用激光武器打击目标。

猜你喜欢
时间差麦克风声源
虚拟声源定位的等效源近场声全息算法
量子定位系统中符合计数与到达时间差的获取
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于GCC-nearest时延估计的室内声源定位
基于数字麦克风的WIFI语音发射机
基于BP网络的GIS局部放电声电联合检测故障定位方法
立体声音乐节目后期制作中声像定位的探讨
麦克风的艺术
运用内积相关性结合迭代相减识别两点声源
厘米级室内无线定位方法研究