基于时分多址协议的水下动态多跳分布网络时隙调度方法与流程

未命名 08-29 阅读:106 评论:0


1.本发明涉及水声通信领域,尤其是基于时分多址协议的水下动态多跳分布网络时隙调度方法。


背景技术:

2.海洋作为人们正常生命活动、实现社会长足发展的重要腹地,具有很高的开发价值与开发意义。现如今,世界上的许多国家都十分看重海洋事业,带动水下无线传感器网络(underwater wireless sensor networks,uwsns)成为新的研究热点。uwsns在水下资源勘查,地震、海啸等自然灾难预防,水下目标定位等多个方面都取得了不错的成果。uwsns是将传感器节点布放在特定海域中,这些节点建立起一个水下互连网络,它们之间通过传感器监测特定信息,并相互传输信息,最后将信息发送至海面的基站。由于水下网络节点布放稀疏,节点间通信距离较大,uwsns中的节点通信多数采用水声通信的方式,目前,这种形式在uwsns中应用颇为广泛。然而,由于网络大部分布放在水下,其环境相比较陆地等其他工作环境而言则要更为复杂,所以水下通信网络能否快速准确方便地传输信息成为了需要进行进一步深入研究来解决的问题。
3.mac协议是水声通信网络的一个底层基础,其作用是为网络中的各个节点分配信道资源。根据信道分配策略的不同,现有的mac协议通常可以被分为三类:竞争分配的mac协议、固定分配的mac协议和两者混合的混合mac协议。固定分配的mac协议正交的分配时间、频率、空间和码元等,使用户按部就班的发送分组数据。这类协议主要有:tdma(时分多址访问)、fdma(频分多址访问)和cdma(码分多址访问)等。由于水声通信网络的带宽比较窄,很难对频带进行划分,fdma协议并不适用。另外使用cdma协议时由于要保证使用的码元序列保持正交,编码工作较为复杂。与地面上的无线传感器网络相比,水下传感器网络的传播时延长,点对点的传输速率低并且误码率高。在竞争分配的mac协议中,当网络中有用户需要发送消息时,可以直接占用信道发送或者先进行信道预约再发送消息。由于水下大传播时延与位置不确定性等因素,竞争分配的mac协议在水下实现较为困难,可靠性较低。
4.综上所述,tdma协议因其可靠性与便于实现的特点,十分适合作为水下通信网络的mac层协议,但是传统的基于静态时隙分配的tdma协议由于各节点时隙固定,存在网络传输效率低下的问题,并且多用于节点数固定的水下单跳式分布式网络,因此改进现有的tdma协议以提高网络传输效率,增强协议适配性,是十分有必要的。


技术实现要素:

5.本发明人针对上述问题及技术需求,提出了基于时分多址协议的水下动态多跳分布网络时隙调度方法,本发明的技术方案如下:
6.基于时分多址协议的水下动态多跳分布网络时隙调度方法,包括如下步骤:
7.设初始节点数为n,并为每个节点分配相同长度的初始通信时隙;在第n个通信时隙后增加一个时隙作为预留时隙,用于动态节点的接入;
8.在前两次通信周期内,所有节点在分配的初始通信时隙内发送本节点信息,在本节点的非通信时隙内确认与各个相邻节点的时延信息,并根据时延信息更新本节点在下一个通信周期内所分配的通信时隙长度;
9.在之后的通信周期内,若有动态节点接入,则在当前通信周期和下一个通信周期内,动态节点在预留时隙内发送本节点信息、其余节点按照新分配的通信时隙发送本节点信息,所有节点在本节点的非通信时隙内确认与各个相邻节点的时延信息,并根据时延信息更新本节点在下一个通信周期内所分配的通信时隙长度;在第n+1个通信时隙后增加一个时隙作为预留时隙,用于下一个动态节点的接入。
10.其进一步的技术方案为,初始通信时隙与初始的预留时隙长度相同,均为t0=l
max
/c+tg,其中l
max
代表单节点最大通信距离,c代表水下声速,tg代表保护间隔。
11.其进一步的技术方案为,在前两次通信周期内,更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:
12.在第一次通信周期内,所有节点按照分配的初始通信时隙轮流广播本节点信息,包括当前网络内的节点总数、本节点的相邻节点id和隐藏节点id、每个节点时隙长度和时隙总长、本节点发送数据包的时间点tr;在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点;
13.在第二次通信周期内,再次执行所有节点按照分配的初始通信时隙轮流广播本节点信息,在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点tr与本地时间t
l
,计算出与各个相邻节点的时延信息td=t
l-tr,并根据计算得到的时延信息td更新本节点在下一个通信周期内所分配的通信时隙长度;
14.其中,在一个节点最大通信范围内的所有节点称为本节点的相邻节点,否则称为本节点的隐藏节点。
15.其进一步的技术方案为,在之后的通信周期内,若有动态节点接入,则在当前通信周期和下一个通信周期内,更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:
16.在第i次通信周期内,动态节点根据其相邻节点信息确认预留时隙的开始时刻,动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,包括当前网络内的节点总数、本节点的相邻节点id和隐藏节点id、每个节点时隙长度和时隙总长、本节点发送数据包的时间点tr;所有节点在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点;
17.在第i+1次通信周期内,再次执行动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,所有节点在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点tr与本地时间t
l
,计算出与各个相邻节点的时延信息td=t
l-tr,并根据计算得到的时延信息td更新本节点在下一个通信周期内所分配的通信时隙长度;
18.其中,i>2;在一个节点最大通信范围内的所有节点称为本节点的相邻节点,否则称为本节点的隐藏节点。
19.其进一步的技术方案为,根据计算得到的时延信息td更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:
20.每个节点确认完所有相邻节点的时延信息td后,找出其中的最大时延t
dmax
,则本节点在下一个通信周期内所分配的通信时隙长度更新为:t=t
dmax
+tg,其中tg代表保护间隔。
21.其进一步的技术方案为,动态节点根据其相邻节点数据包确认预留时隙的开始时刻的方法包括:
22.动态节点在接入网络后先进入监听状态,接收相邻节点广播的节点信息,并根据相邻节点时隙长度、时隙总长和预留时隙长度推算出预留时隙的开始时刻,其中监听状态是指本节点处在非通信时隙内只能接收相邻节点信息。
23.其进一步的技术方案为,节点信息以数据包帧结构形式体现,包括:
24.length:表示控制帧的长度;
25.srcaddr:源地址,发送节点的id;
26.dstaddr:目的地址,接收节点的id;
27.nodenum:节点数据,包含当前网络内的节点总数、本节点的相邻节点id和隐藏节点id;
28.slotnum:时隙数据,包含每个节点时隙长度、一个通信周期内的时隙总数及时隙总长;
29.time:时间数据,包含本节点发送数据的时间点tr;
30.data:表示来自于应用层的数据包;
31.crc:冗余校验码,用于差错控制。
32.其进一步的技术方案为,在执行方法前,假设:
33.网络中的所有节点进行全局时钟同步使得每个时隙对齐;任意两个相邻节点的通信无干扰;整个通信期间内网络节点属性不发生变化;任意两个节点最远距离为二跳。
34.本发明的有益技术效果是:
35.考虑在一个节点动态变化的水下动态多跳分布式网络中,设计一种基于tdma协议的网络时隙调度方法,该方法考虑了动态节点随机接入的情况,并改善了基于传统tdma协议的静态时隙调度中端到端时延过长造成的网络传输效率较低的问题,在前两次通信周期内根据本节点与各个相邻节点的时延信息以将下一个通信周期内的时隙进行自适应动态分配,得到所有节点的动态时隙分配以及各节点的相邻节点信息和隐藏节点信息,有效提升了网络效率。
附图说明
36.图1是本技术提供的水下动态多跳分布式网络拓扑示意图。
37.图2是基于tdma协议的静态时隙分配图。
38.图3是基于tdma协议的动态时隙分配图。
39.图4是本技术提供的数据包帧结构。
40.图5是本技术提供的水下动态多跳分布网络时隙调度方法流程图。
41.图6是本技术一个实施例中的水下动态多跳分布式网络拓扑图。
42.图7是本技术一个实施例中的吞吐量仿真性能对比。
具体实施方式
43.下面结合附图对本发明的具体实施方式做进一步说明。
44.本实施例提供了一种基于时分多址协议的水下动态多跳分布网络时隙调度方法,其中在一个水下动态多跳分布式网络中,节点数动态变化,且每个通信周期下最多有一个动态节点随机接入网络,网络中存在隐藏节点,如图1所示。在该网络中,存在以下定义:
45.1)在一个节点最大通信范围内的所有节点称为该节点的相邻节点,否则称为该节点的隐藏节点;
46.2)时隙分配分为静态时隙分配和动态时隙分配,静态时隙分配给每个节点分配固定的时隙,节点只在分配的时隙内传输数据,如图2所示;动态时隙分配根据最大传输时延给各节点动态分配时隙,如图3所示。
47.3)节点间传输的数据包帧结构如图4所示,包括:
48.length:表示控制帧的长度;
49.srcaddr:源地址,发送节点的id;
50.dstaddr:目的地址,接收节点的id;
51.nodenum:节点数据,包含当前网络内的节点总数、本节点的相邻节点id和隐藏节点id;
52.slotnum:时隙数据,包含每个节点时隙长度、一个通信周期内的时隙总数及时隙总长;
53.time:时间数据,包含本节点发送数据的时间点tr;
54.data:表示来自于应用层的数据包;
55.crc:冗余校验码,用于差错控制。
56.需要说明的是,在执行本方法前,作出以下假设:
57.1)网络中的所有节点进行精确的全局时钟同步使得每个时隙可以对齐;2)任意两个相邻节点的通信无干扰;3)整个通信期间内网络节点属性不发生变化,即相邻节点不会变成隐藏节点,隐藏节点也不会变成相邻节点;4)任意两个节点最远距离为二跳,如图1所示,节点1和节点2的通讯需要通过节点4作为跳点。
58.如图5所示,水下动态多跳分布网络时隙调度方法包括如下步骤:
59.步骤1:设初始节点数为n,单节点最大通信距离为l
max
(图1中圆的半径),则为每个节点分配相同长度t0的初始通信时隙,t0=l
max
/c+tg,其中c代表水下声速,tg代表保护间隔。在第n个通信时隙后增加一个时隙,即共设置n+1个时隙,其中前n个时隙为n个节点的通信时隙,最后一个时隙为预留时隙,用于动态节点的接入,且预留时隙长度同样为t0。所有节点在预定时隙内进行数据传输,在本节点的非通信时隙内则变为监听状态,只能接收相邻节点信息。
60.步骤2:在第一次通信周期内,所有节点按照分配的初始通信时隙轮流广播本节点信息,在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点。
61.在本实施例中,广播的节点信息以数据包帧结构形式体现,需要广播的信息包括length、srcaddr、dstaddr、nodenum、slotnum和time;在更新本地节点信息时,将接收的相邻节点广播的节点信息按照数据包帧结构的格式存储在相应位置下,比如将相邻节点标识
进数据包中的nodenum部分。经过本次通信后,各节点已知其相邻节点,但由于节点1位于轮播的第一位置,所以节点1的节点信息尚未在本次进行广播,除了最后一个节点,其余节点的隐藏节点信息也不确定,因此需要两轮通信。
62.步骤3:在第二次通信周期内,所有节点按照分配的初始通信时隙轮流广播本节点信息,在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点tr与本地时间t
l
,计算出与各个相邻节点的时延信息td=t
l-tr,并根据计算得到的时延信息td更新本节点在下一个通信周期内所分配的通信时隙长度。具体的,每个节点确认完所有相邻节点的时延信息td后,找出其中的最大时延t
dmax
,则本节点在下一个通信周期内所分配的通信时隙长度更新为:t=t
dmax
+tg,并将该时隙数据嵌入数据包中的slotnum部分。
63.步骤4:在之后的通信周期内,所有节点按照新分配的通信时隙进行数据传输,并基于步骤3的方法实时更新相邻节点数据与时隙数据,且每个通信周期内的预留时隙长度不变,保持为初始时隙长度t0。
64.若在之后的通信周期内有动态节点接入,则分配其时隙为预留时隙,并执行步骤5。
65.步骤5:在第i次通信周期内(i>2),有动态节点n+1接入,动态节点根据其相邻节点信息确认预留时隙的开始时刻,动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,所有节点在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点。其中,广播的节点信息同样以数据包帧结构形式体现,具体参照步骤2所述。
66.其中,动态节点根据其相邻节点数据包确认预留时隙的开始时刻包括:
67.动态节点在接入网络后先进入监听状态,接收相邻节点广播的节点信息,并根据相邻节点时隙长度、时隙总长和预留时隙长度推算出预留时隙的开始时刻。
68.在该步骤中,该动态节点在预留时隙开始广播节点信息,其相邻节点接收动态节点的信息并保存,以更新自己的相邻节点信息,在下一次通信周期内进行广播,确保所有节点在下一轮通信周期都能确认动态节点接入网络的信息。
69.步骤6:在第i+1次通信周期内,动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,所有节点在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点tr与本地时间t
l
,计算出与各个相邻节点的时延信息td=t
l-tr,并根据计算得到的时延信息td更新本节点在下一个通信周期内所分配的通信时隙长度,表达式为:t=t
dmax
+tg,其中t
dmax
为所有相邻节点的时延信息td中的最大时延,并将该时隙数据嵌入数据包中的slotnum部分。
70.此时,节点总数变为n+1,在第n+1个通信时隙后增加一个时隙,即共设置n+2个时隙,其中前n+1个时隙为n+1个节点的通信时隙,最后一个时隙为预留时隙,用于下一个动态节点的接入,且该预留时隙长度同样为t0。
71.在一个实施例中,如图6所示,网络中存在5个初始节点,同一个虚线圆圈内的节点可互相通信,即节点1、节点3、节点4可互相通信,节点2、节点3、节点4可互相通信,节点3、节点5可互相通信,不可互相通信的互为隐藏节点。本实施例中设置的单节点最大通信距离
l
max
为1000m,按1500m/s的声速c计算,节点间的最大传输时延t
dmax
为0.67s,保护间隔tg设置为0.2s,因此本实施例的初始通信时隙长度t0设定为0.87s。假设在第五次通信周期内,有动态节点6接入网络,则网络吞吐量随时间变化如图7所示,其中吞吐量为在单位时间内能够交换数据的总量,常用来衡量网络性能。
72.图7为动态时隙tdma协议与静态时隙tdma协议的网络平均吞吐量的仿真对比结果,从图中可以看出在前两个通信周期内,网络还在节点信息确认阶段,没有数据交换,因此吞吐量为0。从第三个通信周期开始,两种网络的吞吐量逐渐升高并趋于稳定。可以看出,动态时隙tdma协议的吞吐量要高于传统tdma协议,是因为动态时隙tdma协议的时隙根据各个节点之间的时延动态确定,提高了信道的利用率,每个周期所占用的时长大大缩短,网络平均吞吐量得到提高。在第五次通信周期内,动态节点接入,网络吞吐量短暂下降后逐渐上升,最后趋于平稳,原因是动态节点接入需要先进行节点信息交换,影响数据传输,当节点信息更新完毕后,数据传输恢复正常,吞吐量逐渐提升。可以看出,本发明提出的动态时隙分配比传统静态分配吞吐量更高,有效的提升了网络效率。
73.以上所述的仅是本技术的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

技术特征:
1.基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,所述方法包括:设初始节点数为n,并为每个节点分配相同长度的初始通信时隙;在第n个通信时隙后增加一个时隙作为预留时隙,用于动态节点的接入;在前两次通信周期内,所有节点在分配的初始通信时隙内发送本节点信息,在本节点的非通信时隙内确认与各个相邻节点的时延信息,并根据所述时延信息更新本节点在下一个通信周期内所分配的通信时隙长度;在之后的通信周期内,若有所述动态节点接入,则在当前通信周期和下一个通信周期内,所述动态节点在所述预留时隙内发送本节点信息、其余节点按照新分配的通信时隙发送本节点信息,所有节点在本节点的非通信时隙内确认与各个相邻节点的时延信息,并根据所述时延信息更新本节点在下一个通信周期内所分配的通信时隙长度;在第n+1个通信时隙后增加一个时隙作为预留时隙,用于下一个动态节点的接入。2.根据权利要求1所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,所述初始通信时隙与初始的预留时隙长度相同,均为t0=l
max
/c+t
g
,其中l
max
代表单节点最大通信距离,c代表水下声速,t
g
代表保护间隔。3.根据权利要求1所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,在前两次通信周期内,更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:在第一次通信周期内,所有节点按照分配的初始通信时隙轮流广播本节点信息,包括当前网络内的节点总数、本节点的相邻节点id和隐藏节点id、每个节点时隙长度和时隙总长、本节点发送数据包的时间点t
r
;在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点;在第二次通信周期内,再次执行所述所有节点按照分配的初始通信时隙轮流广播本节点信息,在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自身的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点t
r
与本地时间t
l
,计算出与各个相邻节点的时延信息t
d
=t
l-t
r
,并根据计算得到的时延信息t
d
更新本节点在下一个通信周期内所分配的通信时隙长度;其中,在一个节点最大通信范围内的所有节点称为本节点的相邻节点,否则称为本节点的隐藏节点。4.根据权利要求1所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,在之后的通信周期内,若有所述动态节点接入,则在当前通信周期和下一个通信周期内,更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:在第i次通信周期内,所述动态节点根据其相邻节点信息确认所述预留时隙的开始时刻,所述动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,包括当前网络内的节点总数、本节点的相邻节点id和隐藏节点id、每个节点时隙长度和时隙总长、本节点发送数据包的时间点t
r
;所有节点在非通信时隙内根据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点;在第i+1次通信周期内,再次执行所述动态节点按照分配的预留时隙广播本节点信息、其余节点按照第i-1次分配的通信时隙轮流广播本节点信息,所有节点在非通信时隙内根
据接收的相邻节点广播的节点信息更新本地节点信息,以确认自己的相邻节点和隐藏节点;同时根据接收的相邻节点发送数据包的时间点t
r
与本地时间t
l
,计算出与各个相邻节点的时延信息t
d
=t
l-t
r
,并根据计算得到的时延信息t
d
更新本节点在下一个通信周期内所分配的通信时隙长度;其中,i>2;在一个节点最大通信范围内的所有节点称为本节点的相邻节点,否则称为本节点的隐藏节点。5.根据权利要求3或4所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,所述根据计算得到的时延信息t
d
更新本节点在下一个通信周期内所分配的通信时隙长度的方法包括:每个节点确认完所有相邻节点的时延信息t
d
后,找出其中的最大时延t
dmax
,则本节点在下一个通信周期内所分配的通信时隙长度更新为:t=t
dmax
+t
g
,其中t
g
代表保护间隔。6.根据权利要求4所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,所述动态节点根据其相邻节点数据包确认所述预留时隙的开始时刻的方法包括:所述动态节点在接入网络后先进入监听状态,接收相邻节点广播的节点信息,并根据相邻节点时隙长度、时隙总长和预留时隙长度推算出所述预留时隙的开始时刻,其中所述监听状态是指本节点处在非通信时隙内只能接收相邻节点信息。7.根据权利要求1-6任一所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,节点信息以数据包帧结构形式体现,包括:length:表示控制帧的长度;srcaddr:源地址,发送节点的id;dstaddr:目的地址,接收节点的id;nodenum:节点数据,包含当前网络内的节点总数、本节点的相邻节点id和隐藏节点id;slotnum:时隙数据,包含每个节点时隙长度、一个通信周期内的时隙总数及时隙总长;time:时间数据,包含本节点发送数据的时间点t
r
;data:表示来自于应用层的数据包;crc:冗余校验码,用于差错控制。8.根据权利要求1-6任一所述的基于时分多址协议的水下动态多跳分布网络时隙调度方法,其特征在于,在执行所述方法前,假设:网络中的所有节点进行全局时钟同步使得每个时隙对齐;任意两个相邻节点的通信无干扰;整个通信期间内网络节点属性不发生变化;任意两个节点最远距离为二跳。

技术总结
本发明公开了基于时分多址协议的水下动态多跳分布网络时隙调度方法,涉及水声通信领域,该方法针对水下多跳分布式网络,在传统的基于TDMA协议的静态时隙分配的基础上进行改进,对数据包帧结构进行针对性设计,综合考虑各水下节点间的传输时延,并基于最大传输时延动态调整水下节点所分配的时隙,并考虑动态节点随机接入的情况,实现水下动态多跳分布式网络的时隙调度方法设计。相较于传统静态时隙分配方法,该方法能有效提升网络整体的吞吐量,优化网络运行效率。优化网络运行效率。优化网络运行效率。


技术研发人员:刘磊 马超 段勇
受保护的技术使用者:深海技术科学太湖实验室
技术研发日:2023.05.30
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐