张家波 吴昌玉 袁 凯
(重庆邮电大学通信与信息工程学院 重庆 400065)
V2V在交通安全、辅助驾驶和智能交通系统等方面发挥了重要作用。在密集的交通环境下,车辆周期性地广播合作意识消息(Cooperative Awareness Message,CAM),包括车辆的位置、速度、转向等信息,提升了车辆之间相互感知的能力、很大程度上降低了驾驶人员的视线盲区导致的安全隐患,从而避免交通事故的发生[1]。
目前,相对于802.11p协议中的DSRC而言,3GPP中提出的LTE-V具有覆盖面积大、数据速率高、延迟低、频谱效率高等特点[2]。
本文主要研究基于LTE-V下的车载广播通信资源分配。目前针对LTE-V资源分配的研究还存在不足,关于车辆接入机制设计和资源分配方案的研究亟待展开。在密集的车辆环境和有限频谱资源下,为V2V广播提供必要的干扰管理和资源分配显得尤为重要[3]。3GPP Release 14中定义了LTE-V中V2V通信资源分配的两种模式,分别为基站调度资源的模式3以及车辆自主在资源池中进行资源选择的模式4[4-5]。
文献[6]提出的集中式广播调度具有非常高的可靠性,但是它在车辆位置更新和资源分配方面具有更大的信令开销,因此自主资源选择相对具有更高的可扩展性。文献[7]提出了基于感知的半静态调度,利用信标的周期性,引入资源的半静态保留,车辆通过感知先前的数据包传输确定资源的占用,以避免数据包冲突。文献[8]提出了基于位置的V2V自主资源选择算法,与随机选择相比,该算法减少了信道接入冲突,提升了资源的利用率,然而这些增强有许多设计选项和参数设置,其影响尚未在文献中得到很好的研究。文献[9]提出了基站辅助车辆自主资源选择,通过基站对网络的更全面认知,由基站辅助车辆进行资源选择。
基于模式4的分布式资源分配方案不需要基站统一调度资源,减少了系统时延,但是在车辆密集场景中,基于车载终端(Vehicle User Equipment,VUE)随机选择的资源分配方案会导致系统干扰增加,从而使得系统可靠性下降。因此,研究车载终端如何在资源池中选择资源从而进行冲突避免具有较大的意义,本文就此问题提出一种资源分配机制。
在高速公路场景下,假设车辆具有GPS定位系统,周期性(100 ms)生成CAM并向传输范围内的车辆广播,最低延迟要求为100 ms,如图1所示。
图1 V2V广播通信场景
因为V2V通信与安全业务相关,所以使用专用资源池进行资源分配[10],以确保通信的可靠性。专用资源池在时域上分为100个子帧,每个子帧1 ms,频域上共50个资源块(Resource block, RB),数据包传输所需RB数量由传输的调制编码方案(Modulation and Coding Scheme,MCS)决定。V2V广播通信中,需要在资源池中进行调度分配(Scheduling Assignment,SA)信息和数据信息(Data)的传输,由于SA信息比数据信息的优先级高,并且为了减少时延,SA池和Data池以频分复用方式(Frequency-Division Multiplexing,FDM)划分资源池,如图2所示。SA用于通知其他VUE下一周期保留数据资源的时间和频率资源位置,Data用于传输数据包信息。如果车辆在一个子帧中广播,则车辆在该子帧中充当发送车辆(TX),否则在该子帧中充当接收车辆(RX)。
图2 资源池
在分布式资源选择方案中,主要存在以下两个问题:
(1) 资源选取冲突问题:两个邻近车辆如果选择相同的资源传输数据包,则位于两个相邻车辆通信范围内重叠区域中的接收车辆会受到严重干扰,例如图1中的Tx1和Tx2。
(2) 半双工问题[11]:工作在半双工模式的车辆不能在发送数据包的同时接收其他车辆发送的数据包。相邻车辆如果同时发送数据包,则会丢失彼此的数据包。如图1中的Tx3和Tx4在同一个子帧下广播消息,则彼此间接收不到对方的消息。
V2V广播时,接收车辆Rxj信干噪比(Signal to Interference plus Noise Ratio,SINR)可以表示为:
(1)
只有当γj≥γmin[13]时,接收车辆才能正确解码,γmin表示成功解码消息的最小SINR。
(2)
此时Yj,f,t=1表示接收机j在第t个子帧中的第f个子信道能够正确解码,否则Yj,f,t=0。
(3)
式中:Xi,f,t=1表示车辆i选择第t个子帧里的第f个子信道作为发送资源;Xi,f,t=0表示车辆i没有选择第t个子帧里的第f个子信道作为发送资源;Zi,j=1表示Rxj成功接收到Txi的广播消息,Zi,j=0则表示没有成功接收到。
总的设计目标为:在每个周期内,最大化数据传输收发能力。
(4)
(5)
Xi,f,t∈{0,1}
(6)
1≤i≤N,1≤t≤T,1≤f≤F
式中:N表示道路上车辆数;T表示一个周期内的子帧数;F表示一个子帧内的子信道数。式(5)和式(6)表示一个车辆在一个周期内只能占用一个子帧下的一个子信道。
文献[14]提出了基于SA解码的冲突避免算法,本文基于该算法做进一步改进。具体过程如算法1所示。
算法1基于SA解码的冲突避免算法
1) 车辆通过接收周围VUE的SA信息分析下一Data周期的资源占用情况,构建Data池资源占用映射。
2) 在下一个Data池周期中选择空闲资源作为发送CAM的资源位置。
3) 在SA池里随机选择资源以发送SA消息告知周围车辆其CAM资源预留,并在指定的资源预留位置发送CAM。
4) 周围车辆通过该用户发来的SA信息,在指定的资源位置接收CAM。
2.2.1基于两跳邻居的数据包资源预留
隐藏终端:如图3所示,根据文献[14]提出的算法,车辆A只知道一跳邻居范围内的车辆资源预留,因此一跳邻居范围外的车辆C可能会与车辆A选择相同的资源,此时会对彼此通信范围内接收车辆B产生干扰。
图3 隐藏终端
3GPP Release 14定义资源池里每个子帧允许9个OFDM符号用于数据传输,可以通过MCS知道每个RB所携带数据的比特数,因此可以知道每个CAM所需要的RB数量,并计算出一个周期内CAM资源(CAM resource,CR)的总数。
每个CR的状态可以用2个bit表示,2个bit表示4种可能的状态,00表示资源空闲,01表示资源已占用,10表示资源不可读,11作为备用,如图4所示,阴影图表示预留及不可读的资源,白色图表示空闲资源。
图4 资源占用映射
每个车辆节点通过接收周围邻居车辆的SA数据包,构建CR占用映射,该映射指示每个资源是否空闲、占用或不可读,SA数据包中除了当前时刻自己的资源预留外,还加入自己的一跳邻居CR占用映射,并将其广播到一跳邻居中。通过更新两跳邻居的资源占用信息(间接从一跳邻居获得),车辆可以大幅度减少隐藏终端导致的资源碰撞。
SA数据包中增加的字节数可以表示为:
(7)
式中:Snew表示增加后SA数据包的大小;Sold表示原来SA数据包的大小;NCR表示一个周期内Data池内可用信标的资源总数。
基于两跳邻居的资源选择过程如图5所示,假设共有4个CR,VUEA选择第1个CR作为传输资源,并向周围一跳邻居车辆发送SA广播自己的预留资源。VUEB通过接收VUEA的SA获取其预留资源,并建立资源占用映射,在产生数据包后,根据占用映射选择自己的传输资源,然后向周围一跳邻居车辆发送SA消息,SA消息中除了包含自己的资源预留(例如第2个CR)外,还加入VUEB一跳邻居VUEA的预留资源。VUEC通过接收VUEB的SA消息获取VUEB的资源预留以及两跳邻居VUEA的资源预留,并建立自己的资源占用映射,然后选择第3个CR作为传输资源。发送的SA中包含自己以及VUEB的资源预留,但不包括VUEA的资源预留,将VUEA所预留的资源状态设置为00,因为在传输的SA中不会存储超过一跳邻居的信息,否则有关占用信息会扩散至两跳以外,这会导致带宽的浪费和低效的资源重用,因此本文仅在两跳内传播资源预留。在每个周期的开始时,资源映射重新初始化为零。
图5 两跳邻居资源选择过程
2.2.2基于两跳邻居的SA资源预留
接收车辆能够收到一跳范围内发送车辆的SA信息,如果两个邻近发送车辆在SA池里选择相同的资源发送SA信息,则会发生资源碰撞,SA信息发送失败,相邻车辆将不会知道冲突的SA携带的资源预留,从而使相邻车辆可能选择相同资源,产生资源冲突。
由于SA传输的可靠性对CAM接收有很大影响,因此为减少SA冲突,在CAM数据包中加入下一周期的SA资源预留信息。为减少隐藏终端导致的冲突,车辆通过接收周围车辆中CAM数据包中的SA资源预留构建SA预留资源映射图。与上节原理相同,基于此相邻车辆可以知道两跳邻居的SA资源预留信息从而减少SA冲突,提高资源利用率和通信可靠性。
CAM增加的字节数可以表示为:
(8)
式中:Cnew表示增加后CAM的大小;Cold表示原来CAM的大小;NSR表示一个周期内SA池内可用于SA发送的资源总数。
如图6所示,车辆在第一个传输周期内通过发送SA 预留第二个周期里Data池里的资源以及一跳邻居的资源,在第二个周期里通过发送CAM预留第三个周期里SA池里的资源以及一跳邻居的资源。
图6 资源预留过程
2.2.3数据包资源选择
车辆在成功获取资源后,在后续周期中将保持使用相同的资源,但不在两跳传输范围内的车辆获取相同资源后会因为车辆的移动性进入彼此的两跳传输范围,从而产生合并冲突。此时车辆接收到的SA中显示自己所占用的资源不可读(因为资源冲突,周围车辆在SA预留位置中无法解码数据包,则会在资源映射中显示该资源状态为不可读,也就是所占资源块被标志为10时),车辆会释放资源,进行资源重选。
过多的资源重选将导致更多的接入冲突,因此为减少合并冲突的产生,基于车辆移动的方向,将资源池里的子帧中分为两个不相交的子帧集:NL和NR,NL包含奇数子帧,NR包含偶数子帧。子帧集NL为行驶在左方向上的车辆提供可预留的子帧,子帧集NR为行驶在右方向上的车辆提供可预留的子帧,如图7所示。
图7 资源池划分
经过连续几个周期接收到的数据包,车辆可以确定下面四个集合[15]:
V(x):车辆x的两跳邻居范围内的邻居车辆集合;
VL(x):车辆x的两跳邻居范围内的移动方向为左时的邻居节点集合;
VR(x):车辆x的两跳邻居范围内的移动方向为右时的邻居节点集合;
T(x):被车辆x的所有两跳范围内的邻居车辆的占用资源的集合。
车辆x根据最新收到的数据包信息更新上面这些集合,并根据这些集合来确定可预约的时隙集C(x),下面介绍可预留时隙集C(x)。
为避免半双工带来的影响,在对应的C(x)里应避免选择已预留资源所在子帧内的空闲资源,如果所有预留的CR存在于所有可以选择的子帧时,则选择预留的CR存在最少的子帧,如图4虚线所示。
具体资源分配过程如算法2所示。
算法2基于SA解码的V2V自主资源选择算法
1) 车辆通过接收周围VUE的SA信息分析下一Data周期的资源占用情况,构建Data池资源占用映射。
2) 根据两跳邻居的CAM资源占用信息(间接从一跳邻居获得),在Data池内根据移动方向和所处位置密度选择空闲资源作为发送CAM的资源位置。
3) 在SA池里根据两跳邻居的SA数据包占用信息选择资源并发送SA消息告知周围车辆CAM资源预留,并在指定的资源预留位置发送CAM。
4) 周围车辆通过该用户发来的SA信息,在指定的资源位置接收CAM。
本文利用交通流仿真软件SUMO(Simulation of Urban Mobility)和MATLAB工具构建VANET仿真环境。模拟双向车道的高速公路,长度为2 000 m,每个方向的车道数为3条,车道宽度为3.5 m,车辆服从空间泊松分布,具体仿真参数如表1所示。
表3 系统仿真配置
通过将本文提出的算法与基于SA解码的冲突避免算法和基于地理位置算法对比。因为CAM的传输与公共安全相关,因此需要提供可靠且低延迟的通信,为了评估通信质量,考虑以下3个参数:
(1) 数据包接收率:所有目标节点从数据源节点正确接收数据包的数量与所有源节点发送数据包的比值,公式如下:
(9)
式中:Nneighbors表示场景中指定范围内所有车辆的邻居数量;Nsuccess表示场景中成功接收数据包的数量。
(2) 数据包更新时延:车辆节点连续两次正确接收信标的时间差。
tu=tn+1-tn
(10)
式中:tn表示车辆在第n次正确接收数据包的时刻;tn+1表示车辆在第n+1次正确接收数据包的时刻。
(3) 传输时延:由于数据包小,数据包在信道的传输时间小到可以忽略不计,因此传输时延表示为数据包生成时刻到数据包传输时刻的时间差。
tw=ts-tg
(11)
式中:ts是数据包总的传输时间;tg是数据包生成时刻。
图8比较了车辆数为200时,随着传输距离的增加,不同算法的数据包接收率变化。可以看出,数据包接收率会随着传输距离的增加而逐渐下降,这是因为当传输距离增加时,车辆周围会有更多的邻居车辆产生信标,对接收车辆产生干扰,导致SINR降低,使车辆对一些邻居车辆发送的SA信息解码失败,产生更多的资源碰撞,从而使数据包的接收率逐渐降低。相对本文算法,对比算法没有考虑隐藏终端以及SA的随机选择带来的资源冲突,所以本文算法的数据包接收率相对最高,基于地理位置算法与基于SA解码冲突避免算法相比,通过资源池划分考虑了合并冲突带来的影响,因此数据包接收率相对更高。
图8 传输距离与数据包接收率的关系
图9比较了传输距离为150 m时,随着车辆数的增加,不同算法的数据包接收率变化。可以看出,数据包接收率会随着车辆数的增加而逐渐下降,这是因为随着车辆数的增加,两跳邻居范围的车辆增加,因此选择同一资源的数量也会增加,资源冲突增加,从而使数据包的接收率逐渐降低。随着车辆数的增加,本文算法的数据包接收率降低的速度相较对比算法更加缓慢。
图9 车辆数与数据包接收率的关系
图10比较了传输距离为150 m,车辆数为200时,不同算法的数据包更新时延的累积分布函数(CDF),因为更新时延表示车辆正确接收信标的时间差,体现接收车辆对周围车辆信息的获取准确度,所以更新时延收敛速度越快,VUE对周围邻居车辆状态的信息更加准确。可以看出,本文算法的更新时延收敛速度最快,在0.2 s内达到了97%,基于地理位置的算法在0.7 s内达到了97%,基于SA解码的冲突避免算法在0.8 s内达到了97%。
图10 更新时延累积分布对比
图11比较了传输距离为150 m,车辆数为200时,不同算法的数据包传输时延的累积分布函数,当传输时延超过100 ms时,被视为传输失败,所以仿真是基于成功接收信息的车辆中展示每个车辆的传输时延。可以看出,本文算法和基于SA解码的冲突避免算法的传输时延收敛速度相相似,基于地理位置算法的传输时延的收敛速度相对更低,因为该算法将资源池根据道路方向做了左右划分,这样会导致数据在产生之后因资源池的划分产生较长的等待时延,所以收敛速度更慢一些。
图11 传输时延累积分布对比
本文针对高密度的交通环境下资源选择碰撞问题,提出了基于SA解码的自主资源选择算法。该算法首先通过构建资源预留映射图,减少了隐藏终端带来的干扰,之后通过合理的资源选择减少了半双工导致的数据包丢失,最后通过资源池的划分减少了因合并冲突导致的数据包丢失。仿真结果表明,该算法在数据包接收率和更新时延方面取得了较好的性能。