APP下载

基于FPGA 的UWB 隧道内人员定位系统设计与实现

2024-01-04夏俊辉罗飞舟彭晓飞常宏磊于海波

现代电子技术 2024年1期
关键词:卡尔曼滤波定位精度测距

夏俊辉,李 杰,罗飞舟,彭晓飞,常宏磊,于海波

(1.中北大学仪器与电子学院,山西 太原 030051;2.中北大学仪器科学与动态测试教育部重点实验室,山西 太原 030051;3.中国运载火箭技术研究院宇航业务部,北京 100071)

0 引 言

随着我国公路、铁路、高铁等交通方式的不断发展扩建,隧道施工日益增多、建设范围逐渐扩大,但是隧道施工存在很多安全隐患问题。由于实际情况中存在地下通信信号差,照明亮度不足,小半径曲线视线不佳,能见度短,隧道内空间狭窄等问题,导致地下人员的定位精度低,生产过程中出现效率低、危险性高的情况。

针对上述问题,许多学者都致力于人员定位的研究,并提出了以下技术:红外定位技术,但介于光的传播特性使其不能通过障碍,红外对其它光的扰动性大,并且其传播距离短于蓝牙技术;无线网络技术,传播距离可以达到100 m 并有效地解决无线网络中的多径干扰,但无线网络定位会受到2.4 GHz 无线信号的干扰,导致定位精度急剧降低,从而影响定位系统的稳定性。超声波定位系统中,由于声波的传播速率比电磁波的传输要慢得多,因而传输同样的信息所需的时间也较多,从而降低了系统的传输能力。现阶段市面上多数UWB 定位系统多是以STM32 单片机为主控芯片,当数据上传速率快时,基站与标签卡会存在上传速度不匹配的问题[1-2],但是FPGA(Field-Programmable Gate Array)可并行处理各个模块,使得信息流进行高速传递,可以很大程度地降低接收与发送数据所需时间,减少传输速度不匹配的问题发生。

针对以上不足,本文提出采用FPGA 作为主控芯片的隧道内UWB(Ultra-Wide Band,超宽带)定位系统,在电脑端采用设计的上位机对隧道内人员实现实时精确定位、数据传输等功能,并采用效率较高的卡尔曼滤波算法对后端采集数据进行优化,达到提高系统定位精度、增强系统鲁棒性的效果。

1 UWB 测距原理

UWB 是一种利用纳秒至微秒级的非正弦窄脉冲实现数据传输的无载波通信技术。

UWB 技术具有以下特点:

1)传输效率高、带宽大。在UWB 技术中信号带宽可达到1 GHz 甚至更高,并且其数据的传输速率最大可达到1 000 Mb/s。

2)功率低。UWB 极大的带宽保证了较低的发射功率。因为这一特点,很大程度上延长了电池寿命,保证了较长的系统工作时间。可以长时间看到在隧道工作的工人的运动轨迹,在发生意外情况时对于救援工作有巨大的帮助。

3)精准度高。UWB 定位技术在测试人员无遮挡物的前提下,其精度可达到10 cm。

4)抗干扰能力强。由于UWB 的占空比一般为0.01~0.001,因此其具有较高的处理增益,抗干扰能力强。尽管超声波、红外线定位的精度也可以达到厘米级,但其抗干扰能力以及稳定性远不如UWB 定位技术。

1.1 UWB 定位原理

UWB 定位与传统定位方式的差别在于不需要传输信息的载波,比如超声波、激光等,而是利用电子标签设备发送具有纳秒级以下的非正弦窄脉冲来传输数据[3],固定基站接收到来自标签传输的数据后再计算时间差进行UWB 定位。

UWB 定位基本原理基于三边测量算法。基站A 的坐标定义为(x1,y1,z1),基站B 定义为(x2,y2,z2),基站C 定义为(x3,y3,z3),基站D 的坐标为(x4,y4,z4)。分别以A、B、C、D 为中心建立4 个半径分别为R1、R2、R3、R4的不重合圆,4 个圆相较于标签卡E,在此基础上以4 个圆心为参考节点,E点为移动点,求解的标签坐标E为(x,y,z),由最小二乘法列出公式进行计算[4]。

将这些式子展开得到:

将上述公式转换为矩阵相乘的形式:

综上所述,当知道A、B、C、D 的坐标以及到标签的距离,根据以上推导公式即可得到标签的坐标,从而定位到标签的位置。

1.2 TOF 测距

在UWB 定位中,主要计算方法有信号到达时间定位法,它通过测量UWB 信号在基站与标签之间往返的飞行时间(Time of Flight, TOF)来计算距离。

信号到达时间定位法的优势在于对硬件设备要求相对较低,通过计算两个节点之间信号往返的时间实现测距,并且在测距计算过程中不依赖读卡器与识别卡的时间同步,因此没有时钟同步偏差所产生的误差[5]。

单边双向测距方法作为目前原理最简单的测距方式,由于其飞行误差会随着延迟TREPLY 和时钟偏移的增加而增加,会使得测距不准确,不符合实际工程使用要求。因此为减少其误差,在使用UWB 测距时常常使用双边双向测距,其原理图如图1 所示。

图1 TOF 测距图

基站A 主动发起第一次测距指令,当标签卡收到指令后立即再向基站返回数据,而当基站收到来自标签卡的数据时再次发送第二次测距指令。因此得到4 个时间差。

使用以下公式来计算生成的估计飞行时间:

以上测距机制是非对称测距方法,因为其对于响应时间不要求相同。在实际工程中很难保证基站与标签的时间延迟相等,因此有可能会导致误差增大。

DS 时钟输入误差如下:

在具有20 ppm(差)钟精度装置A 和B 中,KA和KB的值分别为0.999 98 和1.000 02。在这里KA和KB是装置A 和B 的实际和期望频率。假设装置A 与B 之间的距离是300 m,则无线信号在空中的飞行时间大概为1 μs,其误差为20×10-6×1×10-6=20×10-12=20 ps,换算距离为6 mm,与300 m 比较而言几乎可以忽略不计,因此即使响应时间不相等,对最终结果的影响也是微乎其微的。所以,双边测距是最常见的测距方法。

1.3 模块间的通信

采用主动扫描标记法进行设计。所有的工作都集中在主基站发送处理指令上,具有很强的机动性,所有的操作都只需要控制主基站的配置[6],如图2 所示。

图2 四基站一标签通信图解

四基站通过标签的通信功能为基站与标签之间进行测距,主基站向从基站下达测距命令,从基站则将测距信息传达至主基站,主基站与电脑端上位机相连接对定位数据进行采集[7]。

2 硬件设计

2.1 硬件电路设计

本文设计的标签卡主要由FPGA 主控模块(XC6SLX9)、DW1000 星载陶瓷天线RF 模块、电源管理模块组成。它的主要功能是向基站发送轮询信标开始定位,接收系统的初始定位数据。标签卡系统结构如图3 所示。

保证鸡群都能定期喂料、饮水等,这些工作间隔的时间不能过长,避免鸡感受到饥渴感,最好为鸡提供充足的料槽和水槽等,使用的比例为1∶1,如果为1 000只鸡,准备的水槽和料槽最好各10个。鸡舍内要保证充足通风,保证有害气体的排出;光照也要充足,夏季时,一定要避免强光直接照射鸡舍。此外,还要保证垫料的充足性,保证饲料密度适宜,夏天少、冬天多,最好为每平方米5~10只。如果为不同类型的鸡,要禁止混合养殖。夏季时,要加强防暑和降温工作;冬季时,在鸡舍内喷水,确保鸡舍内的湿度适宜。针对产蛋鸡,也要为其提供充足的产蛋箱,增加捡蛋的次数,发现破壳蛋要及时挑出。

图3 标签卡系统结构

2.2 电源管理模块

在UWB 定位实际运用中,保持标签卡持续工作最重要的环节之一就是供电。电源模块的主要功能是为各个模块供电并且保障各个模块可以正常工作。根据各个模块不同的工作电压,选择合适的电源芯片或是模块尤为重要[8]。该硬件系统中主控模块FPGA 的内核供电电压为1.2 V,而其I/O 口、配置芯片以及晶振的工作电压为3.3 V,DWM1000 的工作电压在2.8~3.6 V 之间,由于在设计标签卡时考虑其必须便于携带,所以供电电源为3.7 V、800 mA 的锂电池。因此采用TPS73601DBVRE芯片,该芯片可以稳定地输出1.2~5.5 V 电压,外接1.7~5.5 V,完全可以满足该硬件系统对电源模块的需求。供电原理如图4 所示。

图4 电源稳压模块电路图

2.3 主控模块设计

FPGA 作为主控芯片可提供DW1000 工作时所需要的使能信号、数据收发模式、工作模式配置等。FPGA主控芯片通过SPI 总线与DW1000 相连接,并且通过SPI总线与DW1000 进行数据传输[9]。

该系统选择主控FPGA 芯片为XILINX Spartan-Ⅵ系列的XC6SLX9 芯片,其具备功耗低、体积小、设计灵活等特点,其内置9 152 个逻辑单元、11 440 个寄存器、576 Kb 的BlockRAM,可供用户自由配置的I/O 口共102 个,具有8 个低功耗3.2 GB/s 串行收发器,带有集成内存控制其的800 Mb/s DDR3,可配置多种接口协议,休眠掉电模式可实现零功耗,完全满足系统设计需求,目前是性价比较高的FPGA 芯片[10-11]。与传统的单片机相比,FPGA 芯片具有稳定的控制,且更合适应用于通信领域。

2.4 射频模块DW1000 设计

本文设计的定位系统是由爱尔兰DecaWave 公司研制的DW1000 芯片和基于此芯片的UWB 定位系统[12]。该系统可以设置为跟踪、导航和监视三种方式,该系统使用IEEE 802.15.4—2011 标准的UWB 收发信机,在视距情况下的定位距离达到290 m,最大定位精度为10 cm,同时还具备两种低功耗模式。在此芯片中,包含了收发器、模式转换器、电源管理、状态控制器、SPI 接口。它的工作频带范围在3.1~6.5 GHz 之间,满足IEEE 802.15.4—2011 的超宽带标准,具有低功耗、低成本的特点。DW1000 由包含射频和基带的仿真前端和包含接收机和发射机的数字后端构成。数字后端负责模拟前端向主机处理器传输和接收数据,与主机处理器进行互动,并提供工业级SPI 数据接口,执行不同的控制策略来维持和优化收发信机的性能。DW1000 芯片外围电路配置如图5 所示。

图5 DW1000 芯片外围电路配置

3 系统软件设计

3.1 上位机的设计与实现

系统以Visual studio 2022 为开发环境,采用C#语言进行隧道人员定位系统的开发,该系统实现了对隧道人员实施全方位监测,为隧道内人员的安全以及施工效率提供了保障。该系统基本满足隧道管廊对施工人员管理的实际需求。

上位机整体的设计思路如流程图6、图7 所示。该系统上位机的设计包括:精确定位、测距、上位机界面的设计。该基地台利用基地台与标签间的通信取得距离信息,再把距离信息传给交换机,由交换机将各基地台间的距离信息加入到服务器中。最后,通过主机端的上位机对目标节点进行定位,并将相关信息显示在通信界面中。

图6 标签节点程序流程图

图7 基站节点程序流程图

3.2 精度优化方法

在实际测试过程中,测得信号存在一定的粗差和噪声。因此,为了降低噪声并且减少粗差,加入卡尔曼滤波,进一步提高测试的精度以及稳定性[13]。

用TOF 距离值和距离变化率作为系统状态向量Xk,建立TOF 距离模型:

式中:xk为系统状态矩阵;A为状态转移矩阵;B为控制输入矩阵;w为过程噪声;uk-1为控制输入。因在此过程中值极低,可忽略不计,因此公式变为:

式中:zk表示实际的测量值;H为转换矩阵;v为实测噪声。

卡尔曼滤波增益矩阵为:

由式(9)可知:卡尔曼增益Kk随着k时刻的观察噪声Rk的变化而变化,当增益减小时,新观测值对系统的状态和状态协方差矩阵的影响也会随之而降低,因此,可行的优化精度为预测xk、xk-1的值,并由此推断出。由式(8)推算出,且v的协方差方程为,检验量为,设定给定阈值C,当检验量小于C时,认为新观测值不含粗差[14]。

4 实验结果以及分析

4.1 不同基站数量比较

为了比较定位系统的定位精度,将模拟隧道施工部门施工人员坐标系的二维定位,定位系统在10 m×10 m的区域并设定一定障碍以制造复杂环境进行定位实验。在定位区域分别设置3 个、4 个、5 个基站后,选取8 个点,每个点采取200 组数据,选取纵坐标进行比较。不同基站数量测距表如表1 所示。

表1 不同基站数量测距表 m

由表1可知,在相同环境下,基站越多定位精度越准确。由三基站提升至四基站后,测距误差减少0.07 m,但由四基站提升至五基站发现测距精度仅减少0.012 5 m,虽有一定提升,但实际应用中定位精度提升不明显。因此,在规模较小且复杂区域内选用四基站进行定位足以满足实验要求,后续实验均以四基站为基础展开。

4.2 四基站下UWB 测距

设置实验环境如图8 所示。实验人员手持标签卡在设定区域运动,选取8 个点取200 组数据并取平均值与实际测量值进行比较,为方便比较,对每个点进行横、纵坐标误差分析。实验结果如表2、表3 所示。

表2 原始数据静态测距表 m

表3 优化后静态测距表 m

图8 实验环境

由表2、表3 可知,在卡尔曼滤波后定位精度有所提升,且误差均方根有大程度的降低。在加入卡尔曼滤波后静态UWB 测距平均精度可达到0.1 m 以内,相比未加入滤波精度提高一倍以上,除此之外,在加入卡尔曼滤波后,各个点定位误差浮动较稳定,由此可知使用卡尔曼滤波算法进行优化后,定位精度有所提升且定位结果更加稳定。

为了更加直观地体现卡尔曼滤波效果,选取加入卡尔曼滤波前后误差最为接近的一组数据进行比对,粗线表示原始数据,细线表示滤波处理后数据,如图9 所示,加入卡尔曼滤波后200 组数据更为平滑,滤波后粗差得到了更好的抑制。

图9 卡尔曼滤波效果

在测试环境中,被测试人员按照8 m×8 m 正方形轨迹,从A点出发按轨迹行走一周后至A点结束,如图10所示。

图10 动态测试路线

其中在运动过程中分别在A、B、C、D 四点处采集标签卡动态运动测距数据,采集100 组数据,实验结果如表4 所示。

表4 优化后动态测距数据 m

由表4 可知,当被测试人员处于动态时,测距精度较静态略低,但仍可使得测距平均精度达到0.2 m 以内,最大误差为0.25 m,其定位精度仍处于较高水平。

4.3 四基站下UWB 定位轨迹

为模拟隧道人员施工现场环境,对定位系统进行测试。被定位人员在测试环境中以正方形为轨迹进行运动,并将实际值与被测值进行比较分析。在真实路径中选取10个点进行误差分析比对,实验结果如图11、图12所示。

图11 定位系统轨迹图

图12 轨迹对比误差曲线

通过对标签卡的定位与追踪以及对误差曲线的分析可知,经过卡尔曼滤波后定位轨迹更加精准,并且二者最大误差达到0.22 m,仅有两点误差值小于0.05 m,由此可知经滤波优化后的定位精度更加准确,并且更稳定。通过该实验表明本文系统能够达到较高的定位精度,能够满足对隧道人员的定位要求。

5 结 语

本文介绍了一种基于FPGA 实现UWB 隧道人员定位的系统,并依次从总体方案设计、硬件平台、软件控制以及后端算法优化四方面对该系统进行描述。本文将UWB 技术与FPGA 相结合实现对隧道人员的实时定位与数据传输。通过实验表明,该系统具有低功耗、高效率等特性,并可以将定位相关信息实时传送回接收端,从而达到对隧道人员的精准实时定位,确保工作人员的生命安全。

猜你喜欢

卡尔曼滤波定位精度测距
北斗定位精度可达两三米
类星体的精准测距
GPS定位精度研究
组合导航的AGV定位精度的改善
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
浅谈超声波测距
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
基于PSOC超声测距系统设计
相对差分单项测距△DOR