k個最近鄰居(行動定位)
教師:陳志華博士
報告大綱-k個最近鄰居(行動定位)
論文導讀
前言
研究背景
◦ 行動網路
◦ 行動定位
◦ k個最近鄰居(估計、預測)
研究方法
實驗結果與討論
結論與未來研究
2
論文導讀
Chi-Hua Chen, Bon-Yeh Lin, Chun-Hao Lin, Yen-Szu Liu, Chi-
Chun Lo, “A Green Positioning Algorithm for Campus Guidance
System,” International Journal of Mobile Communications, vol. 10,
no. 2, pp. 119-131, March 2012. (SSCI/EI, ISSN 1470-949X)
◦ DOI: 10.1504/IJMC.2012.045669
◦ Times Cited in Google Scholar: 13
◦ Impact Factor: 0.965
3
前言
有鑑於全球定位系統(Global Positioning
System, GPS)僅能提供戶外定位,並且當
遮蔽物多時將可能無法運作。
因此,一套有效的行動定位系統將可以
提升導覽系統的可用性,並可以提供室
內定位等應用。
本研究主要研發一套校園導覽系統,並
結合行動定位方法,以提升導覽系統的
可用性,有效提供教職員、學生、民眾
在校園內之路線導引,以及每棟大樓內
的導覽服務。
4
研究背景
研究背景
◦ 行動網路
◦ 行動定位
◦ k個最近鄰居(估計、預測)
5
研究背景-行動網路
蜂巢網路(Cellular Networks)演進
◦ 全球行動通訊系統(Global System for Mobile Communications, GSM)(2 G)
◦ 通用封包無線服務(General Packet Radio Service, GPRS)(2.5 G)
◦ 通用行動通訊系統(Universal Mobile Telecommunications System, UMTS)(3 G)
◦ 長期演進技術(Long Term Evolution, LTE)(4 G)
◦ 蜂巢網路 + 無線區域網路(Wireless Location Area Network, WLAN)
◦ 蜂巢網路 + 物聯網(Internet of Things, IoT)
6
研究背景-行動網路-GSM (2 G)
7
GPRS/GSM MS BTS
BSCUm A-bis
GERAN
MSC/VLR
HSS/
HLR/AAA
A
Core Network
PSTN
GSM: Global System for Mobile Communications
GPRS: General Packet Radio SerVice
EDGE: Enhanced Data rates for GSM Evolution
GERAN: GSM EDGE Radio Access Network
MS: Mobile Station
BTS: Base Transceiver Station
BSC: Base Station Controller
MSC: Mobile Switching Center
SGSN: Serving GPRS Support Node
GGSN: Gateway GPRS Support Node
VLR: Visitor Location Register
HSS: Home Subscriber Server
HLR: Home Location Register
AAA: Authentication, Authorization, and Accounting
PSTN: Public Switched Telephone Network
研究背景-行動網路-GPRS (2.5 G)
8
Data Network
(Internet)
GPRS/GSM MS BTS
BSCUm A-bis
GERAN
MSC/VLR
SGSN GGSN
HSS/
HLR/AAA
Gn
GcGrGs
A
Gb
Core Network
PSTN
GSM: Global System for Mobile Communications
GPRS: General Packet Radio SerVice
EDGE: Enhanced Data rates for GSM Evolution
GERAN: GSM EDGE Radio Access Network
MS: Mobile Station
BTS: Base Transceiver Station
BSC: Base Station Controller
MSC: Mobile Switching Center
SGSN: Serving GPRS Support Node
GGSN: Gateway GPRS Support Node
VLR: Visitor Location Register
HSS: Home Subscriber Server
HLR: Home Location Register
AAA: Authentication, Authorization, and Accounting
PSTN: Public Switched Telephone Network
研究背景-行動網路-UMTS (3 G)
9
Data Network
(Internet)
UTRAN
GPRS/GSM MS
UE
BTS
Node B
BSC
RNC
Um
Uu Iub
A-bis
GERAN
MSC/VLR
SGSN GGSN
HSS/
HLR/AAA
Gn
GcGrGs
A
IuPS
IuCS
Gb
Core Network
PSTN
UMTS: Universal Mobile Telecommunications System
UTRAN: Universal Terrestrial Radio Access Network
UE: User Equipment
Node B: Base Station
RNC: Radio Network Controller
E-UTRAN: Evolved-UTRAN
LTE: Long Term Evolution
MME: Mobility Management Entity
S-GW: Serving Gateway
P-GW: Packet Data Network (PDN) Gateway
WLAN: Wireless Local Area Networks
AP: Access Point
APC: Access Point Controller
WAG: WLAN Access Gateway
ePDG: Evolved Packet Data Gateway
研究背景-行動網路-LTE (4 G)
10
Data Network
(Internet)
UTRAN
GPRS/GSM MS
UE
BTS
Node B
BSC
RNC
Um
Uu Iub
A-bis
GERAN
MSC/VLR
SGSN GGSN
HSS/
HLR/AAA
Gn
GcGrGs
A
IuPS
IuCS
Gb
Core Network
PSTN
E-UTRAN
UE eNode B
LTE-Uu S-GW P-GWS5S1-U
MME
S1-MME
S3
SGs
S4
S11
S6a
UMTS: Universal Mobile Telecommunications System
UTRAN: Universal Terrestrial Radio Access Network
UE: User Equipment
Node B: Base Station
RNC: Radio Network Controller
E-UTRAN: Evolved-UTRAN
LTE: Long Term Evolution
MME: Mobility Management Entity
S-GW: Serving Gateway
P-GW: Packet Data Network (PDN) Gateway
WLAN: Wireless Local Area Networks
AP: Access Point
APC: Access Point Controller
WAG: WLAN Access Gateway
ePDG: Evolved Packet Data Gateway
研究背景-行動網路-LTE + WLAN
11
Data Network
(Internet)
UTRAN
GPRS/GSM MS
UE
BTS
Node B
BSC
RNC
Um
Uu Iub
A-bis
GERAN
MSC/VLR
SGSN GGSN
HSS/
HLR/AAA
Gn
GcGrGs
A
IuPS
IuCS
Gb
Core Network
PSTN
E-UTRAN
UE eNode B
LTE-Uu S-GW P-GWS5S1-U
MME
S1-MME
S3
SGs
S4
S11
S6a
WLAN
WLAN UE AP
APCWw WAG ePDGWpWn
S2b
Wg
Wm
UMTS: Universal Mobile Telecommunications System
UTRAN: Universal Terrestrial Radio Access Network
UE: User Equipment
Node B: Base Station
RNC: Radio Network Controller
E-UTRAN: Evolved-UTRAN
LTE: Long Term Evolution
MME: Mobility Management Entity
S-GW: Serving Gateway
P-GW: Packet Data Network (PDN) Gateway
WLAN: Wireless Local Area Networks
AP: Access Point
APC: Access Point Controller
WAG: WLAN Access Gateway
ePDG: Evolved Packet Data Gateway
研究背景-行動網路-LTE + IoT
12
Data Network
(Internet)
UTRAN
GPRS/GSM MS
(ASN)
UE (ASN)
BTS
Node B
BSC
RNC
Um
(Mcc)
Uu
(Mcc)
Iub
A-bis
GERAN
MSC/VLR
SGSN GGSN
HSS/
HLR/AAA
Gn
GcGrGs
A
IuPS
IuCS
Gb
Core Network
PSTN
E-UTRAN
UE (ASN) eNode B
LTE-Uu
(Mcc)
S-GW P-GWS5S1-U
MME
S1-MME
S3
SGs
S4
S11
S6a
WLAN
WLAN UE
(ASN)
AP
APC
Ww
(Mcc)
WAG ePDGWpWn
S2b
SCS/AS (IN)
(Mcc)
IoT OCS (IN)
(Mch)
Z-GW
(MN)
(Mcc)
Sensor
(ASN)
Sensor
(ASN)
(Mcc) (Mcc)
(Mcc)
ZigBee Networks
Wg
Wm
IoT: Internet of Things
ASN: Application Service Node
IN: Infrastructure Node
MN: Middle Node
SCS: Service Capability Server
AS: Application Server
OCS: Offline Charging Server
Z-GW: ZigBee Gateway
研究背景-行動定位
第三代合作夥伴計畫(The 3rd Generation Partnership Project, 3GPP)規範三大定位方法
全球定位系統(Global Positioning System, GPS)基礎
◦ 全球定位系統(GPS)定位
◦ 輔助型GPS(Assisted GPS, AGPS)定位
行動掃瞄報告(Mobile Scan Report, MSR)基礎
◦ 到達時間(Time of Arrival, TOA)定位
◦ 接收訊號強度定位
◦ 接收信號角度(Angle of Arrival, AOA)定位
資料庫查詢(Database Lookup, DL)基礎
◦ 細胞識別碼(Cell ID)
13
研究背景-行動定位-全球定位系統基礎
GPS
◦ 在3維空間定位中,同時觀測3個非共面且已知位置的衛星(利用星曆來確認衛星位置)
◦ 利用電碼的時間延遲來估算偽距,有了以上2種資料就可利用距離交會法來解算天線所在之位置
AGPS
◦ AGPS則是利用多個數據基地台來取得不同基地台的星曆、時間和距離參數值傳至手機來平差計
算
◦ 再加上都卜勒效應、頻率等多餘觀測量來同步檢核數據的精準性,最後得到的參數再利用GPS接
收器求得該點位置
14
參考文獻:徐秉正,「搜尋山難事故人員發訊定位位置取得事故人員手機發訊定位技術」,中華登山,第160期,第10-13頁,2012。
研究背景-行動定位-行動掃瞄報告基礎
到達時間定位
◦ 使用3個天線做定位時,主動式標籤和天線i (i=1, 2, 3…)的距離ri定義為
◦ 其中t0為讀取器開始發射到標籤的時間常數,t1為天線訊號到達主動式標籤時間,c為光速
◦ 藉由三個天線的距離半徑(r1, r2, r3) ,可估算出主動式標籤的位置(xm, ym)
接收訊號強度定位
◦ 接收訊號強度定位法是透過訊號強度和已知的頻道衰弱模型來估計參考點與待測點的距離,根據
多個距離值就可以利用類似TOA定位法原理得到待測點的位置
◦ 在嵌入式裝置中,接受訊號強度常被轉換為「接收訊號強度指標(Received Signal Strength
Indicator, RSSI)」
接收信號角度定位
◦ 接收信號角度定位法之工作原理,是利用具方向性的天線所量測的訊息,得出主動式標籤訊號的
來源方向
◦ 可在2D平面上可決定出一條以天線為起點的直線,如以兩個以上的天線測量出此一主動式標籤的
方向,則兩條以上的直線之交點就是主動式標籤的位置
15
資料來源:https://goo.gl/MFV5j5
研究背景-行動定位-資料庫查詢基礎
細胞識別碼
◦ 預部署階段收集大量GPS定位資訊及其當下連線之基地台細胞識別碼,計算每個細胞識別碼之定
位資訊的中心點,並且建立表格,未來可依細胞識別碼查表取得對應的位置
◦ 優點是不需對現行網路及使用者手機進行修改且可進行室內的定位,是個經濟且快速的定位方法
◦ 缺點是定位精度會依照基地台服務半徑產生很大的定位誤差
16
細胞識別碼 經度 緯度
Cell ID 1 經度1 緯度1
Cell ID 2 經度2 緯度2
Cell ID 3 經度3 緯度3
… … …
參考文獻:徐秉正,「搜尋山難事故人員發訊定位位置取得事故人員手機發訊定位技術」,中華登山,第160期,第10-13頁,2012。
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
監聽Android封包,可用以監聽Android手機傳送的封包
Notebook架設AP熱點指令
◦ netsh wlan set hostednetwork mode=allow ssid=熱點名稱 key=密碼
◦ netsh wlan start hostednetwork
17
Android Phone Notebook
(AP熱點)
Sniffer系統
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
使用網路探嗅器Wireshark
◦ 共享軟體
◦ 下載網址:http://www.wireshark.org/
◦ 被監聽者IP 140.113.73.48
18
WireShark畫面
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 點擊「CaptureInterfaces」
◦ 選擇欲側錄封包之介面,再點擊「Start」
◦ 開始側錄封包
19
Capture  Interfaces…
Start
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 當側錄完成,點擊「CaptureStop」
20
側錄內容
Capture  Stop
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 可設定過濾條件,取得目標類型封包
◦ 本例設定為「http」過濾封包
21
HTTP封包內容
設定過濾條件為HTTP封包
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 假設被監聽Android手機瀏覽Google網站
◦ 將由被監聽Android手機發出連線至Google
網站之封包
22
被監聽者瀏覽Google網站
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 解讀封包內容,可取得網路層、傳輸層、
應用層資訊
23
網路層資訊
來源端IP: 140.113.73.48
目的端IP: 72.14.253.99
傳輸層資訊
來源端Port: 1087
目的端Port: 80
被監聽者(140.113.73.48:1087)向
網頁伺服器(72.14.253.99:80)要求網頁
網頁內容gzip壓縮編碼
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
◦ 解讀應用層資訊,將可取得瀏覽網頁之內容
24
擷取到網頁內容,並以Unicode和gzip編碼格式
研究背景-行動定位-細胞識別碼
破解Google Map細胞識別碼定位方法
Google於Android中提供Web Services,
可經由輸入細胞識別碼後取得經緯度
等相關資訊
可運用Android手機執行裡面的Google
Map應用程式,即可觀察到Android手
機裡有Google Web Services的封包
25
研究背景-k個最近鄰居(估計、預測)
k個最近鄰居(k-Nearest Neighbors, kNN)
◦ kNN為可用來解決「估計、預測」問題
◦ 訓練資料是由輸入物件(通常是向量)和預期輸出(如分類標籤)所組成
◦ 最鄰近的k個樣本點,計算該k個樣本點目標資料屬性的平均值作為估計值
演算法過程
◦ 將輸入物件轉換為向量空間模型
◦ 選定一個k值
◦ 計算與每一個樣本的距離或相似度
◦ 取得k個最鄰近的樣本
◦ 取得這k個樣本目標資料屬性的平均值
26
k值的大小將可能影響
分類結果
當k = 3時,取得最接
近的3筆,並計算經緯
度座標平均值
當k = 5時,取得最接
近的5筆,並計算經緯
度座標平均值
研究背景-k個最近鄰居(估計、預測)
「距離」算法
計算X與Y的「距離d(X, Y)」
絕對距離量測(Absolute distance measuring)
歐幾里德距離量測(Euclidean distance measuring)
27
   

n
i
ii yxYXd
1
2
,
  

n
i
ii yxYXd
1
,
   nn yyyYxxxX ,...,,,,...,, 2121 
研究背景-k個最近鄰居(估計、預測)
「距離」算法
計算X與Y的「距離d(X, Y)」
絕對距離量測
d(X, Y) = 12
歐幾里德距離量測
d(X, Y) = 6
28
1 2 3 4 5 Sum
x 3 5 1 3 4
y 4 1 4 4 1
|x-y| 1 4 3 1 3 12
(x-y)2
1 16 9 1 9 36
研究背景-k個最近鄰居(估計、預測)
「相似度」算法
計算X與Y的「相似度s(X, Y)」
Jaccard相似度(Jaccard similarity)
餘弦相似度(Cosine similarity)
29
 




n
i
i
n
i
i
n
i
ii
yx
yx
YXs
1
2
1
2
1
,
 
YX
YX
YXs


,
   nn yyyYxxxX ,...,,,,...,, 2121 
研究背景-k個最近鄰居(估計、預測)
「相似度」算法
計算X與Y的「相似度s(X, Y)」
Jaccard相似度
2 / 4 = 0.5
餘弦相似度
2 / 3 = 0.67
30
1 2 3 4 5 Sum
x 1 1 1 0 0
y 0 1 1 0 1
交集 0 1 1 0 0 2
聯集 1 1 1 0 1 4
xy 0 1 1 0 0 2
x2
1 1 1 0 0 3
y2
0 1 1 0 1 3
研究背景-k個最近鄰居(估計、預測)
k個最近鄰居(k-Nearest Neighbors, kNN)如何解決「估計、預測」問題?
原始資料如右表
採用「絕對距離量測」
31
位置點 經度
第1個基
地台RSSI
第2個基
地台RSSI
第3個基
地台RSSI
P1 120.11 6 5 0
P2 120.20 1 3 2
P3 120.22 0 3 3
P4 120.12 4 2 0
P5 120.23 0 2 4
P6 120.13 3 4 0
P7 ? 3 3 0
k個最近鄰居(k-Nearest Neighbors, kNN)如何解決「估計、預測」問題?
距離計算結果如右表
設k = 3,可得到最接近
的3個位置點
計算該3個位置點經度
平均值,作為P7的經度
估計值
位置點 經度
第1個基
地台RSSI
第2個基
地台RSSI
第3個基
地台RSSI
向量距
離
P1 120.11 3 2 0 5
P2 120.20 2 0 2 4
P3 120.22 3 0 3 6
P4 120.12 1 1 0 2
P5 120.23 3 1 4 8
P6 120.13 0 1 0 1
P7 ?
研究背景-k個最近鄰居(估計、預測)
32
15.120
3
13.12012.12020.120
P7



經度估計值
研究方法
系統整體架構圖
◦ 行動式站台/使用者設備
(Mobile Station/User
Equipment, MS/UE)
◦ 基地台(Base Transceiver
Station, BTS)
◦ 簡易物件通訊協定伺服器
(Simple Object Access
Protocol Server, SOAP
Server)
◦ 資料庫伺服器(Database
Server)
◦ 校園導覽系統(Campus
Guidance System)
33
研究方法
行動定位流程圖
◦ 手機(行動式站台/使用者設備)可量測鄰近基地台的訊號強度集合,並回傳至校園導覽系統
◦ 校園導覽系統運用行動定位方法估計手機位置後,再把位置資訊回傳至手機(行動式站台/使用者設備)
34
研究方法
行動訊號收集程式
資料呈現與前處理
行動定位方法
35
研究方法-行動訊號收集程式
將「行動訊號收集程式.apk」檔案複製
到手機中
36
研究方法-行動訊號收集程式
37
執行APK檔案 安裝APK檔案 確認相關資訊 開啟應用程式
研究方法-行動訊號收集程式
點擊「Start」執行程式,開始收集資料
繞行目標場域
點擊「Stop」執行程式,停止收集資料
38
研究方法-資料呈現與前處理
將收集到「gpsInfo.txt」複製貼到Excel
39
將收集到「wifiInfo.txt」複製貼到Excel
點擊「樞鈕分析表」
研究方法-資料呈現與前處理
40
將「Index」設定為「列」
將「BSSID」設定為「欄」
將「RSSI」設定為「值」
即可依每一個時間點呈現每一個基地台
的訊號強度
研究方法-資料呈現與前處理
41
將「gpsInfo.txt」和「樞鈕分析表結果」
複製並貼到同一個工作表
研究方法-資料呈現與前處理
42
訊號強度空白,代表當時沒有連結到該
基地台,故將遺漏值填「-150」
將整張資料填補完成
將檔案存為「行動網路訊號資料.csv」
研究方法-資料呈現與前處理
43
運用Google - My Maps顯示位置點
連結:
https://www.google.com/maps/about/mym
aps/
點擊「GET STARTED」
研究方法-資料呈現與前處理
44
點擊左上方選單
點擊「Create a new map」建立地圖
研究方法-資料呈現與前處理
45
點擊「Import」匯入資料
研究方法-資料呈現與前處理
46
點擊「Select a file from your computer」
點選剛才存檔之「行動網路訊號資
料.csv 」
研究方法-資料呈現與前處理
47
勾選「Lon」和「Lat」作為位置點之經
緯度座標
點擊「Continue」
研究方法-資料呈現與前處理
48
勾選「DateTime」以時間點作為標題
點擊「Finish」
研究方法-資料呈現與前處理
49
顯示位置點
點擊位置點,可顯示詳細資料
研究方法-資料呈現與前處理
50
研究方法-行動定位方法
運用前述k個最近鄰居方法,取得最接近的k個樣本點
可採用「絕對距離量測」
51
位置點 經度
第1個基
地台RSSI
第2個基
地台RSSI
第3個基
地台RSSI
P1 120.11 6 5 0
P2 120.20 1 3 2
P3 120.22 0 3 3
P4 120.12 4 2 0
P5 120.23 0 2 4
P6 120.13 3 4 0
P7 ? 3 3 0
研究方法-行動定位方法
計算最接近的k個樣本點的經度平均值和緯度平均值,作為新位置的座標點
設k = 3,可得到最接近
的3個位置點
計算該3個位置點經度
平均值,作為P7的經度
估計值
52
15.120
3
13.12012.12020.120
P7



經度估計值
位置點 經度
第1個基
地台RSSI
第2個基
地台RSSI
第3個基
地台RSSI
向量距
離
P1 120.11 3 2 0 5
P2 120.20 2 0 2 4
P3 120.22 3 0 3 6
P4 120.12 1 1 0 2
P5 120.23 3 1 4 8
P6 120.13 0 1 0 1
P7 ?
實驗結果與討論
論文中以國立交通大學校園導覽為例,繞國立交通大學校園一週,並且驗證行動定位方法
◦ 運用智慧型手機HTC Hero
(Android platform 2.1)
◦ 主要收集2G/3G網路訊號
◦ 共收集4915個定位點
◦ 共連線23個不同的基地台
53
實驗結果與討論
驗證行動定位方法誤差
54
定位方法 平均定位誤差(單位:公尺)
FPA (k=1) 9.97
FPA (k=2) 9.92
FPA (k=3) 11.02
FPA (k=4) 12.70
Cell ID 224.55
結論與未來研究
本研究採用行動定位方法,可有效將定位誤差降低至9.92公尺,並且相較於使用全球定位
系統定位可節省27.68倍的電力消耗。
本研究主要貢獻:
◦ 本研究可在校園導覽系統提供準確的定位資訊,並可以支援戶外定位和室內定位,有效提供可用
性。
◦ 本研究提出之定位方法可消耗較少的電力來達到精準定位的需求,增加手機電池使用時間
未來可由電信業者直接由網路端主動偵測行動網路訊號強度,並提供定位資訊至手機端,
可讓手機端再節省上傳行動網路訊號強度的電力消耗。
55

論文導讀01_k個最近鄰居(行動定位)