当前位置: 首页 > 专利查询>中山大学专利>正文

基于随机线性网络编码的协作通信方法技术

技术编号:9492186 阅读:136 留言:0更新日期:2013-12-26 01:51
本发明专利技术针对无线传感器网络(Wireless?Sensor?Networks,WSNs)通信的可靠性,提出了基于网络编码的协作通信方法(Network?Coding?Based?Cooperative?Communication?Scheme,NCCC)。NCCC结合了协作通信和网络编码各自的优点,通过对发送数据包进行网络编码而获得一定的编码正增益,同时利用协作通信降低因个别节点失效而造成通信失败的概率。在NCCC中,每个节点独立编码并发送数据包,不需要几个节点同时发送数据,因此节点间不需要严格的时钟同步。同时,在有限域上随机产生网络编码的编码向量,从而降低了实现的复杂度。本发明专利技术具有实现复杂度低,并可以大大提高WSN中的通信可靠性的特点。

【技术实现步骤摘要】
基于随机线性网络编码的协作通信方法
本专利技术针对的是无线传感器网络(WirelessSensorNetworks,WSNs)及其协作通信方法,具体地说,是涉及到无线传感器网络中的网络编码和协作通信方法及其可靠性等性能。
技术介绍
无线传感器网络是近十年来兴起的一项网络技术,它集嵌入式系统、无线通信技术、计算机网络技术等高新技术于一身,有着广阔的应用前景,因此在学术界吸引了世界各国高校及研究机构的目光;在工业界也逐步得到工业巨头们的重视,目前已有无线传感器网络产品被广泛应用于军事、工业、交通、农业、医疗等多个领域。无线传感器网络由大量分布于监测区域的传感器节点组成,这些传感器节点通过无线自组织的方式构成网络。传感器节点通过安装在其上面的各类传感器(如温度传感器、湿度传感器、光照传感器等)探测相应的环境参数数据后,经过本地初步处理之后通过网络路由协议找出到达汇聚节点的路径,然后将数据发送至下一跳节点。下一跳节点经过存储转发的方式(或将数据与本地数据进行数据融合后)将数据发送到再下一跳节点,直至将数据传送到汇聚节点。汇聚节点将收到的数据进行汇总处理,然后通过公共通信网络,如卫星、互联网和移动通信网络等途径将数据发送至管理终端。由于监控区域一般位于环境恶劣的地方,不便或不可能提供持续性电源或持续性电源的提供机制复杂有待解决,因此,传感器节点一般采用电池供电。另外,由于成本和体积的限制,传感器节点的硬件配置很低,数据处理和存储能力、无线通信能力有限,通信可靠性较低。由此可以看出,一些在计算机网络和无线自组网(Ad-hocNetwork)中常用的通信协议并不能直接用在无线传感器网络中。为了提高WSN中的通信可靠性,很有必须设计适用于无线传感器网络的简单高效通信协议。
技术实现思路
本专利技术设计了一种可靠的基于随机网络编码的协作通信方法(NetworkCodingBasedCooperativeCommunicationScheme,NCCC),以较低的实现复杂度提高无线传感器网络中的通信可靠性。为了达到以上目的,本专利技术采用的技术方案如下:NCCC协作通信是基于簇的传输方法。该NCCC方法充分利用了无线通信的广播特性,通过一发多收的方式降低因单条无线链路问题而导致通信失败的概率。同时,在每次进行数据发送前每个正常工作的节点进行状态广播,这样可以使得每个正常工作的节点掌握其他节点的工作状态。当存在节点失效时,符合条件的节点自动充当失效节点,代为完成发送任务,以降低节点失效对通信可靠性的影响。节点对数据包进行线性网络编码,每次只发送编码后的数据包,接收端只需接收到足够的符合解码条件的数据包即可解码出源数据包,而不需要接收所有数据包。因此,在有个别通信链路或节点失败的情况下仍可通信成功,提高了通信的可靠性。在进行线性网络编码时,采用随机网络编码的方式,即在有限域上随机产生编码向量并对数据进行线性组合。随机网络编码本身可以大大降低编码时的实现复杂度,使其易于在资源有限的传感器节点上实现。但是,随机产生的编码向量存在一定的概率(记为pN,M)不符合解码条件,从而使得通信误包率(PacketErrorRate,PER)存在一个pN,M的下限值,当M、N值满足一定条件时,pN,M的值可以做到非常小。附图说明图1系统模型图2源簇状态广播阶段节点的处理流程图3源簇编码发送处理流程图4封包格式图5中间簇状态广播节点的处理流程图6中间簇节点再编码过程图7中间簇数据再编码发送流程图8单跳情况下各种方法(或算法)的性能对比图9各种方法的PER在不同跳数情况下的性能比较图10多跳情况下各种方法的时延性能对比具体实施方式NCCC协作通信所用的数据处理方法主要包括源节点所在簇(源簇)的处理过程、中间簇的处理方法以及目的节点所在簇(目的簇)的处理过程。下面结合附图对本专利技术进一步说明。1.源簇的处理方法分为三个阶段:源节点数据包广播阶段、簇内各节点状态广播及发送队列构建阶段和簇内各节点编码和数据发送阶段。阶段一:源节点数据包广播阶段。源节点将需要发送给目的节点的源数据包通过广播的方式发送给簇内其他节点。阶段二:簇内各节点状态广播及发送队列构建阶段。源簇内所有正常工作的节点在特定的时隙进行状态广播通告其他节点自己工作状态,在其他时隙则监听并接收其他节点的状态广播。根据收到的状态通告将发出状态广播的节点的节点号依次存入TransQueue队列中,轮到自己广播时也同时将自己的节点号存入TransQueue。本阶段的流程图如图2所示,其中t表示当前时隙,n用于记录发送广播的节点个数(即在本轮本簇内正常工作的节点个数,n≤N),I用于记录本节点在TransQueue中所处的位置。阶段三:簇内各节点编码和数据发送阶段。假设源数据包长度可以进行M等分,源簇内正常工作的节点(包括源节点)将源数据包分成M个等长的数据段(P1,P2,…,PM)。每个簇发送数据至下一个簇时,都需要进行N次发送,当发送簇正常工作的节点个数n小于N时,由于TransQueue是循环队列,在TransQueue的n个节点按先后顺序发送完后,发送队列又回到TransQueue的开头进行剩下时隙的发送任务,不断循环直至发送N个数据包。每个节点在一轮传输过程中可能不止发送一次,因此每个节点需要计算本节点在数据传输需要传输的次数及确定传输的时隙,具体做法如下:令N/n的商为Q,余数为r,本节点在TransQueue中所处的位置为I,则在本次传输过程中本节点需要进行的传输次数为:(其中符号表示对“·”下取整的操作运算)即本节点需要分别在第I,n+I,…,(c-1)×n+I个数据时隙将数据段(P1,P2,…,PM)进行编码发送,每一次都要进行一次编码封包后发送,簇内总共分为N个发送时隙,每个时隙发送一个编码数据包,簇内所有节点总共要发出N个编码数据包。编码方法如下:先在GF(q)域上随机域元素vi,组成一个M×1维的列向量v=(v1,v2,…,vM)T,将(P1,P2,…,PM)和v进行GF(q)域上的相乘运算,得到编码后的数据C:C=(P1P2…PM)·v将得到的C及v进行封包发送,本阶段流程图如图3所示,数据封包格式如图4所示。2.中间簇的处理过程分为三个阶段:数据接收阶段、状态广播阶段和数据包再编码及数据发送阶段。阶段一:数据接收阶段。每个节点维护一个数据接收列表RecvTable和接收数据包数量J。当节点从上一跳簇收到一个数据包时,将数据包存入RecvTable,并使J=J+1。阶段二:状态广播阶段。第一阶段的数据接收结束之后,簇内所正常工作的节点在特定的广播时隙广播自己的接收数据包的情况,同时在其他节点的广播时隙监听并接收其他节点广播,广播数据包中包含自己接收到的数据包的数量。本阶段的处理流程与源簇中阶段二中的状态广播处理流程类似,只是多一个TransQueue的排序过程。在本次的状态广播中,每个节点除了通告自的工作状态外还通告自己接收到的数据包数量J,簇内所有在本轮正常工作的节点通过接收簇内其他节点发送的状态广播来获知其他节点接收数据包的情况。每个节点以收集到的各个节点的接收到的数据包的数量J从大到小的顺序来对TransQueue进行排序,J值相等的节点则以节点号从小到大的顺序进行排序。本文档来自技高网
...
基于随机线性网络编码的协作通信方法

【技术保护点】
一种基于随机网络编码的可靠协作通信方法,其特征在于:由若干个节点组成簇协作传输数据包,在发送或转发数据包前,每个正常工作的节点均向簇内其他节点广播自己的状态及收到的数据包个数,同时接收其他节点的广播信息并将节点号及其接收到的数据包数量存储在一个发送队列TransQueue里,之后对TransQueue队列按节点接收到的数据包个数从大到小按顺序进行排序,使得簇内每个正常工作的节点均可知道簇内其他正常工作节点的状态及其接收到的数据包数量,当有节点不能正常工作时,其他正常工作的节点会接替失效节点的发送任务,从而降低节点失效带来的不良影响。

【技术特征摘要】
1.一种基于随机线性网络编码的协作通信方法,其特征在于:由若干个节点组成簇协作传输数据包,在发送数据包前,每个正常工作的节点均向簇内其他节点广播自己的状态及收到的数据包个数,同时接收其他节点的广播信息并将节点号及其接收到的数据包数量存储在一个发送队列TransQueue里,之后对TransQueue队列按节点接收到的数据包个数从大到小按顺序进行排序,使得簇内每个正常工作的节点均可知道簇内其他正常工作节点的状态及其接收到的数据包数量,当有节点不能正常工作时,其他正常工作的节点会接替失效节点的发送任务;在每轮发送数据过程中,每个簇均需发送N个编码数据包,中间簇的节点根据TransQueue里自己所在的位置确定自己的发送时隙,并在特定的时隙对收到的数据包进行随机网络编码,之后再发送,若队列TransQueue的长度为n=N,则簇内N个节点的每个节点均按TransQueue里的顺序各发送一个编码数据包;若n<N,则簇内n个节点的每个节点按TransQueue里的顺序各发送一个编码数据包,然后按TransQueue里的第1个节点发送第n+1个编码数据包,第2个节点发送第n+2个数据包,以此类推,直到发送N个编码数据包结束,其中,n≤N;三种处理:源簇的处理、中间簇的处理、目的簇数据处理,及其相协调的处理过程;源簇的处理,分为三个阶段:源节点数据包广播阶段、簇内各节点状态广播及发送队列构建阶段和簇内各节点编码和数据发送阶段,具体处理的实现如下:阶段一:源节点数据包广播阶段——源节点将需要发送给目的节点的源数据包通过广播的方式发送给簇内其他节点;阶段二:簇内各节点状态广播及发送队列构建阶段——源簇内所有正常工作的节点在特定的时隙进行状态广播通告其他节点自己工作状态,在其他时隙则监听并接收其他节点的状态广播;根据收到的状态通告将发出状态广播的节点的节点号依次存入TransQueue队列中,轮到自己广播时也同时将自己的节点号存入TransQueue;阶段三:簇内各节点编码和数据发送阶段——假设源数据包长度可以进行M等分,源簇内正常工作的节点将源数据包分成M个等长的数据段(P1,P2,…,PM);每个簇发送数据至下一个簇时,都需要进行N次发送,当发送簇正常工作的节点个数n小于N时,由于TransQueue是循环队列,在TransQueue的n个节点按先后顺序发送完后,发送队列又回到TransQueue的开头进行剩下时隙的发送任务,不断循环直至发送完N个数据包;每个节点在一轮传输过程中可能不止发送一次,因此每个节点需要计算本节点在数据传输需要传输的次数及确定传输的时隙,具体做法如下:令N/n的商为Q,余数为r,本节点在TransQueue中所处的位置为I,则在本次传输过程中本节点需要进行的传输次数为:其中符号表示对“·”下取整的操作运算;即本节点需要分别在第I,n+I,…,(c-1)×n+I个数据时隙将数据段(P1,P2,…,PM)进行编码发送,每一次都要进行一次编码封包后发送,簇内总共分为N个发送时隙,每个时隙发送一个编码数据包,簇内所有节点总共要发出N个编码数据包;编码方法如下:先在GF(q)域上随机选取域元素vi,组成一个M×1维的列向量v=(v1,v2,…,vM)T,将(P1,P2,…,PM)和v进行GF(q)域上的相乘运算,得到编码后的数据C:C=(P1P2…PM)...

【专利技术属性】
技术研发人员:刘星成龚信仁
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1