一种基于遗传算法的时分多址时隙分配方法与流程

文档序号:17603481发布日期:2019-05-07 20:32阅读:353来源:国知局
一种基于遗传算法的时分多址时隙分配方法与流程

本发明涉及无线wifi通信技术领域,具体涉及一种基于遗传算法的时分多址(timedivisionmultipleaccess,简称tdma)时隙分配方法。



背景技术:

随着无线技术的发展,在工业自动化中引入无线技术已经成为了一种趋势。由于tdma机制可以将时间分割成若干时隙,在满足定时和同步的条件下,每一个用户可以使用自己的时隙进行传输而不相互产生干扰,因此tdma机制可以很好的避免冲突,也因此在大规模高实时要求的无线技术研究中得到了广泛的关注。但在工业自动化无线通信领域中,现有的tdma技术还不能很好的满足通信的需求,因此设计一种适用于高实时工业自动化无线通信技术的tdma技术,具有很大的研究价值。

如何将tdma系统中的时隙分配给网络中的各个用户是无线通信网络中的关键问题,tdma的时隙分配方法决定了网络的时延和吞吐量等性能指标。因此tdma中的时隙分配方法一直是研究的热点。

针对tdma中的时隙分配问题,研究者们展开了大量的研究工作。目前主要的时隙分配方法有:

1.固定时隙分配方法,即时隙固定分配给某个节点,每个节点的时隙号和时隙数目都是固定的,不会变化。

2.优先级时隙分配方法,通过设置节点在各个时隙内的优先级,在进行时隙分配的时候,优先级高的节点对时隙有优先使用权。

3.二叉树块内均分法,将时隙通过二叉树的形式进行分解和表示,每个非根节点都代表一个时隙块,并且每个非根节点有相应的编码,通过将时隙块的编码发送节点来进行时隙分配。

然而,现有的时隙分配方法主要存在以下问题:

1.固定时隙分配不能根据节点需求的变化来实时调整时隙分配方案,导致其信道利用率低,资源浪费十分严重。

2.现有时隙分配方法没有考虑时隙分配间隔的均匀性,分配给节点的时隙距离时大时小,导致时延抖动增大。



技术实现要素:

本发明为改善现有的时隙分配方法的时隙利用率低和时延抖动大的问题,提出一种基于遗传算法的时分多址时隙分配方法。

本发明包括以下步骤:

s1、将时间划分为周期性的超帧,再将各个超帧划分为相互独立的时隙;

s2、无线接入点获取节点的待发送队列长度,并根据待发送队列长度信息计算出节点所需的时隙数目;

s3、无线接入点根据超帧中的时隙总数和节点所需的时隙数目,计算出该节点的理想时隙分配间隔;

s4、根据超帧中的空闲时隙列出时隙分配序列,通过时隙分配序列和理想时隙分配间隔建立时隙抖动模型;

s5、使用遗传算法求解时隙抖动模型,从时隙分配序列中选出时隙抖动最小的时隙分配序列,并将该时隙分配序列发送给相应的节点。

进一步的,划分时隙的长度需要通过相应的公式进行计算,时隙长度的计算公式如下所示:

ttimeslot≥tguardinterval+tdata+tsifs+tack

其中:ttimeslot表示超帧的时隙长度,也即超帧的周期;tguardinterval是保护时间间隔,用于确保相邻时隙之间的数据传输不会干扰,tdata是传输时间,取决于传输速率和分组大小,tsifs是短帧帧间间隔,tack是确认响应消息花费的时间,超帧的周期取决于划分时隙的个数。

进一步的,无线接入点(accesspoint,简称ap)根据节点的待发送队列长度来计算该节点所需的时隙数目,具体步骤如下:

1)节点在接入网络时,会向ap发送自身的相关信息,其中包含了待发送队列长度信息;

2)ap在获取节点的待发送队列长度之后,计算出节点所需的时隙数目,从空闲时隙中选出合适时隙分配给该节点,所需的时隙数目通过如下公式进行计算:

其中:q是节点的待发送队列长度,l是单个时隙的长度,v是当前的数据传输速率,b是单个时隙内传输的数据量,n是节点所需的时隙数目。

3)节点在分配时隙之后进行数据传输,每次数据传输结束都会实时的向ap发送最新的待发送队列长度信息;

4)ap会根据节点队列长度的变化重新计算节点所需的时隙数目,并重新进行分配。

进一步的,ap将时隙均匀的分布给节点,减小网络的时延抖动,具体分配过程如下:

1)ap根据节点所需的时隙数目n和超帧中的时隙总数s,计算出该节点理想的时隙分配间隔p;

2)根据超帧中的空闲时隙列出时隙分配序列,通过时隙分配序列计算出时隙间隔序列,计算公式如下:

其中:a={a1,a2,...,an}为分配给节点的时隙序列,d={d1,d2,...,dn}为分配给节点的时隙序列中相邻时隙的时隙间隔序列。

3)将时隙均匀分配问题转化成数学计算问题,通过时隙间隔序列和理想时隙分配间隔建立如下抖动时隙模型:

其中:var为时隙抖动大小,i=1,2,...,n;di表示在第i个时隙的时隙间隔;1≤di≤d;d为相邻时隙最大的间隔,通过求出时隙抖动的最小值得出最优时隙分配序列;s表示超帧中的时隙总数;n表示节点所需的时隙数目。

4)采用遗传算法求解时隙抖动模型,对每个时隙分配序列的适应度值进行计算的比较,选出适应度值最高的时隙分配序列,该序列即为最优时隙分配序列,时隙分配序列的适应度值通过以下公式进行计算:

其中:fitness为时隙分配序列的适应度值,d为时隙分配序列中相邻时隙的最大间隔,g(x)为惩罚函数,其定义为当适应度值fitness取最大值时,时隙抖动var即取得最小值。

5)通过计算选出最优的时隙分配序列之后,ap通过信标帧将该时隙分配序列发送给相应的节点。

进一步的,在进行时隙分配的时候,ap和节点之间必须保持高精度的时间同步,时间同步是通过定时器来完成的,定时器设计是基于ieee802.11中的定时同步功能(tsf),每个节点都维护着一个本地tsf定时器,ap是定时的主时钟,并且执行tsf。具体时间同步步骤如下:

1)ap首先初始化自身的tsf定时器,然后将时间信息写入到信标帧中的时间戳字段内;

2)ap将信标帧广播给网络中的所有节点;

3)当节点接收到信标帧后,会从时间戳字段内读取时间信息,再加上相应的接收时延,计算出准确的时间;

4)最后节点将自身的本地tsf定时器修改成所计算出来的时间,最终实现与ap主时钟的准确时间同步。

进一步的,时隙由tguardinterval、tdata、tsifs和tack四个阶段组成,节点只能在ap分配给自己的时隙中进行数据传输,节点在进行数据传输之前需要等待tguardinterval阶段,这段时间称为保护间隔,用来避免因分组过大导致的连续传输对本时隙的传输产生干扰,在数据传输过程中,如果发送方在tack阶段没有从接收方接收到ack消息,则立即调用重传机制,请求重传数据,重传次数设置很关键,必须在时延容忍范围内。

本发明的优点以及有益效果如下:

1.本发明通过实时获取节点的待发送队列长度信息来为动态调整节点的时隙分配方案,减少资源浪费,提高时隙的利用率。

2.本发明建立出时隙抖动模型,采用遗传算法求解该模型,能够得出最优时隙分配方案,使得分配给节点的时隙分布的更加均匀,从而减小时隙抖动。

附图说明

图1是本发明采用的时隙分配整体流程图;

图2是本发明采用的时隙结构示意图;

图3是本发明的超帧结构示意图;

图4是本发明采用的遗传算法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

一种基于遗传算法的时分多址时隙分配方法,可基于ieee802.11硬件来进行设计和实现的。如图1所示,包括以下步骤:

s1、将时间划分为周期性的超帧,再将各个超帧划分为相互独立的时隙;

s2、无线接入点获取节点的待发送队列长度,并根据待发送队列长度信息计算出节点所需的时隙数目;

s3、无线接入点根据超帧中的时隙总数和节点所需的时隙数目,计算出该节点的理想时隙分配间隔;

s4、根据超帧中的空闲时隙列出时隙分配序列,通过时隙分配序列和理想时隙分配间隔建立时隙抖动模型;

s5、使用遗传算法求解时隙抖动模型,从时隙分配序列中选出时隙抖动最小的时隙分配序列,并将该时隙分配序列发送给相应的节点。

如图2所示,节点在接入网络时,首先向ap发送自己的待发送队列长度,ap在获取节点的待发送队列长度之后,根据当前的传输速率和待发送队列长度计算出节点所需的时隙数目,计算公式如下:

其中:q是节点的待发送队列长度,l是单个时隙的长度,v是当前的数据传输速率,b是单个时隙内传输的数据量,n是节点所需的时隙数目。

如图3所示,超帧划分为s个相互独立的时隙,其中a={a1,a2,...,an}为时隙分配序列,d={d1,d2,...,dn}表示时隙分配序列中相邻时隙的间隔。每个时隙由发送时间、两个时隙之间的保护间隔、数据帧ack确认等待时间和数据帧与ack之间的短帧帧间间隔四部分组成。

根据节点所需的时隙数目n计算出分配时隙的理想间隔为p=s/n,利用理想时隙分配间隔p和时隙间隔序列d={d1,d2,...,dn}建立时隙抖动模型,如下所示:

其中:var为时隙抖动大小,i=1,2,...,n;di表示在第i个时隙的时隙间隔;1≤di≤d;d为相邻时隙最大的间隔,通过求出时隙抖动的最小值得出最优时隙分配序列;s表示超帧中的时隙总数;n表示节点所需的时隙数目。

如图4所示使用遗传算法来求解数学问题,首先从超帧中的空闲时隙中随机选取若干个时隙分配序列作为初始群体,群体大小的选取根据空闲时隙数目而定,空闲时隙越多,需要选取的群体数目越大,本实施例中设定一个超帧的时隙个数为12,时隙编号为0~11,其中{1,4,5,7,8,11}为空闲时隙,现假设从6个空闲时隙中选取4个时隙分配给节点,且选取群体大小为4,即初始随机选取4个时隙分配序列,也就是遗传算法中的4个染色体,如a1={1,4,5,7},a2={1,4,5,11},a3={1,5,7,8},a4={1,7,8,11};其适应度值可以通过以下公式进行计算:

其中:fitness为时隙分配序列的适应度值,d为时隙分配序列中相邻时隙的最大间隔,g(x)为惩罚函数,其定义为:此处的x即为di,本实施例中设定每一个di都不大于d;上述的每个时隙分配序列的适应度值依次为0.800,0.307,0.666以及0.285;具体的,以a1={1,4,5,7}为例,d1=3;d2=1;d3=2,根据步骤s4中的计算公式,求出p=3;所以最终计算出的a1适应度值为0.800。

计算出所选取时隙分配序列中的适应度值之后,如表1所示,通过选择运算选取适应度值最大的时隙分配序列直接替代适应度值最小的时隙分配序列,即将表1中的a4={1,7,8,11}的直接替换为a1={1,4,5,7};在其他的时隙分配序列中进行随机配对,随机设置交叉点位置,进行交叉运算产生新的时隙分配序列,如表2所示,将a2与a3进行交叉运算生成新的时隙分配序列;再进行变异运算,即以较小的概率随机选取一个时隙分配序列,用空闲时隙中的时隙替换该时隙分配序列中的某个时隙,从而生成新的时隙分配序列,如表2中的个体a3可能因变异而得到新的时隙分配序列{1,4,7,11},再重新进行适应度值运算,循环运算,进行迭代。通过选择运算、交叉运算和变异运算的不断进行,时隙分配序列的适应度值会向增大的方向收敛,通过设置最大的遗传代数来终止算法,此时选出的时隙分配序列就是最优或者接近最优的时隙分配序列,最后ap通过信标帧将选出的时隙分配序列发送给相应的节点。

表1选择计算

表2交叉计算

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1