張家波 吳昌玉 袁 凱
(重慶郵電大學通信與信息工程學院 重慶 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解碼的自主資源選擇算法。該算法首先通過構建資源預留映射圖,減少了隱藏終端帶來的干擾,之后通過合理的資源選擇減少了半雙工導致的數據包丟失,最后通過資源池的劃分減少了因合并沖突導致的數據包丟失。仿真結果表明,該算法在數據包接收率和更新時延方面取得了較好的性能。