APP下载

基于LoRa的火灾救援现场人员定位算法研究

2020-06-16吴雅琴师兰兰

计算机应用与软件 2020年6期
关键词:消防人员传输速率步长

吴雅琴 师兰兰

(中国矿业大学(北京)机电与信息工程学院 北京 100083)

0 引 言

2015年的“8·12”天津爆炸事件和2019年3月30日的四川凉山事件背后消防人员的伤亡数据,时刻警醒着我们保障消防人员生命安全的迫切性和重要性。大部分的火灾现场是居民住宅区域,由于建筑物的复杂结构和各种家具的布局,信号在传播过程中很容易产生多径效应,使得需要点对点直视的全球导航卫星系统(Global Navigation Satellite System,GNSS)不适用于消防员的室内定位[1]。另外由于火灾现场的烟雾浓度大和无电源,现场监控技术不能满足消防人员的室内定位需求。因此针对火灾现场高温、多灰尘、烟气浓厚的环境,需要研究保障消防人员生命安全的定位技术,以期实现在火灾现场对人员的快速精确定位。

常见的室内定位算法有基于接收信号强度指示(RSSI)、到达时间(TOA)、到达时间差(TDOA)、到达角度(AOA)以及行人航位推算算法(PDR)等。由于消防现场的室内布局不同,因此为室内环境建立指纹数据库的RSSI指纹定位算法,并不适用于消防现场的室内定位。另外,由于建筑物的多径效应、信号的衰减以及消防现场室内环境中其他不确定因素,其他基于RSSI的损耗模型或者基于AOA的定位算法也不适用于消防现场的室内定位。还有一些需要部署很多参考节点的局域网定位技术也不适用于消防现场。本文选用可以适用于任何场景的改进PDR算法与不需要大量部署节点的低功耗广域网LoRa通信技术,实现消防现场的室内精确定位。

1 LoRa通信的研究与实现

LoRa技术于2009年由法国的一个初创公司开发,2011年被美国Semtech公司收购,2015年被LoRa联盟标准化,开始在全球范围内推广。LoRa运行在全球免费频段上,通过在物理层应用基于扩频的调制技术和在数据链路层应用LoRaWAN协议实现低功耗广域网通信,具有低功耗、远距离、较强的抗干扰性和穿透性等特性。

1.1 LoRa调制

LoRa调制[2]通过结合扩频调制和向前纠错编码技术(Forward Error Correction,FEC)对传输信号进行调制,它具有远距离传输和高鲁棒性的特性。在LoRa调制中影响信号传输性能的主要参数有:扩频因子(Spreading Factor,SF)、带宽(Bandwidth,BW)、纠错编码率(Coding rate,CR)。

(1)扩频因子。传统的扩频因子是指将1个数据比特划分为SF个码片,LoRa中的扩频因子是指将SF个数据比特用2SF个码片表示,一个码元用SF个数据比特表示,则码元速率RS与码片速率RC的关系为:

(1)

由式(1)可知,当扩频因子增大时,传输数据量加大,因此传输数据速率降低。不同的芯片扩频因子的范围不同,利用不同的扩频因子调制的信号正交,可以在同一信道上实现同时传输多个信号。

(2) 带宽。LoRa调制中的带宽指的是双边带带宽,并且码片速率与带宽一样,已知传输一个码元需要2SF个码片,因此传输一个码元的时间TS可以表示为:

(2)

则比特率(数据率)Rb表示为:

(3)

(3) 纠错编码率。纠错编码定义了向前纠错码中的冗余信息数量,取值范围在0~4之间,当其为0时表示没有用到向前纠错码,LoRa调制定义了4/5、4/6、4/7、4/8四种纠错编码率,提高了信号传输的鲁棒性,但也增加了不必要的开销。它对传输数据速率REFC的影响表示为:

REFC=Rb×CR

(4)

1.2 LoRa数据包

LoRa调制的数据包包括四个部分:前导码,可选报头,负载,可选循环冗余校验(Cyclic Redundancy Check,CRC)。数据包结构如图1所示。

图1 数据包结构图

1.3 LoRaWAN

LoRaWAN[3]相当于OSI七层模型中的数据链路层,它定义了通信协议和系统框架。LoRaWAN的模型如图2所示。

图2 LoRaWAN模型图

LoRaWAN根据下行链路的通信延迟将节点分为三种工作模式:双向终端设备(Class A)、预定接收时隙的双向终端设备(Class B)、最大接收时隙的终端设备(Class C)[4]。

Class A工作模式是默认的工作模式,由于只要终端节点发起上行传输,短时间内两个下行通信就会触发,其余时间进入低功耗睡眠模式,所以Class A工作模式的功耗最低。Class B工作模式需要额外开启一个ping窗口,实现在规定时延内的下行通信,这虽然加大了功耗,但电池依然可供长期使用。Class C工作模式除了上行传输时间都可以接收到网关节点下行传输的数据,所以Class C工作模式极大地减小了时延,但与此同时增加了功耗。

本文结合消防现场需要,将惯性传感器收集的数据快速传输到网络服务器,因此在消防现场工作的时候选择Class C工作模式,当工作完毕使终端节点进入休眠模式,减少不必要的消耗。

1.4 硬件实现与验证

本文选用SX1280 LoRa芯片、STM32F103微处理模块以及JY-901模块实现终端节点的通信,其中JY-901集成了加速度计、气压计、陀螺仪等测量器件,满足PDR算法中数据的收集。终端节点的结构如图3所示。

图3 终端节点结构图

(1) 实验环境。本文的测试环境有两个:场景一为学校的教学楼,一共7层,地上6层,地下一层记为-1层,长85米,最宽处为55米,形状不规则,其平面图如图4所示;场景二为学校的科技楼,一共9层,地上8层,地下一层,长50米,宽18米,是一个规则的矩形,其平面图如图5所示。

图4 场景一室内平面图

图5 场景二室内平面图

(2) 实验验证。主要设备包括网关节点、终端节点和笔记本电脑,对终端节点分别设置不同的扩频因子、带宽以及纠错编码率。在场景二中,网关节点的位置保持不变,放在距科技楼中心50米处,模仿消防车距离发生火灾的现场的距离,网关节点距离地面高2米处,模仿消防车的高度,因为需要把网关节点放在消防车上。终端节点分别在场景二内部的1、3、5、7、9层的走廊南边的第一个教室中心,北边的第一个教室中心以及中间教室的走廊上分别发送数据,一共15个点,但每层的三个向网关节点的每个点发送100个数据,统计这几层发送300个数据包成功的概率。

带宽、扩频因子与传输速率之间的关系如图6所示。可以看出,带宽越高,数据传输速率越高;扩频因子越多,数据传输速率越慢;同理CR越大,数据传输速率越慢。

图6 带宽、扩频因子与传输速率之间的关系

带宽与丢包率的关系如图7所示。可以看出,带宽越高,丢包率越高,同时实验也验证扩频因子越大,丢包率越低;编码率越低,丢包率越低。

图7 带宽与丢包率的关系

因此在通信的过程中,考虑折中的方案,既保证丢包率低,也保证数据传输速率高,虽然带宽、扩频因子和CR对丢包率有影响但上升的趋势缓慢平稳。由图6可以看出,高带宽、低扩频因子对数据传输速率的影响比较突出,因此本文初始设定的扩频因子SF为5,带宽BW为812 kHz,纠错编码率CR为4/5,保证通信的可靠性。

2 定位算法研究与实现

本文结合消防现场的温度,是否有电等不确定性因素和消防人员经过统一训练的特性,提出一种新的算法进行楼层判定。将改进自适应算法和零点穿越算法结合用于步频检测;选用消防人员的经验公式估计步长;对四元数表示的坐标系卡尔曼滤波估计航向,实现水平定位。该算法本质上是对原有PDR算法的改进,进而对火灾救援现场人员进行定位。

2.1 楼层判定

利用气压计收集的数据结合气压测高原理进行楼层的判定是常用的楼层判定方法,但这种方法的前提是局部区域内气压稳定。由于消防现场温度具有多变性,本文提出一种结合参考点气压值和运动趋势的方法,进行楼层判定,其流程如图8所示。

图8 楼层判定流程图

首先在每层距楼梯口3 m左右的范围内底端放置一个终端节点作为气压测量参考节点,假设判定消防人员在L层活动,采取n个样点。如果该样点是波峰,且波峰减去前一个波峰值的绝对值,超过一定的阈值,则根据该样点的气压值和L层的气压值对比,判断他是在上楼梯还是在下楼梯,当其变小时则为上楼梯,当其变大时则为下楼梯。如果该样点的波峰减去前一个波峰值的绝对值,没有超过一定的阈值,则通过其是否进行过上下楼梯的活动和参考节点的气压值对比,进而判断他所在的楼层。如果该样点不是波峰,则取下一个样点。

2.2 步频检测

利用加速度的输出波形进行步频检测,常用的方法有自相关法、零点穿越法、Stance Phase检测法、峰值检测法、动态阈值波峰检测法、自适应峰值检测法等[5-8]。

本文采用了对自适应波峰改进与零点穿越法相结合的步频检测,首先通过低通滤波对Z轴的波形进行滤波,研究表明行人运动的加速度在减去重力加速度后,行人行走时的加速度绝对值一般都在0.2~1 g之间,当行人跑步时加速度的绝对值一般都在1~3 g之间。假设超过0.2~3 g这个范围的都是非正常状态,跑步的频率不超过5 Hz,本文的采样频率设置为50 Hz。在滑动窗口内,采取n个样点,当样点为波峰时,它的样点值大于阈值,判断它与上一个满足条件的波峰值时刻last-u-t之间是否有波谷last-d-t,如果有波谷则穿越过一个零点,相当于半步完成,k时刻成为上一个last-u-t,如果没有波谷,则与上一个波峰值last-u-v比较大小,选取绝对值大的为上一时刻的波峰。同样的判断适用于波谷,其流程如图9所示。

图9 步频检测流程图

2.3 步长估计

步长估计是通过对加速度、行人、环境中的某些特征信息的统计,分析这些特征与步长之间的相关性,进而估计步长。常用的估计模型有四类:常数模型,线性模型,非线性模型以及人工智能步长估计模型。其中常见的非线性模型有以下几种[9-11]:

(1) 利用滑动窗口内n个采样点中加速度的最大值和最小值与步长之间的非线性模型有:

(5)

(6)

式中:k为回归训练系数。

(2) 利用加速度的数据与步长之间的非线性模型为:

(7)

由于消防人员经过统一的训练,他们的步长有一定的规律,但并不完全一致,如在训练时正步的标准是75 cm。本文采用的是文献[12]提出的消防人员步行的经验公式:

(8)

可以看出,文献[12]采用的是非线性模型的一种。通过分析消防人员的步行的特征值,确定参数k=0.98。

2.4 航向估计

航向坐标常用的表示方法有欧拉角法、方向余弦法和四元数,欧拉角法存在奇异性问题,方向余弦法计算比较复杂,因此本文选用的是计算简单的四元数表示法,通过对四元数表示的坐标系进行卡尔曼滤波,实现航向估计。

假设横滚角θ、俯仰角φ和航向角φ,则用四元数表示载体坐标系向航向坐标系的转换公式为:

(9)

式中:⊗表示复数相乘。

四元数的更新形式为[13]:

(10)

式中:Δω是三个载体坐标轴在k-1时刻到k时刻的角度变化量的积分。对其泰勒式展开,并保留一项为:

(11)

则状态方程为:

(12)

式中:Xk为k时刻的状态量;Φk为k-1时刻的状态量向k时刻的状态量的转移矩阵;γ为状态估计中的噪声。

观测方程为:

Zk=I4Xk+β

(13)

式中:β为观测时的噪声向量。初始状态向量X1=[1 0 0 0],初始状态的协方差P1=I4,状态噪声γ为0.04I4,β为0.000 4I4。最后通过经典卡尔曼滤波的求解过程对其求解。

3 扩展卡尔曼滤波融合定位

对上述的通过气压计判定的楼层、加速度计估计的步长和步频、陀螺仪估计的航向,通过扩展卡尔曼滤波实现这些数据的融合,实现定位。其整个流程如图10所示。

图10 融合定位流程图

状态量X=[xyLQF],其中:x、y分别是导航坐标系中的x、y坐标,L表示步长,Q表示航向,F表示楼层。则状态方程表达式为:

(14)

其观测量Z=[LQF],则观测方程表达式为:

(15)

求解流程如下:

(16)

(17)

(18)

(19)

(20)

4 实 验

为了验证算法的改进效果,每天在场景一和场景二中,按照不同的行走路线,偶尔变换行走状态,靠着墙行走并记录,对比没有经过卡尔曼滤波的PDR算法定位误差与经过卡尔曼滤波后的PDR算法定位误差。如图11所示,可以看出融合后的定位精度更高,并且最终的定位精度可以达到1.5 m左右。

图11 定位精度对比

5 结 语

由于火灾现场的影响因素较多,存在很大的不确定性,使得基于大量参考节点或者特征值的算法并不适用于火灾现场的定位。本文结合低功耗远距离传输的LoRa通信技术与改进的PDR定位算法,实现了火灾救援现场消防人员的精确定位,实验结果验证了该方法的可行性。

猜你喜欢

消防人员传输速率步长
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
三星利用5G毫米波 实现创纪录传输速率
董事长发开脱声明,无助消除步长困境
起底步长制药
夏季滨海湿地互花米草植物甲烷传输研究
数据传输速率
试论如何加强思想政治工作应对消防新挑战
读图
SPCE061A单片机与USB接口