发明内容
为了减小这种误差,本发明提出了一种无线传感器网络及其控制方法以及一种改进的无线传感器网络的DV-Hop定位算法。具体技术方案如下:
一种无线传感器网络,包括无线传感器,汇聚站点和远程中心,其中,所述无线传感器通讯连接至汇聚站点,其用于监测并可向汇聚站点发送信息;所述汇聚站点通讯连接至远程中心,并可将处理后信息发送至远程中心;所述远程中心通讯连接至汇聚站点并可向其发送信息。
进一步地,汇聚站点与远程中心之间通过网络进行信号传输。
进一步地,所述无线传感器包括多个传感器节点。
上述无线传感器网络的控制方法,包括如下步骤:
(1)无线传感器网络内的未知节点,在获得邻居节点的信息后,找出能与自己通信的锚节点,并且记录锚节点在网络中传播的信息包,存储在新创建的链表中;
(2)未知节点根据链表中获得的与各个锚节点的跳数,确定到锚节点的最短路径,未知节点将新的链表中的信息包,传给最近的锚节点;
(3)锚节点在接收到各个未知节点发来的链表,向链表中更新信息,并且加权计算新的平均跳距,也向链表中更新信息;
(4)锚节点完成步骤(3)后,将完成更新的链表传播至未知节点中;
(5)未知节点计算到各个锚节点的距离,计算未知节点坐标,实现未知节点的定位。
进一步地,步骤(1)中,所述信息包括锚节点的ID、位置坐标和到接收信息包未知节点的跳数等信息。
进一步地,步骤(1)中,对于同一个锚节点的信息,只存储跳数最小的信息包。
进一步地,步骤(2)中,若存在多个最近锚节点,则随机选取其中一个。
进一步地,步骤(3)中,更新的信息包括发来信息的未知节点个数,距离自己本身的跳数等。
进一步地,步骤(3)中,根据跳数为1的未知节点个数来加权计算新的平均跳距。
进一步地,步骤(5)中,未知节点利用链表中的跳数和更新的平均跳距计算到各个锚节点的距离,在运用三边测量法或者极大似然估计法来计算未知节点坐标,实现未知节点的定位。
针对DV-Hop定位算法的不足,在DV-Hop算法的基础上,引入未知节点加权模型,提高节点定位准确率。
将未知节点加权模型引入DV-Hop定位算法中,针对算法中节点随机分布的不规则和随机性所引起的节点定位误差,本发明采用新的链表记录节点的ID号、位置坐标以及跳数等信息,在定位过程中,基于锚节点周边跳数1的未知节点的个数,作为权重加到锚节点的平均跳距的计算中,用来平衡由于节点随机分布的不规则所带来的定位误差。前面产生的新的平均跳距,传播给未知节点,未知节点再根据更新的平均跳距计算到锚节点之间的距离,最后采用三边测量法计算未知节点坐标。具体步骤如下:
(1).无线传感网络内的未知节点,在获得邻居节点的信息后,找出能与自己通信的锚节点,并且记录锚节点在网络中传播的信息包,存储在新创建的链表中。这些信息包中含有锚节点的ID、位置坐标和到接收信息包未知节点的跳数等信息。对于同一个锚节点的信息,只存储跳数最小的信息包;
(2).未知节点根据链表中获得的与各个锚节点的跳数,确定到锚节点的最短路径,未知节点将新的链表中的信息包,传给最近的锚节点;若存在多个最近锚节点,则随机选取其中一个;
(3).锚节点在接收到各个未知节点发来的链表,向链表中更新发来信息的未知节点个数,距离自己本身的跳数等信息,并且根据跳数为1的未知节点个数来加权计算新的平均跳距,同样更新到收到的链表当中。
(4).锚节点在完成(3)中的任务后,将完成更新的链表传播至未知节点中,未知节点利用链表中的跳数和更新的平局跳距计算到各个锚节点的距离,在运用三边测量法或者极大似然估计法来计算未知节点坐标,实现未知节点的定位。
与目前现有技术相比,本发明提供一种改进的无线传感器网络的DV-Hop定位算法,采用锚节点最近未知节点,作为权重,平衡在定位过程中,由于节点分布的随机性和不规则性所带来的节点定位误差。锚节点和未知节点,通过不断传递、更新链表以及链表中的信息包,完成对锚节点的加权,实现新的平均跳距的计算、更新和传递,未知节点再根据更新的平均跳距和链表已经存在的跳数,计算到锚节点之间的距离,最后采用三边测量法计算未知节点坐标。本发明,有效的提高了未知节点定位的准确度,降低了定位误差,并且,大部分计算任务都在锚节点上完成,节省了未知节点的CPU资源和电源,保证了网络的有效运行。
具体实施方式
下面根据附图对本发明进行详细描述,其为本发明多种实施方式中的一种优选实施例。
一种改进的无线传感器网络的DV-Hop定位算法,进一步地引入了未知节点加权模型,平衡由于节点随机分布的不规则所带来的定位误差提高节点定位准确率。本发明采用新的链表记录节点的ID号、位置坐标以及跳数等信息,在定位过程中,基于锚节点周边跳数1的未知节点的个数,作为权重加到锚节点的平均跳距的计算中,用来平衡由于节点随机分布的不规则所带来的定位误差。前面产生的新的平均跳距,传播给未知节点,未知节点再根据更新的平均跳距计算到锚节点之间的距离,最后采用三边测量法计算未知节点坐标。具体步骤如下:
(1).无线传感网络内的未知节点,在获得邻居节点的信息后,找出能与自己通信的锚节点,并且记录锚节点在网络中传播的信息包,存储在新创建的链表中。这些信息包中含有锚节点的ID、位置坐标和到接收信息包未知节点的跳数等信息。对于同一个锚节点的信息,只存储跳数最小的信息包;
(2).未知节点根据链表中获得的与各个锚节点的跳数,确定到锚节点的最短路径,未知节点将新的链表中的信息包,传给最近的锚节点;若存在多个最近锚节点,则随机选取其中一个;
(3).锚节点在接收到各个未知节点发来的链表,向链表中更新发来信息的未知节点个数,距离自己本身的跳数等信息,并且根据跳数为1的未知节点个数来加权计算新的平均跳距,同样更新到收到的链表当中。
(4).锚节点在完成(3)中的任务后,将完成更新的链表传播至未知节点中,未知节点利用链表中的跳数和更新的平局跳距计算到各个锚节点的距离,在运用三边测量法或者极大似然估计法来计算未知节点坐标,实现未知节点的定位。
下面参照附图2,对本发明的内容以一个具体实施例,进行具体的详细说明。
对于任意锚节点i,假设其存在邻居未知节点l,m,n,且这三个未知节点到锚节点i的跳数分别为1,1,2,且均为最短路径。在本发明提出的算法中,未知节点l,m,n分别创建新的链表list1,list2,list3,在未知节点获取锚节点i广播的信息时,会形成如下表达:
list1i={ID=Anchori,(xi,yi),hop=1},
list2i={ID=Anchori,(xi,yi),hop=1},
list3i={ID=Anchori,(xi,yi),hop=2},
根据前面描述,以上的跳数均为最小跳数,即最短路径记录完毕,未知节点向锚节点更新信息。锚节点i在收到相应的链表信息后,记录未知节点l,m的信息,形成如下表达:
record={nearest=2,(ID=l,m)}
锚节点根据已经记录的信息,与其他锚节点一起计算网络中的平局跳距,其中,nearest=2是锚节点i在计算新的平局跳距的权重,同样其他锚节点会有自己的权重,并完成计算,信息记录如下:
record={nearest=2,(ID=l,m),AHD}
其中AHD是更新的网络的平均跳距,锚节点i会将更新的信息,更新到链表中国,如下:
list1i={ID=Anchori,(xi,yi),hop=1,AHD}
list2i={ID=Anchori,(xi,yi),hop=1,AHD}
list3i={ID=Anchori,(xi,yi),hop=2,AHD}
然后向网络中的未知节点广播,未知节点接收到信息后,利用链表中的跳数和更新的平局跳距计算到各个锚节点的距离,在运用三边测量法或者极大似然估计法来计算未知节点坐标,实现未知节点的定位。
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种改进,或未经改进直接应用于其它场合的,均在本发明的保护范围之内。