第五章 模擬與分析
第二節 移動錨節點路徑的能源消耗比較
一、 直接傳送
直接傳送[3]分成兩種類別,一種是每個節點將自己的感測資料 直接傳送至基地台做分析,這是最簡單的拓撲環境;另一種是在叢集 的環境中作傳送,每一個叢集都會有一個節點成為叢集頭將同一叢集 的節點資料做一次收集,再將集合的資料轉傳給基地台,這是所謂的 叢集式網路架構。
圖 3. (a)一般網路直接傳送 (b)叢集網路直接傳送
二、 多跳傳送(Multi-hop)
多跳傳送[4]是距離基地台較遠的感測節點,先將資料傳送至周
圍較近的節點,再建構出樹將資料傳送至基地台,可以避免因為距離 太遠而大量消耗能源,造成節點壽命縮短。
圖 4. 多跳傳送
第三節 固定錨節點的資料路由
一、 LEACH(Low-Energy Adaptive Clustering Hierarchy)
在[5]中,作者的演算法分成兩種階段,設定階段以及穩定階段,
在設定階段,會將感測區域內的節點透過隨機的門檻值選出總數量 5%的叢集頭,其他的節點會發送訊號加入離自己近的叢集頭並加入 此叢集,接著進入穩定階段,叢集頭會開始收集以及接收叢集內節點 的資料,整合後傳送至基地台,這樣稱為第一回合,接著重覆同樣的 動作。
二、 HexDD (Hexagonal cell-based Data Dissemination)
在參考文獻[6]中,作者將感測區域劃分成若干個相同大小的正 六邊形,將其稱為蜂巢式排列,如圖(5)。它將正中間的六邊形設為起 始區並為每一個六邊形都標註為[H,I],H 為節點到起始區一跳的次數,
I 為六邊形區 H 的六邊形一跳編號。
圖 5. 蜂巢排列
在蜂巢排列上定義三條線(border lines)作為封包匯聚的區域並分 成六個方向且六邊形平面會分成6 個區域 k,封包會沿著這六個方向 進行封包轉傳至中心六邊形。它的移動方法如式(1)。
[H,I]=[H-1,I-k] (1) 透過上式可以算出每一個六邊形下一跳的位置,之後進入border line 的部份就往中心點傳送。如圖(6)。
第四節 移動錨節點的路徑規劃
移動錨節點的移動路徑會影響到節點的覆蓋率,在良好的覆蓋率 下區域內的節點可以全部覆蓋到,並將資料傳送至錨節點不會有遺漏 的情況。另一方面,覆蓋率不佳的情況下,會有許多的節點沒有覆蓋 到導致資料無法傳送至錨節點。路徑規劃中大致分成,隨機路徑、預 設路徑、可控制路徑[7]。
一、 MASP (Maximum Amount Shortest Path)
在參考文獻[8]中,作者提出的方法是移動錨節點沿著感測範圍 進 行 移 動 , 感 測 範 圍 內 分 成 兩 個 部 份 , 直 接 通 訊 區 域(Direct Communication Area, DCA) 以 及 多 跳 通 訊 區 域 (Multi-hop Communication Area, MCA),如圖(7)。DCA 分佈在移動錨節點移動的 路徑旁,分佈在上面的節點稱為subsinks;MCA 分佈在較遠的區域分 佈在上面的節點稱為 members。 Subsinks 會將封包做直接傳送給移 動錨節點,而members 會選擇一個距離自己較近的 subsink 作為中繼 點將封包傳送至移動錨節點。
圖 7. MSAP 的例子
移動錨節點的移動路徑預設在感測區域的左邊邊線上,接著找出 subsinks 和 members,Members 分別找一個 subsink 作為目標,接下來 移動錨節點就沿著路徑持續的等速收集資料。這個方法也提出多數的 移動錨節點,路徑分別預設在圖(8),使用多個移動錨節點可以有效提 升資料收集以及降低能源的消耗。
圖 8. 複數移動錨節點預設路徑
二、 MSRP (Mobile Sink-based Routing Protocol)
抵達任何一個目的地後會做一次廣播,在通訊範圍內的鄰近叢集頭就 會將收集到的資料以及剩餘能量傳送給錨節點,如圖(9)所示。
移動錨節點會在第一回合在預設的路徑上進行移動及廣播,第二 回合過後會按照叢集頭剩餘能量的高低,由高到低進行路徑的選擇。
圖 9. MSRP 示意圖
三、 TGS(Triangle Grid Scan)
在參考文獻[10]中,作者將平面劃分成若干個相同大小的正三角 形,讓移動錨節點在起始點的地方開始以蛇行掃描的方式進行路徑移 動,如圖(10)。並在三角形的頂點處廣播封包,如果遇到障礙物,則 繞過障礙物回到下一個三角形的頂點處廣播封包,直到錨節點移動到 最後的位置。
圖 10. TGS(9*6)路徑移動方式
四、 希爾伯特路徑移動方式
在[11]中,作者使用希爾伯特曲線(Hilbert Curve),當做移動錨節 點的路徑,希爾伯特曲線屬於空間填充曲線的一種,它是將平面劃分 成相同大小的正方形並可以填滿正方形平面的分行曲線,其路徑有規 則且可以持續擴展,正方形的網格數為4 ,n 為 Order 數,編號方法 為0 到2 1,i 為 Order 數,如圖(11)。
圖 11. 希爾伯特曲線 Order 1 和 Order 2
作者透過感測區域的大小以及節點密度去改變希爾伯特曲線的 Order 數。首先,透過式(2)取得區域大小的 Order 數 k,利用 k 可以得
到每一個小區的最佳節點密度 ,將密度代入式(3)能得到密度的
Order 數 d,利用 d 就能得到新的密度 ,如圖(12)所示。
log √ (2) log √ ∗ (3)
圖 12. Order 的變化
第三章 六邊形環數編號與固定錨節點的路由機制
在相關研究第一節中,我們得知正六邊形的幾何劃分可以得到最 少的幾何圖形,在節點分佈上是將感測節點佈署在相同大小的正六邊 形網格內。在相關研究[6]中,提到的 HexDD 路由方法,我們覺得它 的資料量過於集中在 border lines 導致區域內的節點能源消耗過快容 易過早死亡,讓網路的存活時間縮短。所以我們提出一個改良的方法,
將感測區域做正六邊形的切割並將錨節點置於區域的正中心位置,我 們採用類似極座標的方式對於平面上的正六邊形加以定址,透過六邊 形環數的編號,規劃出多跳傳送的路由路徑,再依此路徑將感測資料 送到中心位置的基地台。
第一節 六邊形環數編號
參考文獻[12]中,提出了一個六邊形 Gosper Islands 的座標系統,
對每一個六邊形網格進行編號並計算每一個六邊形中點的直角座標。
首先,假設 為 Gosper Islands 正中心六邊形的中心點,環繞在 正中六邊形的六個六邊形組成第一環,繼續繞可以形成第二環、第三
√3 cos , sin , where i =0,1,…,5. (4)
此外,各六邊形的座標可以透過 以及 的線性組合算出來,
如式(5)。
, where . (5)
圖 13. Gosper Islands 環數編號[12]
第二節 封包路由選擇
圖(14)是一個六邊形的環數編號系統 ,當 n=8 時的圖形。假設
有一資料封包位於 的六邊形內,若要封包送到位於中心六邊形的
固定錨節點中,我們透過每一環編號的觀察,歸納出向中心六邊形移 動的兩個式子,分別是式(6)和式(7)。
, if k mod n 0 (6)
, 0 (7)
數學式(6)是紅色箭頭(圖 14)六邊形編號的式子,透過式子可以計 算出下一環的六邊形編號;數學式(7)是箭頭以外的六邊形編號的式 子,透過式子可以取得下一環的兩個編號。式(7)可以取得兩個編號,
利用這兩個編號可以選擇不一樣的路徑傳送至中心錨節點,如圖(15),
我們將此方法命名為六邊形路徑選擇路由(Hexagonal Path Selection Routing, HPSR)。
圖 15. 路徑選擇
第三節
能源消耗問題
錨節點在接收封包及發送封包時都需要花費定量的能量,能量的 大小取決於封包大小以及距離的遠近,如式參考文獻[5]所採用的式(8) 和式(9)。
, ,
, (8) (9) 式(8)為傳送封包時的能量消耗公式,其中 為發送封包時所消 耗的能量, 為封包的大小,d 為節點到錨節點的距離, 為發送及
接收時每單位位元的能源消耗, 為距離平方發送時能源放大的消
耗, 為距離四次方發送時能源放大的消耗, 為能源消耗
的門檻值,當 d 小於門檻值,能源消耗會與距離平方成正比;當 d 大 於 時,能源消耗會與距離4 次方成正比。式(9)為封包接收的能源消
耗公式, 為接收封包時所消耗的能量。
第四節 路由演算法
在這一節,我將描述我們的路由演算法HPSR。
HPSR 演算法
輸入: 六邊形網格大小 r
輸出: 所有六邊形到中心六邊形 的路由路徑 步驟 1. 將六邊形網格依網格大小 r 設置到地圖;
步驟 2. 將六邊形網格進行編號 ; 步驟 3. 節點找出自己的六邊形編號 ;
步驟 4. 選出相同六邊形編號內節點的叢集頭;
步驟 5. 叢集頭每傳送一次封包並計算自己的能源消耗;
步驟 6. 利用式(6)和式(7)計算路由的下一跳編號,從式(7)取得的 兩個六邊形網格編號中,選出能量較高的節點進行轉傳,直到抵 達中心六邊形 的錨節點。
步驟 7. 重覆步驟 6,直到目前被選取的 cell 內的所有節點能源皆 為 0。
第四章 Node-Gosper Curve 與移動錨節點的資料收 集機制
相關研究第四節中,我們得知路徑規劃的重要,如果錨節點以隨 機的方式移動,則不能保證能夠走遍整個感測區域,也可能導致節點 覆蓋率不佳或是重複性過大,造成封包接收率過低的情形。在這一章 節中,我們提出一種空間填充曲線-稱為 Node-Gosper Curve-作為錨節 點的移動路徑。
第一節 Gosper Curve 特性
Gosper Curve[13]的結構,如圖(16)。基本的曲線是由七個線段組 成,藉由頂點的替換與適當的旋轉反射可以形成 Level-2,它是一種 遞迴曲線可以不斷的延伸Level 數,可填滿一個類六邊形的區域,稱 為Gosper Islands。下一節我們將更詳細的討論 Gosper Islands。
以持續的向更高的Level 數擴展,圖(17)為 Gosper Curve A 和 B 的曲 線順序。
圖 17. Gosper Curve Level-1 A 和 B A 與 B 遞迴規則如下:
1. A A l B l l B r A r r A A r B 2. B A l B B l l B l A r r A r B
其中A、B 為前進方向(圖 17),r 為向右轉 60°,l 為向左轉 60°,根據此遞迴規則,Gosper Curve 可以持續擴充至 Level-n。
在參考文獻[15]中,作者介紹一種 Gosper Curve 的變種,它是以 正六邊形網格的中心點作為頂點,稱為Node-Gosper Curve。如圖(18) 所示,七個六邊形的中心點形成的曲線為Node-Gosper Curve 的基本 曲線Level-1,可以遞迴生成 Level-2 (圖 19)或更高的 Level。
圖 18. (a) Gosper Curve. (b) Node-Gosper Curve
圖 19. Node-Gosper Curve Level-2
圖 20. Node-Gosper Curve Level-2 G 和 R G 與 R 遞迴規則如下:
1. G G l R l R r G r G l G r R | ll l rr r r
2. R G l R r R l R l G r G r R | l l ll r rr
其中G、R 為 Level-1 的曲線順序(圖 20),r 為向右轉 60°,l 為 向左轉60°,為下一個基本六邊形區域中心點直行移動,根據此遞迴 規則,Node-Gosper Curve 可以持續擴充至 Level-n。
將Gosper Islands 旋轉並反射,形成新的 Gosper Islands 及 Node-Gosper Curve,讓六邊形網格是以邊為底的形狀,如圖(21)所示,其遞 迴規則也會改變。
圖 21. 新的 Level-2 Node-Gosper Curve G 和 R 新的遞迴規則如下:
1. G G rr l R rr l R r ll G r ll G rr l G r ll R | rr r ll l l
2. R G rr l R r ll R rr l R rr l G r ll G r ll R | r r rr l ll 其中G、R 為 Level-1 的曲線順序(圖 21),r 為向右轉 60°,l 為 向左轉60°,為下一個基本六邊形區域中心點直行移動,根據此遞迴 規則,Node-Gosper Curve 可以持續擴充至 Level-n。
第二節 Gosper Islands 座標系統
上一節中,我們介紹了Node-Gosper Curve 以及它的遞迴規則,
由於錨節點安裝在自走車上移動,所以要知道錨節點下一個廣播封包 的座標位置。在上一章中已經提到正六邊形的環數編號,接下來要說
由於錨節點安裝在自走車上移動,所以要知道錨節點下一個廣播封包 的座標位置。在上一章中已經提到正六邊形的環數編號,接下來要說