马计栋 郑博文
1.石家庄诺通人力资源有限公司;2.中国电子科技集团公司第五十四研究所
本文提出一种基于阵列天线的数据时隙分配算法,构建预测数学模型,按照比例公平分配各节点数据时隙。实现无冲突预约和分配,充分利用自组织网络多跳的空分复用特性,降低协议开销。能够适应网络拓扑动态变化,网络发生分割或者融合后也能够及时调整,保证每个节点的数据时隙分配结果适用。兼顾数据发送的公平性,确保高优先级数据的低时延。
自组网具有分布式组网和自组织、自恢复等功能,能够实现多跳中继的宽带传输业务,在组网拓扑发生变化的情况下可以自主探测拓扑信息,动态选择和确定传输路由信息[1]。阵列天线的自组织网络中空时资源的分配,决定了网络的最大带宽和传输时延。本文提出一种针对阵列天线在按需分配的时隙算法基础上,加入了动态预测和比例公平分配的算法,根据不同节点的业务需求大小不同动态分配时隙资源,有效利用网络的空时资源[2]。
数据时隙的分配主要分为固定分配和动态分配方式,但在移动自组织网络中,由于节点的移动导致无法及时获取网络的拓扑等参数,从而导致固定分配无法正确使用。而动态分配的方式能够解决这个问题,尤其网络参数的变化导致时隙分配的结果也跟随更新,并且能够周期性的重复操作,以适应网络的变化。
动态分配的方式主要有以下几种[3]:
(1)D-TDMA:在此种算法中,首先要求簇头获取各成员的时隙需求信息,由簇头进行统计后统一规划分配。没有进行空间复用发,资源利用率低。
(2)P-TDMA:一个完整的时帧包括三个子帧,Claim帧用来交换一跳邻居节点信息,Response帧交换二跳邻居节点信息,Info帧用于传输业务。这种算法对新加入的节点不具备实时调整和接入性,限制了使用范围[4]。
(3)FPRP:一种基于竞争的全分布式算法,通过五步预留过程进行时隙的分配。允许网络内各个节点做出多个预留,并且预留过程只涉及两跳范围内的节点,发生时隙碰撞的概率低,并且对网络变化的融合性较高。
(4)FCSA:一种分布式算法[5],即每个节点可以根据本地信息计算自己的时隙分配,并且能够在自己的传输时隙进行无碰撞的发送数据分组。充分利用多跳网络的特点,提高协议算法的效率。
本文设计了一种基于阵列天线的数据时隙资源按照需求比例和数据预测结果,进行动态分配。提高数据时隙使用效率和网络带宽,能够适用网络拓扑的急剧变化。
一个完整的时隙周期结构(Cycle)如图1所示,包括N个相同的时隙子序列结构,每个时隙子序列包括预约时隙,固定广播时隙和动态数据时隙。在时隙子序列中,每个预约时隙包括4个预约子时隙组合(RESV1时隙和RESV2时隙),任意两节点则可以在一个周期内通过1个预约子时隙组合来完成下一周期的动态数据时隙的预约与分配;每个固定广播时隙包括M个固定广播子时隙,按照节点号预先固定分配给每个节点,进行无冲突地发送广播包,进行全网节点拓扑信息的组建;每个动态数据时隙包括8个数据子时隙,所以在每个完整时隙周期中包含128个数据时隙。
图1 基于TDMA的MAC层接入算法时隙结构Fig.1 Time slot structure of MAC layer access algorithm based on TDMA
动态数据时隙的有效使用时间为1个完整的周期,预约结果在每个周期的初始节点生效,周期的结束阶段被清除。首先子节点通过预约子时隙组合RESV1时隙向父节点发送本地空闲数据时隙和本地待发送业务数据包数,父节点收到子节点的数据时隙的申请,根据与子节点所通信的阵面等信息计算出有效空闲数据时隙,并统计子节点的业务数据待发包数,构建数学模型并进行下个周期的业务数据待发包数预测。父节点根据前X个周期的统计结果进行X+1个周期的业务数据量预测,根据每个邻居节点的预测结果把数据时隙按比例预分配,再由第X+1个周期的实际业务数量父节点把数据时隙分配结果通过预约子时隙组合RESV2时隙发送给子节点,子节点收到分配结果更新本地数据时隙使用情况,并修改本地空闲数据时隙,数据时隙预约流程如图2所示。
图2 数据时隙预约流程Fig.2 Data slot reservation process
2.2.1 有效空闲时隙
在基于阵列天线的自组织网络中,节点在数据时隙预约阶段交互空闲数据时隙时,空闲时隙的提取需要根据本地信息表对数据时隙进行筛选,实现资源高效利用的目的。
有效空闲时隙包括完全空闲时隙和复用空闲时隙,如图3所示。
图3 阵面3的有效空闲时隙Fig.3 Effective idle time slot of front 3
完全空闲时隙标识节点在当前数据时隙的所有阵面完全空闲,可按需预约为发送或接收时隙;复用空闲时隙标识节点在该数据时隙与其他节点完成过预约过程,处于发送或接收状态,但与目标节点通信所使用的阵面仍处于空闲,可以向目标节点发送或接收数据。
节点的复用空闲时隙需要根据实时的收发状态区分为复用空闲接收时隙和复用空闲发送时隙。同时,节点的完全空闲时隙对于所有邻居节点是一致的,而复用空闲时隙需要根据目标节点的不同而具体计算。
2.2.2 预测数学建模
根据业务产生的方式和统计结果分析,数学建模类型可以分成两种:线性相关预测和均值预测。因为均值预测对节点业务数据包数量的变化响应较慢,必定增加业务的时延。线性相关预测能够按照特定业务产生的数量趋势进行有效预测,保证了业务数据的速率平稳变化。
通过特定线性预测算法,仿真业务数量累加的变化预测如图,在业务产生的初始阶段会出现响应误差,但在随后的预测中紧跟变化趋势。业务数据量恒定不变的情况,预测也是在初始阶段出现误差较大,但立刻就会进行有效的纠偏,达到准确的预测。以上两种情况误差都出现在预测的初始阶段,经分析得出由于统计方式及统计时长的不同引起,预测的开始所使用的统计的原始数据不完整,造成预测偏差较大,随着统计数据的数量的增大,误差也就逐渐减小。
2.2.3 数据时隙分配
自组织网络中的节点每个周期都与邻居进行一次预约时隙交互,相互告知对方本地与对端的业务数据的待发数量,这些业务数据量会被统计到预测数学模型的源数据池,每个周期的结束前节点进行下个周期每个邻居节点与本节点的业务数据时隙所需预测S1…SN,以及本节点与所有邻居节点的业务数据时隙所需预测X1…XM,计算出下周期本节点和邻居节点产生的总业务所需时隙量S总=S1+…+SN+X1+…+XM,这样就可以得到每个邻居节点通信最多可以分配数据时隙的比例:Z1=S1/S总,…,ZN=SN/S总,节点与邻居节点通信最多分配数据时隙的比例:Z1'=X1/S总,…,ZM'=XM/S总。根据时隙结构的划分,每个周期存在数据时隙的数量,便可以依据分配比例计算出每个节点可以获得的最多数据时隙数量。再由预约时隙交互时获得的当前业务数据包数计算出实际需要的数据时隙数量,依据可获得数据时隙数量不超过预先按照比例分配的数量进行分配,这样便完成每个节点的数据时隙的等比例分配,如图4所示。
图4 数据时隙预约流程Fig.4 Data slot reservation process
在硬件平台FPGA ZYNQ xcZ7100的PL端实现时隙结构的划分和运行,在PS端两核同时运行,实现预约子时隙组合的构建、解析、更新和业务数据的发送和接收。通过测试电脑端下发特定速率的测试包,统计业务出口的缓存的等待发送包数、速率和数据时隙的预约分配情况。其中事实速率如图5所示测试速率。
图5 测试速率Fig.5 Test rate
如图6所示所需时隙数与实际分配时隙数比对,通过时间段15~25s的所需数据时隙和实际分配数据时隙的比对,此时间段的实际数据时隙分配数量明显多于所需的数据时隙数量,所以速率基本稳定在最高速率。但随着预测误差的抖动,速率也会跟随变化。
图6 所需时隙数与实际分配时隙数比对Fig.6 Comparison of required time slots with actual allocated time slots
通过硬件平台的搭建测试,发现数据时隙的预约模型存在误差,并且这个误差直接影响业务速率。节点统计邻居节点的业务数据包数量进行更新预测模型,所预测得到的数据时隙的生效时间和统计时间存在延时,这样导致预测模型的误差变大。后期应该考虑预测数学模型的搭建方式和优化数据更新时间及机制,以削弱预测误差对速率的影响。