掌桥专利:专业的专利平台
掌桥专利
首页

一种基于均等分簇的光电-雷达传感器网数据收集方法

文献发布时间:2023-06-19 19:30:30


一种基于均等分簇的光电-雷达传感器网数据收集方法

技术领域

本发明属于网络优化设计领域,价值指向则是针对边境具体的边境地理环境特点以及节点所处的复杂多变的地形,提出了一种基于均等分簇和移动收集器的压缩数据收集方法。

背景技术

针对边境防护的无线传感器网络以数据为中心,能够协作地实时监测、感知和采集各种环境或监测对象的信息,并将处理后的信息传送给基站,是一种面向边境防护与监测的有效手段。

针对边境复杂的地形环境,有节点分布在山川间,而有的节点分布在广阔平原中,因而在对各个节点进行数据收集时,基于分簇拓扑结构的WSN(无线传感器网络)数据收集算法通常可以很好地平衡节点之间的能耗,并且鲁棒性更强。常用的不使用CS(压缩感知)的分簇路由算法,簇头需要收集簇内所有节点感知到的原始数据,然后通过多跳传输或者借助移动数据收集技术完成数据往Sink的汇聚。这种数据收集方式使得簇头需要承担了更多的数据收发任务,消耗更多的能量,从而造成了节点之间能耗的不均衡,也就是所谓的能量黑洞问题。其次,簇头只是简单地收集簇内节点数据,没有利用同一个簇内节点数据的时空相关性,导致数据存在冗余,网络能耗增加。因此有研究将压缩感知技术与分簇算法相结合,对数据进行压缩传输,最典型的就是HcsCluster算法,该算法在每个簇头处都存储着一个观测矩阵,负责对簇内节点数据进行压缩测量;然后,簇内节点不对数据做任何处理,将其发送至簇头;最后,簇头对接收到的数据进行压缩编码并传输至Sink,Sink根据接收的观测值恢复出原始节点数据。从以上过程可以发现,HcsCluster并没有对簇内传输的数据进行压缩,所以其仍然存在数据冗余和能耗不均衡的问题,并且它也没有考虑到观测值汇聚过程中的能量消耗问题。另一种压缩数据收集算法MSTP算法虽然能够利用CS对所有节点数据进行压缩,但是其需要根据观测矩阵来构造相匹配的路由,然后利用路由完成编码过程,对于节点密度相对较小的网络,会导致压缩编码过程消耗过多的能量。

发明内容

有鉴于此,本发明提出了一种基于均等分簇和移动收集器的压缩数据收集方法。本发明解决了基于分簇拓扑的WSN压缩数据收集算法中存在压缩编码过程无法有效利用网络路由信息的问题,降低了降低簇头能耗,减少了移动收集器需要访问节点数目。

本发明采用的技术方案为:

一种基于均等分簇的光电-雷达传感器网数据收集方法,包括如下步骤:

步骤1:设置一个负责收集数据的Sink节点,以及N个普通的传感器节点;

步骤2:根据节点的位置分布,使用均等分簇算法将网络分为M个簇,并且根据分簇信息构造出观测矩阵;

步骤3:对M个簇使用分布式簇头选择算法,选择出簇头和备选簇头,准备新一轮的数据收集;

步骤4:根据节点位置信息和上一步的确定的簇头,利用局部数据转发树构建算法构建观测矩阵每一行涉及到的普通节点之间路由;

步骤5:每个节点根据已经构造好的路由,将自己的读数与权值相乘后加上自己所有上一跳发送过来的加权和的到一个新的结果,将此结果发送至路由中的下一跳节点;

步骤6:利用移动收集器最短路径规划算法规划好收集器的移动路径,然后按照设定路径收集所有簇头处的观测值并传输至Sink;

步骤7:Sink节点利用收集到的观测值和观测矩阵Φ以及压缩感知还原算法,恢复传感器节点的原始读数。

进一步地,步骤1中,假设传感器分布区域是一个边长为A*B的狭长区域,Sink节点位于区域正中心位置;在目标区域内所有传感器负责检测目标数据,每个普通节点在每一轮数据数据收集过程中都会感知到一个读数x

进一步地,步骤2分为两个阶段:

第一阶段:基于凝聚的层次聚类方法AGNES的分簇,在网络处于初始状态时,网络中簇的数目大于要求的M,接下来每一轮都合并相似度最高的两个簇,簇的数目减一,直到只剩下M个簇则本阶段结束;在无线传感器网络模型中,簇与簇之间相似度的定义为只要两个簇之间最短距离小于节点的最大通信距离,就认为这两个簇是连通的,因此,选择如下公式作为相似度的定义方式:

其中,C

第一阶段基于AGNES的均等分簇算法的步骤如下:

(1)网络初始化,每个节点单独构成一个簇C

(2)根据公式(1)计算出任意两个簇之间的相似度,即C

(3)在相似度矩阵中找到相似度最高的两个簇C

(4)重复步骤(3),直到网络中簇的个数为M,结束第一阶段的分簇过程;

第二阶段:对每个簇包含节点的数目进行调整;具体方式为:

为每个簇定义一个限制水平,初始时均为0,当某一个簇向其他簇借了一个节点后,该簇的限制水平就加1;

对于每一个包含节点数小于N/M的簇C

若Q中存在节点k,并且节点k所属的簇C

重复以上的步骤,直到所有的簇包含节点数目都大于N/M,且簇节点个数基本一致。

进一步地,步骤3的具体方式为:

将剩余能量和到Sink距离这两者的比值定义为一个指标Ed,如式(2)所示,节点当选为簇头的可能性随着Ed的增大而增大:

为了找到簇中Ed值最大的两个节点,首先定义簇头选择过程中节点发送的数据包P

然后通过以下步骤完成簇头以及备份簇头的选择过程:

(1)在簇中随机的选择一个节点ClusterTmp充当临时簇头,利用图论里的最小生成树算法,构建一棵以ClusterTmp为根节点的数据转发树;

(2)簇内每个节点根据公式(2)计算自身的Ed值,并且将数据包P中节点1、对应的Ed设置为自身的序号和计算出的Ed值,将节点2以及对应的Ed分别设置为-1和0;

(3)数据转发树的叶子节点向自己的下一跳节点发送数据包P,接收到数据包的节点通过比较接收到的两个Ed值与自己存储的Ed值,选择两个具有最大Ed的节点,依次填入数据包P中;当中间的非叶子节点接收到了所有上一跳节点发送过来的数据包以后就将自己更新后的数据包发送给下一跳节点;

(4)临时簇头节点ClusterTmp接受到所有的数据包P后就得到最终簇头节点和临时簇头节点以及对应Ed值,它通过广播的方式通知所有的节点新的簇头以及备选簇头的信息。

进一步地,步骤4的具体方式为:

(1)以图论中的最小生成树算法开始构建一棵以投影节点为根节点的数据转发树,完成部分路由的构建,此时还有部分孤立节点无法被添加到树中;

(2)对于每一个孤立节点找到距离其最近的并且被加入了转发树中的节点,利用迪杰斯特拉算法找到两者间的一条最短路径。

进一步地,步骤5的具体方式为:

每一个节点将自己的读数x

进一步地,步骤6的具体方式为:

(1)利用模拟退火算法获取原始的移动轨迹S;具体方式为:

①初始化:设置初始温度T和每一个温度T需要迭代的次数,随机产生一个初始路径S;

②随机构造一个新的路径S

③根据评价函数C,计算新解与原解之间的差值ΔT=C(S

④如果ΔT<0,那么就接受S

⑤重复第2至4步直至达到迭代次数;

⑥减小温度值T=0.99*T,当T小于0.001时结束;

(2)利用传感器节点通信模型进一步减少轨迹S的长度,得到最终的的轨迹S*;具体方式为:

⑦初始化:start和end为轨迹S的第一个节点和最后一个节点序号,新的轨迹S*={start,end},k=start+1;

⑧连接start和k,设这两点间线段为L;

⑨判断线段L到k通信半径圆的相交点P,若相交点存在,则令start=P,k=k+1,并将start加入S*中;若相交点不存在,判断L是否小于通信半径,是则start加入S*,start不变,k=k+1,否则start=k,k=k+1,start加入S*中;

如果start=end,算法结束,否则跳转至第⑧步。

本发明具有如下有益效果:

1、本发明将网络的分簇与观测矩阵的构造相结合,每个簇的簇头收集簇内压缩数据,并且将数据汇聚和数据压缩相结合,减少簇内普通节点的数据转发量。

2、为了平衡簇内能耗,本发明考虑了节点能量以及节点空间位置,提出了一种簇头轮换和簇头备份机制。

3、对于较大规模的传感器网络,簇头的观测值汇聚到基站消耗较大能量。为此,本发明根据节点分布的密度,提出一种基于区域划分移动数据收集策略。

4、本发明解决了基于分簇拓扑的WSN压缩数据收集算法中存在压缩编码过程无法有效利用网络路由信息的问题,降低了降低簇头能耗,减少了移动收集器需要访问节点数目。

附图说明

图1为节点分簇与观测矩阵构建过程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下参照附图,对本发明做进一步的详细说明。

一种基于均等分簇和移动收集器的压缩数据收集方法,包括以下步骤:

步骤一:网络初始化。设置一个Sink节点(可以是固定收集器也可以是移动收集器)负责收集数据以及N个普通的传感器节点,假设传感器分布区域是一个边长为A*B的狭长区域,而Sink节点位于区域正中心位置。在目标区域内所有传感器负责检测目标数据,每个普通节点在每一轮数据数据收集过程中都会感知到一个读数x

步骤二:根据节点的位置分布,使用均等分簇算法将网络分为M个簇,并且根据分簇信息构造出观测矩阵。

第一阶段为基于AGNES的分簇,在网络处于初始状态时,网络中簇的数目大于要求的M,接下来每一轮都合并相似度最高的两个簇,簇的数目减一,直到只剩下M个簇本阶段结束。在WSN模型中,簇与簇之间相似度的定义为只要两个簇之间最短距离小于节点的最大通信距离,就可以认为这两个簇是连通的,因此本算法选择如下公式作为相似度的定义方式:

其中C

(1)网络初始化,每个节点单独构成一个簇C

(2)根据公式(1)计算出任意两个簇之间的相似度,即C

(3)在相似度矩阵中找到相似度最高的两个簇C

(4)重复第三步直到网络中簇的个数为M,结束本算法第一阶段分簇过程。

第二阶段需要对每个簇包含节点的数目进行调整。首先为每个簇定义一个限制水平,初始时均为0,当某一个簇向其他簇借了一个节点后,该簇的限制水平就加1。第一步,对于每一个包含节点数小于N/M的簇C

步骤三:对M个簇使用分布式簇头选择算法,选择出簇头和备选簇头,准备新一轮的数据收集。

将剩余能量和到Sink距离这两者的比值定义为一个指标Ed,如式(2)所示,节点当选为簇头的可能性随着Ed的增大而增大。

为了找到簇中Ed值最大的两个节点,首先需要定义簇头选择过程中节点发送的数据包P

然后通过以下几步可以完成簇头以及备份簇头的选择过程:

(1)在簇中随机的选择一个节点ClusterTmp充当临时簇头,利用图论里的最小生成树算法,构建一棵以ClusterTmp为根节点的数据转发树。

(2)簇内每个节点根据公式(2)计算自身的Ed值,并且将数据包P中节点1、对应的Ed设置为自身的序号和计算出的Ed值,将节点2以及对应的Ed分别设置为-1和0。

(3)数据转发树的叶子节点向自己的下一跳节点发送数据包P,接收到数据包的节点通过比较接收到的两个Ed值与自己存储的Ed值,选择两个具有最大Ed的节点,依次填入数据包P中。同样地,当中间的非叶子节点接收到了所有上一跳节点发送过来的数据包以后就将自己更新后的数据包发送给下一跳节点。

(4)临时簇头节点ClusterTmp接受到所有的数据包P后就可以得到最终簇头节点和临时簇头节点以及对应Ed值,它通过广播的方式通知所有的节点新的簇头以及备选簇头的信息。

步骤四:根据节点位置信息和上一步的确定的簇头,利用局部数据转发树构建算法构建观测矩阵每一行涉及到的普通节点之间路由。

(1)以图论中的最小生成树算法开始(例如Kruskal或Prims算法)构建一棵以投影节点为根节点的数据转发树,完成部分路由的构建,但此时还有部分孤立节点无法被添加到树中;

(2)对于每一个孤立节点找到距离其最近的并且被加入了转发树中的节点,利用迪杰斯特拉算法找到两者间的一条最短路径。

步骤五:数据收集。每个节点根据已经构造好的路由,将自己的读数与权值相乘后加上自己所有上一跳发送过来的加权和的到一个新的结果,将此结果发送至路由中的下一跳节点。即每一个节点将自己的读数x

根据前述的压缩感知理论有Z=ΦX,其中Z=[z

网络中M个簇在一轮数据采集周期里产生了M个观测值,然后利用一个移动数据收集器访问所有的簇头就可以收集观测值。参数M的大小与原始读数的稀疏性相关,Φ的每一行的稀疏性(每一行中非零元素的个数)与Φ的行数M存在一个权衡,为了使得Φ的非零元素分布更加均匀,矩阵每一行的稀疏度都相同,也就是说每个簇包含的节点数均大于或者等于N/M。

步骤六:利用移动收集器最短路径规划算法规划好收集器的移动路径,然后按照设定路径收集所有簇头处的观测值并传输至Sink。

(1)利用模拟退火算法获取原始的移动轨迹S;

①初始化:设置初始温度T和每一个温度T需要迭代的次数L,随机产生一个初始路径S;

②随机构造一个新的路径S

③根据评价函数C,计算新解与原解之间的差值ΔT=C(S

④如果ΔT<0,那么就接受S

⑤重复第2至4步L次;

⑥减小温度值T=0.99*T,当T小于0.001时结束;

(二)利用传感器节点通信模型进一步减少轨迹S的长度,得到最终的的轨迹S*;

⑦初始化:start和end为轨迹S的第一个节点和最后一个节点序号,新的轨迹S*={start,end},k=node;

⑧连接start和k,设这两点间线段为L。

⑨判断线段L到k通信半径圆的相交点P,若相交点存在,则令start=P,k=k+1,并将start加入S*中;若相交点不存在,判断L是否小于通信半径,是则start加入S*,start不变,k=k+1,否则start=k,k=k+1,start加入S*中。

如果start=end,算法结束,否则跳转至第⑧步。

步骤七:数据恢复。Sink节点利用收集到的观测值和观测矩阵Φ以及相关的压缩感知还原算法,如OMP,以恢复原始的N个传感器读数。

以上所述为方法的详细介绍,对本发明的目的、技术方案和有益效果进行了进一步详细说明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于最佳投影点的光电-雷达传感器网数据收集方法
  • 一种基于随机游走的光电-雷达传感器网数据收集方法
技术分类

06120115934725