无线传感器网络节点定位方法及装置与流程

文档序号:11591687阅读:371来源:国知局
无线传感器网络节点定位方法及装置与流程

本发明涉及无线传感器网络定位技术领域,具体涉及一种无线传感器网络节点定位方法及装置。



背景技术:

我国山区地形(包括丘陵和高原)占69.1%,森林覆盖率高,具有丰富的矿产资源,但矿产的开采易造成环境污染。我国地质条件复杂,构造活动频繁,滑坡、泥石流与地裂缝等灾害隐患多、分布广,且突发性和破坏性强,防范难度大,是世界上地质灾害较为严重、受威胁人口较多的国家之一。因此,开展环境监测、森林防火、山体滑坡等监测与预警研究具有十分重要的意义。

无线传感器网络(wirelesssensornetwork,wsn)的出现引起了全世界范围的广泛关注。1999年,著名的美国商业周刊将无线传感器网络列为21世纪最具影响的21项技术之一;2003年,mit技术评论(technologyreview)在预测未来技术发展的报告中,将其列为改变世界的10大新技术之一。环境监测与预报、森林防火、地质灾害监测与预警等是无线传感器网络的重要应用领域。

节点定位是无线传感器网络应用的重要基础。在无线传感器网络的应用中,位置信息对传感器网络的监测活动至关重要。例如:在大面积环境监测中需要知道污染源发生的地点;森林火灾灾情监测中,需要知道火灾发生的地域;在地质灾害监测预警中,必需要知道发生险情的时间与地域,以便迅速采取有效行动。

目前现有的大多数无线传感器网络定位都是假设应用在理想环境下提出的。例如二维、三维的定位算法与路由算法适合三维自由空间内的随机节点分布情况,即假定信号传输模型为理想的球体。无线传感器网络实际应用环境往往是山区,此时,把非平面的网络用平面的或三维自由空间定位来确定节点位置,往往无法达到理想的性能要求,节点定位误差较大,难于满足实际应用的要求。

根据是否测量距离分为基于测距定位算法和无需测距的定位算法。目前常用的测距技术有rssi,toa,tdoa和aoa。无需测距的定位方法主要有质心算法、dv-hop算法、amorphous算法、apit算法等,其中影响最大、应用最广泛的当属dv-hop算法。

无需测距的定位机制不需测量节点间的绝对距离或方位,降低了对节点硬件的成本,体积和能量消耗,更适合于大规模传感器网络。但非测距的节点定位方法的精度较低,在理想环境下其定位精度仍可满足应用的需求,但在山区复杂地形上的应用时其定位精度难于满足实际应用的要求。



技术实现要素:

本发明的目的在于提供一种无线传感器网络节点定位方法及装置,可以在山区地形中提高无线传感器网络节点定位的精度。

为实现上述目的,本发明的技术方案一种无线传感器网络节点定位方法,其特征在于,包括:

s1:对于待检测区域上的每一个锚节点,根据锚节点的平面坐标计算其到所述待检测区域上其他锚节点的水平距离之和,并根据其到其他锚节点的最小跳数之和以及所述水平距离之和计算其平均每跳水平距离;

s2:对于所述每一个锚节点,根据其平均每跳水平距离计算其到其他锚节点的水平估计距离,并根据其到其他锚节点的水平估计距离、其到其他锚节点的水平实际距离以及其到其他锚节点的最小跳数计算其跳距修正平均值;

s3:对于所述每一个锚节点,根据其跳距修正平均值以及其平均每跳水平距离计算其修正平均每跳水平距离;

s4:根据所述待检测区域上未知节点周围锚节点的修正平均每跳水平距离以及所述未知节点到所述未知节点周围锚节点的最小跳数计算所述未知节点到所述未知节点周围锚节点的水平距离,根据所述未知节点到所述未知节点周围锚节点的水平距离以及所述未知节点周围锚节点的平面坐标确定所述未知节点的平面坐标;

s5:根据所述待检测区域的二维电子网格模型、三维电子网格模型以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,在步骤s1之前还包括:在所述待检测区域上随机布放无线传感器节点。

优选地,所述步骤s5包括:

s51:获取所述二维电子网格模型中所述未知节点的平面坐标所在的网格;

s52:在所述网格的四个顶点中确定距离所述未知节点的平面坐标最近的三个顶点;

s53:获取所述三维电子网格模型中与所述三个顶点对应的三个三维坐标,并根据所述三个三维坐标构成的平面以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,所述待检测区域为山区地形。

为实现上述目的,本发明的技术方案还提供了一种无线传感器网络节点定位装置,包括:

第一处理模块,用于对于待检测区域上的每一个锚节点,根据锚节点的平面坐标计算其到所述待检测区域上其他锚节点的水平距离之和,并根据其到其他锚节点的最小跳数之和以及所述水平距离之和计算其平均每跳水平距离;

第二处理模块,用于对于所述每一个锚节点,根据其平均每跳水平距离计算其到其他锚节点的水平估计距离,并根据其到其他锚节点的水平估计距离、其到其他锚节点的水平实际距离以及其到其他锚节点的最小跳数计算其跳距修正平均值;

第三处理模块,用于对于所述每一个锚节点,根据其跳距修正平均值以及其平均每跳水平距离计算其修正平均每跳水平距离;

第一确定模块,用于根据所述待检测区域上未知节点周围锚节点的修正平均每跳水平距离以及所述未知节点到所述未知节点周围锚节点的最小跳数计算所述未知节点到所述未知节点周围锚节点的水平距离,根据所述未知节点到所述未知节点周围锚节点的水平距离以及所述未知节点周围锚节点的平面坐标确定所述未知节点的平面坐标;

第二确定模块,用于根据所述待检测区域的二维电子网格模型、三维电子网格模型以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,所述无线传感器网络节点定位装置还包括:布放模块,用于在所述待检测区域上随机布放无线传感器节点。

优选地,所述第二确定模块包括:

搜索单元,用于获取所述二维电子网格模型中所述未知节点的平面坐标所在的网格;

第一计算单元,用于在所述网格的四个顶点中确定距离所述未知节点的平面坐标最近的三个顶点;

第二计算单元,用于获取所述三维电子网格模型中与所述三个顶点对应的三个三维坐标,并根据所述三个三维坐标构成的平面以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,所述待检测区域为山区地形。

本发明不但节点硬件成本低,而且体积小和能量消耗低,更适合于大规模传感器网络,并且相比传统的非测距无线传感器节点定位技术,本发明在山区地形中的定位精度有大幅度提高,能够满足实际应用的要求。

附图说明

图1是本发明实施方式提供的一种无线传感器网络节点定位方法的流程图;

图2是本发明实施方式提供的一种无线传感器网络节点在山区地形上随机分布的示意图;

图3是本发明实施方式提供的一种无线传感器节点垂直投影到平面的随机分布图;

图4是本发明实施方式提供的一种计算锚节点之间的水平估计距离的示意图;

图5是本发明实施方式提供的一种三边测量法的示意图;

图6是本发明实施方式提供的一种极大似然估计法的示意图;

图7-图8是本发明实施方式提供的一种确定未知节点的三维坐标的示意图;

图9是本发明实施方式提供的不同通信半径的平均相对误差曲线图;

图10是本发明实施方式提供的不同锚节点比例的平均相对误差曲线图;

图11是本发明实施方式提供的不同节点总数的平均相对误差曲线图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1,图1是本发明实施方式提供的一种无线传感器网络节点定位方法的流程图,该方法包括:

s1:对于待检测区域上的每一个锚节点,根据锚节点的平面坐标计算其到所述待检测区域上其他锚节点的水平距离之和,并根据其到其他锚节点的最小跳数之和以及所述水平距离之和计算其平均每跳水平距离;

s2:对于所述每一个锚节点,根据其平均每跳水平距离计算其到其他锚节点的水平估计距离,并根据其到其他锚节点的水平估计距离、其到其他锚节点的水平实际距离以及其到其他锚节点的最小跳数计算其跳距修正平均值;

s3:对于所述每一个锚节点,根据其跳距修正平均值以及其平均每跳水平距离计算其修正平均每跳水平距离;

s4:根据所述待检测区域上未知节点周围锚节点的修正平均每跳水平距离以及所述未知节点到所述未知节点周围锚节点的最小跳数计算所述未知节点到所述未知节点周围锚节点的水平距离,根据所述未知节点到所述未知节点周围锚节点的水平距离以及所述未知节点周围锚节点的平面坐标确定所述未知节点的平面坐标;

s5:根据所述待检测区域的二维电子网格模型、三维电子网格模型以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

具体地,在步骤s4中,可以将未知节点到锚节点的最小跳数乘以该锚节点的修正平均每跳水平距离从而获得该未知节点到该锚节点的水平距离,然后再利用三边测量法或极大似然估计法获得未知节点的平面坐标;

优选地,在本发明实施方式中,在步骤s1之前还包括:在所述待检测区域上随机布放无线传感器节点。

优选地,在本发明实施方式中,所述步骤s5包括:

s51:获取所述二维电子网格模型中所述未知节点的平面坐标所在的网格;

s52:在所述网格的四个顶点中确定距离所述未知节点的平面坐标最近的三个顶点;

s53:获取所述三维电子网格模型中与所述三个顶点对应的三个三维坐标,并根据所述三个三维坐标构成的平面以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

例如,所述待检测区域为山区地形。

例如,本发明中的无线传感器网络节点定位方法可以包括:

1.在山区地形上随机布放无线传感器节点;

在山区地形上随机布放无线传感器网络节点,节点分布示意图可以如图2所示。为了说明基于山区地形的无线传感器网络节点定位方法的原理,这里以三维多峰曲面函数产生的多峰曲面来模拟山区地形,并制作该山区地形的三维电子网格模型(即三维电子网格数据,包含x,y,z坐标的三维网格数据)和二维电子网格模型(即二维电子网格数据,包含x,y坐标的平面网格数据),目前实际山区地形上都具有电子地图数据,其中,三维多峰曲面函数为:

2.获取各未知节点到锚节点(即信标节点)的最小跳数;

这里,可以采用dv-hop定位算法的第一步:获取各未知节点到各锚节点的最小跳数h,无线传感器网络的初始阶段,各锚节点广播自己的id、位置和跳数等信息,且初始跳数为0,每经过一个节点跳数加1。各节点只保留到锚节点的最小跳数的信息,收到同一个锚节点且跳数更大的信息将会丢弃。初始阶段结束后,各未知节点将获得各未知节点到各锚节点的最小跳数h。

3.将山区地形上各传感器节点垂直投影到水平面上;

将山区地形上各传感器节点垂直投影到水平面上,在水平面上传感器节点仅有x,y坐标(即节点的平面坐标),如图3所示。

4.用改进的二维dv-hop定位算法求各未知节点的平面坐标;

改进的二维dv-hop定位算法就是对各锚节点的平均每跳水平距离进行修正。设无线传感器网络节点分布如图4所示。

(1)求锚节点的修正平均每跳水平距离;

①锚节点i得到了区域内其它所有锚节点的位置信息和相距跳数后,利用公式(2)计算锚节点i的平均每跳水平距离dhopi。

式中,dhopi为锚节点i的平均每跳水平距离,(xi,yi)为锚节点i的平面坐标,(xj,yj)为锚节点j的平面坐标,hij为锚节点i与锚节点j之间的最小跳数(i≠j),如果i=j,则说明锚节点i与锚节点j为同一节点。每个锚节点计算获得平均每跳水平距离后,向区域内所有其它节点广播。

②计算锚节点i与锚节点j的水平估计距离,计算方式如下:

d1ij=dhopi×hij

式中,d1ij为锚节点i与锚节点j的水平估计距离。

③计算锚节点i与锚节点j的水平实际距离,计算方式如下:

式中,d2ij为锚节点i与锚节点j的水平实际距离,(xi,yi)是锚节点i的平面坐标,(xj,yj)是锚节点j的平面坐标。

④计算锚节点i与锚节点j的跳距修正值eij,计算方式如下:

⑤重复第(2)步到第(4)步,分别计算锚节点i到其余所有锚节点(1、2、…、i-1、i+1、n)的跳距修正值,并求其平均值(即跳距修正平均值)avei,计算方式如下:

⑥计算锚节点i的修正平均每跳水平距离xzdhopi,计算方式如下:

xzdhopi=dhopi+avei(3)

分别计算其它所有锚节点(k=1、2、…、i-1、i+1、n)的修正平均每跳水平距离xzdhopk。

(2)求未知节点到锚节点的水平距离;

求未知节点i到第j个锚节点的水平距离=第j个锚节点的修正平均每跳水平距离×该未知节点i到锚节点j的跳数,特点是:求未知节点i到各锚节点的水平距离用不同的每跳水平距离,计算方式如下:

dij=xzdhopj×hij(4)

式中,dij是未知节点i到第j个锚节点的水平距离,xzdhopj是第j个锚节点的修正平均每跳水平距离,hij未知节点i与锚节点j之间的最小跳数。

用上述同样方法可以求出所有未知节点到各锚节点的水平距离。

(3)三边测量法或用极大似然估计法计算未知节点的平面坐标;

如果未知节点周围不足3个锚节点,则无法定位;如果仅有3个锚节点,用三边测量法计算未知节点的平面坐标;若未知节点周围有超过3个锚节点,用极大似然估计法计算未知节点的平面坐标;

①三边测量法计算未知节点的平面坐标,计算方式如下;

设区域内有a、b、c三个锚节点,一个未知节点d,如图5所示。a、b、c三个锚节点的平面坐标分别为(xa,ya),(xb,yb),(xc,yc),以及它们到未知节点d的水平距离分别为da,db,dc,设节点d的平面坐标为(x,y),计算公式如下:

上式两边平方得:

由(5)-(7)得:

整理得:

同理(6)-(7)得:

得方程组:

ax=b(8)

其中:

x=a-1b(9)

求出方程(9)的解(x,y),就是未知节点d的平面坐标。

②极大似然估计法计算未知节点的平面坐标;

如果未知节点周围有超过3个信标节点,如图6所示,p1、p2、p3、p4、……pn为信标节点,m为未知节点。则未知节点到所有信标节点的距离也会超过3个,由此构建的方程组是一个矛盾方程组。通过解该矛盾方程组,获得未知节点的平面坐标的方法称为极大似然估计法,用最小二乘法解矛盾方程组的方法如下:

设有矛盾方程组:

式中:m<n

记:

x=(x1,x2,…xm)t

b=(b1,b2,…bn)t

则方程组(10)可表示为:

ax=b(11)

(1)计算:ata和atb

得正规方程组:atax=atb(12)

(2)解正规方程组(12)得:

x=(ata)-1atb(13)

求出方程(13)的解(x,y),就是未知节点m的平面坐标。

5.用局部平面拟合山区地形表面

若求出未知节点的平面坐标为(xi、yi),在该山区地形的二维电子网格模型中找出离未知节点的平面坐标最近的且不在一条直线上的3个点,即找出这3个点的二维坐标(x,y)。具体方法如下:

(1)首先在二维电子网格模型中搜索,确定未知节点的平面坐标位于哪个网格中,如图7所示;

(2)由公式(14)分别计算未知节点的平面坐标到网格中的4个顶点a、b、c、d的距离dij。

式中,j=1、2、3、4,dij分别表示未知节点的平面坐标到网格中的4个顶点a、b、c、d的距离;

求出未知节点的平面坐标到a、b、c、d顶点中更近的3个点。如图7中未知节点的平面坐标到网格中的a(x1,y1)、b(x2,y2)、c(x3,y3)三点更近,且这3点不在一条直线上。在对应的三维电子网格模型中,得到这3个点对应的三维坐标a’(x1,y1,z1)、b’(x2,y2,z2)、c’(x3,y3,z3),求出由这3点构成的平面,如图8所示。

已知三点a’(x1,y1,z1)、b’(x2,y2,z2)、c’(x3,y3,z3),求平面方程:

ax+by+cz+d=0(15)

其中:a=y1z2-y1z3-y2z1+y2z3+y3z1-y3z2

b=-x1z2+x1z3+x2z1-x2z3-x3z1+x3z2

c=x1y2-x1y3-x2y1+x2y3+x3y1-x3y2

d=-x1y2z3+x1y3z2+x2y1z3-x2y3z1-x3y1z2+x3y2z1。

6.求未知节点在山区地形表面的三维坐标;

过未知节点的平面坐标(xi,yi)且垂直水平面的直线与由(15)式表示的平面的交点,即为平面坐标(xi,yi)在地形表面上的垂直投影点(xi,yi,zi)。实际上只需将xi,yi代入平面方程(15),即可求出zi,则所求未知节点的三维坐标是(xi,yi,zi)。

7.定位误差

假设(x′i,y′i,z′i)为节点i的坐标估计值,(xi,yi,zi)为它的实际坐标值。实际值与估计值之间的差距是:

平均定位误差和无线通信距离r有关,通信距离r越大,则平均定位误差越小。传感器网络中n个未知节点的平均定位误差δ表示为:

为了检验本发明中的无线传感器网络节点定位方法的性能,在山区地形环境中,对现有的经典三维dv-hop定位算法、改进的三维dv-hop定位算法和以及本发明的定位方法在matlab平台上进行了仿真对比分析。研究了不同通信半径r与定位误差的关系,锚节点不同比例与定位误差的关系以及节点总数不同与定位误差的关系。每次仿真都是在山区地形中均匀随机布放无线传感器节点,山区地形在水平面的投影范围是240m×240m,山头最大高度h=80.75m;

(1)不同通信半径的节点定位算法仿真

节点总数200个,锚节点占30%,即60个,未知节点140个,节点均匀分布,分别对通信半径r=30m、40m、50m、60m、70m、80m、90m时进行了仿真实验。对每一不同通信半径的仿真都进行了100次,然后取相对均方误差的平均值,每次实验中未知节点和锚节点的坐标都是随机产生的,实验结果如图9所示。从图可知,本发明的定位方法的精度明显高于传统定位算法的精度,经典三维dv-hop定位算法与改进的三维dv-hop定位算法在山区定位误差较大,难于满足实际定位需要,而本发明的定位方法精度高,完全能满足实际应用的需求。

(2)不同锚节点比例的节点定位算法仿真

通信半径r=60m,分别对锚节点占5%,10%,15%,20%,25%,30%,35%和40%时进行了仿真实验。对每一不同锚节点比例的仿真都进行了100次,然后取相对均方误差的平均值,每次实验中未知节点和锚节点的坐标都是随机产生的,实验结果如图10所示。从图可知,本发明的定位方法的精度明显高于传统定位算法的精度,锚节点比例超过15%平均定位误差就比较小。经典三维dv-hop定位算法与改进的三维dv-hop定位算法在山区定位误差较大,难于满足实际定位需要,而本发明的定位方法的精度高,完全能满足实际应用的需求。

(3)不同节点总数的定位算法仿真

锚节点占25%,通信半径r=60m,节点均匀分布。分别对节点总数=100,120,140,160,180,200,220,240和260时进行了仿真实验。对每一节点总数的仿真都进行100次,然后取相对均方误差的平均值,每次实验中未知节点和锚节点的坐标都是随机产生的,实验结果如图11所示。从图可知,本发明的定位方法的精度明显高于传统定位算法的精度,且本发明的定位方法的定位精度与节点总数关系不大。本发明的定位方法的精度高,完全能满足实际应用的需求。

本发明实施方式提供的无线传感器网络节点定位方法,采用非测距定位机制,不但节点硬件成本低,而且体积小和能量消耗低,更适合于大规模传感器网络,并且相比传统的非测距无线传感器节点定位技术,本发明在山区地形中的定位精度有大幅度提高,能够满足实际应用的要求。

本发明实施方式还提供了一种无线传感器网络节点定位装置,包括:

第一处理模块,用于对于待检测区域上的每一个锚节点,根据锚节点的平面坐标计算其到所述待检测区域上其他锚节点的水平距离之和,并根据其到其他锚节点的最小跳数之和以及所述水平距离之和计算其平均每跳水平距离;

第二处理模块,用于对于所述每一个锚节点,根据其平均每跳水平距离计算其到其他锚节点的水平估计距离,并根据其到其他锚节点的水平估计距离、其到其他锚节点的水平实际距离以及其到其他锚节点的最小跳数计算其跳距修正平均值;

第三处理模块,用于对于所述每一个锚节点,根据其跳距修正平均值以及其平均每跳水平距离计算其修正平均每跳水平距离;

第一确定模块,用于根据所述待检测区域上未知节点周围锚节点的修正平均每跳水平距离以及所述未知节点到所述未知节点周围锚节点的最小跳数计算所述未知节点到所述未知节点周围锚节点的水平距离,根据所述未知节点到所述未知节点周围锚节点的水平距离以及所述未知节点周围锚节点的平面坐标确定所述未知节点的平面坐标;

第二确定模块,用于根据所述待检测区域的二维电子网格模型、三维电子网格模型以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,所述无线传感器网络节点定位装置还包括:布放模块,用于在所述待检测区域上随机布放无线传感器节点。

优选地,所述第二确定模块包括:

搜索单元,用于获取所述二维电子网格模型中所述未知节点的平面坐标所在的网格;

第一计算单元,用于在所述网格的四个顶点中确定距离所述未知节点的平面坐标最近的三个顶点;

第二计算单元,用于获取所述三维电子网格模型中与所述三个顶点对应的三个三维坐标,并根据所述三个三维坐标构成的平面以及所述未知节点的平面坐标确定所述未知节点的三维坐标。

优选地,所述待检测区域为山区地形。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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