无线传感器网络定位精度的优化研究
2020-06-11杨秋菊
杨秋菊
(宿州职业技术学院,安徽 宿州 234101)
无线传感器网络以自身所具备的组网方式自由灵活等特点,在诸多领域得到广泛应用,如国防、医疗、入侵检测等等。在无线传感器网络当中存在大量的节点,其中既有已知节点,也有未知节点,对节点进行精确定位是确保无线传感器网络应用的关键。借此,重点就无线传感器网络定位精度展开研究。
1 无线传感器网络体系结构
1.1 网络结构
无线传感器网络简称WSN,具有分布式的特点。在WSN中,所有的传感器全部采用的是无线通信方式,由此使得整个网络的设置变得更加灵活,可随时对位置进行更改,并且还能与Internet进行互联[1],WSN的体系结构(见图1)。
从图1中可以清楚的看到,整个WSN由以下几个部分构成:WSN控制中心的任务管理台、Internet或移动通信网络、具有收发功能的汇聚节点、传感器节点。
图1 WSN体系结构示意图
1.2 节点结构
传感器节点(sensor node,简称SN)是WSN中较为重要的组成部分之一,它所承担的任务相对较多,如采集数据、接收数据、融合数据、转发数据等。在WSN中,SN的数量相对较多,功能各不相同,SN与SN之间通常采用的是无线通信的方式进行数据传输[2]。
从图2中可以看到,一个SN由传感单元、处理单元、通信单元以及电源4个部分组成。
2 无线传感器网络定位技术
WSN中存在大量的节点,对这些节点进行精确定位是一项较为重要内容,在节点定位过程中运用的各种方法和手段,统称为定位技术。节点定位的最终目的是对WSN中某个未知节点的坐标信息进行确定。WSN中,具有明确坐标信息的节点是已知节点(anchor node),此类节点又被称之为锚节点,即图2中的A;无具体坐标信息的节点是未知节点(unknown node),即图2中的U。从数量上看,A在图2中的占比相对较少,通常会为其配备定位装置,如GPS,以便获得精确的坐标信息,并协助U进行自定位。图2中的U以A作为参考,通过相关的定位机制,估计位置[3]。
图2 WSN中的U和A分布示意图
2.1 定位方法分类
不同的定位技术具有不同的特点,可将特点类似的技术归为一类。目前,可用于定位技术分类的方式相对较多,其中较为常用的有唯耦合、测距、绝对与相对。
2.1.1 耦 合
耦合方式可细分为紧密和松散两种,前者的速度快、安全性高、误差小,但需要额外的硬件,致使成本增大,且具有一定的局限性,可维护性差,无法重复利用;后者的自主性高、灵活性强,精确性一般,适用范围广,容易产生通信干扰,定位效果较差。
2.1.2 绝对与相对
绝对定位方式下,需要知晓锚节点的位置坐标,因锚节点的位置坐标具有唯一性的特点,从而使得该方式的应用范围更广;相对定位方式是以WSN中特定的SN作为参考,构建相对坐标系,无需知晓锚节点的位置信息。
2.1.3 测 距
该方法分为事先测距和事先不测距两种,前者的定位精度高,但需要配置额外设备,整个过程分为两个步骤,即测距与求定位;后者由于无需事先对距离进行测定,所以步骤更少,经济性更高,如果对定位没有太高的要求,可通过粗精度进行定位[4]。
2.2 定位技术的关键指标
对于WSN而言,在进行节点定位的过程中,需要使用到相关的定位算法。目前,可用的定位算法种类较多,但却并没有一种最优的算法。无论选用何种定位算法,关键指标都基本相同。[5]
2.2.1 定位精度
该指标也称之为定位误差,是评估某个定位算法性能优劣的关键性指标之一。简而言之,定位精度越高,算法的性能越好,反之则说明算法的性能较差。由于影响定位精度的因素相对较多,如通信半径、锚节点的密度等等,所以该指标具有波动变化的特点[6]。
2.2.2 节点密度
该指标可以用平均连通度进行表示,这是影响诸多算法精度的关键指标之一,当节点密度增大时,不但会导致网络成本提高,而且还会使节点与节点之间的信息交互量增加,通信开销会随之变大,受此影响,通信冲突有所加剧。
2.2.3 锚节点的比重
在WSN中,锚节点的比重与其数量有关,即数量越多,比重越大。由于部署WSN时,需要为锚节点配置定位装置,如果锚节点的数量过多,那么网络成本会随之增大,功耗也会变大。[7]因锚节点的自定位受诸多条件的限制,所以无法进行扩展,而且定位精度并不会随着其数量增多而大幅度提高。
2.2.4 功 耗
从本质的角度上讲,WSN是一个具备诸多功能的嵌入式设备,如计算功能、数据存储功能、通信功能等等。所以功耗对其而言较为重要,要求定位系统在满足精确定位的前提下,功耗尽可能低。
2.2.5 自适应性
目前,已知的所有定位算法几乎都是在理想状态下研究出来的,这里所指的理想状态是不考虑外部因素的影响。但定位算法在实际应用中,却不可避免地会受到外因的影响,如信号衰减、遮挡、多径效应等,由此可能会使算法无法达到预期中的效果[8]。因此,对定位算法进行应用时,必须考虑自适应性,这样才能使定位精度得到保障。
3 无线传感器网络定位精度优化
3.1 经典定位算法
目前,在WSN定位中,比较经典且常用的定位算法有质心、DV-Hop、MDS-MAP、凸规等。
3.1.1 质 心
该定位算法的基础是WSN中各个节点之间的连通信息(见图3)。
图3 质心定位算法示意图
图4中的A、B、C、D、E均为信标节点,它们随机组合到一起后,会构成一个多边形,在该图形当中,所有顶点的位置信息均为已知,利用这些已知节点,能够获得中心点,也就是质心的位置。该算法的具体定位过程如下:在网络当中,每个信标节点会间隔一段时间广播一个数据包,该数据包当中除了包含信标节点本身的标识号之外,还包含信标节点的坐标信息,当网络中的未知节点接收到的数据包达到一定比例后,便会将广播该数据包的信标节点作为多边形的一个顶点。在同一个时间段内,能够确定的顶点数量为若干个,所有顶点坐标的均值就是质心坐标,即图4中的F。该定位算法的应用优势主要体现在实现过程比较容易,缺点是定位精度不高,如果信标节点数量过少,那么定位精度会随之降低[9]。
3.1.2 DV-Hop
该定位算法的具体定位过程如下:
Step1 获取相关信息
网络中所有节点之间均为互相通信,以跳数作为基本单位,获得到信标节点的最短距离,利用坐标能够计算出信标节点之间的物理距离,如图5所示的L1、L2和L3均为信标节点,除此之外的所有节点均为未知节点。信标节点L1到L2的跳数为2,到L3的跳数为6,到A的跳数为3,3个信标节点的物理距离(见图4)。
图4 DV-Hop定位算法示意图
Step2 估算距离
图5中,信标节点L1的跳段距离为L1到L2之间的物理距离加上L1到L3之间的物理距离,除以L1到L2和L3的跳数和,即(40 m+100 m)/(2+6)=17.5 m。L1会将跳段距离以广播的方式发送到网络当中。
Step3 节点定位
通过对跳段距离和跳段数的估计,未知节点能够得到与相应信标节点之间的物理距离。该定位算法具有过程简单、运算量少、成本低等优点,唯一的不足之处是适用范围有限,只能用于各向同性网络,如果在各向异性网络中应用该定位算法,结果与实际的偏差较大。
3.1.3 MDS-MAP
MDS-MAP的定位算法以多维标度作为核心,具体的步骤如下:
(1)对一个区域内全部节点间的最短路径进行计算,利用最短路径构建多维标度距离矩阵,通过跳数对距离矩阵进行估算。
(2)在构建好的距离矩阵中,对多维标度进行运用,保留最大特征值及特征向量,据此给出构建各个节点所需的位置相对图。从节点本身的角度上看,位置准确,但若是从图的角度上看,节点的位置却可以旋转或是翻转。
(3)根据已知节点的位置,按其绝对位置,可将图转换为绝对图,这样便可使图中已知节点的真实位置与变换位置的误差达到最小。
这种定位算法的优点主要体现在不需要过多的已知节点;不足之处是计算过程较复杂,且需要网络的全局信息。
3.1.4 凸规划
该算法的理论基础为凸优化理论,它对节点定位时,通常会假设在WSN中,能直接通信的两个节点存在一个邻近约束,由此可将网络拓扑转换为凸集,对凸集中的约束进行优化便可获得未知节点的坐标信息。在WSN中,除了存在节点约束之外,还存在径向和角度等约束,通过对这些有效信息的利用,便可完成凸规划定位。该定位算法对于网络中各个节点的连通关系具有较强的依赖性,当节点之间的通信出现问题时,会导致定位精度下降。
3.1.5 仿真实验
为对上述定位算法的性能进行评估,采用Matlab2018软件搭建实验平台,对算法进行仿真实验。在进行仿真实验的过程中,将200个节点以随机的方式,均匀布置在一个正方形区域内,其中信标节点从12个逐渐增加至42个,步长为6,节点之间的通信半径设定为40 m。为避免定位算法受到偶然因素的影响,每一组仿真实验均进行50次以上,然后取定位误差的均值,图5和图6为24个信标节点下的定位结果,图中的○表示待定位的节点,十字星标记为信标节点。
图5 节点分布示意图
图6 节点误差示意图
通过归一化平均定位误差对上文中算法的定位精度进行描述,当信标节点的数量增加后,各定位算法的平均定位误差均有所减小。同时,定位精度越高的算法耗时越长,定位时间的长短与信标节点的数量成反比关系,具体(见表1)。
表1 不同信标节点数下各定位算法的耗时 s
3.2 定位算法精度优化
通过上文分析可知,质心定位算法的应用优势要明显高于其它几种算法,但该算法的定位精度并不是很高,为解决这一问题,下面基于AFSA(人工鱼群算法),对质心定位算法进行优化,以此来提高该算法的定位精度。
3.2.1 AFSA的特点及过程
AFSA是一种智能优化算法,它的基本思路如下:在某个特定的水域当中,鱼群数量最多的地方,所含的营养物质最多。依据该观点,对鱼群的觅食行为进行模仿,通过求取局部最优解的方法,经迭代后最终获得全局最优解。AFSA的过程如下:以随机的方式,生成N条鱼组成种群,按适应度函数对种群进行初始化,具体包括种群中每条鱼的位置、鱼的视野、步长、最大迭代次数、拥挤度因子、吞食行为阈值等。利用相关公式经过迭代后,便可搜索到全局最优解[10]。
3.2.2 基于AFSA的定位机制
假设WSN中存在n个已知节点,通过RSSI对已知节点到待定位节点之间的距离进行测量,利用加权质心算法,求出待定位节点的坐标[11]。因不同距离的测距误差存在一定的区别。因此,需要对已知节点进行加权,在权值的确定上,距离远的取小权值,距离近的取大权值。最后以AFSA对加权质心算法进行优化,并对未知节点与已知节点之间的估计距离进行记录,通过与实际距离的比较,找出二者之间存在的误差最小值,便可估算出未知节点的位置。
3.2.3 算法优化后的性能验证
为对优化之后的定位算法的性能进行验证,利用Matlab2018软件,将传统的质心算法、加权质心算法和鱼群质心算法在不同锚节点密度的情况下进行仿真对比,结果(见图7)。
图7 不同锚节点数量下的定位误差对比结果
从图7中可以看到,当锚节点的数量从12个增加至30个时,三种算法的定位误差均有所下降,但鱼群质心定位算法的误差一直低于其它两种算法。由此证明,鱼群质心算法的定位精度更高[12]。
4 结 语
综上所述,随着无线传感器网络的应用范围不断扩大,对相关定位算法的精度问题进行研究显得尤为必要。本文在分析几种经典定位算法后,基于AFSA,对质心定位算法进行优化,结果表明,经过优化之后的质心定位算法的精度大幅度提升。