• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
68
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

在感測網路上調整通訊半徑以降低最大 定位誤差之研究

系 別 所:資訊工程學系碩士班 學號姓名:M09302042 鄭凱仁 指導教授:俞 征 武 博 士

中華民國 九 十 七 年 八 月

(2)

摘要

無線感測網路在近年來無線網路上一個非常重要的新研究領域。無線感測網 路可以利用於軍事、醫療、環境監控、人員車輛追縱及交通訊息等方面。這些應 用常常都需要掌握無線感測器或使用者的精準的地理資訊。因此,無線感測網路 的定位問題是一個非常基本而且值得深入研究的問題。

在無線感測網路上提供精準的地理資訊,最簡單的解決方法,即是在每個無 線感測器上裝設 GPS。這個方法的硬體成本是非常高的且 GPS 不可適用於室內。

有些研究方法是只在一部份無線感測器上裝設 GPS,其餘的無線感測器則裝上 RSSI 測量器或是訊號角度測量器等硬體設備。雖然這樣可以降低硬體成本(但仍 是較高),並且這些硬體本身的誤差將使定位精確度下降。另外一些研究透過一 些資料廣播及廣播半徑的交集區域來推測定位座標,這一類的方式因沒有額外的 硬體成本,但定位的精確度也因此降低。

本論文即是在不搭配特殊硬體的前提下,希望有效地降低定位誤差。我們的 方法是利用調整 Beacon Node 的通訊半徑來達成分割區域最佳化以得到更精確 的定位。本論文將整個無線感測網路區域分割成固定高度的長條區域,再透過各 個擊破的策略來調整 Beacon Node 的通訊半徑。本論文的方法也利用鄰近不被覆 蓋的定位座標進一步來降低定位誤差。實驗結果証明本論文的方法確實降低了整 體網路的定位誤差,並且降低電源的消耗量。

關鍵字:無線感測網路、RSSI、定位問題、GPS-free、通訊半徑

(3)

目錄

第一章 簡介 ……… 1

第二章 前人結果及相關研究 ……… 7

第三章 背景及定義 ……… 12

3.1 Range-based ……… 12

3.2 Range-free ……… 13

第四章 調整通訊半徑以降低最大定位誤差之研究 ……… 16

4.1 直覺想法 ……… 16

4.2 區塊分割 ……… 18

4.3 線性對映 ……… 19

4.4 區塊合併 ……… 21

4.5 每一次區塊合併後調整通訊半徑 ……… 22

4.5.1.線段參數 ……… 23

4.5.2.半徑大小調整判斷步驟 ……… 25

4.5.3.例子 ……… 28

4.5.3.1. A 調整通訊半徑 Lsec 會被影響且 B 調整通訊半徑 Lsec 會 被影響 ……… 28

4.5.3.2.只有 A 調整通訊半徑 L

sec

會被影響 ……… 30

4.5.3.3.只有 B 調整通訊半徑 L

sec

會被影響 ……… 38

4.5.3.4. A、B 調整訊半徑 L

sec

都不會被影響 ……… 45

4.6 ACR 分散式演算法 ……… 48

第五章 模擬實驗結果 ……… 51

第六章 結論與未來展望 ……… 59

(4)

圖目錄

圖 3.1:利用三個圓的交點推算 Normal node 座標 ……… 13

圖 3.2:利用圓的交集區中點作為 Normal node 座標 ……… 14

圖 3.3:利用各個圓的切割區中點作為 Normal node 座標 ……… 15

圖 4.1:ACR 演算法 ……… 17

圖 4.2:將二維平面分割成許多一維區域 ……… 18

圖 4.3:ACR 將一維區域分割成許多小區塊 ……… 18

圖 4.4:非線性分割區塊 ……… 20

圖 4.5:線性分割區塊 ……… 20

圖 4.6:非線性轉線性分割區塊示意圖 ……… 21

圖 4.7:小區塊合併 ……… 22

圖 4.8:兩對小區塊合併 ……… 22

圖 4.9:單一小區塊的三個參考半徑 ……… 24

圖 4.10:L

Max

與 L

Sec

線段 ……… 25

圖 4.11:A 及 B 所影響的八個線段 ……… 25

圖 4.12: 4.5.3.1 節的 Case1,調整通訊半徑前 ……… 29

圖 4.13: 4.5.3.1 節的 Case1,Beacon Node A 調整通訊半徑後 ……… 29

圖 4.14: 4.5.3.1 節的 Case1,Beacon Node B 調整通訊半徑後 ……… 30

圖 4.15: 4.5.3.2 節的 Case1,調通訊半徑整前 ……… 31

圖 4.16: 4.5.3.2 節的 Case1,Beacon Node B 調整通訊半徑後 ……… 31

圖 4.17: 4.5.3.2 節的 Case1,Beacon Node A 調整通訊半徑後 ……… 32

圖 4.18: 4.5.3.2 節的 Case2,調整通訊半徑前 ……… 32

圖 4.19: 4.5.3.2 節的 Case2,Beacon Node B 調整通訊半徑後 ……… 33

圖 4.20: 4.5.3.2 節的 Case2,Beacon Node A 調整通訊半徑後 ……… 33

圖 4.21: 4.5.3.2 節的 Case3,調整通訊半徑前 ……… 34

圖 4.22: 4.5.3.2 節的 Case3,Beacon Node B 調整通訊半徑後 ……… 34

圖 4.23: 4.5.3.2 節的 Case3,Beacon Node A 調整通訊半徑後 ……… 35

圖 4.24: 4.5.3.2 節的 Case4,調整通訊半徑前 ……… 35

圖 4.25: 4.5.3.2 節的 Case4,Beacon Node B 調整通訊半徑後 ……… 36

圖 4.26: 4.5.3.2 節的 Case4,Beacon Node A 調整通訊半徑後 ……… 36

圖 4.27: 4.5.3.2 節的 Case5,調整通訊半徑前 ……… 37

圖 4.28: 4.5.3.2 節的 Case5,Beacon Node B 調整通訊半徑後 ……… 37

圖 4.29: 4.5.3.2 節的 Case5,Beacon Node A 調整通訊半徑後 ……… 38

圖 4.30: 4.5.3.3 節的 Case1,調整通訊半徑前 ……… 39

圖 4.31: 4.5.3.3 節的 Case1,Beacon Node A 調整通訊半徑後 ……… 39

圖 4.32: 4.5.3.3 節的 Case1,Beacon Node B 調整通訊半徑後 ……… 40

圖 4.33: 4.5.3.3 的節 Case2,調整通訊半徑前 ……… 40

(5)

圖 4.34: 4.5.3.3 節的 Case2,Beacon Node A 調整通訊半徑後 ……… 41

圖 4.35: 4.5.3.3 節的 Case2,Beacon Node B 調整通訊半徑後 ……… 41

圖 4.36: 4.5.3.3 節的 Case3,調整通訊半徑前 ……… 42

圖 4.37: 4.5.3.3 節的 Case3,Beacon Node A 調整通訊半徑後 ……… 42

圖 4.38: 4.5.3.3 節的 Case3,Beacon Node B 調整通訊半徑後 ……… 43

圖 4.39: 4.5.3.3 節的 Case4,調整通訊半徑前 ……… 43

圖 4.40: 4.5.3.3 節的 Case4,Beacon Node A 調整通訊半徑後 ……… 44

圖 4.41: 4.5.3.3 節的 Case4,Beacon Node B 調整通訊半徑後 ……… 44

圖 4.42: 4.5.3.4 節的 Case1,調整通訊半徑前 ……… 45

圖 4.43: 4.5.3.4 節的 Case1,Beacon Node A 調整通訊半徑後 ……… 46

圖 4.44: 4.5.3.4 節的 Case1,Beacon Node B 調整通訊半徑後 ……… 46

圖 4.45: 4.5.3.4 節的 Case2,調整通訊半徑前 ……… 47

圖 4.46: 4.5.3.4 節的 Case2,Beacon Node A 調整通訊半徑後 ……… 47

圖 4.47: 4.5.3.4 節的 Case2,Beacon Node B 調整通訊半徑後 ……… 48

圖 4.48:以矩形區域中心為推測定位點 ……… 49

圖 4.49:縮小矩形區域增加定位減少定位誤差 ……… 49

圖 4.50:Beacon Node 傳分割區域清單 ……… 50

圖 4.51:Normal Node 判斷自己所在交集區 ……… 50

圖 5.1:Normal Node 定位最大誤差(一維區域數量 = 8) ……… 51

圖 5.2:Normal Node 定位最大誤差(一維區域數量 = 16) ……… 52

圖 5.3:Normal Node 定位平均誤差(一維區域數量 = 8) ……… 52

圖 5.4:Normal Node 定位平均誤差(一維區域數量 = 16) ……… 53

圖 5.5:Normal Node 定位標準差(一維區域數量 = 8) ……… 53

圖 5.6:Normal Node 定位標準差(一維區域數量 = 16) ……… 54

圖 5.7:Normal Node 成功定位數量(一維區域數量 = 8) ……… 55

圖 5.8:Normal Node 成功定位數量(一維區域數量 = 16) ……… 56

圖 5.9:Beacon Node 通訊半徑與最大半徑比率(一維區域數量 = 8) ………… 57

圖 5.10:Beacon Node 通訊半徑與最大半徑比率(一維區域數量 = 16) ……… 57

(6)

表目錄

表 4.1:ACR 演算法 ……… 17 表 4.2:調整半徑演算法的公式使用判斷表 ……… 27

(7)

第一章 簡介

無線感測網路是近期在無線網路上一個非常重要的發展。無線感測網路是由 許多的無線感測器(Sensor Node)在各自的感測半徑中收集資料:如溫度、亮度、濕 度等,再將收集到的資料利用 Routing protocol 在各個無線感測器間轉送到 Sink Node,人們再由 Sink Node 擷取資料並做應用。無線感測器的體積通常都很小並 且常是無法回收再利用的,所以為了使用成本的考量,大多無法搭載太多的硬體 設備,另外無線感測器電力的提供常是使用有限電量的電池做為電源來源,因此;

電力的利用是非常需要考量的因素。由於電力及硬體設備搭載等有限能力的限制 下,一個單一的無線感測器通常不會有太多的功能可以應用。另外,無線感測器 的通訊方式是使用無線電波並在通訊範圍以廣播的方式來傳送資料,所以無線感 測器的通訊範圍及其所需的電源消耗量也是成正比。這意味著,若我們將無線感 測器的通訊範圍調至的越大,其電源的使用也越快,無線感測器也將越早因為電 源的使用耗盡而停止運作,那我們也將無法獲得無線感測器所在位置的感測資料 [21][23]。

無線感測網路可以利用於軍事、醫療、環境監控、人員車輛追縱或交通訊息 應用等許多方面。例如在軍事上可用於偵察以替代人員進而降低士兵的傷害率及 增加資訊收集回傳的速度。又如醫療的應用中可以觀察老人或重症病患的健康程 度,在意外發生時又無人發現時可及時通知家人或警消醫護等人員。環境監控方 面可以幫助火災、水患或是颱風等偵測及通知。而交通訊息應用則是近期較為新 起的應用,如車流的計算及通知、事故偵測或是路徑選擇等等。在這些運用上常 常都需要了解無線感測器的所在位置以利了解感測到的事件所發生的地點。所以 無線感測器的定位便成了在無線感測網路中非常重要的一個問題。而目前普遍的 定位方式便是將每個無線感測器都裝上 GPS 裝置。但若是每個 Sensor Nodes 都 裝上 GPS 裝置,那麼硬體成本將是非常可觀的,而且無線感測器的電源量是非 常有限的,裝上 GPS 也將會造成更大的電力消耗。另外 GPS 也有其使用環境的

(8)

限制,例如無法在室內使用或是天候影響等。

基於成本及電源量的考量,目前有許多的研究都是以一部份的無線感測器裝 設 GPS 裝置,我們稱這些有裝設 GPS 設備的無線感測器為 Beacon Node,而其 餘沒有裝設 GPS 設備的無線感測器我們稱為 Normal Node。這些 Beacon Node 將會廣播自己的座標資訊給鄰近的 Normal Node 或是透過 Routing 的方式轉送至 Server。而這些收到座標資料的 Normal Node 或是 Server 將會藉由一些無線感測 網路特性如訊號的強弱或角度以及數學公式如三角函數等組合而成的演算法來 幫助其餘沒有裝設 GPS 的 Normal Nodes 完成定位的推論。但由於是利用推論的 方式來獲得其座標位置,所以一般來說都會有其誤差值,因此近代的研究都是朝 著減少其誤差值為主要的目標。

目前無線感測網路的定位方法可以分成利用無線訊號強度(RSSI)定位、兩個 以上的無線通訊範圍交集區域定位及多重通訊半徑定位等三種方式,分別簡述如 下:

1.無線訊號強度(RSSI)定位

有許多論文討論利用無線感測器的無線訊號強度作為定位的方式[引用]。先 透過實地測試或是無線傳輸距離及所需能量轉換等方式統計及計算出在相同的 傳輸能量下不同的距離其無線訊號強度資訊。有了這些資料我們就可以估計訊號 傳送端及接受端的距離為何。再利用此距離資訊及 Beacon Node 的座標資訊進一 步透過如三角函數等數學公式來計算來 Normal Node 的推論座標位置。在這個方 式下,無線感測器需要裝備額外的硬體才可測量所接受到的無線訊號強度。然而 無線感測器的無線電波本身即存在誤差,意即同樣的距離不同時間測量出的 RSSI 可能不同。這其中存在著許多干擾因素,如在傳輸端與接受端中間存在其 它障礙物或是傳介質穩定程度等影響,接受端所測量無線訊號強度可能會變弱,

因而造成接受端誤認為自己與傳輸端的距離是比實際遠的,最後也會讓推論出的 座標資訊與實際座標有所差距。另外有些論文會利用角度讓某些無法接受到

(9)

Beacon Node 無線訊號的 Normal Node 也能算出其與 Beacon Node 的距離,然而 要獲得角度資訊也需要額外的硬體設備。

2.交集區域定位

另有不少論文研究是利用兩個或多個 Beacon Node 彼此的傳輸半徑所交集 而成的交集區域作為定位的參考區域,當無線感測器獲得此交集區域資訊後將會 以其中心點或重心點為推論資料[16]。對於落於此區域的 Normal Node 而言,交 集區域的大小悠關其定位的誤差程度,交集區域越大其平均誤差也愈大,反之則 愈小。所以利用交集區域做為定位依據的論文研究也常會利用一些特性以盡量縮 小交集區域的面積。但是若交集區域太小,那麼 Normal Node 坐落於此可定位面 積的機會卻也愈小。雖然交集區域的大小與定位的精準度有極大的相關性,但因 前述關係卻也常是背道而馳。

3.多重通訊半徑定位

此法是交集區域定位的擴充。其方式為將每個 Beacon Node 的通訊半徑分成 許多階層等級,每個 Beacon Node 的階層數通常相同。如此,交集區域將會被細 切為許多較小的區域以增加定位精確度。此法每個 Beacon Node 將需要定期廣播 其每一層的通訊半徑,那麼 Normal Node 若要獲得較小的交集區域將需要更多的 等待時間[21]。

不論是使用傳輸訊號強度、兩個以上的 Beacon Nodes 彼此的傳輸半徑所交 集的區域或是多重通訊半徑定位等方法做為定位依據都有其優缺點,簡述如下。

1.無線訊號強度(RSSI)定位 優點:

定位較為精確誤差較小。

缺點:

(1) 需要額外硬體。

(10)

(2) RSSI 值易受干擾。

(3) 通常至少需要三個的距離資訊及 Beacon Nodes 座標資訊。

2.交集區域定位 優點

(1) 不需額外硬體成本。

(2) 電源消耗較少。

缺點

(1) 交集區域的大小與定位精確度有關。

(2) 交集區域的大小與可定位面積有關。

(3) 通常至少需要二個的距離資訊及 Beacon Nodes 座標資訊。

3.多重通訊半徑定位 優點

傳輸半徑階層數越多定位越精確。

缺點

(1) 需要定期傳廣播不同半徑階層。

(2) 半徑階層數越多定位所需等待時間越久。

綜合上述的優缺點而言,無線訊號強度定位雖然有著較精確的定位,但是其 需要額外的硬體及較高的電源消耗等缺點卻是無線感測網路最重要的考量因 素。多重通訊半徑定位雖然可以比交集區域定位有著更精確的定位,但是卻需要 較長的時間才能完成定位,然而在大部份的無線感測環境定位可能需要較短的時 間,否則定位資訊將失去其使用價值,如軍事偵測、病患通知…等。雖然交集區 域法定位的精確度與交集區域面積大小和可定位面積三者有著者極大的關係,但 是卻有著不需額外硬體成本及電源消耗較少等無線感測網路最重要的好處。所以

(11)

我們在此篇論文中提出了一個可以享有交集區域法中不需要不需額外硬體成本 及電源消耗較少等優點,又能在可定位面積不減的狀況下增交集區域法定位的精 確度。

關於此問題,我們先思考的為:如何讓交集區域縮小又不減少可定位可面 積。前人的方法常利用的是刪去法,也就是若有其它的 Beacon Nodes 在原先的 交集區域中切割一塊子區域但卻不包含原交集區域中的 Normal Node。則從 Normal Node 所在的大交集區域減去此子區域,進而達到縮小可能範圍。然而此 法若在一個 Beacon Nodes 不夠密集的狀況下將無法有效達到目的。於是我們想 到利用調整 Beacon Nodes 的傳輸半徑來達到調整交集區域的大小。第二個思考 的問題為:交集區域要如何調整才是最適當的大小。由於一個交集區域大小的改 變將可能讓相鄰的其它交集區域大小一起改變,所以此問題若放眼於整個網路的 話我們的目標即變成如何讓最大的分割區域最小化,這樣的一個目標可以讓整個 網路上的最大定位誤差及整體的定位平均誤差均降低。

由於整個無線感測網路中每一個 Beacon Node 的通訊半徑的變動都會影響 其所切割的分割區域面積的大小,所以直接對整個網路中每一個 Beacon Node 的 通訊半徑進行調整是非常困難的,但是為了達成這個目的我們導入了各個擊破 (Divide and Conquer)的策略,先把整個二維的無線感測網路面積切割成許多個一 維區域,再將一維區域依據 Beacon Node 的位置資訊切割成許多區域,藉由將一 個大的區域切割成許多小的區域,那麼我們一次所要考慮的 Beacon Node 將會減 少,如此就簡化了我們的問題。接著將兩兩小區域進行合併、調整通訊半徑、再 合併、再次調整通訊半徑,重覆此過程直至所有被切割區塊再次合併成原來的感 測區域為止。

我們的演算法主要是透過調整 Beacon Node 的通訊半徑以讓 Normal Node 的

(12)

定位能更精確。而真正定位點的計算方法確可以延用前人所提出的方法,如矩形 區域的中心點,交集區域形狀的重心等方法。所以我們的研究是可以幫助前人的 方法使其更為精確。

本篇論文剩餘的部份將在第二章簡介幾篇前人有關定位的研究,與本篇論文 有關的背景及定義將在第三章說明,而第四章將討論本篇論文調整通訊半徑以降 低最大定位誤差之研究核心,演算法的結果及效能將在第五章以模擬實驗來印 證,最後我們將在第六章說明我們的結論及未來展望。

(13)

第二章 前人結果及相關研究

到目前為止有許多的研究在於只有少量的 Sensor Node 裝備 GPS,再利用一 些方法機制讓其它那些沒有裝備 GPS 的 Sensor Node 能夠透過有裝備 GPS 的 Sensor Node 取得有用資訊,並進一步的計算出自己的座標位置。以下前人結果 中所使用的英文名詞為原文中所使用,其中 Power Range 意為無線通訊半徑、

Landmark 及 Anchor Node 為 Beacon Node、Unknown Node 為 Normal Node。

在[16]中,利用了不同的 Beacon node 的 Power Range 所形成的交集區域(以 矩形來代表),並以此區域的中心點做為 Normal Node 座標的推論值。當 Beacon Node 愈多時,所形成的交集域將會愈小,有助於讓 Normal Node 座標的推論更 精確。也利用了一些其他的 Beacon Node(非 One-hop 鄰居)所交集的區域做為縮 小所以交集區域的參考依據。此篇論文中若有越多的 Beacon Node 越有更好的定 位效果,但缺點為 Beacon Node 數量不多時沒有較為有效的縮小交集區域的方 法。另外,此方法中,分割區域越大可用於定位的機會也越大,但相對的定位精 確度也愈小。反之,分割區域越小可用於定位的機會也越小,但相對的定位精準 度也愈大。

在[17]中,作者利用了測量接受的訊號強度(RSSI)並透過 PDF 表來轉換無線 訊號發送端及接受端之間的距離。當 Unknown Node 接受到了一個 Landmark 廣 播的 Beacon 封包時(包含了 Landmark 的座標),即測量此一 Beacon 封包的 RSSI,

再透過一個 PDF 表來轉換兩點的距離區域,透過接受多個 Beacon 封包不斷重新 計算可能的座標範圍,最後推論出一個可能的座標位置。此篇論文的優點為使用 了額外的硬體來增加定位精確度,但其缺點為額外的硬體而要額外的成本。另外 RSSI 值本身即環境因素而存在著誤差。再者 Unknown Node 需要接受 Landmark 不同行徑方向所傳的 Beacon 封包,如此推論的結果會比較精確。

(14)

在[12]中,作者利用[17]做為測量座標資訊的基楚,並加以擴充討論 Landmark 移 動 路 徑 的 不 同 對 於 測 量 座 標 資 訊 的 誤 差 影 響 。 此 篇 論 文 中 提 出 了 三 種 Landmark 移動路徑,分別為 SCAN、DOUBLE SCAN 及 HILBERT。SCAN 為將 部署區域分成多個相鄰的一維區域,Landmark 先從第一個陣列頭移至尾,再轉 移至下一個相鄰的陣列尾,接著往頭移動,DOUBLE SCAN 類似於 SCAN,但 以橫、列兩個不個方向分劃陣列來實行。HILBERT 則是分成等級為 n 的 4n 個格 子,並連結格子的中心串接。SCAN 容易實作且當 Resolution 較小時有很好的表 現,DOUBLE SCAN 由於陣列的 resolution 較大,所以表現較差,HILBERT 中 Unknown node 有較多的機會獲得不同方向的 Beacon 封包,故當 Resolution 較大 時有不錯的表現。透過 Landmark 的移動來進行定位優點是每個 Unknown Node 都會被定位,然而 Landmark 需要擁有大量的電源以維持移動時所電源的消耗,

而在行徑路徑的尾端 Unknown Node 需要等待較久的時候才能被定位。

在[2]中,假設每個 Node 均能計算對於自己而言,無線通訊訊號進入的角度 及訊號強度(RSSI)為何。Normal Node 利用此特性計算 Beacon Node 訊號傳入的 角度及強度(可以轉為距離資訊)並將此資訊傳給 One-hop 的 Normal Node 鄰居,

此鄰居即可用此資訊透過三角函數計算原 Two-hop 外的 Beacon Node 與其之間的 距離當一個 Normal Node 獲得至少三個非直線上的 Beacon Node 訊息時即可利用 圓方程式來計算此 Normal Node 座標。使用這方式可以讓 Normal Node 獲得更多 的 Beacon Node 資訊,進一步推論出 Normal Node 的座標。此方法可以有更多機 會並更精確的推論出 Normal Node 的座標,但缺點為需要額外的硬體資源,並且 需要三個以上的 Beacon node 資訊才能推論座標。

在[21]中,每個 Anchor Node 都會周期性的以不同的 Power Range Level 廣播 自己的 ID、座標及 Power Level 資訊,Sensor Node 則會聆聽 Anchor Node 所發 出的訊息。當一個 Sensor node 聽到三個 Anchor node 所發的訊息後即會根據

(15)

Anchor node 的 ID、座標及 Power Level 等資訊判斷自己所在的交集區域為何,

再進一步計算此區域的中心點(以區域頂點為基準)座標當作自己的座標推論值。

優點為可以形成較小的交集區域以讓定位更精確,但缺點為某些 Sensor Node 需 要長時等待 Anchor Node 的廣播訊號。

在[8]中,利用可以移動的 Beacon Node 在感測區域上進行移動並傳送座標資 訊,Normal Node 就進行收集 Beacon Node 傳送的資訊,Normal Node 可藉由求 最小平方差的求圓方程式來求出收集到的 4 個 Beacon Node 資訊的共同圓方程 式,再利用圓方程式求出的圓心做為推論 Normal Node 的座標值。此法的好處可 以精準的利用數學公式來求出座標,缺點為需要 4 個以上的 Beacon Node 資訊才 能計算,且計算負擔上較其他方法來的多。

在[10]中,每一個 Anchor(裝有 GPS)都會廣播自己的 ID 及座標資訊,而 Node(未知座標)會在所可以聆聽到的 Anchor 訊號中選三個不同的 Anchor 來計算 其三角形區域,接著利用訊號強度等訊息辨別自己是否在此三角形內。若是,則 保留此三角形。若否,則去除此三角形,透過組合排列,可以在所聆聽到的 Anchor 訊號的 Anchor 選出許多三角形並辨別自己在不在這些三角形內。最後將保留的 三角形所交集出的區域中心點當成自己座標的推論值。優點為當 Anchor 越多時 可獲得越多的三角形進而可以得到更小的三角形交集區域以讓定位更精確,但缺 點為需要大量的計算資料。

在[23]中,在感測區域內部署多個 Reference Node(透過 GPS 或其他方式已 知座標),這些 Reference Node 會以不同 Power Range Level 周期性的廣播自己的 ID 及 Power Level 等資訊。當一個 Sensor Node(未知座標)聆聽到數個 Reference node 所廣播的訊息後會將所聽到的訊息收集起來並傳送給 Sink node(Sink Node 事先已知有 Reference Node 位置),Sink node 會根據 Sensor Node 所傳的資訊計

(16)

算其所在區域中心位置座標並回傳給 Sensor node。缺點為某些 Sensor Node 需要 長時等待 Reference Node 的廣播訊號。

在[19]中,利目的地區域分割成許多子區域並加以編碼,再利用不同時間於 不同子區域加以投影,Node 會記錄什麼時間點看到光源並回報發光點,發光點 會記錄什麼時間點與地點發射光源,然後比對兩者的時間就會知道 node 位於那 一塊子區塊,藉由此法求出 Node 的推論座標。優點為當子區塊越小時定位越精 確,但需要透過光線的投射及反射實作不容易。

在[20]中,作者改善了由 S. Capkun 等人所提出的 DV-hop[13],先執行 DV-hop 以讓 Unknown node 能夠收集到平均每 Hop 距離資訊,再利用此資訊推測 Unknown node 與 Anchor 間的距離。Unknown node 的定位方法改採取從所有的 Anchor 中選取一個為 Reference Node,之後 Reference Node 將搭配每一組由其餘 Anchor 以排列組合的方式所選出的組合並使用三角函數來獲取數個 Unknown Node 定位推測值。然後 Unknown Node 與 Reference Node 將會角色互換再重覆 計算 Reference Node 的推論數個座標。最後以 Reference Node 的數個推論座標中 選取最接近 Reference Node 實際座標的相關 Unknown Node 定位推測值為定位結 果。優點為透過與 Reference Node 角色互換來取得比對座標以獲得更精確的座 標。缺點為需要增加資料的傳輸及計算量。

在[26],先將 Anchor Nodes 安排在一個矩形感測區域的四個角落,每個 Anchor node 有同樣的條件及任務。Anchor 以多層的 Power Level 方式發送訊號,

任相鄰兩層距離等寬,每個 Anchor 也有相同的 Power Level 層數。相對的兩個 Anchor 廣播訊號將形成一個交集區域,所以四個角落的 Anchor 將形成許多組相 互垂直的兩個交集區。Sensor Node 接受 Anchor 的訊號以了解自己所屬於那一組 相互垂直的兩個交集區,最後以兩種方式定位,其一為求出兩個交集區的寬度中

(17)

垂線所交集的點為定位點,另一為求出兩個交集區的交集點連接線所交集的點為 定位點。優點為計算方式簡單,缺點為某些 Sensor Node 需要長時等待 Reference Node 的廣播訊號。

(18)

第三章 背景及定義

目前在無線感測網路討論定位問題的方法中,有些會使用附加的硬體協助來 獲得一些有用的資訊以幫助更精確的定位。而另一些方法中則不附加額外的硬 體,他們利用無線感測網路的原有特性,透過數學函數等方法以求得定位資訊。

使用附加硬體通常可以定位的較為精確,費用較高。不使用附加硬體通常費用較 低,但定位較不精確。不論如何常會有一些感測點可能透過 GPS 等方式以事先 了解自己的座標位置,這些感測點稱為 Beacon Node。他們的功能之一便是提供 自己的座標以幫助其它未知座標的感測點進行定位,而未知座標的感測點稱為 Normal Node。目前有許多的研究會將一些常見的幾個定位方法觀念分類,這些 觀念大致可歸類 Range-based 與 Range-free,簡述如下。

3.1 Range-based

Range-based 通常會使用一些額外的硬體來獲得一些有用的訊息,最常見方 式 的 是 利 用 硬 體 來 測 量 接 受 訊 號 強 度 (Received Signal Strength Indication , RSSI),並以此訊號強度來轉換成兩點的距離,轉換方式可以利用訊號衰減函數 或是預先實驗所得的訊號及距離表等。若一個 Normal Node 可以接受到三個以上 非位於一直線的 Beacon Node 訊號,那麼 Normal Node 將可以將 RSSI 轉成距離,

再利用數學上的求圓方程式,那麼就可以求出多個圓,當這些圓交集於一點時,

即以此點當作推論的座標。

圖 3.1 說明了利用三個圓的交點來計算 Normal Node 的座標位置。圖中紅點 是已知座標的點,稱為 Beacon Node。藍點為未知座標的點,稱為 Normal Node。

當 Normal Node a 收到 Beacon Node A、B 及 D 所傳送的座標及 ID 訊息時,即可 利用硬體測量訊號強度,接著再將訊號強度轉換成距離,如此便可以 Beacon Node 為圓心、距離為半徑畫出一個圓。若 Normal Node a 收到了至少三個 Beacon Nodes

(19)

的訊息時即可畫出三個圓,再利用求圓方程式求出此三個圓所產生的交點座標,

如此 Normal node a 的座標即被求出。然而此法所需的三個以上圓,需是圓心非 在同一直線上才行。若是在同一直線上如圖 3.1 中 Beacon Node A、B 及 E,這 樣所形成的交點將為兩點,將無法得 Normal Node a 會是在哪一個交點上。此概 念的優點為在訊號不受干擾的環境下可以定位的較為精確,缺點即為需額外的硬 體成本。另外訊號的強度常會因為許多原因而有著誤差,而且通常也需要較多的 Beacon Node 資訊才能計算。

圖 3.1:利用三個圓的交點推算 Normal node 座標

3.2 Range-free

Range-free 是不需另外搭載額外的硬體,通常是利用一些現有的特性,如 Beacon Node 的座標及預先定義好的訊號半徑等訊息。利用這些資訊來獲得一些 交集區域資訊,再以此交集區域資中的某個點為推論的座標值。

圖 3.2 說明了利用圓的交集區域來推算 Normal Node 的座標。當 Normal Node a 收到 Beacon Node A、B 及 C 三者所傳送的座標及 ID 訊息時即透過 Beacon Node 座標及半徑來求出三者 Beacon Node 所交集出的交集區域。最後再利用此區域中 的一點,通常為中心點,如圖 3.2 中綠點位置,為 Normal Node a 的座標。此法 的優點為需較少的 Beacon Node 訊息,兩個 Beacon Node 的交集區域即可定位,

A

B

D a

E

(20)

而且方法較為簡單。缺點為交集區中的任一個位置點均有可能為 Normal Node 的實際位置,故誤差的大小平均而言將隨著交集區域的面積增大而加大。

圖 3.2:利用圓的交集區中點作為 Normal node 座標

不論是 Range-based 或 Range-free 的概念都有其優缺點,並非所有的無線感 測網路環境都適合有附加額外硬體的定位方法,例如醫療使用上可能需要考慮使 用者的舒適度、重量負擔及成本等問題。所以在我們的方法中將不使用額外的硬 體,也就是使用圓與圓之間的分割區域為主要方法。然而之前的方法大部份都只 使用交集區域的部份,而我們將進一步的利用沒有被交集的區域,也就是每一個 圓所包含在內的分割區域均可用來定位。如圖 3.2 所示,每個分割區域均有一個 定位綠點所在。再加上我們希望將分割區域最大者最小化,所以將透過調整 Beacon Nodes 的通訊半徑來讓定位誤差降低。

C B

C

estimate

a

(21)

圖 3.3:利用各個圓的切割區中點作為 Normal node 座標

A B

C

estimate

(22)

第四章 調整通訊半徑以降低最大定位誤差之研究

本章中描述一個如何調整通訊半徑以降低最大定位的誤差的演算法。

4.1 直覺想法

使用分割區域來定位的優點為不需要額外的硬體,然而定位是否精確主要決 定於分割區域的大小。本論文的方法主要是在一個二維平面的感測區域上,透過 調整隨機部署於感測區域上的 Beacon Nodes 的通訊半徑,以形成切割區域最大 最小化,進而達成降低最大定位的誤差。

在一個二維平面的無線感測網路上,Beacon Nodes 及 Normal Nodes 都是隨 部署於感測區域內。如此的環境下分割區域通常都是大小不一,而且分割區域大 小差距通常也是非常大的。這意味著,只有少部份的 Normal Nodes 可以在較為 精準的小分割區域被定位,大部份的 Normal Nodes 定位將存在較大的誤差。若 想透過調整 Beacon Nodes 的通訊半徑來將較大的分割區域縮小,又需擔心是否 會影響其它的分割區是否會改變大小而為最大的,所以哪些 Beacon Nodes 需要 調整通訊半徑?而需要調整的 Beacon Nodes 又需要調整通訊半至什麼大小?這兩 個問題就是這篇論文研究的主要問題了。

本論文的研究使用了 Divide-and-Conquer 概念。若先將整個感測區域的問題 切割成許多區域較小的子區塊,則這些子區塊仍然與原感測區域的問題相同。若 我們在子區塊中可以找出哪些 Beacon Nodes 需要調整通訊半徑且需要的大小為 何,那麼在子區塊中的問題將被解決。藉由先將子區塊問題解決後再將子區塊間 相互合併,那麼合併後結果也將是我們所需的。此演算法稱為調整通訊半徑 (adjusting communication range, ACR)演算法。

ACR 演算法以 Divide-and-Conquer 概念為基礎分成五個階段,這五個階段分 別為:區塊分割、線性對應、調整通訊半徑、區塊合併、分割區域定位等如圖 4.1 所示,圖中紅線代表著演算法的流程,每個階段詳細說明如下面小節所述。表 4.1 說明了本章的演算法步驟。

(23)

表 4.1:ACR 演算法

Step1:設定適當的 N 值以決定欲將二維感測區域分割成 N 層橫向一維區域。

Step2:以 Beacon Node 圓心距離中點為切線將每個一維區域分割成小區塊。

Step3:每層先由相鄰兩個小區塊合併成較大的區塊,再進而合併成更大區塊。

Step4:每次區塊合併後都需依據條件及公式暫時調整 Beacon Node 的通訊半徑。

Step5:一維區域合併。

Step6:以 N 值決定欲將二維感測區域分割成 N 層直向一維區域。

Step7:以直向方式重覆執行 Step2 至 Step5

Step8:每個 Beacon Node 從横向及直向中選暫時的通訊半徑中最大者為實際值。

Step9:Beacon Node 傳送訊息以讓 Normal Node 可以了解自己所在之分割區域。

Step10:將分割區域以矩形方框表式並以矩形方框中心為定位點。

圖 4.1:ACR 演算法

A C

A B C

A B C

Step1

Step2 and Step3

Step4

Step4

Step5

Step6、7、8

(24)

4.2 區塊分割

在無線感測網路中一個二維平面的感測區域裡,我們將其横向分割成許多一 維區域。如圖 4.2 中,W

sa

是一維區域的寬、N 是一維區域的個數、W

A

為二維平 面的寬(高)。W

sa

不可大於 Beacon Nodes 的最大通訊半徑 R

M

,若大於 R

M

將會讓 落於一維區域中上、下邊界的 Beacon Nodes 無論如何調整通訊半徑都無法覆蓋 整個一維區域的高。

圖 4.2:將二維平面分割成許多一維區域

為了讓 Normal Node 盡量能夠在感測網路中任何位置都能被定位,所以 Beacon Node 的通訊半徑必須能夠保持在一個基本的距離,但是每個 Beacon Node 需要保持多大呢?為了解決這個問題我們繼續將一維區域分割成更細且非等大的 小區塊,而分割的基礎即以 Beacon Node 的 X 座標為基準,相鄰的兩個 Beacon Node 的中間為分割線。圖 4.3 半部所示,在分割小區塊後 Beacon Node 只需覆蓋 自己的小區塊內即可,如 Beacon Node B 只需覆蓋紫色部份

圖 4.3:ACR 將一維區域分割成許多小區塊

W sa

= W

a

/ N ≦ R

W

A

A B C

A B C

(25)

4.3 線性對映

在一個一維區域內 Beacon Nodes 是隨機散佈在內部並非一直線,由於我們 在調整分割區時是使用線段來表示分割區的大小,所以在如此的環境下,將造成 我們在衡量所有分割區線段的非一直線,如此將難以了解線段變化時相互之間的 影響為何,另一個問題是,線段的計算該如何決定。如圖 4.4 中分別有線段 L

ab

L ac

及 L

ad

等三個線段,在非線性分割區塊中,假如我們想描述 Beacon Node A、

B 的通訊半徑所形成的分割區塊,那我們該使用線段 L

ab

、L

ac

還是線段 L

ad

呢?事 實上,除非 Beacon Node C 的通訊半徑增大至一定的大小,線段 L

ab

才能反應出 Beacon Node A、B 的通訊半徑所形成的分割區塊大小的變化。而線段 L

ac

則無法 反應出 Beacon Node C 的通訊半徑縮小時 Beacon Node A 及 B 的通訊半徑所形成 的分割區塊大小的變化。線段 L

ad

則是反應 Beacon Node A 及 C 的通訊半徑所形 成的分割區塊大小的變化狀況。

對於非線性分割區塊的問題,我們反觀線性分割區塊,所謂線性分割區塊是 指一維區域內的所有 Beacon Nodes 其圓心呈一直線並且位於一維區域寬度的中 間。線性分割區塊的描述線段我們是以分割區塊 X 座標軸最寬者為代表,由於 所有的 Beacon Nodes 圓心為一直線,所以所有的分割區塊描述線段也將成為一 直線。圖 4.5 中可以發現線段 L

bc

可以描述 Beacon Node A 及 C 的通訊半徑所形 成的分割區塊大小的變化狀況,不論是 Beacon Node A 或 C 增大或縮小通訊半 徑,線段 L

bc

皆可清楚的反應出來。另外,所有的線段均為一直線,所以圖 4.5 根本不需像圖 4.4 中要考慮 Beacon Node A 及 B 的通訊半徑所形成的分割區塊大 小變化問題。

(26)

圖 4.4:非線性分割區塊

圖 4.5:線性分割區塊

由於線性分割區塊的好處,我們希望將無線感測網路中一維區域所會產生的 非線性分割區塊轉換成線性分割區塊,然而非線性分割區塊轉換成線性分割區塊 時會有通訊半徑覆蓋率問題。如圖 4.6 上半部所示,灰色圓圈及圓心為 Beacon Nodes 在非線性分割區塊中原始的位置,以 Beacon Node A’來說明,當轉換成線 性分割區塊後將會如 Beacon Node A 所示位置。我們可以發現兩者的通訊半徑存 在著覆蓋率偏差

R,此偏差值與 Beacon Node A’及 A 的距離 D AA’

相等。因此我 們需調整 Beacon Node A 在 Beacon Node A’位置時的相對半徑,此調整公式為公 式(1)。調整後的通訊半徑如圖 4.5 下半部所示。

'

'

NN

N

N R D

R

= − .……….……….…………(1)

A B C f

b c

a d e

A

B

B

b

a d c

(27)

圖 4.6:非線性轉線性分割區塊示意圖

4.4 區塊合併

根據 Divide-and-Conquer 的概念,我們將二維的感測區域分成 N 塊等寬的一 維區域,再將一維區域分成不等寬的小區塊,最後每個 Beacon Node 將會落在以 其與鄰居距離關系所切割的小區塊中。由於單一小區塊是只會定位成與 Beacon Node 相同的座標,所以我們需進一步將小區塊由左至右進行兩兩合併成數對小 區塊。圖 4.7 為小區塊兩兩合併示意圖,圖中為一個一維區域分割為 4 個小區塊,

上半部中紅色虛線所框為兩個小區塊進行合併,下半部紅色虛線所框為右邊剩餘 的兩個小區塊合併。當兩個小區塊合併後,Beacon Nodes 必需依照節 4.5 所述進 行調整通訊半徑以達讓合併後的小區塊能夠被 Beacon Nodes 盡力覆蓋,且又能 達到分割區域最大最小化。

C B’

A

B

R

A’

C B’

A

B

相對半徑調整

(28)

圖 4.7:小區塊合併

當小區塊倆倆合併成一對對的小區塊並經過節 4.5 調整通訊半徑後達成最大 分割區域最小化後,我們就需要繼續合併這一對一對的小區塊成一組組的小區 塊,如圖 4.8 所示,上半部為兩對小區塊需要合併,下半部為兩對小區塊合併後 成為一組小區塊。由於一個一維區域會被切割成數個小區塊,而這些小區塊又會 一層一層倆倆相互合併,每合併一次原本通訊半徑已調好的分割區域將可能因為 在合併時於合併處被彼此重新切割,所以我們必須在合併後依照節 4.5 的方法調 整通訊半徑。小區塊的合併過程將會進行至被切割成許多小區塊的一維區域被重 新合併才停止。

圖 4.8:兩對小區塊合併

4.5 每一次區塊合併後調整通訊半徑

不論是倆倆小區塊合併或是一對對小區塊合併,每一層的合併時都會讓合併 處的分割區域重新分割,這時被重新分割的分割區域若存在整個被合併的小區塊 最大的分割區域,那麼我們就有機會透過調整通訊半徑的方式來達到縮小最大分 割區域以讓定位更精確。由於我們以線性分割區塊中分割區域最寬的距離線段來

合併

(29)

描述代表該分割區域,而分割區域愈大線段將也愈長,所以我們關心的便是最大 線段最小化的問題。本節以下將討論三個重點,其一是調整通訊半徑時所會用到 的線段參數,另一為合併時的判斷步驟,最後就是合併時的例子。

4.5.1.線段參數

在一開始時每個單一小區塊的狀態時,Beacon Nodes 的通訊半徑將調到最 大,由於我們是將非線性分割區塊轉成線性分割區塊,根據節 4.3 的公式(1)所 示,Beacon Nodes 的最大通訊半徑將需減去其偏差值,即為 R

Max_X

= R

Max_X’

-

D XX’

每一層的合併中假設合併處的線段是需要調整的,那麼 Beacon Nodes 要如何知到自己可以調整的通訊半徑最大值及最小值為何呢?假設我們先只考慮 覆蓋小區塊區域,那麼最大值為 R

Max_X

,若我們又再只考慮一個 Beacon Node A 與另一 Beacon Nodes B 有交集的小區塊覆蓋狀況,那麼最小值即需參考圖 4.9 所 示三種需要參考的通訊半徑值,分別為 R

Self

、R

Mid

、R

Grid

。R

Self

為當另一 Beacon Node B 的通訊半大於等於 Beacon Node B 於其 Y 軸所對應的一維區域高的交點及小於 等於 Beacon Node A 於其 Y 軸所對應的一維區域高的交點範圍,Beacon Node A 與 Beacon Node B 的交集點。此變數的用意為若 Beacon Node A 需要支援 Beacon Node B 或是被 Beacon Node B 支援覆蓋的半徑距離。R

Mid

為兩個 Beacon Nodes 通訊半徑為相同時,交集點滿足大於或等於小區塊寬度通訊半徑。R

Grid

為完全覆 蓋自己所屬小區塊時所需通訊半徑為何。為確保任何狀況都可以滿足這三種狀 況,所以我們需要在這三各參數中選出最大者,其公式為(2)。單一個 Beacon Node 可能不止與單一邊鄰居的 Beacon Node 有所交集,所以考慮到要滿足左右兩個的 鄰居 Beacon Node 的交集的狀況,我們需要將公式(2)擴充成公式(3),其中

R Mix_L

、R

Mix_R

為數個由公式(2)所計算的結果值。

) , ,

_N

(

Self Mid Grid

Mix

Max R R R

R =

………..(2)

) ,

(

_ _

_X Mix L Mix R

Refer

Max R R

R =

...………...………..(3)

(30)

圖 4.9:單一小區塊的三個參考半徑

若存在需調整通訊半徑狀況時,我們需要先找出整組小區塊中最長者線段

L Max

為何,另外我們關心的是最大線段最小化,所以我們也需知道第二長線段

L Sec

為何,如圖 4.10 所示,線段 L

ab

為最長線段 L

Max

,線段 L

cd

為第二長線段 L

Sec

當 L

Max

線段找到後可以發現線段兩頂端分為由兩個 Beacon Nodes 的通訊半徑所 切,此時我們假設此兩 Beacon Nodes 分別為 A 與 B,且 R

A

≧R

B

。當我們為了縮 小 L

Max

線段的長度而調整了 A 及 B 的通訊半徑時將會有最多八個線段大小可能 跟著改變。如圖 4.11 列出了此八個線段,分別為 L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

L B_l_out

、L

B_l_in

、L

B_r_in

及 L

B_r_out

。需注意的是若線段的一端為一維區域的邊界,

那麼將以此邊界為端點而不以邊界外的切點為端點。如 L

B_l_out

的左邊端點,另外 若線段沒有重疊合併的區塊,那麼此線段將設為 0。雖然我們使用線段來取代分 割區域以簡化我們的問題,但是當線段相等時分割區域的大小卻不相等,根據[27]

A C

R Max_A

B

R Self

a

A B C

R Mid

a

A C

R Max_A

B

R Grid

a

(31)

所計算,當兩個半徑相等的圓交集時,若三個分割區域的面積相等,則三個線段 的比例將為 2:3:2。根據此比例我們在計算線段長度時將需調整其長度值,但為 了簡化說明,此篇論文我們將以 1:1:1 比例做為主要調整依據。

圖 4.10:L

Max

與 L

Sec

線段

圖 4.11: A 及 B 所影響的八個線段

4.5.2.半徑大小調整判斷步驟

有了 4.4.1 小節所說的最長線段 L

Max

和第二長線段 L

Sec

再加上調整通訊半徑 所可能影響的八個線段,我們設計出了一個調整策略。因為我們的目標為最大線 段最小化,所以在調整通訊半徑時將有兩個特性。第一,L

Sec

線段可以在調整過 程中縮小或是由別的線段取代。第二,L

Max

線段將也有可能由別的線段取代,且

L Max

≧L

sec

調整策略為先找出會影響 L

Max

線段的為哪兩個 Beacon Node 並以目前通訊

A

l r

L A_r_out

L A_l_in

L A_l_out

L A_r_in

B

l r

L B_r_out L B_l_in

L B_l_out L B_r_in

0 2 4 6

A B C

c d a b

L Max

L Sec

R Max_C

(32)

半徑最大者令其為 A

另一者為 B,接著判斷若 A 或 B 調整通訊半徑時誰會影響

L sec

。接著決定若要縮小 L

Max

,則 A 及 B 需要的是放大通訊半徑或是縮小通訊半 徑,此一判斷可以從 L

Max

是否等於 L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

L B_r_in

及 L

B_r_out

其中的哪些線段來了解,調整時需注意 L

Max

是否小於其它線段。

我們需要公式用以計算 A 或 B 時調整至所需的大小所要設定的通訊半徑為 何,這些公式建立的標準是先以 L

Max

線段與其餘線段分別計算加總平均後 L

Max

該縮小至什麼長度,再將這些加總平均值轉換成所需通訊半徑。再依照 Beacon Node 需縮小或放大等狀況來決定目標值及最大、最小值為何,若需縮小則不可

小於

R

Refer_X反之則不可大於 R

Max_X

,計算公式為公式(4)~(6)。

) ,

,

Max(

Refer_A AB Max A_l_out B AB Max A_r_out B

A

R D ((L L )/2) R D ((L L )/2) R

R = + + − + + −

……...(4)

) ,

,

, ,

, Min(

_ _

_ _ _

A_r_out A

A_l_out A

in r A A_r_in

Max A

in l A A_l_in

Max A

AB A Max A

L R L

R ) L )/2) L

(((L R

) L )/2) L

(((L R D R

R

+ +

− +

+

− +

+

=

...….(5)

) ,

,

Max(

Refer_B AB Max B_l_out A AB Max B_r_out A

B

R D ((L L )/2) R D ((L L )/2) R

R = + + − + + −

……....(6)

) ,

,

, ,

, Min(

_ _

_ _ _

B_r_out B

B_l_out B

in r B B_r_in

Max B

in l B B_l_in

Max B

AB B Max B

L R L

R ) L )/2) L

(((L R

) L )/2) L

(((L R D R

R

+ +

− +

+

− +

+

=

…...(7)

) ,

,

, ,

, Min(

_

B_r_out B

B_l_out B

B_r_in Max

A AB

B_l_in Max

A AB Sec Max B B Max B

L R L

R )/2 L

(L R D

)/2) L

((L R D L L R R

R

+ +

+

+

− +

=

...(8)

)

, ,

, Max(

A B_r_out

Max AB

A B_l_out

Max AB

A Sec AB Refer_B B

R )/2 L

((L D

R )/2 L

((L D R L D R

R

− +

+

− +

+

− +

=

...(9)

) 2 / ,

2 / ,

Max(

Refer_A AB Max A_l_out B AB Max A_r_out B

A

R D ((L L ) ) R D ((L L ) ) R

R = + + − + + −

..(10)

) ,

, ,

, _ Min(

A_r_out A

A_l_out A

A_r_in Max

B AB A_l_in

Max B

AB Max

A

L R L

R

)/2) L

((L R D )/2) L

((L R D A R R

+ +

+

− +

=

...(11)

)

, ,

,

Max(

_

B A_r_out

max AB

B A_l-out

Max AB

B Sec AB A Refer A

R )/2 L

((L D

R )/2 L

((L D R L D R

R

− +

+

− +

+

− +

=

...(12)

) ,

, , ,

Min(

_

A_r_out A

A_l_out A

A_r_in Max

B AB

A_l_in Max

B AB Sec Max A A Max A

L R L

R )/2 L

(L R D

)/2), L

((L R D L L R R

R

+ +

+

+

− +

=

...(13)

) ,

,

Max( R D ((L L )/2) R D ((L L )/2) R

R = + + − + + −

...(14)

(33)

) ,

, ,

, Min(

_

B_r_out B

B_l_out B

B_r_in Max

A AB B_l_in

Max A

AB B Max B

L R L

R

)/2) L

((L R D )/2) L

((L R D R

R

+ +

+

− +

=

...(15)

以上公式是針並不同狀況下所設定的欲調整的通訊半徑大小,但何時該使用 那一個公式仍需要依據狀況來決定,下表 4.2 為判斷何時該使用哪一公式。

表 4.2:調整半徑演算法的公式使用判斷表 計算線段 L

Max

及 L

Sec

計算線段 L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

、L

B_r_in

及 L

B_r_out

IF A 調整通訊半徑 L

sec會被影響 && B 調整通訊半徑 Lsec會被影響 IF A 需縮小 then 公式(4)

ELSE IF A 需放大 then 公式(5)

重新計算線段 L

Sec

、L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

L B_r_in

及 L

B_r_out

如果 IF B 需縮小 then 公式(6) ELSE IF B 需放大 then 公式(7)

ELSE IF 只有 A 調整通訊半徑 L

sec會被影響 IF B 需放大 then 公式(8)

ELSE IF B 需縮小 then 公式(9)

重新計算線段 L

Sec

、L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

L B_r_in

及 L

B_r_out

IF A 需縮小 then 公式(10) ELSE IF A 需放大 then 公式(11)

ELSE IF 只有 B 調整通訊半徑 L

sec會被影響 IF A 需縮小 then 公式(12)

ELSE IF A 需放大 then 公式(13)

重新計算線段 L

Sec

、L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

L B_r_in

及 L

B_r_out

IF B 需縮小 then 公式(14) ELSE IF B 需放大 then 公式(15)

ELSE IF A、B 調整通訊半徑 L

sec都不會被影響 IF A 需縮小 then 公式(12)

ELSE IF A 需放大 then 公式(13)

重新計算線段 L

Sec

、L

A_l_out

、L

A_l_in

、L

A_r_in

、L

A_r_out

、L

B_l_out

、L

B_l_in

L B_r_in

及 L

B_r_out

IF B 需縮小 then 公式(9)

ELSE IF B 需放大 then 公式(8)

END IF

(34)

4.5.3.例子

根據不同的狀況會有不同的通訊半徑調整策略,以下小節將以不同狀況以例 子說明各公式的使用過程。

4.5.3.1.A 調整通訊半徑 L

sec會被影響 && B 調整通訊半徑 Lsec會被影響

當 Beacon Node A 及 Beacon Node B 調整通訊半徑時均會影響 L

sec

線段,此 時通訊半徑較大的 Beacon Node A 可以做較多的調整空間,所以我們先讓通訊半 徑較大的 Beacon Node A 先行調整,若有不足的才讓 Beacon Node B 補充調整。

下面列舉幾個例子簡單說明。

Case1:

圖 4.12 為一個 Beacon Node A 及 Beacon Node B 調整通訊半徑時均會影響

L

sec線段的例子,圖中長條為 Beacon Node 所在的一維區域,藍色區域為 Beacon Node A 所在的小區塊,黃色為 Beacon Node B 所在的小區塊。假設 Beacon Node A 以左的區塊及 Beacon Node B 以右的區塊合併,那麼我們依據節 4.5.1 先求出

L Max

等十個線段,如圖 4.12 上方所示,接著依據節 4.5.2 的表 4.2 來調整通訊半 徑。此例中,Beacon Node A 需要縮小通訊半徑,所以會執行公式(4)。

如 Step 1 所示我們求出調整後 Beacon Node A 的半徑為 R

A

,Beacon Node A 調整半徑後的各線段需重新計算新值,且 L

Sec

需要重新從十個線段參數中重新挑 選,調整過後十個線段參數值與圖形如圖 4.13。接著執行 Step2,我們使用了公 式(6)計算出了調整後的 Beacon Node B 的半行行為 R

B

,結果如圖 4.14 所示。

(35)

圖 4.12: 4.5.3.1 節的 Case1,調整通訊半徑前。

Step 1:如果 A 需縮小通訊半徑,就使用公式(4)

R A

= Max (9.5, 6 + (((16 + 1)/2) – 10) = 4.5, 6 + (((16 + 4)/2) – 10) = 6)

圖 4.13: 4.5.3.1 節的 Case1,Beacon Node A 調整通訊半徑後。

Step2:如果 B 需縮小通訊半徑,就使用公式(6)

R B

= Max (9, 6 + (((13.5 + 5)/2) – 9.5) = 5.75, 6 + (((13.5 + 2)/2) – 5.75)=8)

0 1 2 3 4 5 6

LA l in = Lsec

LA l out = 3.5 LA r in = Lmax

LA r out = 5

LB l in = Lmax

LB l out = Lsec LB r in = 5 LB r out = 2 Lsec = 5

A B

Lmax = 13.5

RA = 9.5 RB = 10 DAB = 6

0 1 2 3 4 5 6

LA l in = Lsec

LA l out = 1 LA r in = Lmax

LA r out =2.5

LB l in = Lmax

LB l out = Lsec LB r in = 2.5 LB r out = 2 Lsec = 5

A B

Lmax = 16

RA = 12 RB = 10 DAB = 6

(36)

圖 4.14: 4.5.3.1 節的 Case1,Beacon Node B 調整通訊半徑後。

4.5.3.2.只有 A 調整通訊半徑 L

sec會被影響

當只有 Beacon Node A 調整通訊半徑時會影響 L

sec

線段,此時不會影響 L

sec

線段的 Beacon Node B 可以做較多的調整空間,所以我們先讓 Beacon Node B 先 行調整,若有不足的才讓 Beacon Node A 補充調整。下面 Case1 舉例說明調整的 過程,Case2 至 Case5 由於決策過程相似所以只以圖例簡單說明。

Case1:

圖 4.15 為一個只有 Beacon Node A 調整通訊半徑時會影響 L

sec

線段的例子,

圖中長條為 Beacon Node 所在的一維區域,藍色區域為 Beacon Node A 所在的小 區塊,黃色為 Beacon Node B 所在的小區塊。假設 Beacon Node A 以左的區塊及 Beacon Node B 以右的區塊合併,那麼我們依據節 4.5.1 先求出 L

Max

等十個線段,

如圖 4.15 上方所示,接著依據節 4.5.2 的表 4.2 來調整通訊半徑。此例中,Beacon Node B 需要縮小通訊半徑,所以會執行公式(9)。

如 Step1 所示我們求出調整後 Beacon Node B 的半徑為 R

B

,Beacon Node B 調整半徑後的各線段需重新計算新值,且 L

Sec

需要重新從十個線段參數中重新挑

0 1 2 3 4 5 6

LA l in = Lsec

LA l out = 3.5 LA r in = Lmax

LA r out = 5

LB l in = Lmax

LB l out = Lsec LB r in = 5 LB r out = 2 Lsec = 6

A B

Lmax = 12.5

RA = 9.5 RB = 9 DAB = 6

(37)

選,調整過後十個線段參數值與圖形如圖 4.16。接著執行 Step2,我們使用了公 式(10)計算出了調整後的 Beacon Node A 的半行行為 R

A

,結果如圖 4.17 所示。

圖 4.15: 4.5.3.2 節的 Case1,調通訊半徑整前。

Step1:如果 B 需縮小通訊半徑,就使用公式(9)

R B

= Max (8, 6.5 + 6– 11.5 = 1, 6.5 + (((15.5 + 1.5)/2) – 11.5 = 3.5, 6.5 + (((15.5 + 2.5)/2) – 11.5 = 4)

圖 4.16: 4.5.3.2 節的 Case1,Beacon Node B 調整通訊半徑後。

LA l in = Lsec

LA l out = 4 LA r in = Lmax

LA r out = 2

LB l in = Lmax

LB l out = 4 LB r in = 1 LB r out = 5 Lsec = 6

Lmax = 13

A

B

0 1 2 3 4 5 6

RA = 11.5 RB = 8 DAB = 6.5

LA l in = Lsec

LA l out = 4 LA r in = Lmax

LA r out = 2

LB l in = Lmax

LB l out = 1.5 LB r in = 3.5 LB r out = 2.5 Lsec = 6

Lmax = 15.5

A B

0 1 2 3 4 5 6

RA = 11.5 RB = 10.5 DAB = 6.5

(38)

Step2:如果 A 需縮小通訊半徑,就使用公式(10)

R A

= Max (6.5, 6.5 + (((13 + 4)/2) – 8 = 7, 6.5 + (((13 + 2)/2) – 8 = 6)

圖 4.17: 4.5.3.2 節的 Case1,Beacon Node A 調整通訊半徑後。

Case2:

圖 4.18: 4.5.3.2 節的 Case2,調整通訊半徑前。

Step1:如果 B 需縮小通訊半徑,就使用公式(9)

R B

= Max (7.5, 7 + 9.5 – 12 = 4.5, 7 + (((16 + 2)/2) – 12 = 4, 7 + (((16 + 1)/2) – 12 = 3.5)

0 1 2 3 4 5 6

LA l in = 6 LA l out = Lsec

LA r in = Lmax

LA r out = 1

LB l in = Lmax

LB l out = 2 LB r in = 5 LB r out = 1 Lsec = 9.5

Lmax = 16

A

B

RA = 12

RB = 11 DAB = 7

LA l in = 1.5 LA l out = Lsec

LA r in = Lmax

LA r out = 6.5

LB l in = Lmax

LB l out = 4 LB r in = 1 LB r out = 5 Lsec = 8.5

Lmax = 8.5

A B

0 1 2 3 4 5 6

RA = 7 RB = 8 DAB = 6.5

(39)

圖 4.19: 4.5.3.2 節的 Case2,Beacon Node B 調整通訊半徑後。

Step2:如果 A 需縮小通訊半徑,就使用公式(10)

R A

= Max (7, 7 + (((12.5 + 9.5)/2) – 7.5 = 10.5, 7 + (((12.5 + 1)/2) – 7.5 = 6.25)

圖 4.20: 4.5.3.2 節的 Case2,Beacon Node A 調整通訊半徑後。

0 1 2 3 4 5 6

LA l in = 4.5 LA l out = Lsec

LA r in = Lmax

LA r out = 2.5

LB l in = Lmax

LB l out = 5.5 LB r in = 1.5 LB r out = 4.5 Lsec = 11

Lmax = 11

A

B

RA = 10.5

RB = 7.5 DAB = 7

0 1 2 3 4 5 6

LA l in = 6 LA l out = Lsec

LA r in = Lmax

LA r out = 1

LB l in = Lmax

LB l out = 5.5 LB r in = 1.5 LB r out = 4.5 Lsec = 9.5

Lmax = 12.5

A

B

RA = 12

RB = 7.5 DAB = 7

參考文獻

相關文件

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Krishnamachari and V.K Prasanna, “Energy-latency tradeoffs for data gathering in wireless sensor networks,” Twenty-third Annual Joint Conference of the IEEE Computer

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Gu, “Corner Block List: An Effective and Efficient Topological Representation of Nonslicing Floorplan,” IEEE/ACM International Conference on Computer-Aided Design, pp.8–12,

[17] Xiuqi Li and Jie Wu, ”Cluster-based Intelligent Searching in Unstructured Peer-to-Peer Networks”, Proceedings of the 25th IEEE International Conference on Distributed Computing

[20] Mohamed Younis, Moustafa Youssef, and Khaled Arisha “Energy Aware Routing in Cluster-Based Sensor Networks”, 10th IEEE International Symposium on Modeling, Analysis

Yang, “An Improved Approach to Security and Privacy of RFID Application System,” Proceedings of IEEE International Conference on Wireless Communications, Networking and