一种码分分簇无线传感器网的网络架构方法
技术领域
本发明设计一种基于码分分簇的无线传感器网络的网络架构方法,适用于大规模随机布设无线传感器网络的传感数据通信等,该方法主要由无线传感器网络的物理层和MAC层实现。
背景介绍
随着微机电系统、无线通信和数字电路的不断飞速发展,具有低功耗,低成本,多功能特性的传感器节点大量出现。基于大量传感器节点部署的传感器网络也因其广泛的应用前景,越来越受到重视。无线传感器网络可以广泛地应用于军事和民用环境,进行信息的收集和处理、对象跟踪和网络环境的检测,尤其适合配置在野外、交通要道、医疗和安全部门等场合。
无线传感器网络不依赖于固定的基础设施,其网络节点要求具有自组织能力。与传统的自组织网络相比,无线传感器网络具有下述特点:
1、网络规模更为庞大,节点数目更多
2、节点密集分布在目标区域
3、网络的拓扑结构变化快
4、网络节点易失效
5、通常节点没有统一的身份(ID)
针对以上特点,传统的平面拓扑控制机制已不能满足无线传感器网络的大规模组网的要求,而且不能很好的支持局部数据融合、高效能耗管理以及传感器的工作、休眠调度机制等,因此,分簇机制已经成为部署和实现高效可扩展性密集布设无线传感器网络的主要拓扑控制方法。它与平面拓扑结构相比,在数据汇聚、融合、能量效率、支持网络可扩展性和QoS保障方面具有较好的优势。分簇机制通过将网络节点划分成若干个簇来构成分簇结构,在分簇结构中,每个簇通常有一个簇头和多个普通节点组成。
扩频通信是将待传送的信息数据用伪随机编码调制,实现频谱扩展后再传送,接收端则采用同样的编码进行解调及相关处理,恢复原始信息数据。这种通信方式与一般常见的窄带通信方式相反,具有伪随机编码调制和信号相关处理两大特点,从而具有有如抗干扰、抗噪音、抗多径衰弱、能在低功率谱密度下工作、有保密性、可多址复用和任意选址、可高精度测量等诸多优点。无线传感器网络的部署环境一般相对恶劣,则要求通信具有较强的抗噪声和抗干扰的能力,因此扩频通信极为适用于无线传感器网络。
使用码分多址通信是利用相互正交(或尽可能正交)的不同扩频码字分配给不同用户调制信号,实现多用户同时使用同一频率接入系统和网络的通信。在扩频码字具有良好互相关性能的条件下,码分多址有着较小的多址干扰,能够减少系统用户间冲突机率,从而增加数据传输速度,减少数据传输时延。但是由于自相关性和互相关性都较好的码字数量较少,特别是在扩频码长度较短以及异步通信的场景下,扩频码选择尤其困难,使得码分多址的扩频通信方式在无线传感器网络中的应用受到了限制。
发明内容
本发明公布了一种用于无线传感器网络的码分分簇的网络架构。其通过在簇内使用同一码字调制信号进行通信,邻居簇间选用不同的具有良好互相关性的码字调制信号进行通信,同时将通信时段划分为簇内通信时隙和簇间通信时隙,使得普通节点在簇间通信时隙能够进入休眠状态,减少能耗。
本发明的技术方案包括:
1)通信时段划分为簇内通信时隙和簇间通信时隙。在簇内通信时隙中,簇内普通节点可以按照预约或竞争的方式接入信道,簇内节点相互通信时采用较低的发射功率。若是簇内节点需要进行簇间通信,也必须在该时隙内将数据传送到簇头节点,其簇头到簇内普通节点间距离均为一跳。进入簇间通信时隙后,所有簇内普通节点进入休眠状态,只有簇头节点参与通信,簇头采用较高的发射功率,直接将数据传送到对应的下一簇头,下一簇头接收到数据后,检测其数据的目的节点是否为本簇内节点,若是本簇内节点,则在下一簇内通信周期将数据转发给本簇内节点,若不是,则查找路由表,将数据转发到对应的下一个簇头。
2)分簇初始化时使用统一的预设码字
在分簇初始化的过程中,所有节点使用唯一的预设码字进行通信,其分簇算法不是本发明关心的内容,可利用传统的分簇算法,如链路分簇算法(LCA),低能量自适应分簇分级算法(LEACH)等。
3)分簇码字的分配
在分簇初始化完成,即网络中的节点确定自己的身份是簇头还是簇成员之后,簇头之间决定各自簇使用的码字,使得相邻簇之间使用不同的码字。簇头在选定本簇使用的码字时,须向邻居簇发出广播公告说明其使用的码字,并用该码字发出询问信息保证没有邻居簇已使用该码字。在确认该码字的可行性后,簇头向邻居簇头确认使用该码字,并同时向簇内节点发出广播消息,声明本簇使用的该扩频码字,簇内节点在收到广播消息后,更换为分配的码字进行通信。
4)簇内通信的码字使用
在完成分簇和簇码字分配后,簇内普通节点只使用本簇规定的码字进行通信,直到网络拓扑发生改变。
5)分簇簇间通信的码字使用
当需要进行簇间通信时,簇普通节点将数据传送到簇头节点,簇头节点根据其路由信息,查找到对应需要发射的下一个簇,同时在码字表中查找对应簇的码字信息后,将发射和接收码字修改为对应簇的码字,将数据用该码字调制后发射。
6)新的节点出现申请加入
当新的节点需要加入网络时,新节点需按照预设的码字表依次更换码字进行查询,簇头收到查询信息后返回应答信息给新节点。查询完所有码字后,新节点根据每个码字接收到的应答信息状况决定自己加入的簇,以该簇码字向簇头发送信息申请加入。
本发明具有以下的优点:
1)由于在码分分簇的方式下,簇内使用统一的码字,使得簇内节点只需要用指定的一种码字进行通信,无需进行通信节点的码字维护,也无需在通信时进行发送和接收码字的更换,从而减少了簇内节点的开销。
2)若所有簇内节点都使用码分的方式接入信道,在无线传感器网络中因为其节点布设的随机性,可能在某个区域内密布了大量节点,则相应每个节点会拥有多个邻居节点,若要求这些节点之间均采用不同的码字,就需要较多的适用码字。由于无线传感器网络中往往是异步通信的场景,使得码字的选择非常困难。实际在扩频码的选择时,无法得到自相关和互相关完全理想的码字。在码字长度一定,符合一定要求的码字数量是有限的,即多址干扰的强度和码字数量是相互制约的。若是增强码字长度,又需要增加节点的计算资源,大大增加了节点的功耗。而在码分分簇的方式下,只需要各个邻居簇选择不同的码字,相应所需要的码字数量大为减少。
3)簇头由于需要维护簇与簇之间的路由等信息,并进行分簇间的通信,其对功耗的需求较高,往往成为分簇结构的瓶颈。当簇间通信采用码分的接入方式时,使得簇与簇之间的通信相互不干扰或只有较低的干扰,从而增加了信道的吞吐能力。对于单个节点来说,则是提高了每次发送的成功率,使得节点避免了反复侦听等待和重复发送的过程,避免了大量的功耗,进而延长了整个网络的有效周期。
4)将通信时段划分为簇内通信时隙和簇间通信时隙的方式,使得在簇间通信时隙中,只需要簇头的参与,使得大量的簇内普通节点可以进入休眠状态,减少了其功耗。
本发明中,基于分簇结构的每个节点可以分为簇头和簇内普通节点两种类型
1)簇头是按照某种分簇算法或规则选举出的中心节点,其需要维护到达提前其他簇头的路由,还要负责管理和协调簇内的节点;
2)簇内普通节点是指除簇头外的其他节点。
附图说明
图1一个无线传感网的分簇结构图。
图2码字分配过程中簇头工作流程图。
图3簇间通信过程流程图。
图4新节点申请加入流程图。
具体实施方法
为了实现码分分簇网络架构,每个节点中需要存储一张预设的码字表,并在MAC层协议中增加相应用于分配和控制码字的原语。其主要需要实现的功能有:
------自主有效的进行码字分配,使得邻居簇之间使用的码字不重复
------码字使用公告和簇头码字表的更新维护
------使用不同码字的分簇间的通信
本发明的码分分簇的无线传感网的网络架构方法包括:
1.簇间码字分配(图2)
1)分簇初始化完成后,经过一个保护时段Tp后进入码字分配过程;
2)簇头等待一个随机时间Tr,防止大量簇头同时开始码字选择导致过多冲突;
3)簇头随机地从预设的节点表中选用一个空闲码字,并向所有邻居簇发布广播Code.Reserve消息,声明自己希望使用该码字,要求预留此码字。其邻居簇收到该声明后,若本簇不使用该码字,则将对应的码字状态修改为保留状态,并向该簇头发送Code.Acknowledge消息。若本簇需要使用该码字,则应答Code.Reject消息;
4)当簇头收到Code.Reject消息时,就放弃当前码字的使用,并回到第3步,若所有未指定码字的邻居节点均回复Code.Acknowledge消息后,进入第5步;
5)簇头更改其码字为选定码字,并发送问询消息Code.Test,判断是否有已制定码字的邻居簇已经使用该码字,若存在这样的邻居簇,则邻居簇应答Code.Exist消息声明该码字已经使用,簇头收到该消息后,认定该码字不可使用,广播Code.Cancel消息给所有邻居簇头,并返回第2步。邻居簇头收到广播的Code.Cancel信息后,将该码字重新设置为空闲状态。若是在给定的时间Tk内,无邻居簇头应答Code.Test信息,则簇头认为该码字空闲可用,进入第6步;
6)簇头确认码字可用后,更换回公共码字,向簇内节点和邻居簇头发出Code.Conform消息,收到该消息的簇内节点开始使用该码字进行通信,邻居簇头则将其码字表中该码字状态改为已用。簇头更换为本簇码字,本簇码字分配完成。
2.簇间通信过程
簇头在维护到达其他簇头的路由的同时,还要维护邻居簇使用的扩频码的码字表,即将码字与邻居簇相对应,其码字的维护可以通过路由维护的过程实现
当簇内一个普通节点需要向另一个簇的普通节点发送数据时,其过程如下:
1)在簇内通信时隙中,簇普通节点向簇头发送需要传送的数据,并申明其需要发送的目的节点。
2)该簇头接收到数据后,根据其目的节点,查找对应的下一跳簇头,若是处于簇间通信时隙,则开始发送数据,进入第3步,若是处于簇内通信时隙,则等待下一个簇间通信时隙后进入第3步。
3)簇头根据发送数据的下一跳簇头在码字表中查找其对应的码字,更换码字后,将数据发送到下一个簇头。
4)簇头接收到码字后,检查其目的节点是否为本簇内节点,若为本簇内节点,则等待下一个簇内通信时隙,进入第5步,否则,转入第2步。
5)进入簇内通信时隙后,簇头通过一跳直接将数据发送到目的节点。一次簇间通信过程完成。
3.新节点加入过程
在分簇初始化完成后,若存在一个节点需要申请加入网络时,需按照下列过程(图4)
1)新节点按照码字表顺序依次更改码字,并以此码字发出申请加入的问询信息;
2)收到申请加入问询信息的簇头需要对申请作出应答,申明接受或拒绝新的节点加入,新节点收到消息后储存消息的响应信息,转用下一个码字进行问询。若节点在保持Tk时间后,没有收到应答信息,则认为对应码字无簇使用或对应链路较差,继续选择使用下一个码字进行问询;
3)问询完码字表中所有码字后,新节点在接收到应答的码字中挑选最优(如应答时间最短或者接受链路质量LQI最高)的一个簇申请加入,更改码字为该簇码字发出申请加入信息,进入申请加入簇过程。