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