APP下载

一种声源定位跟踪系统实现方法

2023-09-21张超洋周桂宇蒋立华敖明扬杨玉成

物联网技术 2023年9期
关键词:声源基站定位

张超洋,周桂宇,蒋立华,敖明扬,杨玉成

(宜宾学院 智能制造学部,四川 宜宾 644000)

0 引 言

随着信息技术和人工智能的快速发展,声音导航跟踪定位的应用越来越广泛。声音信号是人们传递信息的重要方式,在智能车载、智能家居、可穿戴设备等领域受到关注[1]。声源定位技术,在现代工业制造中可以通过噪声和异响进行定位[2];在国防现代化方面,可以用来辅助测量炮兵阵地、定位狙击手位置、测量弹药、测试火炮的着落点和空中炸点[3];在生活中,可以准确识别空调、冰箱、洗衣机等家电产品的噪声源,从而确定其位置、分布,并优化控制减小噪声,改善人们的工作和生活环境[4]。声源定位技术主要可以分成三大类:第一类是基于最大输出功率的可控波束形成技术;第二类是高分辨率谱估计技术;第三类是基于声达时间差的定位技术,利用到达阵列上各传声器的声音信号间的时间差来定位声源,这类技术计算量小,比较适用于实时处理,实际运用也十分广泛。本文基于声源近场传播模型[5-6]设计并制作了一个以STM32 为主控的声源定位跟踪系统,该系统实现了对较宽频率声源进行定位与追踪[7],在视频会议、语音增强、自动语音识别领域[8-9]有重要的应用价值。

1 理论分析与计算

1.1 TDOA 的基本定位原理

传统的基于TDOA 技术[10-12]的无线定位系统一般涉及4 个基站和1 个移动平台MB(x,y,z),其中下行发射基站为B0(x0,y0,z0),上行接收基站为Bi(xi,yi,zi),i=(1, 2, 3),移动平台MB 发送到各基站的上行信号的到达时间差为t10、t20、t30,且均可测得。设Ri为MB 到各基站的距离,已知电磁波在空气中的传播速度为c,则可算得MB 到各个基站的距离差R1-R0=t10×c=R10,R2-R0=t20×c=R20,R3-R0=t30×c=R30。

由此可列方程组:

解三元二次方程组便可求得移动平台MB 的坐标(x,y,z),从而实现声源定位。

1.2 近场声源传播模型

如图1 所示,当来波信号的信源与阵列中参考阵元之间的距离比较接近时,来波信号的传播方式不再是平面波,而需要将传播方式视为球面波,传播模型为近场信源模型。阵列中的阵元都处于信源的Fresnel域中:[0.62(R3/λ)0.5, 2R2/λ],R为阵列孔径。

图1 近场阵列示意图

此时信源的参数还包含信源到参考阵元的距离,二者都需要进行估计。由于之前假设一共有K个相互独立的窄带信号,且假设新的近场接收均匀线阵共有2M+1 个阵元,阵元下标为-M到M,则下标为M的阵元接收到的信号可以表示为:

1.3 卡尔曼滤波原理及算法实现

卡尔曼滤波算法原理[13-15]是利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计;通过上一时刻的估计值和当前时刻的观测值来完成对状态变量的估计。该算法还可以应用在任何含有不确定信息的动态系统中,有效抵抗噪声的干扰,并对状态变量作最优估计,所以卡尔曼滤波非常适合应用在姿态解算、轨迹规划和目标定位等方面。根据运动学公式,其离散模型如下。

状态方程:

观测方程:

式中:xk为状态矩阵;uk为控制矩阵;yk为观测矩阵;Ak为状态转移矩阵;Bk为状态控制矩阵;Hk为测量矩阵;wk为k时刻的动态噪声;vk为k时刻的观测噪声。卡尔曼滤波分两步对模型中的参数进行更新,分别是时间更新和状态更新,以保证跟踪的实时准确。

时间更新:

状态更新:

式中:Pk为协方差矩阵;K为卡尔曼增益,表明根据上一时刻最优估计并加上已知的外部控制量预测得到当前时刻新的最优估计。

2 电路与程序设计

2.1 系统硬件电路设计

咪头信号采集电路如图2 所示。R1作为偏置电阻,主要是给MIC 内部的FET 放大器提供一个漏极偏置,使其工作在饱和区,完成信号的放大;C1为输入端隔直电容,防止直流电压进入放大电路;R5、R9、Q1组成放大电路,C5为输出端隔直电容;R13、R21、C9、C13组成RC 滤波电路,滤除干扰信号;D0为单片机采集信号。

图2 咪头信号采集电路

图3 所示降压电路主要是为舵机以及单片机供电。TPS5430 是一种高输出电流PWM 转换器,集成了低电阻、高侧N 沟道MOSFET,其输入电压范围为5.5 ~36 V;一个内部设置的缓慢启动电路用以限制浪涌电流;电压前馈电路用来改善瞬态响应。

SY8088 是矽力杰(Silergy)公司推出的一款1.5 MHz高效同步压降DC/DC 稳压器芯片,其输入电压可在2.5 ~5.5 V 范围内变动,输出为3 V,如图4 所示。

图4 5 V 到3 V 降压电路

2.2 系统软件电路设计

系统软件部分由STM32F103RCT6 主控芯片的主要控制电路和以K210 模块与麦克风阵列组成的声源信号采集系统组成。

系统程序流程如图5 所示。主控程序采用Kell uVision5软件进行C 语言程序编写,主要实现将由串口接收到的K210 的数据经过时间差(TDOA)定位算法和卡尔曼滤波算法滤波以后计算出自制声源与麦克风之间的最短距离,通过距离换算出角度控制二维云台上的激光笔发出激光并指向声源,并在OLED 上显示角度和距离。对K210 模块与麦克风阵列组成的声源信号采集系统,采用Maixpy 软件和MicroPython 语言进行程序编写,主要实现K210 模块通过麦克风阵列采集来自自制声源的声源信号,并对采集到的声源信号进行一次处理,通过串口通信发送给STM32F103RCT6单片机。

图5 程序流程

3 测试方案与测试结果

3.1 测试方案与测试条件

声源检测系统测量区域分布俯视图如图6 所示。

图6 系统测量区域俯视图

测试方案如下:

(1)在自制声源定位检测装置上标记测试参考点A,作为位置坐标的原点。A、B两点直线距离为γ;以A点为原点,AB在地面的投影与中心线的夹角为θ。测量距离γ和角度θ的误差。

(2)安装二维电动云台,能控制激光笔指向声源。定位计算过程中时,激光笔关闭,定位运算完成时激光笔开启。定位指示声源时,测量动作反应时间、光点与B点的偏差,进行声源移动动态追踪,将声源摆放在地面,用细绳牵引,以0.2 m/s 左右的速度在D区移动时,激光笔光点指向B点,测量光点与B点偏差,跟踪反应时间。

3.2 测试结果及其完整性

(1)设计并制作声音发生装置

装置能独立工作,声音音量手动可调,装置最大边长或直径不超过10 cm,可手动自由移动。

(2)角度误差测试

测试条件:自制声源定位检测装置放置在C区范围内,并标记测试参考点A,测量装置可实时显示D区内声源的位置,并测出定位检测装置至声源位置在地面上的投影、定位检测装置与声源目标摆放区的垂直中心线的夹角。

由表1 可知,测量距离最大相对误差不超过1.67%。由表2 可知,测量角度最大误差不超过1.4°。

表1 距离γ 测值误差记录

表2 角度θ 的测值误差记录

(3)声源移动动态追踪

测试条件:声源在D区以0.2 m/s 左右的速度移动时,激光笔光电指向B点的偏差越小越好,跟踪反应时间越短越好。

由表3 可知,测量最大位置偏差不超过1.8 cm,测量反应时间最大误差不超过1.5 s,定位跟踪反应快,跟踪效果好。

表3 移动过程中测量位置与实际位置偏差

4 结 语

本文设计实现了一个自制的声源定位跟踪系统,能够实时显示及指示声源的位置,当声源移动时能够用激光笔动态跟踪指示声源。通过测试发现,本系统测试角度误差小于1.4°,定位测试误差小于1.67%,声源移动动态追踪测试偏差小于1.8 cm,反应时间小于1.5 s。最终测试结果表明,本文所设计的声源定位系统在室内环境下能有效地实现声源目标定位。但在声音嘈杂的环境下声源定位的精度会有一些下降,这是由于读数是人眼观测的,存在一定的误差。

猜你喜欢

声源基站定位
虚拟声源定位的等效源近场声全息算法
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
基于GCC-nearest时延估计的室内声源定位
找准定位 砥砺前行
可恶的“伪基站”
运用内积相关性结合迭代相减识别两点声源
基于GSM基站ID的高速公路路径识别系统
青年择业要有准确定位
力-声互易在水下声源强度测量中的应用