一种基于神经网络的三维无线传感器网络节点自定位方法转让专利

申请号 : CN200910236372.3

文献号 : CN101695190B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于宁万江文郭晓雷吴银锋冯仁剑

申请人 : 北京航空航天大学

摘要 :

本发明公开了一种基于神经网络的三维无线传感器网络节点自定位方法,包括以下步骤:步骤一、初始化无线传感器网络;步骤二、建立神经网络;步骤三、提取神经网络的训练样本;步骤四、利用获得的训练样本对神经网络进行训练;步骤五、根据训练好的神经网络,每个未知节点得到自身到不相邻锚节点的实际距离;步骤六、未知节点得到自身三维坐标。本发明的训练样本获取方式简单且代表性强,训练好的神经网络能较好的体现三维无线传感器网络几何结构的主要性质;本发明解决了三维无线传感器网络定位过程中最短跳段距离累加机制带来的距离估计误差过大的问题,有效提高了定位精度。

权利要求 :

1.一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于:通过以下步骤来实现:步骤一:初始化无线传感器网络;

每个节点通过和自身邻居节点进行信息交互,获取节点自身局部密度,并测出自身到邻居节点的距离;通过所有锚节点的位置信息数据帧在无线传感器网络中传播,所有节点获取自身到所有锚节点的最短跳段距离、最短距离跳数和最短距离局部密度;所述节点自身局部密度是指节点通讯范围内邻居节点的数目;所述最短跳段距离是指两个节点间能互相通讯的最短路径的长度;所述最短距离跳数是指两个节点间最短跳段距离所在的路径包含的跳段数目;所述最短距离局部密度是指最短跳段距离所在的路径包含的所有节点的自身局部密度之和;

步骤二:建立用于计算不相邻节点间实际距离的神经网络;

建立包括输入层I、输出层O和一个隐含层H的三层神经网络;其中,输入层I包括三个神经元,分别为神经元I1、神经元I2和神经元I3,神经元I1的输入为节点间的最短跳段距离dmin,神经元I2的输入为最短距离跳数Hcou,神经元I3的输入为最短距离局部密度Dsum;输出层O包括一个神经元O1,输出为节点间的实际距离dr;隐含层H包括GH个神经元,分别为H1,H2,…, ,GH为隐含层神经元的个数;

设神经网络输入层神经元Ip和隐含层神经元Hq的连接权值为wpq,隐含层神经元Hq和输出层神经元O1的连接权值为vq1,隐含层神经元Hq的输出为hq,隐含层神经元Hq的阈值为bq,输出层神经元O1的阈值为bo,隐含层和输出层神经元的传递函数分别为fH和fo;其中:p、q为自然数,p=1,2,3,q=1,2,…,GH;整个神经网络输入和输出的关系为:步骤三:根据无线传感器网络中的锚节点到其它锚节点的最短跳段距离dmin、最短距离跳数Hcou、最短距离局部密度Dsum以及锚节点各自的三维坐标,提取神经网络的训练样本;

①如果锚节点Na和Nb能通过直接或多跳的方式进行通讯,则根据Na的三维坐标(xa,ya,za)和Nb的三维坐标(xb,yb,zb)得到Na到Nb的实际距离:其中:a,b为自然数,且a≠b;

根据Na到Nb的最短跳段距离dmin(a,b)、最短距离跳数Hcou(a,b)、最短距离局部密度Dsum(a,b)和两个锚节点间的实际距离dr(a,b),得到神经网络的训练样本: Samplej={dmin(a,b),Hcou(a,b),Dsum(a,b),dr(a,b)}(3)其中,Samplej为第j个训练样本,j属于自然数;

②如果锚节点Na和Nb不能通过直接或多跳的方式进行通讯,则无法根据Na和Nb的位置关系提取神经网络的训练样本,此时根据无线传感器网络中其它能够通过直接或多跳的方式进行通讯的锚节点的位置关系提取神经网络的训练样本;

设无线传感器网络中锚节点的个数为GA,未知节点个数为GU,根据一个锚节点和其它锚节点的位置关系最多可提取GA-1个训练样本,整个无线传感器网络最多可提取的训练样本总数量GS为:GS=GA(GA-1)/2;

步骤四:利用步骤三中获得的训练样本对神经网络进行训练;

设定神经网络的训练精度εN和神经网络训练的最大迭代次数Nmax,利用步骤三中式(3)获得的GS个训练样本对步骤二中建立的神经网络式(1)进行训练,使神经网络达到预先设定的神经网络的训练精度εN或达到神经网络训练的最大迭代次数Nmax;

步骤五:根据训练好的神经网络,每个未知节点得到自身到不相邻锚节点的实际距离;

将步骤四中训练好的神经网络各层神经元间的连接权值和各层神经元的阈值广播给整个无线传感器网络,设定最短距离跳数Hcou的最大允许值Hmax,未知节点Nx得到自身到锚节点Ni的实际距离dr(x,i),x,i为自然数;

步骤六:未知节点根据锚节点的三维坐标以及自身到锚节点的实际距离得到自身三维坐标;

当未知节点获得自身到四个或四个以上锚节点的实际距离时,建立欧式距离方程组,得到自身三维坐标。

2.根据权利要求1所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于:所述步骤一的初始化无线传感器网络的具体步骤为:(1)所有节点广播包含自身ID的请求应答数据帧,邻居节点收到请求应答数据帧后发送应答数据帧进行应答,每个节点统计自身收到的应答数据帧的数目,得到自身局部密度,并测出自身到邻居节点的距离;

(2)所有锚节点向无线传感器网络中广播包含自身ID和自身三维坐标的位置信息数据帧Framem,m为自然数;Framem的格式如下:Framem={IDm,xm,ym,zm,H,d,D}(4)

其中,IDm为第m个锚节点的ID,(xm,ym,zm)为第m个锚节点的三维坐标;H为Framem所经过的跳段数目,d为Framem所经过的跳段距离之和,D为Framem所经过的所有节点的局部密度之和;H、d初始化为 0,D初始化为锚节点的局部密度;

(3)当无线传感器网络中一个节点接收到自身邻居节点发送或转发的锚节点位置信息数 据帧Framem时,判断节点自身是否收到过此锚节点的位置信息数据帧Framem;

①当节点没有收到过此锚节点位置信息数据帧Framem时,则需更新Framem,更新后的锚节点位置信息数据帧Framem′为:Framem′={IDm,xm,ym,zm,(H+1),(d+d′),(D+D′)}(5)其中,d′为节点到向自身发送或转发Framem的邻居节点的距离,D′为节点自身的局部密度,节点保存更新后的锚节点位置信息数据帧Framem′,并将Framem′广播给整个无线传感器网络;

②当节点收到过此锚节点位置信息数据帧Framem时,判断Framem中的d加上d′是否小于节点自身已保存的到此锚节点的跳段距离之和;

如果小于,则按照式(5)更新节点自身保存的此锚节点位置信息数据帧Framem为Framem′,并将Framem′广播给整个无线传感器网络;否则丢弃此锚节点位置信息数据帧Framem;

当无线传感器网络中不再有信息交互时,所有节点记录的锚节点位置信息数据帧Framem中的d、H、D即为自身到相应锚节点的最短跳段距离dmin、最短距离跳数Hcou和最短距离局部密度Dsum。

3.根据权利要求1所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于:步骤二中,隐含层神经元数目GH取输入层神经元数目的2-10倍。

4.根据权利要求1所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于:所述步骤四的利用步骤三中获得的训练样本对神经网络进行训练的具体步骤为:对应于每一个样本Samplej,j=1,2,…,Gs,神经网络期望输出为dj,实际输出为d′j(ks),均方差函数 为:神经网络通过式(7)对各层间的连接权值和阈值沿着均方差函数 的负梯度方向进行调整,最终满足 的精度要求或迭代次数ks达到最大迭代次数Nmax;

其中, 是当前神经网络的连接权值矩阵, 是下一步迭代得到的连接权值矩阵, 是当前神经网络的阈值矩阵, 是下一步迭代得到的阈值矩阵, 是当前学习速率;

通过训练,神经网络记录了无线传感器网络的几何结构的主要特征。

5.根据权利要求1所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于:所述步骤五中未知节点Nx得到自身到锚节点Ni的实际距离dr(x,i)分为以下三种情况:(1)当Nx到Ni的最短距离跳数Hcou(x,i)=1,即Ni为Nx的邻居节点时,Nx到Ni的最短跳段距离dmin(x,i)为Nx到Ni的实际距离;

(2)当1<Hcou(x,i)≤Hmax时,将Nx到Ni的最短跳段距离dmin(x,i)、最短距离跳数Hcou(x,i)和最短距离局部密度Dsum(x,i)代入式(1),得到Nx到Ni的实际距离;

(3)当Hcou(x,i)>Hmax时,不计算Nx到Ni的实际距离。

6.根据权利要求1、2、3、4或5所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于,所述的三维无线传感器网络为二维无线传感器网络时,节点的坐标为二维坐标,用二维坐标替换三维坐标。

7.根据权利要求1所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于,所述的步骤六中未知节点根据锚节点的三维坐标以及自身到锚节点的距离得到自身三维坐标的具体步骤为:当未知节点Nx获得自身到四个或四个以上锚节点Ni的实际距离dr(x,i)时,i=1,

2,…,n,n为自然数,n≥4,锚节点Ni的三维坐标为(xi,yi,zi),建立如下欧式距离方程组:使用基于泰勒展开的最小二乘迭代法,得到未知节点Nx的三维坐标,通过以下步骤实现:①取n个锚节点Ni的质心或式(8)的极大似然解作为未知节点Nx的初始三维坐标(x0,y0,z0),且设迭代次数kE=0;

②将式(8)在(x0,y0,z0)处进行泰勒级数展开,忽略二阶以上分量,将式(8)转化为线性方程组:Aδ=B (9)

其中:

ri为(x0,y0,z0)到锚节点Ni的距离, (Δx,Δy,

Δz)分别为(x0,y0,z0)的增量;

T -1 T

③使用最小二乘法,得到式(9)的最小二乘解:δ=(AA) AB;

④判断迭代停止条件||δ||2≤εE是否成立,εE取大于0且小于1的一个小数;

若条件成立,停止计算,(x0,y0,z0)即为未知节点Nx的三维坐标;否则,令kE=kE+1;

⑤判断kE≥Kmax是否成立,Kmax为设定的求解方程组的最大迭代次数;

如果成立,则停止计算,(x0,y0,z0)即为节点Nx的三维坐标;否则,取x′0=x0+Δx,y′0=y0+Δy,z′0=z0+Δz,令(x0,y0,z0)=(x′0,y′0,z′0),返回步骤②,直到得到Nx的三维坐标。

8.根据权利要求7所述一种基于神经网络的三维无线传感器网络节点自定位方法,其特征在于,所述的三维无线传感器网络为二维无线传感器网络时,节点的坐标为二维坐标;

当未知节点Nx获得自身到三个或三个以上锚节点Ni的实际距离dr(x,i)时,i=1,2,…,n,n为自然数,n≥3,建立欧式距离方程组,用二维坐标替换三维坐标,最后得到未知节点Nx的二维坐标。

说明书 :

一种基于神经网络的三维无线传感器网络节点自定位方法

技术领域

[0001] 本发明涉及无线传感器网络节点自定位领域,特别是三维空间中无线传感器网络的节点自定位,一种基于神经网络的三维无线传感器网络节点自定位方法。

背景技术

[0002] 随着无线通讯、传感器、微机电系统、数字电子等技术的发展,以数据为中心的无线传感器网络(WSN)已成为目前IT领域的研究热点之一。无线传感器节点具有数据采集、处理和通信等功能,可实时监测、感知和处理无线传感器网络分布区域内的各种环境信息,然后传送给所需要信息的终端用户。无线传感器网络在军事安全、环境监测及预报、工业控制、交通运输、智能家居、物流管理、智能农业和医疗护理等多方面都有很广泛的用途。
[0003] 传感器节点自定位技术是无线传感器网络的关键支撑技术之一。在实际应用中,位置信息是传感器节点监测信息的重要组成部分。例如,监测森林火险的无线传感器网络在监测到火情时,不仅需要及时报告火灾情况,还需要报告火灾发生的地理位置,以便消防部门能及时赶到事发地点;天然气管道出现泄漏时,部署在管网上的传感器节点除了能报告泄漏信息外,还需要提供具体泄漏的位置;部署在战场上的无线传感器网络只有提供了敌人的具体位置,才能对其实施精准的打击等,这些功能的实现都要求传感器节点事先知道自身的位置。然而,在无线传感器网络实际应用中,传感器节点通常随机部署(如飞机布撒)在不同的环境中执行各种监测任务,自身的位置无法事先确定,因此节点在部署后首先需要实时地进行自定位。定位技术对于无线传感器网络基于位置的网络协议(如网络管理、地理路由等)的研究也有重要意义。
[0004] 传感器节点自定位是指自身位置未知的节点(未知节点)根据少数已知位置的节点(锚节点),按照某种定位机制确定自身的位置。根据定位过程中是否需要测量节点间的距离(或角度),可将定位方法分为基于距离(range-based)的定位方法和距离无关(range-free)的定位方法。大多数方法中,定位过程主要包括两个阶段:(1)节点间距离(或角度)的测量:采用的技术主要有接收信号强度指示(RSSI)、信号到达时间/时间差(TOA/TDOA)、信号到达角度(AOA)等;当节点不具有测距功能时,可以使用节点间的跳数来代替实际距离。(2)得到未知节点坐标:当未知节点获得到一定数量锚节点的距离时,可以使用三(四)边法、三(四)角法、极大似然估计法等得到自身坐标;此外,还可以通过凸规划、MDS-MAP等全局方法得到全部未知节点的坐标。
[0005] 在无线传感器网络中,由于成本、体积等因素制约,锚节点的数量是很有限的,未知节点通讯范围内锚节点的个数往往达不到得到自身坐标所需的最小锚节点数量。多跳定位方法一般使用未知节点到锚节点的最短跳段距离来代替真实距离,这样可以解决锚节点数量不足引起的定位覆盖率下降的问题,但最短跳段距离的累加机制带来的距离估计误差使得定位精度大大下降,这种影响在三维空间定位中表现尤为突出。
[0006] 神经网络是目前各领域应用最广泛的一种人工智能技术,它是通过多个非常简单的处理单元(神经元)按某种方式相互连接形成的一种智能网络系统,它能够反映人脑的一些基本功能,是一个高度复杂的非线性动力学模型。近些年,一些学者将神经网络用于无线传感器网络节点定位中,取得了较为理想的效果。Ali Shareef等分别使用三种不同的神经网络(MLP、RBF和RNN)来逼近节点间距离和位置的函数关系,并定量比较了各自的性能;S.Rajaee等使用概率神经网络(PNN)估计未知节点的坐标,并利用独立成分分析(ICA)减少定位过程中所需的计算量和能量消耗;Yurong Xu等通过在每个节点上构造BP神经网络得到自身的跳数坐标(Hop-Coordinates),然后与基于跳数的定位方法相结合,有效提高了节点的定位精度;Yun Sukhyun等利用神经网络建立信号强度和节点位置间的近似关系,以此实现拓扑结构较为简单的无线传感器网络的节点定位等。
[0007] 然而,以上方法未考虑未知节点和锚节点不相邻时最短跳段距离对定位性能的影响;只是粗略获取神经网络训练所需的样本,样本代表性不强,训练后的神经网络不能较好的体现无线传感器网络几何结构的主要性质,大多只能适用于拓扑结构较为固定的情况;另外,以上方法针对的是二维空间的节点定位问题,而实际应用中无线传感器网络往往分布在三维空间中,因此对三维空间节点自定位问题的研究更具有现实意义。

发明内容

[0008] 本发明的目的是为了解决上述问题,提供一种基于神经网络的三维无线传感器网络节点自定位方法,通过构造用于计算不相邻节点间实际距离的神经网络,并根据锚节点间的位置关系提取训练样本对神经网络进行训练;未知节点利用训练好的神经网络得到自身到不相邻锚节点的实际距离,进而得到自身的三维坐标,实现自定位。
[0009] 本发明一种基于神经网络的三维无线传感器网络节点自定位方法,通过以下步骤来实现:
[0010] 步骤一:初始化无线传感器网络;
[0011] 步骤二:建立用于计算不相邻节点间实际距离的神经网络;
[0012] 步骤三:根据无线传感器网络中的锚节点到其它锚节点的最短跳段距离dmin、最短距离跳数Hcou、最短距离局部密度Dsum以及锚节点各自的三维坐标,提取神经网络的训练样本;
[0013] 步骤四:利用步骤三中获得的训练样本对神经网络进行训练;
[0014] 步骤五:根据训练好的神经网络,每个未知节点得到自身到不相邻锚节点的实际距离;
[0015] 步骤六:未知节点根据锚节点的三维坐标以及自身到锚节点的实际距离得到自身三维坐标。
[0016] 本发明的优点在于:
[0017] (1)本发明建立了用于计算不相邻节点间实际距离的神经网络,降低了最短跳段距离累加机制带来的距离估计误差,有效提高了三维无线传感器网络定位精度;
[0018] (2)根据锚节点间的位置关系提取神经网络的训练样本,样本获取方式简单且样本代表性较强,训练好的神经网络能较好的体现无线传感器网络几何结构的主要特征;
[0019] (3)相对于只使用未知节点通讯范围内的锚节点进行定位的情况,此方法中未知节点将自身记录的信息代入神经网络,得到自身到不相邻锚节点的实际距离,在提高定位覆盖率的同时,定位精度却没有受到太大影响。

附图说明

[0020] 图1为本发明一种基于神经网络的三维无线传感器网络节点自定位方法的流程图;
[0021] 图2为本发明中更新锚节点位置信息数据帧的流程图;
[0022] 图3为本发明中神经网络的结构示意图;
[0023] 图4为本发明中使用基于泰勒级数展开的最小二乘法得到未知节点三维坐标的流程图;
[0024] 图5为本发明实施例中三维无线传感器网络部署结构示意图;
[0025] 图6为本发明节点定位方法与距离向量法各节点定位误差对比图;
[0026] 图7为本发明节点定位方法与距离向量法在不同网络连通度下平均定位误差曲线图。

具体实施方式

[0027] 下面将结合附图对本发明作进一步的详细说明。
[0028] 本发明一种基于神经网络的三维无线传感器网络节点自定位方法,流程如图1所示,通过以下步骤来实现:
[0029] 步骤一:初始化无线传感器网络;
[0030] 每个节点通过和自身邻居节点进行信息交互,获取节点自身局部密度,并测出自身到邻居节点的距离;通过所有锚节点的位置信息数据帧在无线传感器网络中传播,所有节点获取自身到所有锚节点的最短跳段距离、最短距离跳数和最短距离局部密度;所述节点自身局部密度是指节点通讯范围内邻居节点的数目;所述最短跳段距离是指两个节点间能互相通讯的最短路径的长度;所述最短距离跳数是指两个节点间最短跳段距离所在的路径包含的跳段数目;所述最短距离局部密度是指最短跳段距离所在的路径包含的所有节点的自身局部密度之和;
[0031] 具体步骤为:
[0032] (1)所有节点广播包含自身ID的请求应答数据帧,邻居节点收到请求应答数据帧后发送应答数据帧进行应答,每个节点统计自身收到的应答数据帧的数目,得到自身局部密度,并测出自身到邻居节点的距离;
[0033] (2)所有锚节点向无线传感器网络中广播包含自身ID和自身三维坐标的位置信息数据帧Framem,m为自然数;Framem的格式如下:
[0034] Framem={IDm,xm,ym,zm,H,d,D} (1)
[0035] 其中,IDm为第m个锚节点的ID,(xm,ym,zm)为第m个锚节点的三维坐标;H为Framem所经过的跳段数目,d为Framem所经过的跳段距离之和,D为Framem所经过的所有节点的局部密度之和;H、d初始化为0,D初始化为锚节点的局部密度;
[0036] (3)当无线传感器网络中一个节点接收到自身邻居节点发送或转发的锚节点位置信息数据帧Framem时,判断节点自身是否收到过此锚节点的位置信息数据帧Framem,流程如图2所示;
[0037] ①当节点没有收到过此锚节点位置信息数据帧Framem时,则需更新Framem,更新后的锚节点位置信息数据帧Frame′m为:
[0038] Frame′m={IDm,xm,ym,zm,(H+1),(d+d′),(D+D′)} (2)[0039] 其中,d′为节点到向自身发送或转发Framem的邻居节点的距离,D′为节点自身的局部密度,节点保存更新后的锚节点位置信息数据帧Frame′m,并将Frame′m广播给整个无线传感器网络;
[0040] ②当节点收到过此锚节点位置信息数据帧Framem时,判断Framem中的d加上d′是否小于节点自身已保存的到此锚节点的跳段距离之和;
[0041] 如果小于,则按照公式(2)更新节点自身保存的此锚节点位置信息数据帧Framem为Frame′m,并将Frame′m广播给整个无线传感器网络,否则丢弃此锚节点位置信息数据帧Framem;
[0042] 当无线传感器网络中不再有信息交互时,所有节点记录的锚节点位置信息数据帧Framem中的d、H、D即为自身到相应锚节点的最短跳段距离dmin、最短距离跳数Hcou和最短距离局部密度Dsum。
[0043] 步骤二:建立用于计算不相邻节点间实际距离的神经网络;
[0044] 建立包括输入层I、输出层O和一个隐含层H的三层神经网络,如图3所示,其中,输入层I包括三个神经元,分别为神经元I1、神经元I2和神经元I3,神经元I1的输入为节点间的最短跳段距离dmin,神经元I2的输入为最短距离跳数Hcou,神经元I3的输入为最短距离局部密度Dsum;输出层O包括一个神经元O1,输出为节点间的实际距离dr;隐含层H包括GH个神经元,分别为H1,H2,…, GH为隐含层神经元的个数;所述的隐含层神经元数目GH通常取输入层神经元数目的2-10倍。
[0045] 设神经网络输入层神经元Ip和隐含层神经元Hq的连接权值为wpq,隐含层神经元Hq和输出层神经元O1的连接权值为vq1,隐含层神经元Hq的输出为hq,隐含层神经元Hq的阈值为bq,输出层神经元O1的阈值为bo,隐含层和输出层神经元的传递函数分别为fH和fo;其中:p、q为自然数,p=1,2,3,q=1,2,…,GH;整个神经网络输入和输出的关系为:
[0046]
[0047] 步骤三:根据无线传感器网络中的锚节点到其它锚节点的最短跳段距离dmin、最短距离跳数Hcou、最短距离局部密度Dsum以及锚节点各自的三维坐标,提取神经网络的训练样本;
[0048] ①如果锚节点Na和Nb能通过直接或多跳的方式进行通讯,则根据Na的三维坐标(xa,ya,za)和Nb的三维坐标(xb,yb,zb)得到Na到Nb的实际距离:
[0049]
[0050] 其中:a,b为自然数,且a≠b;
[0051] 根据Na到Nb的最短跳段距离dmin(a,b)、最短距离跳数Hcou(a,b)、最短距离局部密度Dsum(a,b)和两个锚节点间的实际距离dr(a,b),得到神经网络的训练样本:
[0052] Samplej={dmin(a,b),Hcou(a,b),Dsum(a,b),dr(a,b)} (5)[0053] 其中,,Samplej为第j个训练样本,j属于自然数。
[0054] ②如果锚节点Na和Nb不能通过直接或多跳的方式进行通讯,则无法根据Na和Nb的位置关系提取神经网络的训练样本,此时根据无线传感器网络中其它能够通过直接或多跳的方式进行通讯的锚节点的位置关系提取神经网络的训练样本;
[0055] 设无线传感器网络中锚节点的个数为GA,未知节点个数为GU,根据一个锚节点和其它锚节点的位置关系最多可提取GA-1个训练样本,整个无线传感器网络最多可提取的训练样本总数量GS为:GS=GA(GA-1)/2;
[0056] 步骤四:利用步骤三中获得的训练样本对神经网络进行训练;
[0057] 设定神经网络的训练精度εN和神经网络训练的最大迭代次数Nmax,利用步骤三中式(5)获得的GS个训练样本对步骤二中建立的神经网络式(3)进行训练,使神经网络达到预先设定的神经网络的训练精度εN或达到神经网络训练的最大迭代次数Nmax;
[0058] 具体步骤为:
[0059] 对应于每一个样本Samplej,j=1,2,…,Gs,神经网络期望输出为dj,实际输出为dj′(ks),均方差函数 为:
[0060]
[0061] 神经网络通过式(7)对各层间的连接权值和阈值沿着均方差函数 的负梯度方向进行调整,最终满足 的精度要求或迭代次数ks达到最大迭代次数Nmax;
[0062]
[0063] 其中, 是当前神经网络的连接权值矩阵, 是下一步迭代得到的连接权值矩阵, 是当前神经网络的阈值矩阵, 是下一步迭代得到的阈值矩阵, 是当前学习速率;
[0064] 通过训练,神经网络记录了无线传感器网络的几何结构的主要特征。
[0065] 步骤五:根据训练好的神经网络,每个未知节点得到自身到不相邻锚节点的实际距离;
[0066] 将步骤四中训练好的神经网络各层神经元间的连接权值和各层神经元的阈值广播给整个无线传感器网络,设定最短距离跳数Hcou的最大允许值Hmax,未知节点Nx得到自身到锚节点Ni的实际距离dr(x,i),x,i为自然数;
[0067] 分为以下三种情况:
[0068] (1)当Nx到Ni的最短距离跳数Hcou(x,i)=1,即Ni为Nx的邻居节点时,Nx到Ni的最短跳段距离dmin(x,i)即为Nx到Ni的实际距离;
[0069] (2)当1<Hcou(x,i)≤Hmax时,将Nx到Ni的最短跳段距离dmin(x,i)、最短距离跳数Hcou(x,i)和最短距离局部密度Dsum(x,i)代入式(3),得到Nx到Ni的实际距离;
[0070] (3)当Hcou(x,i)>Hmax时,不计算Nx到Ni的实际距离。
[0071] 步骤六:未知节点根据锚节点的三维坐标以及自身到锚节点的实际距离得到自身三维坐标;
[0072] 当未知节点获得自身到四个或四个以上锚节点的实际距离时,建立欧式距离方程组,得到自身三维坐标;
[0073] 具体步骤为:
[0074] 当未知节点Nx获得自身到四个或四个以上锚节点Ni的实际距离dr(x,i)时,i=1,2,…,n,n为自然数,n≥4,锚节点Ni的三维坐标为(xi,yi,zi),建立如下欧式距离方程组:
[0075]
[0076] 使用基于泰勒展开的最小二乘迭代法,得到未知节点Nx的三维坐标,流程如图4所示,通过以下步骤实现:
[0077] ①取n个锚节点Ni的质心或式(8)的极大似然解作为未知节点Nx的初始三维坐标(x0,y0,z0),且设迭代次数kE=0;
[0078] ②将式(8)在(x0,y0,z0)处进行泰勒级数展开,忽略二阶以上分量,将式(8)转化为线性方程组:
[0079] Aδ=B (9)
[0080] 其中:
[0081] ri为(x0,y0,z0)到锚节点Ni的距离, (Δx,Δy,Δz)分别为(x0,y0,z0)的增量;
[0082] ③使用最小二乘法,得到式(9)的最小二乘解:δ=(ATA)-1ATB;
[0083] ④判断迭代停止条件‖δ‖2≤εE是否成立,εE通常取大于0且小于1的一个小数;
[0084] 若条件成立,停止计算,(x0,y0,z0)即为未知节点Nx的三维坐标;否则,令kE=kE+1;
[0085] ⑤判断kE≥Kmax是否成立,Kmax为设定的求解方程组的最大迭代次数;
[0086] 如果成立,则停止计算,(x0,y0,z0)即为节点Nx的三维坐标;否则,取x′0=x0+Δx,y′0=y0+Δy,z′0=z0+Δz,令(x0,y0,z0)=(x′0,y′0,z′0),返回步骤②,直到得到Nx的三维坐标。
[0087] 当三维无线传感器网络为二维无线传感器网络时,节点的坐标为二维坐标,用二维坐标替换本发明方法中节点的三维坐标,步骤六中,当未知节点Nx获得自身到三个或三个以上锚节点Ni的实际距离dr(x,i)时,i=1,2,…,n,n为自然数,n≥3,建立欧式距离方程组,用二维坐标替换三维坐标,最后得到未知节点Nx的二维坐标。
[0088] 实施例:
[0089] 如图5所示,在200m×200m×200m的三维空间区域内按均匀分布随机部署200个无线传感器节点;图中,锚节点为实心五角星,比例为20%,ID为1-40;未知节点为实心圆点,比例为80%,ID为41-200。
[0090] 分别使用本发明节点定位方法与距离向量法进行节点定位,得到的各个节点的定位误差如图6所示,图中实线为使用本发明方法得到的各个节点的定位误差,平均定位误差为23.45%;图中虚线为使用距离向量法得到的各个节点的定位误差,平均定位误差为43.67%;相对于距离向量法,本发明方法能将定位精度提高大约20%;使用距离向量法进行定位,51.25%的节点定位误差超过40%;而使用本发明方法进行定位,只有大约10%的节点定位误差超过40%。
[0091] 调节节点的通讯半径,在网络连通度为5~15下,分别使用本发明节点定位方法和距离向量法进行节点定位,得到的不同网络连通度下平均定位误差如图7所示,实线为距离向量法的平均定位误差,虚线为本发明方法的平均定位误差;在网络连通度小于等于10时,本发明方法的定位精度比距离向量法的定位精度高20%左右;在网络连通度大于10时,本发明方法的定位精度也比距离向量法的定位精度高10%以上。由此可见,本发明提供的节点定位方法能有效提高三维无线传感器网络的定位精度。