張?jiān)孪?,?沖
(1. 北京信息科技大學(xué)信息與通信工程學(xué)院,北京 100101;2. 北京信息科技大學(xué)現(xiàn)代測控技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100101;3. 高動態(tài)導(dǎo)航北京市實(shí)驗(yàn)室,北京 100101)
車聯(lián)網(wǎng)是未來智能交通系統(tǒng)發(fā)展的必然趨。在過去的十年里,許多智能交通應(yīng)用得到了飛速的發(fā)展,如輔助駕駛、自動駕駛、車輛防碰撞、高速公路監(jiān)測等。然而,這些應(yīng)用需要實(shí)時(shí)且精確的車輛定位技術(shù)支撐[1]。全球定位系統(tǒng)(GPS)是應(yīng)用最廣泛的技術(shù)之一,但GPS信號在隧道、高樓密集的街區(qū)、山區(qū)、立交橋下、惡劣天氣等場景中由于信號受障礙物阻擋導(dǎo)致其定位性能大打折扣,甚至無法完成定位[2]。另一方面,基于GPS的定位方法也無法滿足未來車聯(lián)網(wǎng)應(yīng)用的定位精度需求[3]。
V2X通信是未來車聯(lián)網(wǎng)關(guān)鍵技術(shù)之一,其中車與基礎(chǔ)設(shè)施(V2I)通信是V2X通信的重要組成部分,基礎(chǔ)設(shè)置主要包括路側(cè)單元(RSU)與基站。以RSU為例,車輛上所搭載的車載單元(OBU)通過車聯(lián)網(wǎng)短程通信技術(shù)(DSRC)實(shí)現(xiàn)信息的高速率傳輸[4-5]。近年來,隨著車聯(lián)網(wǎng)定位技術(shù)的不斷發(fā)展,基于RSU的定位技術(shù)越來受到人們的關(guān)注。文獻(xiàn)[6]提出一種基于加權(quán)質(zhì)心算法的車輛定位方法,待定位車通過對附近路側(cè)單元和已知坐標(biāo)車輛的坐標(biāo)進(jìn)行加權(quán)來估算自身的位置坐標(biāo),其中權(quán)值的設(shè)定綜合考慮了距離及信噪比等因素;文獻(xiàn)[7]提出了一種基于雙RSU的測距方法,其首先利用無線測距技術(shù)提取車輛與各RSU間的距離,則待定位車輛可能位于以RSU坐標(biāo)為圓心距離為半徑的雙圓交點(diǎn)之上,假設(shè)車輛行駛方向已知,通過RSU廣播第二輪消息后判斷待定位車輛位置;文獻(xiàn)[8]利用車輛自身的移動特性與固定RSU間聯(lián)立到達(dá)時(shí)間(TOA)方程,當(dāng)構(gòu)建方程數(shù)量達(dá)三個(gè)及以上時(shí),通過最小二乘法對TOA方程進(jìn)行解算,從而求解待定位車輛坐標(biāo);文獻(xiàn)[9]提出了一種基于到達(dá)角度(DOA)的車輛定位方法,待定位車輛從輔助 RSU廣播信息中解算出來波角度,并利用來波角度的正切值構(gòu)建包含位置的方程組解算車輛坐標(biāo)。
為進(jìn)一步提升定位精度,本文提出一種基于神經(jīng)網(wǎng)絡(luò)和RSU指紋的車輛定位方法。該方法將車輛所行駛的路段均勻劃分為若干柵格區(qū)域,在每個(gè)柵格區(qū)域處采集不同RSU的接收信號強(qiáng)度(RSSI)。將所采集的RSSI作為特征值、各柵格點(diǎn)所對應(yīng)中心坐標(biāo)作為目標(biāo)值構(gòu)建BPNN,并估算該網(wǎng)絡(luò)的最大預(yù)測誤差值。定位階段,待定位車輛將自身接收到各RSU的RSSI輸入構(gòu)建好的BPNN,并以其輸出坐標(biāo)為圓心,BPNN的誤差最大值為半徑,在約束范圍內(nèi)進(jìn)行指紋定位來確定待定位車輛的精確位置坐標(biāo)。該方法適用于對車輛定位精度要求較高的應(yīng)用場景及GPS定位盲區(qū),也可與其它定位方法相結(jié)合,實(shí)現(xiàn)高精度融合定位。
本文所利用的車輛定位模型如圖1所示,在雙向二車道模型中,若干RSU交替等距部屬于道路兩側(cè)且位置坐標(biāo)已知,RSU在其通信范圍內(nèi)周期性地廣播包含自身標(biāo)識的數(shù)據(jù)包。網(wǎng)絡(luò)中若干車輛在服從交通規(guī)則的情況下自由行駛于道路之中。
圖1 車輛定位模型
設(shè)RSU總數(shù)為N,其中第n個(gè)RSU的坐標(biāo)可表示為
Rn=(xn,yn) 1≤n≤N
(1)
設(shè)車輛V0為搭載OBU的待定位車輛,其坐標(biāo)可表示為(x,y),車輛與RSU之間的通信遵循2.2節(jié)所示DSRC鏈路模型。
RSU與車輛之間的DSRC鏈路模型可用自由空間模型進(jìn)行描述,其具體表達(dá)式可通過Friis公式[6]表示
(2)
在上式中Ps、Pr分別為RSU的發(fā)射信號功率及待定位車輛的接收信號功率,λ為信號的波長,d為RSU與待定位車輛間的距離,β為系統(tǒng)損耗因子,Gs、Gr為天線增益,車聯(lián)網(wǎng)環(huán)境中通常設(shè)Gs=Gr=β=1為默認(rèn)值[6],波長λ可如下表示
(3)
其中C是真空中光速(299,792,458m/s),f為信號傳播的頻率。式(2)中功率單位為瓦特,將其進(jìn)一步改寫為式(4)所示dB形式[10]
(4)
將定位區(qū)域平面均勻劃分為M個(gè)四邊形柵格區(qū)域。在RSU指紋庫的構(gòu)建階段,分別在每個(gè)柵格區(qū)域的中心處測量該位置所接收到不同RSU的RSSI并存儲到數(shù)據(jù)庫之中作為參考指紋點(diǎn)。指紋庫中第m(m≤M)個(gè)參考指紋點(diǎn)可如下表示
Fm=(m,xm,ym,Pm1,…,PmN)
(5)
xm與ym為第m個(gè)參考指紋點(diǎn)的實(shí)際位置坐標(biāo),PmN為第m個(gè)參考指紋點(diǎn)處所接收到第N個(gè)RSU的RSSI。因此,所構(gòu)建的RSU指紋庫FB可如下表示
FB=(F1,F(xiàn)2,…FM)T
(6)
將RSU指紋庫中指紋信息作為構(gòu)建BPNN的訓(xùn)練集,用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。其中神經(jīng)網(wǎng)絡(luò)的特征值和目標(biāo)值分別為指紋點(diǎn)所接收到不同RSU的RSSI和指紋點(diǎn)的位置坐標(biāo)。本文所構(gòu)建的BPNN包含輸入層、隱含層及輸出層。
設(shè)BPNN輸入層神節(jié)點(diǎn)數(shù)量s0=N,在訓(xùn)練階段,需將指紋庫中RSSI矩陣輸入網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。設(shè)建模過程中輸入矩陣為XT,可表示為
(7)
其中XM=(PM1,PM2,…,PMN)為指紋庫中第M個(gè)指紋點(diǎn)所接收到N個(gè)RSU的RSSI向量。
設(shè)BPNN的輸出層節(jié)點(diǎn)數(shù)量s2=2,在BPNN的訓(xùn)練階段,輸出層通過將XT經(jīng)BPNN的所得輸出值與各指紋點(diǎn)橫縱坐標(biāo)間的誤差進(jìn)行反向傳播,對神經(jīng)網(wǎng)絡(luò)各層權(quán)值與閾值進(jìn)行修正,使神經(jīng)網(wǎng)絡(luò)可以更好地?cái)M合訓(xùn)練集中RSSI與位置坐標(biāo)間的非線性關(guān)系,提升網(wǎng)絡(luò)性能。
BPNN隱含層節(jié)點(diǎn)數(shù)數(shù)量s1可由式(8)所示經(jīng)驗(yàn)公式求得
(8)
其中,s0和s2分別為輸入層及輸出層節(jié)點(diǎn)數(shù)量,α為 0~10之間的調(diào)節(jié)常數(shù)。隱含層與輸出層的激勵(lì)函數(shù)f1(x)和f2(x)分別選擇S函數(shù)Sigmoid及線性傳遞函數(shù)purelin;wij與b1i分別表示神經(jīng)網(wǎng)絡(luò)中隱含層和輸入層間的權(quán)值及閾值,而Wli與b2l分別表示神經(jīng)網(wǎng)絡(luò)中輸出層和隱含層間的權(quán)值及閾值
因此,本文所構(gòu)建的BPNN拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 BPNN拓?fù)浣Y(jié)構(gòu)
由上圖可知,神經(jīng)網(wǎng)絡(luò)隱含層中第i個(gè)節(jié)點(diǎn)的輸出a1i如下所示
(9)
其中pj=(P1j,P2j,…,PMj)為輸入層第j個(gè)節(jié)點(diǎn)的輸入向量,輸出層第l個(gè)節(jié)點(diǎn)的輸出值a2l如下所示
(10)
性能函數(shù)為軍方誤差函數(shù)其定義如下
(11)
tl用來表示訓(xùn)練集各指紋點(diǎn)所對應(yīng)坐標(biāo)值,由于s2=2,故當(dāng)l=1時(shí),tl表示對應(yīng)指紋點(diǎn)橫坐標(biāo)值;l=2時(shí),tl表示對應(yīng)指紋點(diǎn)縱坐標(biāo)值。
在BPNN的訓(xùn)練過程中,若每次正向傳播輸出值與實(shí)際值間的的均方根誤差值大于誤差閥值時(shí)另該誤差反向傳播,并通過梯度下降法修正BPNN的權(quán)值和閾值,直到正向傳播滿足誤差閥值要求或達(dá)到指定迭代次數(shù)后訓(xùn)練結(jié)束。
在定位區(qū)域隨機(jī)選擇Q個(gè)點(diǎn)進(jìn)行采樣,用來確定后續(xù)指紋匹配算法的匹配半徑,其中每個(gè)采樣點(diǎn)表示方法同式(5)所示。
將Q個(gè)采樣點(diǎn)對應(yīng)的RSSI矩陣輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,其中輸入X′T可如下表示
(12)
(13)
(14)
其中(xQ,yQ)為第Q個(gè)采樣點(diǎn)的實(shí)際坐標(biāo)。分別計(jì)算Q個(gè)采樣點(diǎn)的的定位誤差,并將最大誤差值rmax=max{r1,r2,…,rQ}作為指紋定位的匹配半徑εr。
3.4.1BPNN粗定位
定位階段,假定待定位車輛V0所接收到各RSU的RSSI向量為
Xr=(Pr1,Pr2,…,PrN)
(15)
Yr=(xr,yr)
(16)
橫坐標(biāo)xr可表示為
縱坐標(biāo)yr可表示為
(18)
其中wij、Wki、b1i、b2k分別為BPNN訓(xùn)練完成后最終的權(quán)值和閾值。
3.4.2 指紋精確定位
以神經(jīng)網(wǎng)絡(luò)的預(yù)測坐標(biāo)Yr為匹配圓心,采樣點(diǎn)最大誤差值rmax為匹配半徑εr,確定局部指紋匹配范圍S,具體如圖3所示。
圖3 局部匹配范圍示意圖
設(shè)局部范圍S內(nèi)指紋點(diǎn)個(gè)數(shù)為H,Rh為第h(h≤H)個(gè)指紋點(diǎn)接收到各RSU的RSSI向量。分別計(jì)算H個(gè)指紋點(diǎn)所對應(yīng)RSSI向量與Xr的相似度,相似度的衡量標(biāo)準(zhǔn)是Xr與S區(qū)域內(nèi)各指紋點(diǎn)中RSSI向量間的歐式距離,Xr與Rh間的歐式距離L2如下所示
(19)
其中,‖‖2為二范數(shù)算子,其數(shù)值越小則向量間相似度越高。將Xr與S內(nèi)H個(gè)指紋點(diǎn)的RSSI向量進(jìn)行指紋匹配,設(shè)第k(k≤H)個(gè)指紋點(diǎn)中的RSSI向量與Xr間具有最高匹配度,該指紋點(diǎn)對應(yīng)的真實(shí)坐標(biāo)為Tk(xk,yk)。令待定位車輛的最終位置坐標(biāo)T(x,y)等于局部范圍S內(nèi)第k個(gè)指紋點(diǎn)的真實(shí)坐標(biāo),即待定位車輛最終位置坐標(biāo)T(x,y)可表示為
T(x,y)=Tk(xk,yk)
(20)
為驗(yàn)證本文所提方法性能,在MatlabR2016a中進(jìn)行數(shù)值仿真。設(shè)四車道模型中單車道寬度L1=3.75m;四個(gè)RSU交替部署于道路兩側(cè)1m處,其中RSU1~RSU4的發(fā)射功率為40dB,位置坐標(biāo)分別為(0,0)、(200,17)、(400,0)、(600,17)。在210~390的橫坐標(biāo)范圍及1~15的縱坐標(biāo)范圍內(nèi)構(gòu)建大小為2700m2的定位區(qū)域,設(shè)定位區(qū)域位于四個(gè)RSU的有效通信范圍內(nèi)。在定位區(qū)域中均勻構(gòu)建邊長L2=5m的柵格區(qū)域,取每個(gè)柵格區(qū)域的重心作為參考指紋點(diǎn),其中參考指紋點(diǎn)總數(shù)為108。默認(rèn)RSU與OBU間通信距離為視距距離,記錄各參考指紋點(diǎn)的坐標(biāo)及接收RSSI值,構(gòu)建RSU指紋庫。RSSI值可由2.2節(jié)中DSRC信號路損模型計(jì)算求得。
設(shè)神經(jīng)網(wǎng)絡(luò)最大訓(xùn)練次數(shù)為1000,學(xué)習(xí)率為0.02,參數(shù)α=1。利用指紋庫中數(shù)據(jù)對BPNN進(jìn)行訓(xùn)練,并將Q=300個(gè)采樣點(diǎn)的的RSSI值輸入訓(xùn)練完成的BPNN,記錄其輸出的預(yù)測位置坐標(biāo)值。通過計(jì)算Q個(gè)采樣點(diǎn)的預(yù)測坐標(biāo)與真實(shí)坐標(biāo)間的差值,繪制該仿真場景下本文所構(gòu)建BPNN的定位誤差分布,具體如圖4所示。
圖4 BPNN定位誤差分布圖
由上圖可計(jì)算求得,本文所構(gòu)建BPNN的平均定位誤差為3.6278m,最大定位誤差rmax為6.9397m,令誤差半徑等于最大定位誤差值,即εr=rmax。
以BPNN預(yù)測坐標(biāo)為圓心,εr為誤差半徑,構(gòu)建局部指紋匹配范圍S。在S內(nèi),進(jìn)一步利用指紋匹配方法求解待定位車輛的精確坐標(biāo)。其中定位誤差隨實(shí)驗(yàn)次數(shù)變化折線如圖5所示。
圖5 本文方法定位誤差折線圖
由上圖可計(jì)算求得本文所提車輛定位方法的平均定位誤差為2.45m,與基于BPNN的車輛定位方法相比,平均定位精度提高了32.5%。為了進(jìn)一步論述本文所提定位方法的定位性能,通過對比仿真,繪制本文定位方法、BPNN定位方法及無多徑干擾的GPS定位方法的的累計(jì)誤差分布,具體如圖6所示。
圖6 不同定位方法累積誤差分布
從圖6可看出,本文所提定位方法、BPNN定位方法、無多徑GPS定位方法,定位誤差小于1m的概率分別為14%、9%、9%;定位誤差小于3m的概率分別為71%、29%、20%;定位誤差小于5m的概率分別為100%、89%、57%。因此,本文所提車輛定位方法在定位精度方面與BPNN定位方法、無多徑GPS定位方法相比具有更好的表現(xiàn)。
另一方面,傳統(tǒng)指紋定位方法在指紋匹配階段中,待定位車輛接收信號強(qiáng)度向量需與待定位區(qū)域內(nèi)的所有指紋點(diǎn)進(jìn)行指紋匹配,這在待定位區(qū)域范圍較大即指紋點(diǎn)數(shù)量較多時(shí)會耗費(fèi)較大的指紋匹配時(shí)間。而本文所提方法在指紋匹配階段中,待定位車輛接收信號強(qiáng)度向量只需與局部范圍內(nèi)較少的指紋點(diǎn)進(jìn)行指紋匹配,大大節(jié)約了指紋匹配時(shí)間,提高了定位的實(shí)時(shí)性。
為解決車聯(lián)網(wǎng)中常見車輛定位方法定位精度較低問題及GPS定位盲區(qū)的車輛定位問題,本文提出了一種基于神經(jīng)網(wǎng)絡(luò)和RSU指紋的車輛高精度定位方法。仿真結(jié)果表明,所提方法平均定位誤差為2.45m,與基于BPNN的定位方法相比,平均定位精度提升32.5%?,F(xiàn)階段,車輛高精度定位問題是車聯(lián)網(wǎng)的重要研究方向之一,其定位性能決定著車聯(lián)網(wǎng)未來的發(fā)展與前景。而隨著科技的不斷發(fā)展,利用人工智能、融合定位等手段去提升車輛的定位性能也必然會成為未來車聯(lián)網(wǎng)的重要研究方向。