專利名稱:基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
隨著傳感器技術(shù)、嵌入式計算技術(shù)、低功耗無線通訊技術(shù)的飛速發(fā)展,具備感應(yīng)、 無線通訊以及信息處理能力的微型無線傳感器開始出現(xiàn),成百上千個廉價的、低功率的傳感器組織成無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network)能夠協(xié)作地監(jiān)測、感應(yīng)其網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)的多種環(huán)境信息如聲、光、電,并傳送到遠(yuǎn)處的基站進行處理。這些傳感器有著雙重功能,既作為數(shù)據(jù)的采集者又作為數(shù)據(jù)的轉(zhuǎn)發(fā)者,而基站收集到這些數(shù)據(jù)之后進行一定處理再通過有線或無線網(wǎng)絡(luò)發(fā)送給遠(yuǎn)方的用戶,無線傳感器網(wǎng)絡(luò)能夠在惡劣的環(huán)境條件下獲取大量詳實而可靠的信息,可以廣泛應(yīng)用于國防軍事、工業(yè)控制、環(huán)境監(jiān)測、交通管理等領(lǐng)域。由于無線傳感器網(wǎng)絡(luò)中的節(jié)點能量、帶寬等資源十分匱乏,因此傳統(tǒng)的無線網(wǎng)絡(luò)如移動自組網(wǎng)中的路由協(xié)議大多不能很好地應(yīng)用到無線傳感器網(wǎng)絡(luò)中來,針對傳感器網(wǎng)絡(luò)的特點,傳感器網(wǎng)絡(luò)中的路由協(xié)議應(yīng)能有效地利用節(jié)點有限的資源?;诘乩砦恢寐酚煞椒ㄓ捎谥焕霉?jié)點的位置信息就能實現(xiàn)路由,不需要維護路由表,因此具有算法簡單,可擴展性好等優(yōu)點,在無線傳感器網(wǎng)絡(luò)中具有廣泛的應(yīng)用前景。 GPSR路由方法是典型的基于地理位置路由方法,該方法根據(jù)節(jié)點地理位置信息利用貪婪算法來建立路由。如圖1所示,S為發(fā)送節(jié)點,D為目地節(jié)點,虛線圓為節(jié)點S的發(fā)射范圍,在這圓內(nèi)的節(jié)點都為S的鄰居節(jié)點。虛線圓弧為節(jié)點C到節(jié)點D的歐式距離為半徑繪制的圓弧。當(dāng)節(jié)點S需要向節(jié)點D轉(zhuǎn)發(fā)數(shù)據(jù)分組的時候,它首先在自己的所有鄰居節(jié)點中選擇一個距節(jié)點D最近的節(jié)點作為數(shù)據(jù)分組的下一跳,然后將數(shù)據(jù)傳送給它,圖上節(jié)點C是距離節(jié)點D歐式距離最近的節(jié)點,因此S的下一節(jié)點為C。該過程一直重復(fù),直到數(shù)據(jù)分組到達(dá)目的節(jié)點D。GPSR路由方法中產(chǎn)生或收到數(shù)據(jù)的節(jié)點向以歐氏距離計算出的最靠近目的節(jié)點的鄰節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)。但由于數(shù)據(jù)會到達(dá)沒有比該節(jié)點更接近目的點的區(qū)域(稱為空洞),導(dǎo)致數(shù)據(jù)無法傳輸。當(dāng)出現(xiàn)這種情況時,空洞周圍的節(jié)點能夠探測到,并利用右手法則沿空洞周圍傳輸來解決此問題。該路由方法避免了在節(jié)點中建立、維護、存儲路由表,只依賴直接鄰節(jié)點進行路由選擇,幾乎是一個無狀態(tài)的協(xié)議;且使用接近于最短歐氏距離的路由,數(shù)據(jù)傳輸時延?。徊⒛鼙WC只要網(wǎng)絡(luò)連通性不被破壞,一定能夠發(fā)現(xiàn)可達(dá)路由。現(xiàn)有的GPSR路由方法雖然存在上述優(yōu)點,但是也存在不足之處。對于一個隨機分布的無線傳感器網(wǎng)絡(luò),網(wǎng)絡(luò)中存在的空洞一般相對于整個網(wǎng)絡(luò)來說非常小,因此端到端的路徑大體上接近于源節(jié)點到目的節(jié)點的連線。在很多實際應(yīng)用當(dāng)中,無線傳感器節(jié)點往往分布在具有地勢起伏的山地、丘陵等環(huán)境中,因此節(jié)點通常是分布在高地不平的曲面上。由于節(jié)點發(fā)射功率有限,因此在地勢起伏環(huán)境下,實際的信號是沿著起伏地勢表面進行傳播。 在圖1當(dāng)中,按照GPSR的路由算法,節(jié)點C是節(jié)點S所有鄰居節(jié)點中距離目地節(jié)點歐式距離最近的節(jié)點。我們?nèi)」?jié)點C到節(jié)點D的縱向剖面,如圖2所示,計算出來的節(jié)點C到節(jié)點 D的歐式距離⑶由CA、AB和BD三部分組成。其中CA和BD這兩部分是懸空的路徑,AB是穿越障礙的路徑。由于節(jié)點都分布于地形表面,實際的傳播路徑應(yīng)該如圖2中虛線所示,沿起伏曲面上進行傳播。因此GPSR所用的歐氏距離CD與信號的實際傳輸路徑相去甚遠(yuǎn),因此在起伏地勢上用歐氏距離用來作為判斷選擇下一節(jié)點的依據(jù)并不合理,而以沿起伏地勢表面的路徑計算結(jié)果作為判斷依據(jù)更為合理。以上分析表明,雖然圖1中節(jié)點C到目的節(jié)點的歐式距離最短,但是沿著起伏地勢表面上的路徑長度可能大于其他鄰居節(jié)點到目的節(jié)點的路徑。為適應(yīng)實際應(yīng)用的需要,我們需要提出起伏地形環(huán)境下的新的距離計算方法,以獲得更為優(yōu)化的端到端最短路徑長度。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有的GPSR路由方法針對起伏地勢上用歐式距離作為選取下一節(jié)點的判斷依據(jù)的不合理性,提供了基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法。本發(fā)明的技術(shù)方案是基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,包括如下具體步驟步驟1 建立網(wǎng)格從電子地圖上獲取離散點;步驟2 確定從電子地圖上獲取的空間交點之間的相鄰關(guān)系并計算相鄰交點之間的距離;步驟3 將三維點分布及相鄰點之間的距離圖轉(zhuǎn)化為二維圖并建立鄰接矩陣;步驟4 利用圖論尋找最短路徑;步驟5 用實際的無線傳感器節(jié)點的地理位置映射到對應(yīng)離散點并獲取最短路徑。上述步驟3中的鄰接矩陣的行數(shù)和列數(shù)都為空間點個數(shù)或都投影點個數(shù),i和j為點的序號,矩陣元素表示投影點i到投影點j的距離,如果i與j相鄰,則表示鄰接距離,若不鄰接,則%為_1。上述步驟4中利用圖論尋找最短路徑的具體方法為Dijkstra最短路徑算法。本發(fā)明的有益效果是針對在很多實際應(yīng)用當(dāng)中,無線傳感器節(jié)點往往分布在具有地勢起伏的山地、丘陵等環(huán)境中,因此節(jié)點通常是分布在高地不平的曲面上,并且實際的信號是沿著起伏地勢表面進行傳播這一實際情況,首次提出了綜合利用網(wǎng)格化電子地圖和 Dijkstra最短路徑算法準(zhǔn)確計算起伏地勢上發(fā)射節(jié)點和目的節(jié)點的最佳路由。
圖1是GPSR路由方法的原理示意圖。圖2是圖1中的發(fā)送節(jié)點和目標(biāo)節(jié)點在二維剖面中的起伏地勢上的傳播路徑示意圖。圖3是本發(fā)明的主流程圖。圖4是本發(fā)明實施例所采用的一幅電子地圖。圖5是針對圖4的電子地圖的投影面上的網(wǎng)格圖。
4
圖6是將圖4所示的電子地圖放入圖5中的網(wǎng)格后建立的三維坐標(biāo)示意圖。圖7是將圖6的投影面上的網(wǎng)格交點沿垂直方向獲取與電子地圖的交點的三維坐標(biāo)示意圖。圖8是本發(fā)明實施例的空間點投影到XY平面點顯示的示意圖。圖9是圖8在投影面上相鄰點之間計算鄰接距離的示意圖。圖10是在本實施例的電子地圖上兩種不同的計算最短距離的方法的結(jié)果示意圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明做進一步的說明。本發(fā)明的基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,利用空間取點的方式,在電子地圖表面上選取一些離散點,這些離散點能整體反映了電子地圖的表面起伏趨勢。通過計算相鄰離散點之間的歐式距離且通過相鄰關(guān)系映射到二維平面上的投影點,并運用圖論中最短路徑計算方法(如Dijkstra算法),可以計算出在電子地圖表面的某個離散點的投影點到另一個離散點的投影點之間的最短路徑。因為這條路徑是在電子地圖上選取的離散點的投影點中產(chǎn)生,所以能很好的逼近沿電子地圖表面上的最短路徑。當(dāng)傳感器節(jié)點撒在電子地圖所描繪的區(qū)域時,傳感器節(jié)點可以根據(jù)自身的地理位置坐標(biāo)找到與自身最近的那個投影點,根據(jù)投影點之間的最短距離可以用來逼近在實際起伏地勢狀況下的最短路徑。而且當(dāng)我們在電子地圖上獲取的離散點越密時,計算出來的最短路徑就越和實際相接近。通過本發(fā)明的方法,在起伏地勢狀況下,我們可以得知發(fā)送節(jié)點的鄰居節(jié)點到目的節(jié)點之間的沿起伏地勢表面的近似路徑長度,而不是簡單的兩點之間的歐式距離,使計算結(jié)果更符合實際情況。本發(fā)明的基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,如圖3所示,包括如下具體步驟步驟1 建立網(wǎng)格從電子地圖上獲取離散點。電子地圖作為現(xiàn)有技術(shù)已經(jīng)相當(dāng)普遍,首先截取需要建立傳感器網(wǎng)絡(luò)區(qū)域的電子地圖,如圖4所示,電子地圖記錄了這個區(qū)域的地理位置信息。根據(jù)獲取的電子地圖的大小,如圖5和圖6所示,在電子地圖垂直投影的面上按照X方向和Y方向建立正方形網(wǎng)格。 然后將這些網(wǎng)格交點沿垂直方向獲取與電子地圖的交點,每個獲取的交點的X坐標(biāo)和Y坐標(biāo)都在投影面上建立網(wǎng)格時確定,按照電子地圖的長和寬來等間隔獲取。而Z坐標(biāo)則由網(wǎng)格交點的垂線和電子地圖相交時確定。如圖7所示,這些與電子地圖的交點可以反映出電子地圖的基本形狀。當(dāng)在投影面上建立的網(wǎng)格越密時,從空間電子地圖上獲取的點也就越多,這些點也就越能反映電子地圖的整體趨勢。本實施例中,電子地圖是通過衛(wèi)星遙感技術(shù),對某一地區(qū)的地形信息以數(shù)字的形式存儲在介質(zhì)上,其精度能夠達(dá)到厘米級。在電子地圖上,位置信息是通過一串x、y、z坐標(biāo)表示位置。它包含的信息非常多、如道路、河流、建筑物標(biāo)記、等高線等。假設(shè)點P是電子地圖上的一個點,在χ、y坐標(biāo)已知的情況下,我們可以通過電子地圖得到點P的ζ坐標(biāo)。z= f (x, y)在本實施例中,電子地圖是對起伏地勢的數(shù)字化描述,在起伏地勢上所分布的傳感器的節(jié)點可以根據(jù)現(xiàn)有的無線傳感器網(wǎng)節(jié)點定位算法獲取地理位置坐標(biāo),因此在這不做詳細(xì)說明。我們假設(shè)本文中的傳感器節(jié)點都為已獲得自身的地理位置坐標(biāo)。步驟2 確定從電子地圖上獲取的空間交點之間的相鄰關(guān)系并計算相鄰交點之間的距離。在電子地圖上獲取的交點投影到XY面是一些按正方形網(wǎng)格的離散交點,如圖8所示。在投影的平面圖上,每個點只與其周圍的8的鄰居為相鄰點。而且規(guī)定每個點只計算與其相鄰點之間的距離,例如投影點a只與投影點d、b、f、c、e、g、h、I存在相鄰關(guān)系;那么在計算與電子地圖交點的空間點a'的相鄰點之間的距離時,只計算空間點a'與空間點 d'、b'、f'、c'、e'、g'、h'、Γ之間的空間距離(歐式距離)。步驟3 將三維點分布及相鄰點之間的距離圖轉(zhuǎn)化為二維圖并建立鄰接矩陣。通過步驟2計算出相鄰點之間的空間的距離。在投影面上,每個相鄰?fù)队包c之間記錄對應(yīng)空間相鄰點之間的歐式距離。如圖9所示。這樣把空間的各個相鄰點之間的距離問題轉(zhuǎn)化為二維圖上的點與點之間的距離以及鄰接問題。根據(jù)相鄰點之間的距離,我們建立鄰接矩陣一矩陣的行數(shù)和列數(shù)都為空間點個數(shù)或都投影點個數(shù),i和j為點的序號,矩陣元素%表示投影點i到投影點j的距離,如果i與j相鄰,則~表示鄰接距離,若不鄰接,則為-1。這一鄰接矩陣不僅反映了投影點之間的相鄰關(guān)系,而且記錄的每相鄰點之間的空間距離。例如以節(jié)點a為例,除了與之相鄰的點b、d、f、c、e、g、h、I的鄰接距離L3、 L2> L1, L4、L8、L5、L6、L7除外,與其他點之間的鄰接距離都為-1。步驟4 利用圖論尋找最短路徑。通過步驟3將三維點分布狀況轉(zhuǎn)化為二維的分布來處理,并建立由所有投影點或空間點構(gòu)成的鄰接矩陣。通過以上準(zhǔn)備工作,可以運用圖論中的Dijkstra最短路徑算法 (簡稱Dijkstra算法)來計算投影面上任意兩點之間的最短路徑,且這一計算結(jié)果就是在空間電子地圖上選取的對應(yīng)兩交點之間在起伏地勢上近似的最短路徑。因此,通過轉(zhuǎn)化到平面圖上計算某個投影點到另一個投影點之間平面的最短路徑,也從本質(zhì)上對空間中這兩個對應(yīng)空間點之間的沿電子地圖表面趨勢上的最短路徑進行了逼近。Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。(這里描述的是從節(jié)點1開始到各點的Dijkstra算法,其中Wa_>b表示a- > b的邊的權(quán)值,d(i)即為最短路徑值)1.置集合 S= {2,3, . ..n},數(shù)組 d(l) =0,d(i) =(>“1,i 之間存在邊)or+ 無窮大(1,i之間不存在邊);2.在集合S中,令d(j) =1^11{(1(1),1屬于3},令集合3 = 5-{力,若集合3為空集則算法結(jié)束,否則轉(zhuǎn)3;3.對全部i屬于集合S,如果存在邊j_> i,那么置d(i) =min{d(i),d(j)+ffJ_> J,轉(zhuǎn) 2 ;Dijkstra算法思想為設(shè)G = (V, E)是一個帶邊權(quán)值的圖,把圖中頂點集合V分成兩組,第一組為已求出最短路徑的頂點集合(用S表示,初始時S中只有一個源點,以后每求得一條最短路徑,就將加入到集合S中,直到全部頂點都加入到S中,算法就結(jié)束了), 第二組為其余未確定最短路徑的頂點集合(用U表示),按最短路徑長度的遞增次序依次把第二組的頂點加入S中。在加入的過程中,總保持從源點ν到S中各頂點的最短路徑長度不大于從源點ν到U中任何頂點的最短路徑長度。此外,每個頂點對應(yīng)一個距離,S中的頂點的距離就是從ν到此頂點的最短路徑長度,U中的頂點的距離,是從ν到此頂點只包括S 中的頂點為中間頂點的當(dāng)前最短路徑長度。由于Dijkstra算法在本發(fā)明中作為公知算法因此未做進一步的詳細(xì)描述,但是這不影響本步驟的實施。步驟5 用實際的無線傳感器節(jié)點的地理位置映射到對應(yīng)離散點并獲取最短路徑。通過步驟4根據(jù)得到投影面上任意兩點之間的最短路徑可以建立一個最短路徑矩陣一矩陣的行數(shù)和列數(shù)都為空間點個數(shù)或都投影點個數(shù),i和j為點的序號,矩陣元素 b^表示投影點i到投影點j的最短路徑。因此實際的傳感器節(jié)點根據(jù)已知的自身地理位置坐標(biāo),依靠節(jié)點的X坐標(biāo)和Y坐標(biāo)來定位到與自身最為相近的投影點。直到目的傳感器節(jié)點對應(yīng)的投影點和當(dāng)前傳感器節(jié)點對應(yīng)的投影點,起伏地勢上的最短路徑就可以用投影點之間的最短路徑來逼近。通過以上步驟,可以計算出源、目傳感器節(jié)點在電子地圖上的近似最短路徑,如圖 10所示,虛線為在電子地圖上獲取的空間交點之間的歐式距離,而實線為通過以上方法在電子地圖上計算出來的近似最短路路徑??梢钥闯觯瑢嵕€的傳播路徑更符合實際的需求。運用此方法,當(dāng)在空間取點較密時,所計算的空間離散交點之間的沿起伏地勢的最短路徑就越精確,從而計算出來的一個點到另一個點之間的最短距離就越和電子地圖表面上尋找的最短路徑相近似。但是,當(dāng)取點較密時,在用Dijkstra最短路徑算法尋找最短路徑時帶來的計算量也就越大;當(dāng)取點較稀時,雖然簡化了計算量,但是計算出來的結(jié)果與實際的最短路徑的差距也就越大。以上取點及計算最短路徑的過程都可在在計算機上實現(xiàn),避免了傳感器節(jié)點的計算開銷,同時將所有計算出來的所有投影點之間的最短路徑矩陣存儲到每一個傳感器中, 為傳感器節(jié)點根據(jù)鄰居節(jié)點坐標(biāo)及目地節(jié)點坐標(biāo)尋找它們之間的近似最短路徑,為其選擇下一結(jié)點提供查找依據(jù)。本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,包括如下具體步驟 步驟1 建立網(wǎng)格從電子地圖上獲取離散點;步驟2 確定從電子地圖上獲取的空間交點之間的相鄰關(guān)系并計算相鄰交點之間的距1 ;步驟3 將三維點分布及相鄰點之間的距離圖轉(zhuǎn)化為二維圖并建立鄰接矩陣; 步驟4 利用圖論尋找最短路徑;步驟5 用實際的無線傳感器節(jié)點的地理位置映射到對應(yīng)離散點并獲取最短路徑。
2.根據(jù)權(quán)利要求1所述的基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,所述步驟3中的鄰接矩陣的行數(shù)和列數(shù)都為空間點個數(shù)或都投影點個數(shù),i和j為點的序號,矩陣元素%表示投影點i到投影點j的距離,如果i與j相鄰,則~表示鄰接距離, 若不鄰接,則為-1。
3.根據(jù)權(quán)利要求1所述的基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法,其特征在于,上述步驟4中利用圖論尋找最短路徑的具體方法為Dijkstra最短路徑算法。
全文摘要
本發(fā)明提供了基于地理位置的偽三維無線傳感器網(wǎng)絡(luò)路由方法。包括如下具體步驟步驟1建立網(wǎng)格從電子地圖上獲取離散點;步驟2確定從電子地圖上獲取的空間交點之間的相鄰關(guān)系并計算相鄰交點之間的距離;步驟3將三維點分布及相鄰點之間的距離圖轉(zhuǎn)化為二維圖并建立鄰接矩陣;步驟4利用圖論尋找最短路徑;步驟5用實際的無線傳感器節(jié)點的地理位置映射到對應(yīng)離散點并獲取最短路徑。本發(fā)明的有益效果是首次提出了綜合利用網(wǎng)格化電子地圖和Dijkstra最短路徑算法準(zhǔn)確計算起伏地勢上發(fā)射節(jié)點和目的節(jié)點的最佳路由。
文檔編號H04W40/20GK102238687SQ201110223108
公開日2011年11月9日 申請日期2011年8月5日 優(yōu)先權(quán)日2011年8月5日
發(fā)明者于富財, 胡光岷, 韓陽龍, 黃浩軍 申請人:電子科技大學(xué)