避免波束干扰的高效太赫兹双信道MAC协议
2020-12-10姚玉坤甘泽锋刘顺辉
姚玉坤,甘泽锋,冯 鑫,刘顺辉
(重庆邮电大学 通信与信息工程学院,重庆 400065)
0 引 言
随着时代的发展,人们对无线数据速率的要求越来越高,然而,5G网络只能提供几千兆比特每秒的传输速度,但太赫兹(Terahertz,THz)通信网络可以提供几十千兆比特每秒的传输速度[1-3]。随着THz通信技术的发展,目前已有一些介质访问控制(Media Access Control,MAC)协议可实现THz通信[4-5]。2016年,Yao等人提出一种针对THz通信网络的辅助波束成型MAC协议(Assisted Beamforming MAC Protocol for Terahertz Communication Networks,TAB-MAC),其在WiFi信道完成波束赋形,在THz信道传输数据[6];Tong等人提出一种多无线电辅助协议,其基于处理控制消息的到达角找到最佳传输路径后,在THz信道传输数据[7];文献[8-9]提出了自适应利用THz波段的超宽带宽和具有资源分配功能的多连接THz通信;文献[10-11]实现了在THz信道中的多输入多输出(Multiple Input Multiple Output,MIMO)通信。
文献[12]在上述研究基础上提出了一种MIMO THz通信网络的多波束按需功率分配MAC(Multi-Beam On-Demand Power Allocation MAC,MBPA-MAC)协议,该协议依赖于多波束天线结构,通过应用距离感知功率分配方案,实现了多个并发的THz通信,解决了THz通信距离受限和单波束MAC协议性能较低的问题,但其还存在波束重叠干扰和控制开销冗余的问题。本文针对这两个问题,提出了一种避免波束干扰的高效THz双信道MAC协议(Efficient THz Dual-Channel MAC Protocol to Avoid Beam Interference,E-ABIMAC)。
1 网络模型和问题描述
1.1 网络模型
MBPA-MAC协议是一种应用在MIMO THz通信网络场景下的双信道MAC协议,其网络模型如图1所示。
图1 MBPA-MAC协议网络模型图
如图所示,每个节点配备有全球定位系统(Global Positioning System,GPS)模块、2.4 GHz WiFi全向天线和16个天线子阵列组成的THz多波束天线阵列,每个子阵列负责一个扇区。节点在WiFi信道交互控制信息,完成波束赋形,在THz信道定向传输数据。
MBPA-MAC协议的交互过程分为两种情况,如图2所示。源节点首先在WiFi信道广播一个请求发送(Request To Send,RTS)帧,目的节点收到RTS帧后根据RTS帧中的位置信息分配相应扇区,同时广播一个允许发送(Clear to Send,CTS)帧,源节点接收到CTS帧后根据CTS帧中的位置信息计算源节点传输数据所需的最小传输功率,计算公式为
图2 MBPA-MAC协议的交互过程
式中:f为THz频率;d为两点间距离;Pr为目的节点的接收功率;Gt和Gr分别为发射机和接收机的定向天线增益;c为光速;Kabs为水分子吸收系数。Pr的计算公式为
式中:K为玻尔兹曼常数;B为传输数据的带宽;Tnoise为等效噪声温度;SNRmin为最小接收信噪比。若源节点的剩余功率足够,则在THz信道定向发送一个测试(Test To Transmit,TTT)帧,目的节点收到后回复一个确认(Acknowledgement,ACK)帧,源节点收到ACK帧后发送数据(Data),目的节点接收完所有数据后回复一个ACK帧;若源节点的剩余功率不够,则全向发送一个尚未准备好(Transmit Not Ready,TNR)帧,目的节点收到TNR帧后取消分配给源节点的天线扇区同时回复ACK帧。
图3所示为RTS和CTS帧结构。Duration为生存周期,RA为目的节点的MAC地址,TA为发送节点的MAC地址,X和Y分别为节点的横和纵坐标,队列信息为节点的请求序列号,帧校验序列(Frame Check Sequence,FCS)主要目的是实现无比特差错传输。
图3 RTS和CTS帧结构
1.2 问题描述
通过对MBPA-MAC协议的仔细研究,本文提出以下问题:
(1) 目的节点发送CTS帧时带有自身的MAC地址,由于源节点已知目的节点的MAC地址,造成了控制消息的冗余。源节点收到CTS帧后判断自身的剩余功率是否足够传输数据,若不够,在WiFi信道回复TNR帧,目的节点收到TNR帧后回复ACK帧,此过程虽然保证了下一次其他节点与目的节点通信的天线扇区不被占用,但带来了过多的控制开销,降低了信道利用率。
(2) MBPA-MAC协议中为了实现MIMO THz通信,通信网络中每个节点配备多波束天线,最多可支持16个方向同时进行数据传输,但是多对节点在THz信道同时传输数据容易存在波束重叠,数据传输受到干扰,从而导致消息传输成功率降低,网络吞吐量下降。
2 E-ABIMAC
针对上述问题,本文提出了E-ABIMAC。该协议分为波束干扰预判机制、中继辅助机制和基于节点信息省略CTS/ACK帧机制,通过这3个机制,减少了节点在WiFi信道的交互过程,大大减少了控制开销,降低了传输时延,提高了消息传输成功率,也增大了网络吞吐量。
2.1 基于节点信息省略CTS/ACK帧机制
针对1.2节中的问题(1),本文提出了基于节点信息省略CTS/ACK帧机制,该机制主要思想是源节点发送新的RTS帧时,在帧中添加两个字节表示源节点的剩余功率,目的节点收到新的RTS帧后,根据位置信息和功率信息,通过式(1)和(2)判断源节点能否与目的节点通信。若能则回复新的CTS帧,新的CTS帧中不包含TA字段;若不能则回复TNR帧,减少了CTS和ACK帧的交互过程,大大减少了控制开销。
源节点发送的新RTS帧即RTS-P(RTS-Power)帧的帧结构如图4所示。目的节点发送的新CTS帧的帧结构如图5所示。图6所示为新机制下功率不足时的交互过程。
图4 RTS-P帧结构
图5 新的CTS帧结构
图6 新机制下功率不足时的交互过程
基于节点信息省略CTS/ACK帧机制的具体步骤如下:
步骤1:源节点首先通过WiFi信道全向广播一个携带自身位置和功率信息的RTS-P帧。
步骤2:目的节点收到RTS-P帧后提取RTS-P帧中的位置信息和功率信息,功率值记为P1,通过式(1)和(2)计算源节点发送数据所需的最小传输功率,其值记为P2。
步骤3:若P1≥P2,表示源节点的剩余功率可以支持本次数据传输,则目的节点根据RTS-P帧中的位置信息分配相应的天线扇区,同时目的节点回复新的CTS帧,源节点接收到新的CTS帧后提取位置信息,分配相应的天线扇区。
步骤4:源节点在THz信道定向发送一个TTT帧,测试源和目的节点的波束是否对准,目的节点收到TTT帧表示两节点的波束已经对准,回复一个ACK帧,源节点收到ACK帧后开始传输数据。
步骤5:若P1 本文所提波束干扰场景如图7所示,图中有多对节点同时在THz信道传输,节点B和D为节点A的目的节点,节点E为节点C的目的节点。 图7 波束干扰场景 节点A传输数据给节点B和D,不会产生波束重叠,但节点C传输数据给节点E会导致节点A和D的波束与节点C和E的波束产生重叠,进而影响数据传输。为了避免这种情况,节点E可以通过节点A和C发送的RTS帧保存节点A和C的位置信息以及节点B和D发送的CTS帧中的位置信息和生存周期,由于THz定向波束的宽度很窄,可认作为准直线,因此可通过直线方程判断是否有波束重叠。 以下是判断两对节点同时通信时产生波束重叠的方法,多对节点判断方法同理。 假设节点A的坐标为(XA,YA),节点D的坐标为(XD,YD),节点C的坐标为(XC,YC),节点E的坐标为(XE,YE),两点的直线方程为 通过式(3)确定直线AD和CE的直线方程并联立求解,若x无解,则不存在波束重叠;若x有解,假设交点的横坐标为xm,则有以下3种情况: 情况1:当xm>xD时,即相交点在节点D的右侧,不会产生波束重叠。 情况2:当xm 情况3:当xA≤xm≤xD时,说明相交点正处于线段AD之间,会产生波束重叠,需启动中继辅助机制。 本文提出的波束干扰预判机制步骤如下: 步骤1:首先通信网络中每个节点维护一张节点信息存储表,节点收到一个RTS-P帧后提取位置信息放入表中,收到新的CTS帧就提取生存周期和位置信息放入表中,表中每一项在初始化时均填入“NULL”,当信息存储表中生存周期回退为0时,删除这一行的信息。 步骤2:有数据发送请求的源节点发送RTS-P帧,目的节点收到RTS-P帧后,根据式(1)和(2)判断能否建立通信。若不能,则取消本次通信;若能,则读取信息存储表中正在通信的节点及其位置信息,通过上述方法判断是否有波束重叠。 步骤3:若没有,则回复新的CTS帧,然后执行MBPA-MAC协议。 步骤4:若有,则启动中继辅助机制。 目的节点广播一个中继请求帧(Relay Request Frame,RRF),帧结构如图8所示。 图8 RRF的结构 其他节点接收到RRF后,开始判断自身能否作为中继节点。 首先节点根据接收到的RTS-P帧中的位置信息和功率信息以及波束干扰预判机制判断能否与源节点建立通信。若能,再根据接收到的RRF中的位置信息和波束干扰预判机制判断能否与目的节点建立通信,若还是能,则将该节点作为一个备选节点,备选节点集用P={P1,P2,…}表示。这些备选节点收到RRF后启动一个计时器,计时器的值最先回退为0的节点作为中继节点,计时器的初始值为 式中:SIFS为短帧间间隔;PSR为源节点发送数据给中继节点所需的最小传输功率;PRD为中继节点发送数据给目的节点所需的最小传输功率;PMAX为节点提供的最大传输功率,值为100 mW;RSSSD为目的节点收到RTS帧的接收信号强度;RSSDR为备选节点收到RRF的接收信号强度;α和β均为权重因子,两者之和为1。 成为中继节点的节点广播一个中继节点帧(Relay Node Frame,RNF),表明该节点为中继节点,RNF的结构如图9所示。 图9 RNF结构 本文提出的中继辅助机制步骤如下: 步骤1:目的节点广播一个RRF,寻找中继节点。 步骤2:其他节点接收到RRF后,先读取源节点发送的RTS-P帧中的位置信息和功率信息,通过式(1)、(2)和波束干扰预判机制判断能否与源节点建立通信。 步骤3:若能,再读取RRF中目的节点的位置信息,通过式(1)、(2)和波束干扰预判机制判断自身的剩余功率能否与目的节点建立通信,若能则记为一个备选节点。 步骤4:成为备选节点的节点收到RRF后启动计时器,计时器数值最先回退为0的节点广播一个RNF,表明为中继节点,同时根据RTS-P帧和RRF的位置信息分配相应的扇区。 步骤5:源节点收到RNF后根据RNF的位置信息分配新的扇区,同理,目的节点收到RNF后也根据RNF的位置信息分配新的扇区。 步骤6:在THz信道,源节点与中继节点通信和中继节点与目的节点通信的流程与MBPA-MAC协议一样。 本文采用的仿真工具是OPNET14.5仿真软件,在网络环境相同的前提下,比较分析E-ABIMAC、MBPA-MAC和TAB-MAC协议的性能。 主要的仿真参数如表1所示。 表1 主要仿真参数 3.2.1 消息传输成功率 消息传输成功率为目的节点正确接收到的数据帧个数除以源节点发送的数据帧个数,计算公式为 式中:P为消息传输成功率;Nr为目的节点接收数据帧的数量;Nt为源节点发送数据帧的数量。 如图10所示,当节点数量达到18个时,E-ABIMAC的消息传输成功率与MBPA-MAC协议相比提升了6.5%,但3种协议的消息传输成功率都存在下降的趋势,主要原因有以下两点:(1) 由于节点的位置信息是通过GPS定位模块获得的,在控制消息交互阶段节点全向广播时,所有的节点都可以收到信息。但节点在THz信道定向传输,由于GPS定位存在一定误差,数据可能无法正确传输到目的节点。(2) 节点间通信方向存在障碍物,导致目的节点接收不到数据。但E-ABIMAC的成功率比其他协议高,主要是因为E-ABIMAC采用了波束干扰预判机制和中继辅助机制,能够避免多对节点在THz信道传输数据时产生波束重叠干扰。 图10 消息传输成功率比较 3.2.2 MAC层吞吐量 MAC层吞吐量为单位时间内目的节点接收的总比特数,计算公式为 式中:Bi为第i个节点接收的数据帧比特数;Ts为整个网络运行的总时间。 如图11所示,当业务数量达到上限后,E-ABIMAC的吞吐量与MBPA-MAC协议相比提高了10.1%。由图可知,MAC层吞吐量在逐渐增大,其主要原因是随着节点数量的增多,单位时间内通信的节点数也增加,传输数据的效率更高,但吞吐量最后会趋于平稳(协议支持的业务数量有上限)。且E-ABIMAC的吞吐量一直比MBPA-MAC协议高,原因在于:(1) E-ABIMAC通过基于节点信息省略CTS/ACK帧机制,减少了控制帧交互过程和CTS帧的冗余控制开销,增加了数据在THz信道的传输时间;(2) 通过波束干扰预判机制和中继辅助机制,不存在多对节点同时通信产生波束干扰的现象。 图11 MAC层吞吐量比较 3.2.3 信道利用率 信息利用率为数据帧的传输时间Ti除以网络运行总时间Ts,其计算公式为 如图12所示,当网络饱和时,E-ABIMAC的信道利用率与MBPA-MAC协议相比提升了11.7%。 图12 信息利用率比较 主要原因是E-ABIMAC在源节点功率不足的情况下减少了CTS和ACK帧的交互,同时减少了CTS帧的TA字段,在网络运行总时间固定的前提下,减少了WiFi信道发送控制帧的时间,相当于增加了THz信道传输数据的时间,从而提高了信道利用率。 本文主要针对MBPA-MAC协议中存在的控制开销过大和波束重叠问题进行改进,提出了E-ABIMAC。E-ABIMAC分为基于节点信息省略CTS/ACK帧机制、波束干扰预判机制和中继辅助机制。通过基于节点信息省略CTS/ACK帧机制,省略了源节点在功率不足情况下的CTS/ACK帧交互过程,同时还删掉了源节点功率足够时CTS帧中的TA字段。通过波束干扰预判机制和中继辅助机制,使多对节点同时在THz信道传输数据时不受其他节点的波束干扰。仿真结果表明, E-ABIMAC在MAC层吞吐量和消息传输成功率等性能上具有优越性。我们在未来的工作中将继续研究MIMO THz通信网络双信道MAC协议,以使其性能更加优越。2.2 波束干扰预判机制
2.3 中继辅助机制
3 仿真验证
3.1 仿真参数设置
3.2 仿真结果分析
4 结束语