周 亮, 張 軍, 代宇茜, 姜?jiǎng)倜?/p>
(1.上海海事大學(xué) 信息工程學(xué)院,上海 201306; 2.上海致達(dá)信息產(chǎn)業(yè)股份有限公司 智能化事業(yè)部,上海 200060)
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,在陸地上可以隨時(shí)隨地的訪問互聯(lián)網(wǎng),在海洋上訪問互聯(lián)網(wǎng)主要還是通過衛(wèi)星通信。文獻(xiàn)[1-2]中提出了一種海洋互聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu),由船舶機(jī)會(huì)網(wǎng)絡(luò)、高空通信平臺、岸基網(wǎng)絡(luò)等組合而成。在船舶機(jī)會(huì)網(wǎng)中,鄰居關(guān)系建立是路由收斂的前提,鄰居發(fā)現(xiàn)是至關(guān)重要的,對于鄰居節(jié)點(diǎn)定位的研究主要集中在天線定位,天線定位精度不高,能耗大,近年來有學(xué)者提出利用全球定位系統(tǒng)(Global Positioning System, GPS)來實(shí)現(xiàn),但是成本較高,有時(shí)會(huì)出現(xiàn)搜索不到衛(wèi)星信號的情況,在特殊場景下無法適用[3-4]。相比之下,基于信號到達(dá)角度的方法,作為測距的典型定位算法之一,只需在網(wǎng)絡(luò)內(nèi)部署部分具有位置能力的節(jié)點(diǎn),就可以尋找其周圍節(jié)點(diǎn)的位置和方向,是一個(gè)相對容易實(shí)現(xiàn)的方法,能夠發(fā)揮節(jié)點(diǎn)自身能力從而實(shí)現(xiàn)網(wǎng)絡(luò)性能優(yōu)化[5-8]。
到達(dá)角度簡稱到達(dá)角(Angle of Arrival,AOA),也稱為到達(dá)方向(Direction of Arrival, DOA),可用于大多數(shù)無線網(wǎng)絡(luò)包括移動(dòng)自組網(wǎng)和機(jī)會(huì)網(wǎng)絡(luò)的定位。在到達(dá)角的方法中,有幾個(gè)重要參數(shù):參考節(jié)點(diǎn)(Reference Node, RN)已知坐標(biāo);盲節(jié)點(diǎn)(Blindfolded Node, BN),不知其坐標(biāo),需要通過參考節(jié)點(diǎn)來定位估計(jì)[9-10]。AOA方法是通過測量參考節(jié)點(diǎn)和盲節(jié)點(diǎn)之間的信號到達(dá)角度[11],來確定盲節(jié)點(diǎn)的位置信息,如圖1所示。
圖1 AOA方法示意圖
圖中的AOA1、AOA2、AOA3分別指的是單個(gè)參考節(jié)點(diǎn)傳輸信號并在盲節(jié)點(diǎn)處接收的AOA估計(jì)。下面介紹對盲節(jié)點(diǎn)位置估計(jì)的過程,設(shè)置一個(gè)參考坐標(biāo)方向,如假設(shè)是水平方向。第1次測量時(shí),在參考節(jié)點(diǎn)RN1與盲節(jié)點(diǎn)BN之間構(gòu)造一條直線,以RN1為發(fā)送端,BN為接收端,與水平坐標(biāo)方向產(chǎn)生一個(gè)角度AOA1,通常使用小于90°的角度值;然后第2次測量,以同樣的方法繪制一條RN2到BN的直線,得到角度值A(chǔ)OA2。定位估計(jì)由擺放在不同位置的參考節(jié)點(diǎn)確定,兩個(gè)參考節(jié)點(diǎn)繪制的兩條直線便可確定一個(gè)相交點(diǎn),以此來估計(jì)盲節(jié)點(diǎn)的位置。然而在有些情況中,會(huì)使用至少3個(gè)AOA來估計(jì)盲節(jié)點(diǎn)的位置,以達(dá)到降低冗余信息的干擾,提高定位精確度的目的。
在船舶機(jī)會(huì)網(wǎng)絡(luò)中運(yùn)用到達(dá)角技術(shù),通過在節(jié)點(diǎn)安裝一些硬件設(shè)施,如已知的定向天線或已知的天線陣列,來測量參考節(jié)點(diǎn)和盲節(jié)點(diǎn)之間的角度。具體過程是,RN依靠對天線所發(fā)出電波的接收,能夠得到BN的到達(dá)角,便形成了一條從RN到BN的方位連線,以同樣的方法,利用另一個(gè)參考節(jié)點(diǎn)來構(gòu)造另一條方位線,這條方位線會(huì)和前一條的方位線相交在一點(diǎn),對這個(gè)交點(diǎn)的位置估計(jì)就是對盲節(jié)點(diǎn)的位置測量[12]。
由于機(jī)會(huì)網(wǎng)絡(luò)自身的特殊性,網(wǎng)絡(luò)連接是間歇性的,節(jié)點(diǎn)稀疏且移動(dòng)迅速,如果對網(wǎng)絡(luò)中的節(jié)點(diǎn)設(shè)置多個(gè)參考節(jié)點(diǎn),可能會(huì)導(dǎo)致網(wǎng)絡(luò)運(yùn)行代價(jià)過大,還可能給網(wǎng)絡(luò)造成干擾,所以在機(jī)會(huì)網(wǎng)絡(luò)中使用AOA方法需要選擇合適的參考節(jié)點(diǎn)和盲節(jié)點(diǎn)。節(jié)點(diǎn)間信號的AOA測量需要天線陣列,這不僅能夠獲得角度信息,還能夠提供定向發(fā)送能力[13]。鄰居節(jié)點(diǎn)發(fā)現(xiàn)是網(wǎng)絡(luò)內(nèi)數(shù)據(jù)轉(zhuǎn)發(fā)和傳輸?shù)那疤?在無線機(jī)會(huì)網(wǎng)絡(luò)中的鄰居發(fā)現(xiàn)過程中,使用AOA方法對節(jié)點(diǎn)位置測量,是為了能夠?qū)崿F(xiàn)更加精確的鄰居節(jié)點(diǎn)之間的發(fā)現(xiàn),這樣才能減少有限網(wǎng)絡(luò)資源的浪費(fèi),優(yōu)化網(wǎng)絡(luò)的性能參數(shù)。
主動(dòng)探測方法是通過節(jié)點(diǎn)廣播探測包來發(fā)現(xiàn)鄰居節(jié)點(diǎn),會(huì)消耗大量能量;被動(dòng)偵聽方法則是通過不斷的偵聽信道解析數(shù)據(jù)幀以得到鄰居節(jié)點(diǎn)的信息,卻無法準(zhǔn)確偵聽到所有鄰居。而鄰居發(fā)現(xiàn)過程需要準(zhǔn)確、高效和低能耗。有學(xué)者將主動(dòng)式和被動(dòng)式結(jié)合在一起來提高鄰居發(fā)現(xiàn)的準(zhǔn)確性和效率。在高準(zhǔn)確性這方面,做到在鄰居探測過程中迅速的發(fā)現(xiàn)新出現(xiàn)的鄰居,并及時(shí)的從鄰居列表中刪除已經(jīng)過期的鄰居,不占用有限的緩存資源?;谶@些思路,該方案將節(jié)點(diǎn)發(fā)送探測包的周期,以及鄰居節(jié)點(diǎn)過期的時(shí)間作為鄰居探測準(zhǔn)確性的要素指標(biāo)。同時(shí)將清晰鄰居節(jié)點(diǎn)和模糊鄰居節(jié)點(diǎn)的分類方法加入該方案中,以提高鄰居節(jié)點(diǎn)探測的有效性。
研究表明主動(dòng)與被動(dòng)結(jié)合的鄰居探測法確實(shí)比原方案有著更優(yōu)秀的性能,然而也有著明顯的缺陷,沒有對鄰居節(jié)點(diǎn)位置進(jìn)行感知。
在主被動(dòng)結(jié)合法的基礎(chǔ)上,本文加入信號到達(dá)角度的方法,形成一個(gè)新的鄰居探測優(yōu)化方案。本文主要討論部署在同一個(gè)二維平面內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn),然后要給參考節(jié)點(diǎn)配置特殊的硬件設(shè)施,如天線陣列。智能天線等以供參考節(jié)點(diǎn)能夠得到在通信范圍內(nèi)的鄰居節(jié)點(diǎn)發(fā)送的信號到達(dá)角度數(shù)值。
假設(shè)在網(wǎng)絡(luò)中的任一節(jié)點(diǎn)A對周圍節(jié)點(diǎn)進(jìn)行被動(dòng)式偵聽,在解析介質(zhì)訪問控制層(Media Access Control, MAC)層數(shù)據(jù)幀的同時(shí)獲取鄰居的坐標(biāo)信息,設(shè)定一個(gè)參考坐標(biāo)軸方向,得到節(jié)點(diǎn)A與各個(gè)節(jié)點(diǎn)的信號到達(dá)角度值,記錄到清晰鄰居列表內(nèi)。若節(jié)點(diǎn)A偵聽到了無法成功解析數(shù)據(jù)幀的模糊鄰居節(jié)點(diǎn),則將其列入模糊鄰居列表內(nèi),并從當(dāng)前發(fā)送功率開始逐級增大,發(fā)送攜帶功率信息和坐標(biāo)信息的探測包。若節(jié)點(diǎn)A并沒有監(jiān)聽到模糊鄰居節(jié)點(diǎn),那么就將發(fā)送功率調(diào)制最大,發(fā)送攜帶功率信息和坐標(biāo)信息的探測包。接下來如果被探測的節(jié)點(diǎn)收到探測包消息,就回復(fù)自己的位置信息,主動(dòng)探測的節(jié)點(diǎn)就可以得到該鄰居節(jié)點(diǎn)的到達(dá)角度值并將其列入清晰鄰居列表內(nèi)。流程圖如圖2所示。
圖2 基于到達(dá)角的主被動(dòng)結(jié)合法流程圖
圖3 基于到達(dá)角的主被動(dòng)結(jié)合法示意圖
將上述的鄰居探測優(yōu)化方案進(jìn)行仿真實(shí)驗(yàn),使用的工具是EXata網(wǎng)絡(luò)仿真軟件[14],它是業(yè)界最先進(jìn)的網(wǎng)絡(luò)仿真軟件,能夠仿真絕大多數(shù)的網(wǎng)絡(luò)環(huán)境,也能兼容許多網(wǎng)絡(luò)協(xié)議,還能和Matlab等軟件進(jìn)行聯(lián)合仿真操作,有著高的模擬準(zhǔn)確性和迅速的仿真操作性。本文的所有實(shí)驗(yàn)都是在EXata仿真平臺上進(jìn)行的,旨在通過一系列的仿真模擬機(jī)會(huì)網(wǎng)絡(luò)中鄰居發(fā)現(xiàn)的過程,分析上述鄰居探測的優(yōu)化方案對網(wǎng)絡(luò)性能的影響。
仿真實(shí)驗(yàn)之前,需要先在EXata上面搭建一個(gè)仿真的船舶機(jī)會(huì)網(wǎng)絡(luò)的場景。仿真主要參數(shù):區(qū)域大小為6 km×6 km;節(jié)點(diǎn)數(shù)量為20;仿真時(shí)長為1 h;節(jié)點(diǎn)移動(dòng)模型和速度分別為隨機(jī)路點(diǎn)(Random Waypoint)和0~30 m/s;能量消耗模型為通用型(Random Waypoint);應(yīng)用層業(yè)務(wù)流為恒定比特率(CBR)。
船舶機(jī)會(huì)網(wǎng)絡(luò)中,節(jié)點(diǎn)的發(fā)送功率是影響網(wǎng)絡(luò)性能的重要因素,隨著節(jié)點(diǎn)發(fā)送功率的改變,各個(gè)性能指標(biāo)也會(huì)呈現(xiàn)不一樣的變化趨勢。本實(shí)驗(yàn)旨在驗(yàn)證發(fā)送功率對基于到達(dá)角的主動(dòng)與被動(dòng)結(jié)合法(AOA-NP)在鄰居探測過程中,相比于原來的主被動(dòng)結(jié)合鄰居發(fā)現(xiàn)方法(APND)和主動(dòng)鄰居發(fā)現(xiàn)(AND)的影響有哪些差異。
如圖4所示,總體上來說,網(wǎng)絡(luò)平均吐吞量[15]是隨著節(jié)點(diǎn)的發(fā)送功率的增加而增加的。在發(fā)送功率為20~30 dBm時(shí),3種方法的吞吐量都比較低,這是由于節(jié)點(diǎn)稀疏且不停地移動(dòng),在發(fā)送功率較小的情況下,節(jié)點(diǎn)之間的數(shù)據(jù)傳輸成功率比較低,所以網(wǎng)絡(luò)的吞吐量也很低。AOA-NP相較而言并沒有突出作用是因?yàn)樵诎l(fā)送功率比較低的情況下,通信范圍小,探測鄰居節(jié)點(diǎn)位置并沒有為傳輸成功率的提高起到顯著作用,反而由于硬件設(shè)備的配置,使得吞吐量比原方法略低一些。在節(jié)點(diǎn)的發(fā)送功率達(dá)到35dBm之后,節(jié)點(diǎn)發(fā)送范圍增加,所以網(wǎng)絡(luò)整體的吞吐量增加幅度較大。APND沒有對位置信息及相關(guān)內(nèi)容的獲取,而且受到由于發(fā)送功率增加所導(dǎo)致的信號之間的干擾,所以在傳輸成功率上不如AOA-NP。在發(fā)送功率到達(dá)40~50 dBm的時(shí)候,主被動(dòng)結(jié)合法的網(wǎng)絡(luò)吞吐量幾乎沒有再提升,而基于AOA的主被動(dòng)結(jié)合法加入了到達(dá)角度的測量,在在獲取位置后,直接將數(shù)據(jù)包發(fā)送給鄰居節(jié)點(diǎn),避免了由于發(fā)送功率過大而造成的數(shù)據(jù)包之間的沖突,網(wǎng)絡(luò)吞吐量仍有所提高,比原來的方法提升了約5%。由此可見,AOA-NP更適用于在發(fā)送功率較高的無線機(jī)會(huì)網(wǎng)絡(luò)場景。
圖4 發(fā)送功率對吞吐量的影響
從圖5可以看出,端到端時(shí)延隨著發(fā)送功率的增加在不斷波動(dòng),呈現(xiàn)不規(guī)律的變化趨勢。在發(fā)送功率小于25 dBm時(shí),由于發(fā)送功率較小,傳輸范圍也較小,所以數(shù)據(jù)的傳輸是在一跳上進(jìn)行,端到端時(shí)延比較低。當(dāng)發(fā)送功率增加到25 dBm以上時(shí),數(shù)據(jù)既可以通過一跳的傳輸完成,又可以通過多跳傳輸完成,并且節(jié)點(diǎn)在不停地快速移動(dòng),鏈路中斷情況發(fā)生無法確定,數(shù)據(jù)傳輸?shù)男袨樽兊蒙晕?fù)雜,雖然規(guī)律性不明顯,總體上端到端時(shí)延還是呈現(xiàn)下降的趨勢。在發(fā)送功率為40~50 dBm區(qū)間時(shí),節(jié)點(diǎn)能夠進(jìn)行探測的范圍越來越大,大部分?jǐn)?shù)據(jù)傳輸都可以在一跳內(nèi)完成,端到端時(shí)延相應(yīng)的也下降了許多。由于AOA-NP可以對根據(jù)信號的到達(dá)角度獲得相關(guān)的位置信息,在傳輸數(shù)據(jù)包時(shí),可以更加準(zhǔn)確的進(jìn)行轉(zhuǎn)發(fā),所以端到端時(shí)延比主被動(dòng)結(jié)合方法低一些,平均低了10%左右。
圖5 發(fā)送功率對端到端時(shí)延的影響
如圖6所示,隨著節(jié)點(diǎn)發(fā)送功率的增加,發(fā)現(xiàn)的鄰居數(shù)量越來越多。這是因?yàn)榘l(fā)送功率越大,Hello包傳輸?shù)姆秶苍酱?所以發(fā)現(xiàn)的鄰居數(shù)量增加。節(jié)點(diǎn)發(fā)送功率從30 dBm開始,基于AOA 的主被動(dòng)結(jié)合法表現(xiàn)出了明顯的優(yōu)勢,由于加入了對位置的探測,在高發(fā)送功率的情況下,可以提高鄰居的發(fā)現(xiàn)成功率,而APND 因?yàn)樵?5 dBm時(shí)性能已經(jīng)達(dá)到最好,發(fā)現(xiàn)的鄰居數(shù)量不再增加。能量消耗方面,在節(jié)點(diǎn)移動(dòng)速度逐漸增加的時(shí)候,比APND節(jié)約能量。
圖6 發(fā)送功率對鄰居發(fā)現(xiàn)數(shù)量的影響
本文對船舶機(jī)會(huì)網(wǎng)中鄰居發(fā)現(xiàn)和定位相關(guān)的內(nèi)容進(jìn)行了分析研究,介紹了到達(dá)角方法的原來,描述了到達(dá)角在機(jī)會(huì)網(wǎng)絡(luò)中運(yùn)用的現(xiàn)狀,介紹了一種結(jié)合主動(dòng)與被動(dòng)的鄰居探測方法,分析了該方法的特點(diǎn),將信號到達(dá)角與該方法結(jié)合,增加鄰居位置信息的獲取,進(jìn)一步實(shí)現(xiàn)優(yōu)化網(wǎng)絡(luò)的目的。對這種到達(dá)角的主被動(dòng)結(jié)合法進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)了的鄰居發(fā)現(xiàn)算法—AOA-NP,能夠達(dá)到優(yōu)化的效果,具體為:在不同發(fā)送功率下,相比于原算法,吞吐量提高了約5%,端到端時(shí)延降低了約10%,鄰居發(fā)現(xiàn)數(shù)量增加了50%,在發(fā)送功率較高,節(jié)點(diǎn)密度稀疏,移動(dòng)速度略快的無線機(jī)會(huì)網(wǎng)絡(luò)環(huán)境下,表現(xiàn)出更好的網(wǎng)絡(luò)性能。