首页 > 专利 > 河海大学 > 一种分簇链状无线传感器网络通信方法专利详情

一种分簇链状无线传感器网络通信方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2017-11-21
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2018-06-01
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2019-12-31
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2037-11-21
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201711163433.9 申请日 2017-11-21
公开/公告号 CN108012249B 公开/公告日 2019-12-31
授权日 2019-12-31 预估到期日 2037-11-21
申请年 2017年 公开/公告年 2019年
缴费截止日
分类号 H04W4/70H04W40/04H04W52/02H04W56/00H04W84/18 主分类号 H04W4/70
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 6
权利要求数量 7 非专利引证数量 0
引用专利数量 0 被引证专利数量 0
非专利引证
引用专利 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 河海大学 当前专利权人 河海大学
发明人 严锡君、于凡、刁宏志、潘晓陈、孙颖、赵姗姗、范媛媛 第一发明人 严锡君
地址 江苏省南京市江宁区佛城西路8号 邮编 211100
申请人数量 1 发明人数量 7
申请人所在省 江苏省 申请人所在市 江苏省南京市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
南京经纬专利商标代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
施昊
摘要
本发明公开了一种分簇链状无线传感器网络通信方法。采用分簇‑链状拓扑构建网络,采用WOR模式设计通讯协议。所有传感器节点初始化完成后进入WOR模式,可由汇聚节点唤醒;汇聚节点周期性地向所有传感器节点发送同步信标帧,对整个网络进行时间同步,并调度网内簇首节点及其簇成员节点分时、协调地传输数据,并接收簇首节点发送过来的监测数据;在簇内周期,簇成员节点在对应的时隙醒来后,向簇首节点发送采集到的数据,各簇首节点同时接收簇成员节点发送的信息,互不干扰;在若干个簇间周期,簇首节点在汇聚节点的调度下,两两醒来传输数据,并通过多跳中继的方式将数据上报至汇聚节点。本发明具有较低的能耗和较高的可靠性,延长了网络生命周期。
  • 摘要附图
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图1
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图2
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图3
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图4
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图5
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图6
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图7
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图8
    一种分簇链状无线传感器网络通信方法
  • 说明书附图:图9
    一种分簇链状无线传感器网络通信方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2019-12-31 授权
2 2018-06-01 实质审查的生效 IPC(主分类): H04W 4/70 专利申请号: 201711163433.9 申请日: 2017.11.21
3 2018-05-08 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种分簇链状无线传感器网络通信方法,其特征在于,包括以下步骤:
(1)结合分簇拓扑结构和链型拓扑结构的特点,对无线传感器网络采用分簇链状的节点部署方案;其中,每个簇的簇成员节点采集数据,并汇总至所在簇的簇首节点,然后簇首节点按照多跳中继的方式将数据传输至汇聚节点;
(2)所有传感器节点初始化完成后进入WOR状态,汇聚节点进入发送状态;整个网络完成一轮数据收集需要N+1个周期,包含1个簇内周期和N个簇间周期,N为簇的数量;
(3)进入簇内周期,汇聚节点发送簇内信标帧,唤醒网络内全部传感器节点,簇成员节点在对应的时隙醒来后,向簇首节点发送采集到的数据,各簇首节点同时接收所属簇成员节点发送的信息,互不干扰;该步骤的具体过程如下:
(31)汇聚节点发送包含m个帧的簇内信标帧,唤醒网络内全部传感器节点;
(32)簇首节点被唤醒并接收到一个完整的信标帧后,根据其ID号以及所接收到的信标帧帧序号计算出休眠时间trest1,休眠时间trest1后进入接收状态:
trest1=(m-mj)tbeacon
上式中,mj为簇首节点接收到的信标帧帧序号,tbeacon为汇聚节点广播一个信标帧的时间;
(33)簇成员节点被唤醒并接收到一个完整的信标帧后,根据其ID号以及所接收到的信标帧帧序号计算出休眠时间trest3,休眠trest3后醒来,若无数据发送,则休眠时间trest5后直接进入下一轮数据收集周期,至此,簇内同步、时隙部署完成:
trest3=(m-mj)tbeacon+(ni-1)tslot
trest5=(n-ni+1)tslot+Tbetween+Tsleep
上式中,ni为簇成员节点的簇内编号,tslot为簇成员节点发送一个数据帧的时隙长度,Tbetween为一个簇间周期,Tsleep为一个睡眠周期;
(34)簇成员节点在自己规定的时隙内发送数据,簇首节点接收数据;
(35)簇首节点在trest2时间内接收全部簇成员节点发送过来的数据后,进入WOR状态,等待汇聚节点唤醒进入簇间周期:
trest2=n*tslot
上式中,n为一个分簇的簇成员个数;
(36)簇成员节点在对应的时隙内发送完数据并休眠trest4时间后进入下一轮数据采集周期:
trest4=(n-ni)tslot+Tbetween+Tsleep
至此,簇内周期完成;
(4)进入簇间周期,汇聚节点发送同步信号帧,唤醒所有簇首节点,相邻簇首节点两两进入工作状态,通过多跳中继的方式将数据上报至汇聚节点;
(5)进入睡眠周期,所有传感器节点处于休眠状态,直至下一轮数据收集周期;休眠状态不能发送和接收数据,WOR状态能够接收数据。

2.根据权利要求1所述分簇链状无线传感器网络通信方法,其特征在于,网络中的每个分簇包括1个簇首节点和n个簇成员节点,且簇头节点位于簇成员节点的中心处,在一个分簇内,簇首节点的编号为0,各簇成员节点的编号按照逆时针的方向从1开始依次递增;各簇首节点依次连接,直至到达汇聚节点,从而构成链型拓扑结构,在链型拓扑结构中,各簇首节点的编号按照其与汇聚节点距离的增大而从1开始依次递增。

3.根据权利要求1所述分簇链状无线传感器网络通信方法,其特征在于,步骤(4)的具体步骤如下:
(41)汇聚节点在第1个簇间周期开始发出帧位号为N的同步信标帧,以唤醒所有的簇首节点;
(42)全部簇首节点被唤醒后,根据帧位号判断是否进入工作状态;这样,在第1个簇间周期,N-2号簇首节点至1号簇首节点被唤醒后,立即返回WOR状态;
(43)N号簇首节点被唤醒后,根据所接收到的信标帧帧序号计算出休眠时间trest6,延迟时间trest6后进入发送状态:
trest6=(m-mj)tbeacon
(44)N-1号簇首节点被唤醒后,根据所接收到的信标帧帧序号计算出休眠时间trest8,延迟时间trest8后进入接收状态:
trest8=(m-mj)tbeacon
(45)N号簇首节点发送数据,N-1号簇首节点接收数据,在tlast内完成数据传输:
tlast=(N-Nk+1)*tcluster
上式中,Nk为簇首节点接收到的信标帧帧位号,在第i个簇间周期Nk=i,此时Nk=1,tcluster为i号簇首节点向i-1号簇首节点簇首节点传输数据所需的时间;
(46)N号簇首节点休眠时间trest7后进入下一轮数据收集周期:
上式中,i为当前簇间周期发送数据的簇首节点编号,此时i=N,j为求和变量;
(47)N-1号簇首节点接收完数据后,准备开始下一个簇间周期;
(48)依次类推,直至所有节点信息上传到1号簇首节点;
(49)汇聚节点在最后一个簇间周期开始发出帧位号为1的同步信标帧,唤醒1号簇首节点进入工作状态,同时汇聚节点由发送状态进入接收状态;
(410)1号簇首节点根据所接收到的信标帧帧序号计算出休眠时间trest9,延迟时间trest9后进入发送状态:
trest9=(m-mj)tbeacon
(411)1号簇首节点发送收据,汇聚节点接收数据;
(412)1号簇首节点发送完数据后直接进入WOR状态,汇聚节点由接收状态进入发送状态,至此,一轮数据收集完成。

4.根据权利要求1-3中任意一项所述分簇链状无线传感器网络通信方法,其特征在于,节点部署完成后,需要给每一个节点设置一个ID号,来表明该节点在网络中的位置,该ID号包括簇首号和簇内成员号,所有簇首节点的簇内成员号均为0,在一个簇内,所有节点的簇首号相同,汇聚节点的簇首号和簇内成员号均为0。

5.根据权利要求1-3中任意一项所述分簇链状无线传感器网络通信方法,其特征在于,传感器节点有3种状态:工作状态、WOR状态和休眠状态,工作状态分为发送状态和接收状态,WOR状态和休眠状态属于低功耗状态,节省能耗。

6.根据权利要求1-3中任意一项所述分簇链状无线传感器网络通信方法,其特征在于,限制簇成员节点的通信半径为最小有效通信半径,使相邻簇簇首节点与该簇成员节点之间的距离远远大于其通信距离。

7.根据权利要求1-3中任意一项所述分簇链状无线传感器网络通信方法,其特征在于,汇聚节点由交流电直接供电,没有能耗限制;簇首节点和簇成员节点的初始能量配比不同,簇首节点能量高于簇成员节点。
说明书

技术领域

[0001] 本发明属于无线传感网络领域,特别涉及了一种分簇链状无线传感器网络通信方法。

背景技术

[0002] 无线传感器网络(Wireless Sensor Networks:WSN)是由一系列价格低廉、能耗小、尺寸适中、具备数据采集和计算能力,并且能在短距离内进行无线通信的大量传感器节点,通过自组织构成的一种特定用途的新型无线网络。由于其具有灵活性高、容错性强和部署快速等特点,成为近年来通信学科的热点研究领域,也成为一种周边监控、信息采集和提供军事区域后勤支援的可靠军事化应用。同时,WSN在其他领域也有着越来越多的表现,如基于传感器的个人健康监测、海洋生态系统实时监控、工业生产领域设备健康监测等。
[0003] 随着研究的不断深入和应用场景的多样化,无线传感器网络技术取得了一系列重大进展,同时,也带来了一系列新的问题和挑战。由于传感器本身电源能量的局限性,节能降耗成为目前制约WSN发展的一个瓶颈问题。因此,无线传感器网络中所有技术的实现都要以节能为第一要素。
[0004] 分簇和链状都是无线传感器网络中常见的拓扑结构。分簇结构具有组网简单的优点,但是网络覆盖范围有限,可靠性差,一旦簇头节点失效整个星型网络将无法正常工作;链状结构只能保证监测的长度,在大范围的应用中无法保障监测的全面性。

发明内容

[0005] 为了解决上述背景技术提出的技术问题,本发明旨在提供一种分簇链状无线传感器网络通信方法,结合分簇和链状拓扑结构,弥补单一网络结构的存在的缺陷。
[0006] 为了实现上述技术目的,本发明的技术方案为:
[0007] 一种分簇链状无线传感器网络通信方法,包括以下步骤:
[0008] (1)结合分簇拓扑结构和链型拓扑结构的特点,对无线传感器网络采用分簇链状的节点部署方案;其中,每个簇的簇成员节点采集数据,并汇总至所在簇的簇首节点,然后簇首节点按照多跳中继的方式将数据传输至汇聚节点;
[0009] (2)所有传感器节点初始化完成后进入WOR状态,汇聚节点进入发送状态;整个网络完成一轮数据收集需要N+1个周期,包含1个簇内周期和N个簇间周期,N为簇的数量;
[0010] (3)进入簇内周期,汇聚节点发送簇内信标帧,唤醒网络内全部传感器节点,簇成员节点在对应的时隙醒来后,向簇首节点发送采集到的数据,各簇首节点同时接收所属簇成员节点发送的信息,互不干扰;
[0011] (4)进入簇间周期,汇聚节点发送同步信号帧,唤醒所有簇首节点,相邻簇首节点两两进入工作状态,通过多跳中继的方式将数据上报至汇聚节点;
[0012] (5)进入睡眠周期,所有传感器节点处于休眠状态,直至下一轮数据收集周期。
[0013] 进一步地,网络中的每个分簇包括1个簇首节点和n个簇成员节点,且簇头节点位于簇成员节点的中心处,在一个分簇内,簇首节点的编号为0,各簇成员节点的编号按照逆时针的方向从1开始依次递增;各簇首节点依次连接,直至到达汇聚节点,从而构成链型拓扑结构,在链型拓扑结构中,各簇首节点的编号按照其与汇聚节点距离的增大而从1开始依次递增。
[0014] 进一步地,步骤(3)的具体步骤如下:
[0015] (31)汇聚节点发送包含m个帧的簇内信标帧,唤醒网络内全部传感器节点;
[0016] (32)簇首节点被唤醒并接收到一个完整的信标帧后,根据其ID号以及所接收到的信标帧帧序号计算出休眠时间trest1,休眠时间trest1后进入接收状态:
[0017] trest1=(m-mj)tbeacon
[0018] 上式中,mj为簇首节点接收到的信标帧帧序号,tbeacon为汇聚节点广播一个信标帧的时间;
[0019] (33)簇成员节点被唤醒并接收到一个完整的信标帧后,根据其ID号以及所接收到的信标帧帧序号计算出休眠时间trest3,休眠trest3后醒来,若无数据发送,则休眠时间trest5后直接进入下一轮数据收集周期,至此,簇内同步、时隙部署完成:
[0020] trest3=(m-mj)tbeacon+(ni-1)tslot
[0021] trest5=(n-ni+1)tslot+Tbetween+Tsleep
[0022] 上式中,ni为簇成员节点的簇内编号,tslot为簇成员节点发送一个数据帧的时隙长度,Tbetween为一个簇间周期,Tsleep为一个睡眠周期;
[0023] (34)簇成员节点在自己规定的时隙内发送数据,簇首节点接收数据;
[0024] (35)簇首节点在trest2时间内接收全部簇成员节点发送过来的数据后,进入WOR状态,等待汇聚节点唤醒进入簇间周期:
[0025] trest2=n*tslot
[0026] 上式中,n为一个分簇的簇成员个数;
[0027] (36)簇成员节点在对应的时隙内发送完数据并休眠trest4时间后进入下一轮数据采集周期:
[0028] trest4=(n-ni)tslot+Tbetween+Tsleep
[0029] 至此,簇内周期完成。
[0030] 进一步地,步骤(4)的具体步骤如下:
[0031] (41)汇聚节点在第1个簇间周期开始发出帧位号为N的同步信标帧,以唤醒所有的簇首节点;
[0032] (42)全部簇首节点被唤醒后,根据帧位号判断是否进入工作状态;这样,在第1个簇间周期,N-2号簇首节点N至1号簇首节点被唤醒后,立即返回WOR状态;
[0033] (43)N号簇首节点被唤醒后,根据所接收到的信标帧帧序号计算出休眠时间trest6,延迟时间trest6后进入发送状态:
[0034] trest6=(m-mj)tbeacon
[0035] (44)N-1号簇首节点被唤醒后,根据所接收到的信标帧帧序号计算出休眠时间trest8,延迟时间trest8后进入接收状态:
[0036] trest8=(m-mj)tbeacon
[0037] (45)N号簇首节点发送数据,N-1号簇首节点接收数据,在tlast内完成数据传输:
[0038] tlast=(N-Nk+1)*tcluster
[0039] 上式中,Nk为簇首节点接收到的信标帧帧位号,在第i个簇间周期Nk=i,此时Nk=1,tcluster为i号簇首节点向i-1号簇首节点簇首节点传输数据所需的时间;
[0040] (46)N号簇首节点休眠时间trest7后进入下一轮数据收集周期:
[0041]
[0042] 上式中,i为当前簇间周期发送数据的簇首节点编号,此时i=N,j为求和变量;
[0043] (47)N-1号簇首节点接收完数据后,准备开始下一个簇间周期;
[0044] (48)依次类推,直至所有节点信息上传到1号簇首节点;
[0045] (49)汇聚节点在最后一个簇间周期开始发出帧位号为1的同步信标帧,唤醒1号簇首节点进入工作状态,同时汇聚节点由发送状态进入接收状态;
[0046] (410)1号簇首节点根据所接收到的信标帧帧序号计算出休眠时间trest9,延迟时间trest9后进入发送状态:
[0047] trest9=(m-mj)tbeacon
[0048] (411)1号簇首节点发送收据,汇聚节点接收数据;
[0049] (412)1号簇首节点发送完数据后直接进入WOR状态,汇聚节点由接收状态进入发送状态,至此,一轮数据收集完成。
[0050] 进一步地,节点部署完成后,需要给每一个节点设置一个ID号,来表明该节点在网络中的位置,该ID号包括簇首号和簇内成员号,所有簇首节点的簇内成员号均为0,在一个簇内,所有节点的簇首号相同,汇聚节点的簇首号和簇内成员号均为0。
[0051] 进一步地,传感器节点有3种状态:工作状态、WOR状态和休眠状态,工作状态分为发送状态和接收状态,WOR状态和休眠状态属于低功耗状态,节省能耗;WOR状态能够接收数据,休眠状态不能发送和接收数据。
[0052] 进一步地,限制簇成员节点的通信半径为最小有效通信半径,使相邻簇簇首节点与该簇成员节点之间的距离远远大于其通信距离。
[0053] 进一步地,汇聚节点由交流电直接供电,没有能耗限制;簇首节点和簇成员节点的初始能量配比不同,簇首节点能量高于簇成员节点。
[0054] 采用上述技术方案带来的有益效果:
[0055] 本发明综合考虑了农田、河流等带状监测区域无线传感器网络实际应用的特点,结合时间同步、时隙部署等协议机制,提出了一种分簇链状无线传感器网络的通信方法,以减少数据时延、降低网络能耗。实验结果表明,本发明具有较高的性能和可靠性,延长了网络的生命周期。

实施方案

[0065] 以下将结合附图,对本发明的技术方案进行详细说明。
[0066] 无线传感器网络多采用TDMA的时隙分配方式进行时隙部署,本发明在TDMA思想的基础上,结合分簇链状网络拓扑结构,提出一种更适应该结构的簇内和簇间的时间同步和调度传输机制。该机制主要采用WOR模式,使簇成员节点周期性地醒来侦听汇聚节点发出的信标帧;在簇内周期,通过簇内信标帧的调度以及时隙部署的原理,实现簇首节点与簇成员节点的数据传输;在簇间周期,通过簇间信标帧的调度,实现2个相邻簇首节点的数据传输以及1号簇首节点和汇聚节点的数据传输。簇成员节点完成数据传输后,根据情况进入低功耗的WOR状态或休眠状态,从而节省能量。同时,由于每个节点只在属于自己的时隙内醒来,使得数据传输有序进行,大大降低了数据碰撞的可能性,进一步减少了节点的能耗。
[0067] 如图1所示为本发明的网络结构图。汇聚节点位于网络的一端,以汇聚节点为起始点、以簇首节点为位置点形成链状的拓扑结构。每个簇首节点周围围绕着若干簇成员节点,形成分簇结构。
[0068] 如图2所示为本发明的簇首节点编号图,距离汇聚节点越远编号越大。
[0069] 1、帧格式定义
[0070] 无线传感器网络是以能量为生命,能耗越低,网络生命周期越长。高精度的时间同步方法成本高,不适合实际应用。为此,在不增加成本的前提下,如何实现整个网络全部传感器节点的同步,是目前着重研究的问题。为此,本发明采用粗粒度的时间同步方法,设计网络的通讯协议。在协议中,我们采用信标帧和数据帧两种帧格式,信标帧用来实现传感器节点的时间同步,以及调度两个节点之间数据传输;数据帧用以区分信标帧,是传感器所采集到的数据的载体。汇聚节点按照递增的顺序,持续发送编号依次为1至m的时间同步信标帧。
[0071] 如图3所示为本发明的信标帧帧格式定义图,信标帧由前导码、同步词汇等组成,其中前导码设为4个字节,同步词汇设为2个字节,长度字节为1个字节,帧类型为2个比特位,帧序号为6个比特位,帧位号为1个字节。
[0072] 信标帧由总是汇聚节点广播出去,用于簇内同步和簇间同步,所以不需要地址字节,此外信标帧上需要有表示帧类型的位,用于说明该次时间同步是簇间还是簇内。帧类型占用两个比特,该位为00时表示簇间同步,该位为01时表示簇内同步。
[0073] 此外,信标帧上还需要有帧序号位,该位用来表示在汇聚节点发送的一轮信标帧中,该信标帧所在的位置。帧位号只有在簇间同步时才会用到,用于表示该条信标帧是汇聚节点发送的第几轮信标帧,因为在簇间同步中,发送一轮信标帧只是用来同步两个簇首节点,所以结合帧位号就能判断该轮是来同步哪两个节点。
[0074] 如图4所示为本发明的数据帧帧格式定义图,数据帧用于节点间传递数据。数据帧的长度不固定。一个数据帧包括前导码、同步词汇、长度字节等,其中前导码设为4个字节,同步词汇设为2个字节,长度字节为1个字节,簇号为5个比特位,簇内号为3个比特位,数据位占3个字节,整个数据长度是4字节的倍数。
[0075] 2、时间同步与数据传输
[0076] 时间同步是无线传感器网络中的重要基础,只有网络内的节点都能准确地同步到同一时间基准,才能实现全网的数据传输。本发明出于降低功耗的考虑,节点在非工作状态处于休眠模式,只有在处于分配的时隙中才会收发数据,在侦听信标帧时则处于WOR模式。
[0077] 如图5所示是本发明的MAC协议流程图,当到达需要采集数据的时刻时,即一个系统周期的开始,汇聚节点先发送信标帧进行所有簇的簇内同步,即簇首节点把该簇内的数据汇总到一起,并进行简单的处理。簇内同步后,数据都储存在各个簇首节点上,之后汇聚节点再向所有的簇首节点广播信标帧进行簇间同步。每发送一轮信标帧,两个相邻的簇首节点实现数据的传输,最后数据传送到汇聚节点,至此一个完整的数据采集周期结束,之后系统休眠一定的时间后再开始新一轮的工作。
[0078] 在本发明的应用环境中,通常汇聚节点是用电力线供电,可认为能量不限,簇首节点和簇间节点则是通过电池供电,能量是有限的。各个节点的部署按照分簇式的星链形结构,以汇聚节点为端点,簇首节点按照链式结构排开,然后再以单个簇首节点为中心,簇内节点以星型结构部署。此外,对于节点的部署距离还有要求,即以簇为单位,一个簇内的所有簇内节点都应该在簇首节点的通信范围之内,而各个簇之间的距离则需要超过簇内节点的通信范围,即各个簇之间只有簇首节点可以通信,而簇内节点无法与其他簇首节点通信,这样的部署可以避免各个簇内通信的干扰。要实现这样的部署,需要调节簇首节点的发射功率和簇内节点的发射功率。
[0079] 部署好节点后,需要给各个节点设置一个ID,来表明该节点在网络中的位置。该ID由两部分组成,簇号和簇内成员号。该字节的高5位表示簇号,低3位表示簇内成员号。汇聚节点的簇号和簇内成员号都为0,其他簇首节点的簇内成员号也为0。在一簇内,所有节点的簇首号都相同。
[0080] 一个完整的大周期由三个部分组成:簇内同步周期Tin和簇间同步周期Tbetween和睡眠周期Tsleep。运行的顺序是先完成簇内同步周期,把簇内节点采集的数据汇总到簇首节点,然后运行簇间同步周期,把簇首节点上的数据通过多条传送到汇聚节点,再运行睡眠周期,节点都处于休眠模式,一直到下一个大周期的开始。
[0081] 节点初始化完成后,就开始了一个新的大周期。网络的所有节点初始化完成后,都处于WOR模式等待唤醒,汇聚节点广播一轮用于簇内同步的信标帧,所有节点接收到同步词汇后被唤醒,继续接收完整的一个信标帧,之后根据接收到的信标帧中的帧序号信息,所有的节点进入休眠模式并延时到信标帧发送结束的时候。到达所有信标帧发送完成的时刻,簇首节点进入接收模式,簇内节点按照簇内成员的顺序在对应的时隙内采集数据,然后发送给簇首节点。由于各个簇的距离超出簇内节点的通信范围,因此各个簇内部通信不会互相干扰,所以簇内同步可以是所有的簇同时进行。至此,簇内同步完成,每个簇内节点采集的数据都汇总到簇首节点,簇内节点都进入休眠模式,簇首节点进入WOR模式。然后汇聚节点广播一轮用于簇间同步的信标帧,所有的簇首节点被唤醒,接收到其中一个信标帧。接收到信标帧以后,根据信标帧中的帧位号判断该轮信标帧是同步哪两个簇首节点,非同步节点继续进入WOR模式,而同步节点则根据帧序号信息,延时到本轮广播信标帧结束,然后两个节点传送数据。至此,一轮簇间同步完成,之后进行下一轮簇间同步,直至数据传送到汇聚节点。数据汇总到汇聚节点后,一个工作周期结束,所有的节点进入休眠模式至下一个工作周期的开始。
[0082] 1)簇内周期
[0083] 如图6所示为本发明的簇内同步示意图。节点初始化完成后,首先进行簇内同步,汇聚节点先发送一轮信标帧,信标帧的帧类型位为01,表明该轮所有的信标帧用于簇内同步,信标帧的帧序号按照发送的顺序依次递增,从帧序号可以推算广播信标帧阶段结束的时间。网络中所有节点,包括簇首节点,会在本轮信标帧中接收到一个信标帧,根据信标帧的帧序号和发送一个信标帧的时间,可以推算出广播阶段结束的时间点,接收的信标帧的帧序号越小,延迟的时间越长。然后所有节点都进入休眠模式并延迟到广播阶段结束的时间点,从而实现了同步过程的第一步。然后进入簇内汇总数据的阶段。该阶段中,簇首节点一直处于接收状态,每个簇内节点都会被分配一个时隙,用于单个节点采集数据,并将数据发送给簇首节点。在单个时隙内,只有一个簇内节点在工作,其他节点都处于休眠模式。时隙的分配与节点的簇内成员号对应,例如1号簇内成员分配的是第1个时隙。所有从广播阶段结束的时间开始,节点根据簇内成员号和每个时隙的时间长度可以推算出需要延迟的时间。
[0084] 假设一个簇内有N个簇,每个簇内有1个簇首节点和n个簇内节点,每个节点的簇内成员编号为0~n(簇首节点的簇内成员号为0),其中簇内成员编号代表了每个节点提前分配的时隙序号。汇聚节点广播一系列信标帧,用m表示广播的信标帧数目,广播一个信标帧的时间为tbeacon。广播的信标帧的帧位号是从1到m逐渐增加的。接收到信标帧后,节点转入休眠模式,延迟一定时间后醒来,延迟的时间在下面介绍。簇内同步实现的效果是所有节点休眠结束后,簇首节点和1号簇内节点同时醒来,1号节点在分配的时隙内,采集传感器数据,并发送给簇首节点,然后1号节点休眠,同时2号节点醒来,重复以上流程,直到n号节点完成任务。
[0085] 考虑到唤醒的时间和采集传感器数据的时间无法忽略,为了保证传送数据的稳定性,每个时隙的长度稍大于tbeacon。这里用tslot表示一个时隙的长度。
[0086] 当簇内普通节点采集数据时,采集的数据会与上一个数据周期采集的数据进行对比,如果两次数据相同,说明没有新数据产生,为了节省能量,该节点在时隙内不发送数据,而是直接休眠。此外当节点能量耗尽时,也会出现连续几轮周期没有接收到该节点数据的情况,为防止这两种情况混淆,规定从第一次没有新数据产生的周期开始记数,记数到达特定值后,节点必须强制发送一次数据,以此来证明该节点是正常工作的。
[0087] 如图所示图7是本发明的簇内时间同步方法示意图。假设簇内成员号为ni(0<=ni<=n)
[0088] 的节点接受到一个信标帧,帧序号为mj。需要进行如下判断:
[0089] 当ni为0时,该节点为簇首节点。该节点则休眠一段时间,然后进入接收模式。休眠时间trest1为:
[0090] trest1=(m-mj)tbeacon
[0091] 其中,trest1为簇首节点的休眠时间,m为汇聚节点发送信标帧的个数,mj为簇首节点接收到的一个完整的信标帧的帧序号,tbeacon为汇聚节点广播一个信标帧的时间。
[0092] 然后节点进入接收模式,保持trest2的时间为:
[0093] trest2=n*tslot
[0094] 其中,trest2为簇首节点接收数据的时间,n为该簇成员个数,tslot为簇成员节点发送一个数据帧的时隙长度。
[0095] 至此该簇内的数据都汇集到簇首节点上,簇内同步完成。然后该节点进入WOR模式,等待汇聚节点的唤醒,之后就进入簇间同步周期。
[0096] 当ni不为0时,该节点为簇内节点。该节点则休眠一段时间,然后醒来,在自己的时隙内采集数据并发送给簇首节点。休眠的时间trest3为:
[0097] trest3=(m-mj)tbeacon+(ni-1)tslot
[0098] 其中trest3为簇成员节点的休眠时间,m为汇聚节点发送信标帧的个数,mj为该簇成员节点接收到的一个完整的信标帧的帧序号,tbeacon为汇聚节点广播一个信标帧的时间,ni为该成员节点的簇内号,tslot为簇成员节点发送一个数据帧的时隙长度。
[0099] 该节点醒来后判断是否有新数据,有新数据则在对应的时隙内发送数据,发送完成后休眠至下一个数据采集周期,没有新数据则直接休眠至下一个大周期。其中如果有新数据发送,发送完后休眠的时间trest4为:
[0100] trest4=(n-ni)tslot+Tbetween+Tsleep
[0101] 其中trest4为簇成员节点的休眠时间,n为该簇成员个数,ni为该成员节点的簇内号,tslot为簇成员节点发送一个数据帧的时隙长度,Tbetween为一个簇间同步周期时间,Tsleep为一个睡眠周期时间。
[0102] 如果没有新数数据发送,休眠的时间trest5为:
[0103] trest5=(n-ni+1)tslot+Tbetween+Tsleep
[0104] 其中trest4为簇成员节点的休眠时间,n为该簇成员个数,ni为该成员节点的簇内号,tslot为簇成员节点发送一个数据帧的时隙长度,Tbetween为一个簇间同步周期时间,Tsleep为一轮数据采集周期之间的休眠的时间。
[0105] 2)簇间周期
[0106] 如图8所示是本发明的簇间同步示意图。簇内同步完成后,所有簇内节点都进入休眠状态,簇首节点进入WOR状态并等待汇聚节点的唤醒。汇聚节点先发送第一轮信标帧,信标帧的帧类型号为00,表明该轮信标帧为簇间同步,信标帧的帧位号为i,表明该轮信标帧是同步簇号为i和i-1的簇首节点。所有簇首节点接收到同步词汇后就被唤醒,然后接收完整的一个信标帧,比较节点ID中的簇号和信标帧中的帧位号,可以判断该轮信标帧是否是来同步本节点。只有节点簇号为i和i-1的簇首节点会休眠延迟一段时间,之后i号簇首节点先i-1号簇首节点发送数据。完成后i号节点休眠至下一个大周期的开始,i-1号节点继续进入WOR状态。其他的节点直接进入WOR状态,等待下一轮信标帧唤醒。假设共有N个簇首节点,要完成数据汇总到汇聚节点,汇聚节点共需要发送N轮信标帧。
[0107] 在一轮信标帧广播完,且两个簇首节点实现同步后,两个节点就进行数据传输,从簇号高的簇首节点传输到簇号低的簇首节点。传输数据所需要的时间是不是一个固定值,随着簇号的减小,传输数据所需的时间越长。这是因为每传输一次,当前网络链尾的簇首节点上存储的数据量就要增加一次。假设簇号为N的簇首节点向簇号为N-1的簇首节点传输数据所需的时间为tcluster,则簇号为N-1的簇首节点发送数据所需的时间为2tcluster。簇号每减小1位,发送所需的时间增加一个tcluster。
[0108] 如图9所示为本发明的簇间时间同步方法示意图。假设有N个簇首节点,它们的簇号为1~N。汇聚节点需要广播N轮信标帧,假设每轮广播m个信标帧,广播一个信标帧的时间为tbeacon。在其中某一轮簇间同步中,簇号为Ni的簇首节点接收到一个信标帧,其帧位号为Nk(1<=Nk<=N),帧序号为mj,该节点需要进行以下判断:
[0109] 当Ni=N-Nk+1时,该节点是本轮同步针对的节点之一,为同步后的发送节点,该节点需要延迟trest6时间:
[0110] trest6=(m-mj)tbeacon
[0111] 其中,trest6为簇首节点Ni的延迟时间,m为汇聚节点发送信标帧的个数,mj为簇首节点接收到的一个完整的信标帧的帧序号,tbeacon为汇聚节点广播一个信标帧的时间。
[0112] 之后进入发送模式,发送完数据后该节点本周期的任务已经完成,直接休眠到下个大周期的开始即可。休眠的时间trest7为:
[0113]
[0114] 其中,trest7为簇首节点Ni的休眠时间,m为汇聚节点发送信标帧的个数,tbeacon为汇聚节点广播一个信标帧的时间,Ni为该簇首节点的簇号,N为簇的个数,Tsleep为一轮数据采集周期之间的休眠的时间,tcluster为N号簇首节点向N-1号簇首节点传输数据所需的时间,i为运算变量。
[0115] 当Ni=N-Nk时,该节点也是本轮同步针对的节点之一,为同步后的接收节点,该节点需要延迟trest8时间:
[0116] trest8=(m-mj)tbeacon
[0117] 其中,trest8为簇首节点Ni的延迟时间,m为汇聚节点发送信标帧的个数,mj为簇首节点接收到的一个完整的信标帧的帧序号,tbeacon为汇聚节点广播一个信标帧的时间。
[0118] 之后进入接收模式,接收模式持续的时间tlast为:
[0119] tlast=(N-Nk+1)*tcluster
[0120] 其中,tlast为簇首节点Ni的接收数据的时间,N为簇的个数,Nk为簇首节点Ni接收到的信标帧的帧位号,tcluster为Ni号簇首节点向Ni-1号簇首节点传输数据所需的时间。
[0121] 接收完数据后,该节点直接进入WOR模式,准备开始接收下一轮信标帧。
[0122] 当Ni为其他值时,节点收到信标帧后忽略信标帧的信息,直接进入WOR模式,等待下一轮信标帧的唤醒,延时时trest9为:
[0123] trest9=m*tbeacon+(N-Nk+1)*tcluster
[0124] 其中,trest9为簇首节点Ni的延时时间,m为汇聚节点发送信标帧的个数,tbeacon为汇聚节点广播一个信标帧的时间,N为簇的个数,Nk为簇首节点Ni接收到的信标帧的帧位号,tcluster为Ni号簇首节点向Ni-1号簇首节点传输数据所需的时间。
[0125] 以上为常规的簇首节点的同步,当Nk=N时,说明数据已经传送到1号簇首节点,需要从该节点传送到汇聚节点,此时1号节点还是按照上面的判断操作,不同的是接收的节点不再是簇首节点,而是汇聚节点。
[0126] 3、通信协议
[0127] 整个无线传感器网络内共有N个簇首节点,每个簇内有n个簇内节点,汇聚节点发送一轮信标帧的个数m,发送一个信标帧需要的时间为tbeacon,所以发送一轮信标帧的时间为mtbeacon,在簇内同步中,单个传感器节点分配的时隙长度为tslot,在簇间同步中,用于簇首节点间传送数据的时间是成比例变化的,假设链上最末端的簇首节点发送数据需要的时间为tcluster,数据采集周期之间的休眠的时间为Tsleep,称为睡眠周期。
[0128] 对于汇聚节点,算法过程如下:
[0129] 1)初始化节点,初始化记数变量i为N,该变量用于簇间同步记数,进入步骤2);
[0130] 2)开始簇内同步,发送一轮用于簇内同步的信标帧,然后等待n*tslot的时间(在该时间内,各个簇内进行数据汇总),进入步骤3);
[0131] 3)开始簇间同步,发送一轮用于簇间同步的信标帧,然后等待(N-j+1)*tcluster时间(在该时间内,簇号为N的簇首节点正在向簇号为N-1的簇首节点发送数据),之后进入步骤4);
[0132] 4)N减1,然后判断N是否等于1,如果不等于,则进入步骤3),如果等于,则进入步骤5);
[0133] 5)簇间同步已经进行到1号簇首节点,汇聚节点应该进入接收模式,持续N*tcluster时间后进入步骤6);
[0134] 6)进入空闲状态,开始睡眠周期的计时,计时到达了则进入步骤2),没有则继续等待;
[0135] 对于传感器节点,算法过程如下:
[0136] 1)初始化节点,进入步骤2);
[0137] 2)先进入WOR模式,准备开始簇内同步,接收到信标帧后进入步骤3);
[0138] 3)提取有效负载中的帧序号mj,结合该节点的簇内标号ni进行如下判断,当ni为0时,该节点为簇首节点,则进入步骤4),当ni不为0时,该节点为簇内节点,进入步骤5);
[0139] 4)作为簇首节点,休眠(m-mj)tbeacon时间后进入接收模式,并维持n*tslot的时间,接收该簇内所有簇内节点的数据,之后进入步骤9);
[0140] 5)作为簇内节点,该节点休眠(m-mj)tbeacon+(ni-1)tslot时间后进入步骤6);
[0141] 6)采集数据,并判断是否有新的数据,有则进入步骤7),没有则进入步骤8);
[0142] 7)节点把采集的数据在tslot时间内发送完,然后进入步骤9);
[0143] 8)节点把缺省数据记数变量inodata加1,并判断是否大于最大缺省值inodata-max,如果大于则进入步骤7),如果不大于则进入步骤9);
[0144] 9)进入WOR状态,开始准备簇间同步,接收到信标帧,则进入步骤10),[0145] 10)提取出信标帧的帧位号Nk和帧序号mj,并结合该节点的簇间编号Ni进行以下判断。在Nk不为N的情况中进行如下判断,当Ni=N-Nk+1时,该节点是同步后的发送节点,进入步骤11),当Ni=N-Nk时,该节点是同步后的接收节点,进入步骤13),当Ni为其他值时,该节点不是本轮信标帧所针对的节点,进入步骤15)。当Nk为N时,该节点为1号簇首节点,进入步骤16);
[0146] 11)该节点为同步后的发送节点,休眠(m-mj)tbeacon时间后进入步骤12);
[0147] 12)该节点进入发送模式,发送完数据后进入步骤17);
[0148] 13)该节点是同步后的接收节点,休眠(m-mj)tbeacon时间后进入步骤14);
[0149] 14)节点接入接收模式,持续(N-NK+1)tcluster接收时间后进入步骤9),准备下一轮的簇间同步;
[0150] 15)该节点不是本轮簇间同步针对的节点,直接休眠m*tbeacon+(N-NK+1)tcluster时间后进入步骤9);
[0151] 16)该节点为1号簇首节点,等信标帧发送完后,节点发送数据给汇聚节点,延时trest=(m-mj)tbeacon时间后进入步骤17);
[0152] 17)节点进入休眠模式,开始睡眠周期的计时,计时到达了则进入步骤2),没有则继续等待。
[0153] 4、系统丢包率测试
[0154] 在实验环境中,取六个传感器节点(其中两个簇首节点,四个簇内节点)和一个汇聚节点,组成一个无线传感器网络,按照本文设计的通信协议,传感器节点在接收到信标帧之后依次传送固定的数据帧,四个簇内节点传送的数据帧内容都不相同,便于汇聚节点分开统计。该测试做三组实验,每组发送3000次。三组数据结果如表1所示。
[0155] 表1多点通信测试结果
[0156]
[0157] 通过述实验可以看出,多点通信中的丢包率比单点通信的要高出不少,但仍然能保持在1%以下,可以满足实际应用的标准。多点通信丢包率上升的原因有很多,可能是组网同步时出现了轻微的误差,从而影响了个别节点发送数据的时间,也有可能是节点用于计时的时钟受到干扰从而影响了准确性。
[0158] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

附图说明

[0056] 图1是本发明的网络结构图;
[0057] 图2是本发明的网络簇节点编号图;
[0058] 图3是本发明的同步信标帧结构图;
[0059] 图4是本发明的数据帧结构图;
[0060] 图5是本发明的MAC协议流程图;
[0061] 图6是本发明的簇内同步示意图;
[0062] 图7是本发明的簇内时间同步方法示意图;
[0063] 图8是本发明的簇间同步示意图;
[0064] 图9是本发明的簇间时间同步方法示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号