一种基于神经网络的DV-Hop定位技术的制作方法

文档序号:15099707发布日期:2018-08-04 15:26阅读:441来源:国知局

本发明主要涉及机器学习中的神经网络技术领域和无线传感器网络定位技术领域。



背景技术:

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。神经网络作为机器学习中的一种算法,它主要经历了以下阶段。

一般认为现代意义上对神经网络的研究,是从1943年美国芝加哥大学的生理学家W.S.McCulloch和W.A.Pitts提出M-P神经元模型开始的。1965年,M.Minsky和S.papert在《感知机》一书中指出感知机的缺陷,并表示对这方面研究的悲观态度,使得神经网络的研究从兴起期进入了停滞期,这是神经网络发展史上的第一个转折。到了20世纪80年代初,J.J.Hopfield的工作和D.Rumelhart等人的PDP报告显示出神经网络的巨大潜力,使得该领域的研究从停滞期进入了繁荣期,这是神经网络发展史上的第二次转折。20世纪90年代中后期至今,对神经网络的研究进入了一个比较理智、正常的发展时期。

无线传感器网络的应用最早始于美军的“热带树”传感器系统,这些传感器由飞机投放落地,可以随时监测敌方车队信息,并将收集到的情报发送到指挥中心,指挥中心对情报进行综合分析后,立即出动空军战机,炸毁大量的物资车辆。之后,美国军方陆续研制了分布式传感器网络系统、远程战场传感器系统等一系列先进的作战系统,这些系统的传感器具备很强的感知、运算和通讯能力。至今,国外科研院所和工业界掀起了对无线传感器网络的研究热潮,其诸多关键技术在社会各领域中得到了广泛的普及和应用。与此同时,我国也将智能感知和自组织网络技术列入国家的长期发展规划中。随着物联网、云计算和大数据的兴起,无线传感器网络的研究热潮将长久地持续下去。

一般地,按照是否知晓自身坐标位置的原则,传感器网络中的节点大致可分为两类:信标点和未知节点。信标点也称锚节点或参考节点,它的内部安置有GPS定位模块,在外部卫星的协助下可获得自身精确的位置信息,但由于信标点的结构复杂、成本较未知节点高,因此在节点部署中信标点的数量受到严格的限制。未知节点则占据了网络节点中的绝大部分,它们无法完全通过自身实现定位,必须借助于信标点,通过特定的算法与信标点进行某种信息的交互,进而估计出自身的位置信息。在节点定位的过程中,当未知节点通过多跳通信的方式获取到邻近信标点的估算距离后,通常还要借助于三边测量法、三角测量法或最小二乘法才能估算出节点的位置坐标。



技术实现要素:

为了提高DV-Hop定位技术的定位精度,本发明提出一种基于BP神经网络的DV-Hop定位技术。

首先,对BP神经网络进行训练:在监测区域内的特定位置放置若干信标点,使信标点之间的跳段距离约等于它们之间的真实距离。每个信标点向全网广播包含位置、跳数、标识号信息的数据包,选取其中的一个信标点,将其假设为“未知节点”,该节点可以在通信半径内接收到信标点的广播数据包,并通过比较数据包中的跳数值筛选出跳数最小的信息组,通过此方式记录该“未知节点”到信标点的最小跳数以及信标点的位置信息。根据信标点之间的直线距离和最小跳数估算出信标点的平均跳距,然后向全网广播,“未知节点”寻找到与之距离最近的信标点,并将它的平均跳距作为基准值,然后“未知节点”通过该基准值和它到各信标点之间最小跳数的乘积来估计到各信标点的跳段距离。通过这种方法,可以认为目标函数,即该“未知节点”到其他所有信标点的真实距离与计算所得到的该“未知节点”到其他所有信标点的跳段距离的误差绝对值的和趋于零。

经过多次训练后,BP神经网络得出一套模型,在该模型中,未知节点到所有信标点的真实距离与计算得到的未知节点到所有信标点的跳段距离的误差绝对值的和取得极小值。

最终,将未知节点到所有信标点的真实距离和未知节点到所有信标点的跳段距离作为模型的输入,便可以得到它们的误差绝对值的和的极小值,然后再结合最小二乘法来计算出未知节点自身的坐标位置。

附图说明

图1基于BP神经网络的DV-Hop定位技术原理图

图2估算未知节点与信标点跳段距离流程图

具体实施方式

下面结合附图对本发明的技术方案做进一步描述。如图1,首先需要对BP神经网络进行训练从而得出模型,为此选择一个网络,范围为100×100m2,节点通信半径为40m,按照特定的规则放置10个信标点,任意选取其中一个假设为“未知节点”,满足“未知节点”到信标点的真实距离约等于“未知节点”到信标点的跳段距离。

跳段距离的估算如图2所示,每个信标点向全网广播包含位置、跳数及标识号信息的数据包,其中跳数的初始值为0。当节点在通信半径内接收到信标点的广播数据包时,此节点就会将数据包中的跳数值加1,然后把更新后的数据包记录到本地存储设备中,并立即将该数据包继续广播出去。假如节点收到多个来源于同一信标点的数据包,该节点通过比较数据包中的跳数值筛选出跳数最小的信息组,通过此方式记录各节点之间的最小跳数以及信标点的位置信息。根据信标点之间的直线距离和最小跳数估算出信标点的平均跳距,每个信标点将估算得到的平均跳距向全网广播,未知节点收到之后,首先寻找与之距离最近的信标点,并将它的平均跳距作为基准值,然后未知节点通过该基准值和它到各信标点之间最小跳数的乘积来估计到各信标点的跳段距离。

将未知节点到信标点的真实距离和未知节点到信标点的跳段距离作为模型的输入,将它们的误差绝对值的和作为模型的输出,以此来训练BP神经网络,经过多次训练后,它们的误差绝对值的和会趋于零。最终,在监测区域内通过此模型可得到未知节点与n个信标点之间含有误差项的距离方程,然后以第n个等式作为参考式,其余(n-1)个等式依次减去第n个等式得到新的方程组,利用最小二乘法求解此方程组便可得到未知节点的位置信息。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1