基于光纤传感的物联网节点定位技术研究
2020-12-10于春荣王益芳于瑷雯
于春荣,王益芳, 于瑷雯
(1.沧州师范学院 a.计算机科学与工程学院; b. 经济管理学院, 河北 沧州 061001;2.大连理工大学 计算机科学与技术学院, 辽宁 大连 116024)
基于光纤传感[1]的物联网(Internet of Things,IoT)是具有测量感知节点与数据传输双重特性的IoT。其被广泛应用于工业控制、家居生活、工程建筑和智能制造等领域,并随着光纤传感IoT中节点数的激增而使网络节点的快速和精确定位成为研究热点[2-4]。
光纤传感网络可分为全分布式和准分布式,全分布式光纤传感网络的主要节点定位算法包括质心定位法[5]、多目标跟踪法[6]和光纤复用法[7]等,其主要面向稳定测试环境;准分布式光纤传感网络虽然测试点数量和精度不如全分布式,但其稳定的测试性能对一般条件下的IoT更具普适性,准分布式光纤传感网络的常见算法包括粒子群(Particle Swarm Optimization,PSO)[8]、三角定位[9]和跟踪算法[10]等。PSO算法定位精度高、收敛快,但由于光纤传感网络节点的感知数据动态范围大,影响参数多,使适用于稳定数据类型的传统定位算法无法发挥优势;三角定位算法原理简单,但以圆域求解的过程运算量很大,收敛速度慢;跟踪算法一般用于未知节点较少的情况,针对光纤传感网络中大量存在的测试节点,其定位时间会大幅增加,实用性大幅降低。
由此可见,节点定位精度与大范围搜索时的收敛速度之间的矛盾成为了主要问题,本文针对准分布式光纤传感IoT的节点定位,在分析其数据特征的基础上,研究了兼顾定位精度及收敛速度的网络节点定位算法。
1 基于光纤传感的IoT
基于光纤传感的IoT[11]由应用层、数据交互层和光纤感知层构成,其结构如图1所示。应用层是管理平台,包括结构健康监控平台和环境参数监控平台等;数据交互层是数据传输中转单元,包括计算系统和传感数据库等;光纤感知层是所有真实的物理测试节点,包括在楼宇、桥梁和厂房等铺设的光纤传感单元。
图1 基于光纤传感的IoT结构图
基于光纤传感的IoT因其可实现节点物理量数据的传感,所以是实时获取节点测试信息并给出决策的重要依据,故其定位精度和速度成为了保障网络正常运行的技术支撑。在该光纤传感网络中,数据以测试物理量为主,如温度和湿度等,其随环境的变化而变化,基本不具有变化规律。数据特征体现为动态范围大和参数多。相比PSO算法等传统定位算法而言,人工蜂群 (Artificial Bee Colony,ABC) 算法[12-14]的全局寻优能力对定位精度更有效。同时,平面内定位必然涉及域选取的问题,之前讨论已知传统三角定位算法所用的圆域计算量大,严重影响收敛速度,故本文采用边界盒(Bounding-Box,BB)的矩阵数据格式使圆域变为矩形域,从而大幅简化了运算规则,提高了收敛速度。
2 基于BB的ABC算法
ABC算法为学习蜜蜂采蜜行为的优化处理算法,其将未知节点作为未知蜜源,有效蜜源位置就是节点定位[15]的最优解;引领蜂与蜜源的数据交互对应系统对有效节点的数据交互,将节点传感数据发送给处理系统;跟随蜂收集引领蜂数据信息对应相邻与参考节点之间的数据通信;侦查蜂搜索新蜜源对应利用定位算法完成未知有效节点的搜索。其中,节点定位部分是最耗时的阶段,故在侦查蜂迭代寻的过程中引入BB,从而以矩形域取代圆域提高收敛速度。
2.1 ABC算法
若蜜源为i(i=1,2,…,N),N为系统设置的最大蜜源量(由于系统采用的蜜源量是可根据需要进行调节的,故在循环算法时,蜜源总量N是可设置的),对应的适应度为Ai,光纤传感IoT维度为D,迭代k次后,新蜜源位置可表示为Xi=[xi1,xi2,…,xiD],xid∈(Ld,Ud),d=1,2,…,D,则蜜源的解可表示为
式中:Ld和Ud分别为蜜源位置上下限;c为寻的参数,c∈(0,1)。
适应度函数计算公式为
式中,abs()为取绝对值。当适应度为负值时,为了反映适应度的绝对偏差程度,需要对其取绝对值。搜索新蜜源时,引领蜂的搜索路径可表示为
式中:x(i-1)d为蜜源xid的相邻蜜源;φ为扰动系数,取值范围为[-1,1]。
当新蜜源Vi的适应度优于原蜜源时,根据贪婪选择原理,Vi取代Xi,否则仍以Xi作为参考蜜源,循环式(3)。跟随蜂确认蜜源的跟随概率为
2.2 BB约束
BB经常被用于对未知节点定位,其采用矩形区域完成对数据搜索范围的限制,相比圆域的边界定义方式,矩形域更适合矩阵数据运算。对于未知节点的边界约束范围如图2所示。
图2 BB约束范围
以通信半径圆的直径作为通信矩形的边长,从而将圆域转化为矩形域。如图2中的重叠区域所示,未知节点在B1、C2、C3和B4中,相比圆域定位精度有所降低,但由于参考节点数往往为3个及以上,所以多个重叠区域会降低对定位精度误差的影响。BB区间对应的数据集为
2.3 BB-ABC算法
基于光纤传感的IoT中数据量大,所以搜索半径的设置对算法收敛时间的影响十分明显,故利用BB作为搜索约束条件与搜索路径配合实现对未知节点(新蜜源)的搜索。BB-ABC算法流程如图3所示,算法步骤如下:
图3 BB-ABC算法流程图
(1) 种群初始化,以式(1)寻找未知节点蜜源Xi,并计算适应值;
(2) 通过贪婪算法优化蜜源节点位置,由式(4)计算Xi的选择概率;
(3) 根据阈值判断情况取舍未知节点是否为有效节点,判断依据式(5)中的Li和vid完成,从而获得新节点Vi,再重复步骤(2);
(4) 计算节点适应值,将计算获得的最好节点适应值与终止条件比较,若成立则判定为最优解,若不成立则重新执行式(1)完成再次搜索。
3 实验
针对基于光纤传感的IoT进行数据仿真测试。设置搜索范围为100 m×100 m,未知节点位置可通过预先设置从而获得其准确坐标,用以对比3种算法的定位结果。本算法(BB-ABC)是对ABC算法的改进,故需要与ABC算法的测试结果进行对比,同时,还与IoT中常用的PSO算法进行对比。3种算法种群量均为20,PSO算法中惯性权重为0.9与0.4;BB-ABC和ABC算法的适应度均为0.4;BB算法的有效半径r为5 m。
3.1 定位精度对比
BB-ABC算法的本质也是多维优化问题,其初始种群量对模型学习效果具有明显影响,所以针对不同种群量对定位精度的影响进行分析,仿真通过100次迭代分析了种群量与定位精度的关系,如图4所示。
图4 种群量与定位精度的关系
由图可知,种群量与定位精度成正比关系,定位精度会随种群量的增大而提高,但当种群量超过20以后收敛,BB-ABC、ABC和PSO算法的定位精度分别为2.2、3.0和3.3 m。可见本算法的定位精度明显优于原ABC及传统PSO算法。
3.2 收敛速度对比
在基于光纤传感的IoT中节点数量庞大,收敛速度决定了算法在真实网络中的实用性,故针对收敛速度进行了仿真实验。以测试范围内3个参考节点为例,设种群量为20,以100次作为迭代上限,测试结果如图5所示。
图5 迭代次数与定位精度的关系
对收敛速度的判断可通过算法达到其稳定定位精度所需的迭代次数完成,即定位精度趋于稳定所需的迭代次数越少则收敛速度越快。由图可知,3种算法的最少迭代次数分别为11、13和39次,可见本算法在收敛速度上略优于ABC算法,明显优于PSO算法。
3.3 稳定性对比
采用增加实验次数的方法来验证算法输出结果的稳定性。每次测试时改变未知节点的位置,然后计算定位误差分析算法的定位稳定性。共计完成10次不同位置的节点定位实验,每次取100次迭代的平均定位误差作为对比项,最终以平均定位误差的波动情况分析算法的稳定性,实验结果如图6所示。
图6 实验次数与平均定位精度的关系
通过10次的实验数据可知,BB-ABC算法的定位范围为2.2 m×2.5 m,方差为0.024;ABC算法的定位范围为2.5 m×3.3 m,方差为0.044;PSO算法的定位范围为3.2 m×3.6 m,方差为0.037。由多次实验测试结果的平均定位精度范围和波动方差可知,本算法的测试区间更小、方差更小,具有更好的稳定性。
4 结束语
基于光纤传感的IoT有别于传统IoT,其节点传感数据具有动态变化快和取值范围宽等特点,对节点的定位精度及速度具有更高的要求。本文将BB与ABC算法相结合,针对搜索域进行优化设置,从而提高未知节点的定位精度与收敛速度。实验结果表明,本算法相比ABC和PSO算法具有更好的定位精度、收敛速度及稳定性。