法律状态公告日
法律状态信息
法律状态
2020-04-07
授权
授权
2017-08-08
实质审查的生效 IPC(主分类):H04W16/10 申请日:20170317
实质审查的生效
2017-07-14
公开
公开
技术领域
本发明属于无线传感器网络技术领域,涉及一种基于压缩感知的无线传感器网络动态数据融合树方法。
背景技术
无线传感器网络WSNs是由大量普通节点和一个汇聚节点组成的多跳自组织网络。具有自组织、部署迅捷、高容错性和强隐蔽性等技术优势。经过几十年的发展,WSNs在科学研究和工程领域得到了更广泛应用。但是由于成本、体积等问题,传感器节点的能量和计算能力都是有限的。我们可以采用低复杂度、而且有效的方法来对无线传感器网络需要传输的数据进行融合,来减少传输数据,降低能耗,提高网络寿命。压缩感知是近些年来兴起的信号处理理论,在该理论框架下,网络采集部分信息就可以重构出完整信息。所以如何将压缩感知理论应用到无线传感器网的数据融合中,是一个十分具有研究意义的课题。
近来,基于压缩感知理论的数据采集机制得到了较多关注。但是,传统的压缩感知方法也带来了密集投影的问题。由于在一般情况下M<<n/2(m和n分别为观测次数和节点个数),采用压缩感知的方式可以大幅节省能量;但当投影次数m增大时,压缩感知的能耗可能会接近传统方式甚至更高。因此我们需要一种更高效的投影机制,在保证信号能以高概率重构的情况下进一步节省能量。
发明内容
有鉴于此,本发明的目的在于提供一种基于压缩感知的无线传感器网络动态数据融合树方法,能够解决一般算法计算复杂度高和网络能耗高的问题。
为达到上述目的,本发明提供如下技术方案:
一种基于压缩感知的无线传感器网络动态数据融合树方法,该方法包括以下步骤:
步骤1:初始化:设置节点集合Si←{},路径树集合Ti←{};
步骤2:将网络中的节点一维化Node{N(1),N(2),...,N(n)};
步骤3:根据以下公式,获得稀疏随机投影矩阵:
其中Φi,j为第i行j列的投影系数,参数s确定投影矩阵的稀疏度,p为概率;当s=n/(lgn)时,O(klgn)次投影的重构精度等效于最大K系数算法;
矢量φi(1≤i≤m)中非零值所对应的节点即为参与第i次投影的点,将其加入源节点集Si={Si(1),Si(2),...,Si(logn)};
步骤4:在第一次投影(i=1)时,依据Dijkstra算法,求出各源节点形成最短路径树Ti={Ti(1),Ti(2),...,Ti(logn)};
步骤5:从第二次投影(i>=2)起,参与上次投影而本次投影不参与的节点,进行删除处理;没有参与上次投影而参与本次投影的节点,进行加入处理;
步骤6:节点采集数据后,按照生成的数据融合树进行传输。
进一步,在本方法中,在进行投影切换时,把每次投影过程看作一次路由选择,以相同概率选择部分节点参与投影,若每次参与投影的节点能形成最短路径树,就通过该最短路径树将参与投影节点的数据加权和传输到汇聚节点。
进一步,在步骤5中,投影切换时,删除节点的方法包括:
从原生成树中删除一个多播结点s的方法是:如果该节点是多播树中的叶结点,则直接删除s及与s相连的其他节点;若该节点是中间结点,删除s后,将s的所有子孙结点中的端结点组成一个集合Md,将删除了集合Md的子树记为Tt,采用如下算法将Md中的结点加入生成树:
1)初始化:计算Md中每一个结点到子树Tt的最短路径,记为T_DIS,并令集合Q为空;
2)在Md不为空的条件下,选择Md中到Tt距离最短或在原生成树中到接应结点距离最短(且接应结点在不中)的端结点min_Md,将min_Md和min_Md到生成树最小路径上所有的Steiner结点和min_Md在原生成树中所有的子孙结点一起加入生成树,从Md中删除所有己加入生成树的端点;若Md不为空转下一步,否则程序结束;
3)若x目前的接应结点与在原生成树中的接应结点不同,则在生成树中每加入一个接应结点u,判断其是否是原生成树中的结点;若不是,则将该结点加入Q;每在Q中加入一个结点,考察新加入结点到Md中每一结点v的距离,若该距离小于结点v到子树Tt的距离,则将该距离作为结点v到子树Tt的距离;转2)。
进一步,在步骤5中,投影切换时,加入节点的方法如下:
1)初始化:令k=1,从源点s开始,将单结点s作为T1;此时Tk=T1,V1=Vk={s}并将所有要加入的结点组成集合N,将N中每一个结点到s的距离作为结点到Tk的距离记为y_DIS[i];并令集合Q为空,令Mk中所有结点到集合Q的距离为无穷大;
2)静态计算最小代价多播生成树时,各端点加入的顺序:在Mk和N不为空的条件下,依次比较dist[k]与N到Tk的最短路径y_DIS_min;若dist[k]不大于y_DIS_min,则将相应的端点和该端点到生成树最小路径上所有的Steiner结点一起加入生成树(即该端点的路径结点),从Mk中删除该端点;比较N中每一个结点到每一个新加入结点的距离,若该距离小于y_DIS_min,则将该距离作为y_DIS_min;每加入一个结点,k的值加1,重复本步骤;若dist[k]大于y_DIS_min或Mk为空,则将y_DIS_min对应的端点y和y到z(z为y的接应结点)的路径上所有的Steiner结点一起加入生成树;若Mk不为空转下一步,否则程序结束;
3)生成树每加入一个结点u,判断新加入是否是原生成树中的结点,若不是,则将该结点加入Q;
4)每在Q中加入一个结点,考察新加入结点到Mk中每一结点v的距离,若该距离小于结点v到集合Q的距离,则将该距离作为结点v到集合Q的距离,并在从中选出到集合Q距离最近的结点;
5)设Mk中到集合Q距离最近的结点到集合的Q距离为D_t,比较y_DIS_min、dist[k]、D_t三者的大小,若dist[k]最小,则将相应的端点vk和该端点到生成树最小路径上所有的Steiner结点一起加入生成树(生成树每加入一个结点u,考察u到集合N中每一个元素i的距离,若小于y_DIS[i],则令y_DIS[i]为u到元素i的距离,令u为元素i的接应结点);从Mk中删除该端点(若Mk为空,程序结束);若vk就是Mk中到集合Q距离最近的结点,则从Mk中重新选择一个到集合Q距离最近的结点;令k=k+1直到vk∈Mk,重复步骤5);若D_t最小,则将Mk中到集合Q距离最近的端点和该端点到生成树最小路径上所有的Steiner结点一起加入生成树从Mk中删除该端点(若Mk为空,程序结束),转3);若y_DIS_min最小,将y_DIS_min对应的端点y和y到z(z为y的接应结点)的路径上所有的Steiner结点一起加入生成树和集合Q,转4)。
本发明的有益效果在于:
1、采用稀疏投影机制,可以有效的降低网络数据传输量;
2、将压缩感知与路由协议相结合,可以有效的减少网络能耗;
3、投影切换时,考虑了节点的离开和加入,动态生成数据融合树,方法的计算复杂度很小。因此,本发明实施例在有效地降低了网络能耗的同时,减少了网络节点的计算负担。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的稀疏投影示意图;
图2为本发明方法的流程图;
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图2为本发明所述方法的流程图,如图所示,本发明提供的基于压缩感知的无线传感器网络动态数据融合树方法,包括:
步骤1:初始化:设置节点集合Si←{},路径树集合Ti←{};
步骤2:将网络中的节点一维化Node{N(1),N(2),...,N(n)};
步骤3:根据以下公式,获得稀疏随机投影矩阵:
其中Φi,j为第i行j列的投影系数,参数s确定投影矩阵的稀疏度,p为概率;当s=n/(lgn)时,O(klgn)次投影的重构精度等效于最大K系数算法;
矢量φi(1≤i≤m)中非零值所对应的节点即为参与第i次投影的点,将其加入源节点集Si={Si(1),Si(2),...,Si(logn)};
步骤4:在第一次投影(i=1)时,依据Dijkstra算法,求出各源节点形成最短路径树Ti={Ti(1),Ti(2),...,Ti(logn)};
步骤5:从第二次投影(i>=2)起,参与上次投影而本次投影不参与的节点,进行删除处理;没有参与上次投影而参与本次投影的节点,进行加入处理;
步骤6:节点采集数据后,按照生成的数据融合树进行传输。
在本方法中,在进行投影切换时,把每次投影过程看作一次路由选择,以相同概率选择部分节点参与投影,若每次参与投影的节点能形成最短路径树,就通过该最短路径树将参与投影节点的数据加权和传输到汇聚节点。图1为本发明的稀疏投影示意图。
在步骤5中,投影切换时,删除节点的方法包括:
从原生成树中删除一个多播结点s的方法是:如果该节点是多播树中的叶结点,则直接删除s及与s相连的其他节点;若该节点是中间结点,删除s后,将s的所有子孙结点中的端结点组成一个集合Md,将删除了集合Md的子树记为Tt,采用如下算法将Md中的结点加入生成树:
1)初始化:计算Md中每一个结点到子树Tt的最短路径,记为T_DIS,并令集合Q为空;
2)在Md不为空的条件下,选择Md中到Tt距离最短或在原生成树中到接应结点距离最短(且接应结点在不中)的端结点min_Md,将min_Md和min_Md到生成树最小路径上所有的Steiner结点和min_Md在原生成树中所有的子孙结点一起加入生成树,从Md中删除所有己加入生成树的端点;若Md不为空转下一步,否则程序结束;
3)若x目前的接应结点与在原生成树中的接应结点不同,则在生成树中每加入一个接应结点u,判断其是否是原生成树中的结点;若不是,则将该结点加入Q;每在Q中加入一个结点,考察新加入结点到Md中每一结点v的距离,若该距离小于结点v到子树Tt的距离,则将该距离作为结点v到子树Tt的距离;转2)。
在步骤5中,投影切换时,加入节点的方法如下:
1)初始化:令k=1,从源点s开始,将单结点s作为T1;此时Tk=T1,V1=Vk={s}并将所有要加入的结点组成集合N,将N中每一个结点到s的距离作为结点到Tk的距离记为y_DIS[i];并令集合Q为空,令Mk中所有结点到集合Q的距离为无穷大;
2)静态计算最小代价多播生成树时,各端点加入的顺序:在Mk和N不为空的条件下,依次比较dist[k]与N到Tk的最短路径y_DIS_min;若dist[k]不大于y_DIS_min,则将相应的端点和该端点到生成树最小路径上所有的Steiner结点一起加入生成树(即该端点的路径结点),从Mk中删除该端点;比较N中每一个结点到每一个新加入结点的距离,若该距离小于y_DIS_min,则将该距离作为y_DIS_min;每加入一个结点,k的值加1,重复本步骤;若dist[k]大于y_DIS_min或Mk为空,则将y_DIS_min对应的端点y和y到z(z为y的接应结点)的路径上所有的Steiner结点一起加入生成树;若Mk不为空转下一步,否则程序结束;
3)生成树每加入一个结点u,判断新加入是否是原生成树中的结点,若不是,则将该结点加入Q;
4)每在Q中加入一个结点,考察新加入结点到Mk中每一结点v的距离,若该距离小于结点v到集合Q的距离,则将该距离作为结点v到集合Q的距离,并在从中选出到集合Q距离最近的结点;
5)设Mk中到集合Q距离最近的结点到集合的Q距离为D_t,比较y_DIS_min、dist[k]、D_t三者的大小,若dist[k]最小,则将相应的端点vk和该端点到生成树最小路径上所有的Steiner结点一起加入生成树(生成树每加入一个结点u,考察u到集合N中每一个元素i的距离,若小于y_DIS[i],则令y_DIS[i]为u到元素i的距离,令u为元素i的接应结点);从Mk中删除该端点(若Mk为空,程序结束);若vk就是Mk中到集合Q距离最近的结点,则从Mk中重新选择一个到集合Q距离最近的结点;令k=k+1直到vk∈Mk,重复步骤5);若D_t最小,则将Mk中到集合Q距离最近的端点和该端点到生成树最小路径上所有的Steiner结点一起加入生成树从Mk中删除该端点(若Mk为空,程序结束),转3);若y_DIS_min最小,将y_DIS_min对应的端点y和y到z(z为y的接应结点)的路径上所有的Steiner结点一起加入生成树和集合Q,转4)。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
机译: 基于网格或树的无线传感器网络的路径负载控制路由系统以及一种能够优化网络中传感器节点电池消耗的方法
机译: 快速公路上与车辆有关的交通信息动态数据融合的方法,涉及基于数据融合结果验证,更改或禁用交通消息通道交通信号信息的输出
机译: 基于模拟退火算法的无线传感器网络和Actor网络中基于扩展树的路由方法