基于距离加权和遗传优化的DV‑Hop定位方法与流程

文档序号:11657873阅读:245来源:国知局
基于距离加权和遗传优化的DV‑Hop定位方法与流程

本发明涉及无线传感器网络技术领域,尤其是一种基于距离加权和遗传优化的dv-hop定位方法。



背景技术:

随着物联网研究和应用深入,无线传感器网络(wirelesssensornetworks,wsn)在其中起到了关键的推动作用。无线传感器网络已经在军事、民用等领域有很多应用,包括环境监测、网站安全、医疗诊断、战场监视、灾害救助和辅助生活等。生活中很多应用与位置有关,无线传感器网络易于部署、可扩展性高、成本低等特点使其在室内定位中具有很大的优势。

定位技术是无线传感器网络的主要支撑技术之一,受到研究人员的广泛关注。现有的无线传感器网络定位主要可分为基于测距的定位和无需测距的定位算法,其主要区别在于是否需要距离信息。基于测距的定位算法中节点使用测距技术获得距离信息,定位精度较高但是需要额外的设备,而无需测距的定位算法仅依靠相邻节点间的连通关系进行定位,无需基础网络设施的支持,定位精度较低。

如果两个节点之间可以直接通信,那么这两个节点之间的距离一定或者等于两者之间的最大通信距离(r)。niculescu和nath等人提出dv-hop算法,利用两个节点之间通信跳数来判断节点之间的距离关系。在无线传感器网络中,由于通信距离的限制,两个通信节点之间不存在直接的通信链路,其通信就可以利用其他中继节点来实现。通常情况下,为了保证通信效率,在两个节点间的多条链路上,大多数路由算法都会选择中继点少的链路。由于无线设备的硬件限制,在测距不可能或者不精确的情况下,基于跳数的估计方法是对基于距离测距的有效补充。基于跳数定位无需依赖任何测距硬件,是一种轻量级的定位方法,但是定位误差较大。为了提高定位的准确性,往往需要大量的参考节点来实现节点与节点之间的距离估计,这样加大网络的负担。

dv-hop定位算法的实现过程主要分为三个阶段:

(1)获取网络的最小跳数。可以用一种分布式的方法实现:每一个锚节点洪泛地广播自己的信息{(xi,yi),hi},其中[xi,yi]表示锚节点i的物理坐标,hi记录距离锚节点i的跳数。hi的初始值为1,每次转发增加1。这样当中转节点收到信息,该消息的hi代表了此时该节点与锚节点i的最小跳数。如图1所示的密集型网络中跳数的获取相对较为准确,但是图2稀疏型网络中,节点分布过于稀疏,跳数与跳距的不再是简单线性对应关系,使得跳距的误差变大。

(2)计算每跳的平均距离。假设锚节点j到锚节点i之间的最小跳数为hij,则它们之间的平均跳距为:

当两个节点之间的跳数hopij已知时,可以通过dhop=dij×hopij获取节点i和节点j之间的距离。如图3所示,当网络中节点间距离过大,使得节点间距离误差增大,造成计算结果误差累计。

(3)计算节点位置。通过上面获得的跳距,采用三边测量法或者最小二乘算法来确定它的位置。

假设(x,y)为未知节点的位置,(xi,yi)为锚节点的位置,di为未知节点到锚节点的距离;n表示锚节点数量;最小二乘算法的定位模型为:

改写成矩阵形式:

简写为:

hx=b

其中,

这个方程的最小方差解为:

x=(hth)-1htb(4)

未知节点的位置(x,y)即可求得。



技术实现要素:

本发明的目的是为了解决无线传感器网络定位精度低的问题,而提出一种基于距离加权和遗传优化的dv-hop定位方法,本发明采用的技术方案是:

一种基于距离加权和遗传优化的dv-hop定位方法,包括以下步骤:

(1)初始化网络,各锚节点以洪泛的方式向周围广播自身的id并接受未知节点的rssi;rssi为信号强度;

(2)根据接受的rssi值,以信号强度的均值逐跳校正未知节点到各锚节点的最小跳数;

(3)利用校正后的最小跳数来加权平均跳距;

(4)根据未知节点到锚节点的平均跳距获取未知节点到锚节点之间的距离;

(5)在满足位置计算的前提下,采用最小二乘算法计算未知节点的目标位置;

(6)最后利用改进遗传算法优化未知节点的定位结果。

进一步地,步骤(2)具体包括:

把各锚节点接收到的信号强度记为:rssi1,rssi2,…,rssin,n为锚节点数量;对所有的rssi求均值然后把接收到的信号强度分为两组:

根据上式(8)节点之间信号强度小于或者等于均值的记为1跳;反之,利用下式(9)最小跳数修正为

式(9)中,rssiij表示两个相邻节点i与j之间的信号强度;

逐跳进行最终获得未知节点到各锚节点的最小跳数minhopij。

进一步地,步骤(3)具体包括:

假设未知节点i与各个锚节点j之间的最小跳数为minhij,minhij通过步骤(2)的方法获得;k表示距离未知节点最近的锚节点,第一部分的平均跳距:

c表示网络锚节点的平均跳距;

第二部分平均跳距为

其中,hkj为距离未知节点最近的锚节点到其它锚节点间跳数,dkj为距离未知节点最近的锚节点到其它锚节点间距离;wkj为距离误差权值;结合式(10)和(11)得到未知节点到锚节点的平均跳距

进一步地,步骤(4)具体包括:未知节点与锚节点之间的距离为:

其中,dxj为未知节点到锚节点j之间的距离,为未知节点到锚节点的平均跳距,minhopxj为获取的未知节点到锚节点之间最小跳数,通过步骤(2)中方法获得。

进一步地,步骤(5)中,前提是当有效锚节点数目大于等于3个才能计算未知节点位置。

进一步地,步骤(6)中,具体进行:

对经典遗传算法的交叉概率和变异概率进行优化,改变常规的适应函数使之适用于无线传感器网络室内定位;改进的遗传算法要素以及参数设置如下:

1)染色体与初始种群:为了便于遗传算法求解,把所求未知节点坐标(x,y)看作是求解问题的空间,即染色体s;未知节点坐标(x,y)的坐标转化为

s=(v1,v2)(14)

2)适应度函数:改进的遗传算法把未知节点定位误差倒数作为适应度函数,适应度函数为

3)交叉算子和变异算子分别如式(17)和式(18)所示:

其中,si和sj是种群中两个随机配对的父代染色体,si'和s'j是si和sj经过交叉操作后生成的新染色体,vi表示经由上一步交叉操作而生成的新染色体s的两个基因,γi是染色体每一个基因的取值范围内的随机数,vi'表示经由上一步交叉操作而生成的新染色体s再经变异操作后生成的最新染色体s'的两个基因,yi为[0,1]之间的随机数,pc为遗传算法的交叉概率,pm为遗传算法的变异概率;

分别改进交叉算子、变异算子中的交叉概率和变异概率:

式中,fmax为每代种群中的最大适应值,fav为每代种群的平均适应值,f'为要交叉的两个个体中较大的适应值,f为要变异的两个个体中的较大的适应值,pc1,pc2,pm1和pm2为小于1的常数;

4)选择算子:种群中的每一个染色体经过交叉、变异后,都以式(16)适应度函数作为依据;在交叉和变异过程中遵循式(19)和(20)交叉和变异概率,选择适应度函数值大的的染色体保留在染色体号位上。

本发明的优点在于:

(1)传统的dv-hop定位算法跳数的获取通常每个锚节点采用泛洪地广播消息,初始值设置为0,每次转发增加1,这样可以获得节点之间最小的跳数。由于锚节点之间距离不同,这就使得跳数的获取过于简单,无法体现网络中节点的远近程度。改进后的方法是节点间距离大的为1跳,距离小的将小于1跳,跳数不再是机械性的叠加。

(2)传统的平均跳距适用于密集型的节点分布,然而在稀疏的网络中,节点间距离如果仍然采用距离未知点最近锚节点的距离容易造成节点计算误差累计。通过对平均跳距加权,尽量减少锚节点到未知节点之间距离误差,对提高定位精度有很大影响。

(3)在室内情况下,由于受到环境的干扰,造成较大测距误差,采用最小二乘算法定位精度不太理想,往往需要大量的锚节点才能高的定位精度,增加了定位的硬件成本。在不增加锚节点数的情况下,本发明采用遗传算法优化计算结果。

附图说明

图1为节点密集型分布的示意图。

图2为节点稀疏型分布的示意图。

图3为节点距离过大的示意图。

图4为实验网络拓扑结构的示意图。

图5为r=30m时定位性能对比的示意图。

图6为r=35m时定位性能对比的示意图。

图7为r=40m时定位性能对比的示意图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

基于距离加权和遗传优化的dv-hop定位方法,主要包括跳数修正、跳距加权和遗传算法优化三个部分。本发明以100m×100m作为实验仿真的区域,仿真区域内所有节点之间通信正常,通信半径为30m、35m和40m;节点总数为100,锚节点数量分别为5、10、15、20、25、30、35和40;迭代次数为60,所有仿真试验均进行500次,利用定位精度和平均定位误差判断算法定位精度:

平均相对定位精度为

其中,(xi,yi)为未知节点的实际位置,(x'i,y'i)为未知节点计算位置,r为通信半径,m为网络连通度,n为未知节点数量。

本实施例中,锚节点指预先布设的无线传感器,也就是图4中的信标节点;未知节点为待定位的传感器;

本发明提出的基于距离加权和遗传优化的dv-hop定位方法,包括以下步骤:

(1)初始化网络,各锚节点以洪泛的方式向周围广播自身的id并接受未知节点的rssi;rssi为信号强度;

(2)根据接受的rssi值,以信号强度的均值逐跳校正未知节点到各锚节点的最小跳数;具体如下所述:

根据节点接受的信号强度估算出节点之间距离,其计算方式如下

其中,p0(d0)为参考节点d0处的信号强度,pr(d)为在距离d处的未知节点的信号强度,η为路径损耗系数,通常取值在2~5之间;xσ是标准差为σ、均值为零的高斯分布随机变量;

简化为

pr(d)=a-10ηlgd(7)

式中,a为1m处接受的信号强度;从式中可知接收到信号强度越强节点之间距离越短。基于此理论,把各锚节点接收到的信号强度记为:rssi1,rssi2,…,rssin,n为锚节点数量;对所有的rssi求均值然后把接收到的信号强度分为两组:

根据上式(8)节点之间信号强度小于或者等于均值的记为1跳;反之,认为跳数对距离贡献小,利用下式(9)最小跳数修正为

式(9)中,rssiij表示两个相邻节点i与j之间的信号强度。假设未知节点发射一组信号,在转发的过程中不是机械的加1,而是通过与信号强度均值进行比较来判断是否需要修正,逐跳进行最终可以获取一个最小的节点跳数minhopij。

(3)利用校正后的最小跳数来加权平均跳距;具体如下所述:

假设未知节点i与各个锚节点j之间的最小跳数为minhij(可通过步骤2的方法获得),k表示距离未知节点最近的锚节点,第一部分的平均跳距:

c表示网络锚节点的平均跳距;

第二部分平均跳距为

其中,hkj为距离未知节点最近的锚节点到其它锚节点间跳数,dkj为距离未知节点最近的锚节点到其它锚节点间距离;wkj为距离误差权值;结合式(10)和(11)得到未知节点到锚节点的平均跳距

(4)根据未知节点到锚节点的平均跳距获取未知节点到锚节点之间的距离;

根据式(13)可得未知节点与锚节点之间的距离:

其中,dxj为未知节点到锚节点j之间的距离,为未知节点到锚节点的平均跳距,minhopxj为获取的未知节点到锚节点之间最小跳数,通过步骤(2)中方法获得;

(5)在满足位置计算的前提下,采用最小二乘算法计算未知节点的目标位置;此部分内容再背景技术中已经作过介绍;前提是当有效锚节点数目大于等于3个才能计算未知节点位置;

(6)最后利用改进遗传算法优化未知节点的定位结果。

对经典遗传算法的交叉概率和变异概率进行优化,改变常规的适应函数使之适用于无线传感器网络室内定位;改进的遗传算法要素以及参数设置如下:

1)染色体与初始种群:为了便于遗传算法求解,把所求未知节点坐标(x,y)看作是求解问题的空间,即染色体s;未知节点坐标(x,y)的坐标转化为

s=(v1,v2)(14)

(v1,v2)为转换后的未知节点坐标;

2)适应度函数:在ga-dv-hop定位算法中问题空间的目标函数即未知节点坐标定位误差为

改进的遗传算法把未知节点定位误差倒数作为适应度函数,其值越大,染色体的适应能力越强被遗传下去的可能性越大,适应度函数为

(v1',v'2)坐标转换后的未知节点计算位置;

3)交叉算子和变异算子分别如式(17)和式(18)所示:

其中,si和sj是种群中两个随机配对的父代染色体,si'和s'j是si和sj经过交叉操作后生成的新染色体,vi表示经由上一步交叉操作而生成的新染色体s的两个基因,γi是染色体每一个基因的取值范围内的随机数,vi'表示经由上一步交叉操作而生成的新染色体s再经变异操作后生成的最新染色体s'的两个基因,yi为[0,1]之间的随机数,pc为遗传算法的交叉概率,pm为遗传算法的变异概率;针对遗传算法中的缺陷,交叉概率pc过大时,新个体产生的速度越快,但是对原有种群的破坏也越大,反之搜索速度慢;变异概率pm难以生成新的变异个体,反之难以搜索到最佳的位置。对此,分别改进交叉算子、变异算子中的交叉概率和变异概率:

式中,fmax为每代种群中的最大适应值,fav为每代种群的平均适应值,f'为要交叉的两个个体中较大的适应值,f为要变异的两个个体中的较大的适应值,pc1,pc2,pm1和pm2为小于1的常数;

4)选择算子:种群中的每一个染色体经过交叉、变异后,都以式(16)适应度函数作为依据;在交叉和变异过程中遵循式(19)和(20)交叉和变异概率,选择适应度函数值大的的染色体保留在染色体号位上。

算法分析:

1)锚节点密度

无线传感器网络节点定位是通过未知节点周围锚节点的距离信息求解未知节点的位置,该方法对锚节点部署数量要求很高,当未知节点周围锚节点部署密度高时,定位算法表现出较好的性能,当锚节点的数量减少时,定位精度大幅度下降。如图5、6、7所示,在10m×10m定位区域,新的定位方法在锚节点比例较低的情况下,任然能够保持较高的定位精度,随着锚节点比例增加,定位精度提高比较明显。

2)定位的精度

对于一种给定的定位算法,定位精度显示了节点的计算位置和物理位置的匹配程度。具体而言,定位精度被定为一个未知节点的定位估计值与其真实位置之间的距离。在无线传感器网络中,室内定位的精度普遍不高,无法满足市场的需求。如图5、6、7所示,在10m×10m的定位区域,可以看出本发明在不同的通信半径下,仍然能够保持较高的定位精度。

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