如今,人們出門很多時候要靠導航。當我們去一個地方卻不知路線的時候,打開導航,手機就會自動規劃好路線。外賣快遞員利用導航送餐,司機師傅利用導航開車,我們利用導航找到不太熟悉的地方。
那麼,導航的原理是什麼呢?要想實現導航,首先需要定位。導航指的是規劃路線,引導我們到達目的地,而定位則是指確定我們的位置。只有定位準了,導航規劃的路線才有意義。那談起手機是如何定位的,就不得不提到全球定位系統。
全球定位系統(Global Positioning System,GPS)是由美國政府和軍方研發的全球衛星導航定位系統,1994年建成並投入使用。GPS系統由空間段、地面段和用戶段三大部分組成。建成之初,空間段包括24顆衛星,均勻分布在6個不同的軌道面上。地面段是整個系統的管理中心,用戶段即各種接收機,能接收GPS衛星的信號。
GPS信號能夠給出衛星的位置信息以及信號傳播用的時間,兩者相乘便能測量出距離。理論上來講,一個觀測點同時測量出到任意三顆星的距離,列出一個三元二次方程便可以求解出觀測點的位置坐標。這就像以每一顆衛星為原點,以測量到的距離為半徑畫球,兩個球面相交形成的是一個圓,三個球面相交形成的是一個點,這個點就是我們的觀測點了。
實際上,因為有鐘差,3顆衛星定位不准,我們需要觀測4顆星才能準確定位。
測量傳輸時間需要兩台高精度原子鐘,一台在衛星上,另一台在接收機內部。由於兩台鐘很難完全對準,很容易使測量的距離有誤差。衛星鐘差可以應用GPS信號所給出的參數加以修正,而接收機的鐘差,一般難以預先準確確定,需要把它作為一個未知參數。因此,在一個觀測點,為了實時求解4個未知參數(即觀測點的3個位置坐標及1個鐘差參數),至少需要同時觀測4顆衛星。
基於這個原理,只要我們在智慧型手機上安裝好GPS晶片,晶片能夠接收衛星信號以及解算信息,就能夠確定位置了。
----------------------
以前我不了解 Google WiFi 定位時,一直對這技術嗤之以鼻,我想說從 IP Address 哪裡能定位到很精準,最多就是從一些公開的 IP to GEO 資料庫可以查詢到這個 IP 是在那個城市,是沒辦法精準定位的。
可是隨著我發現沒有 GPS 衛星定位功能的 iPod Touch 在打開 WiFi 的情況下竟然可以在 Google 地圖上精準到我所在地的附近,這就引起了我很大的好奇心,到底這是怎麼做到的?顯然不可能是靠 IP Address 去查詢啊?
看了一些簡體與繁體的文件,實在是覺得扯太遠扯太多,還是沒看到精髓處,所以直接從英文去查吧!果然查到了不少資料,也就瞭解 Google WiFi 定位的原理了。在這之前先把幾個名詞給解釋一下。
GPS 衛星定位:靠的是環繞在地球四周的數顆衛星發送訊號到地面,交叉連集出所在地的方法。從十幾年前開始出現汽車導航產品,就是使用這種技術。初次定位時常要花上一分鐘以上的時間,這也是目前汽車導航和智慧型手機都有提供的定位方式。當有遮蔽物阻擋來自天空的訊號時就會發生定位的困難。
A-GPS 定位:靠著事先下載星曆資料,能夠加速上述 GPS 定位的初次定位速度。由於一般車用導航機都不具備網路連線能力因此無法事先下載星曆資料,所以也都不具備 A-GPS 定位。
手機基地台定位:靠的是偵測到的手機基地台(Cell Tower),比對資料庫以及信號強度,交叉連集出所在地的方法。也因為要能夠偵測手機基地台,所以一般車用導航機因不具備手機電話能力而無法提供,幾乎可以說手機基地台定位是智慧型手機或者能夠插手機 SIM 卡的平板電腦才可以提供的功能。此法尚須有網路連線做資料庫查詢才能完成定位。
(附近手機基地台真多啊)
WiFi 定位:靠的是偵測附近周圍所有的無線網路基地台 (WiFi Access Point) 的 MAC Address (類似 10-78-D2-93-58-C2 這樣的格式),去比對資料庫中該 MAC Address 的座標,交叉連集出所在地。此法尚須有網路連線做資料庫查詢才能完成定位。
所以問題來了:這份無線網路基地台 MAC Address 對應到經緯度的資料庫,是怎麼建立起來的呢?
基礎建設靠的是 Google 街景車。Google 街景車除了拍下街景以外,另外還做了兩件事情:(訊息來源:Google blog)
(此效果截至本文刊出時僅能在 Google Android 手機上看到)
但資料庫一定會面臨過期與需要更新的問題,這時候全世界有在使用行動裝置 + Google 定位程式的人,等於是在不知不覺中幫忙做這件事情。更新的方法是當 WiFi 與手機基地台定位或 GPS 定位同時開啟時,手持裝置藉由手機基地台定位或 GPS 定位這兩種方式可以獲得目前的座標,再透過 WiFi 搜尋到附近所有的 MAC Address,背後向 Google 的資料庫做更新。(訊息來源:Google 員工 Christopher 的公開說法)
說穿了技術其實不難,但這麼龐大的資料庫,又能夠不痛不癢的號召每個行動裝置幫忙更新維護這份資料庫,大概也只有 Google 做得來了。
知道了原理之後,衍生出來的就是一些隱私權的問題。
首先就是 Google 蒐集 WiFi 的 MAC Address 資訊合法嗎?德國政府去年對此提出疑慮,而 Google 認為合法,兩造後來怎麼樣了我懶得去追,反正從技術上來看,MAC Address 在網路上要能夠被查詢到,那麼你與對方之間不能有路由器存在,一旦過了路由器那麼原始 MAC Address 就會被替換(詳細的原理這邊就不多說了),所以一般人雖然可以用很多方法去找出對方的 IP Address,但對方的 MAC Address 就沒辦法了,中間經過的路由器太多啦!也就無法利用 MAC Address 去查對方身處何處。除非將木馬植入對方電腦來回報,且對方有在使用無線網路而且他附近的無線網路基地台有被登記到 Google 資料庫中,那才有機會找到對方所在地附近,但這難度又高條件又多,對警察來說還是用 IP Address 行文法院與電信業者來找精確的地址最快。
所以回頭來說隱私權,我個人覺得應該是不會,且 WiFi 的 MAC Address 是屬於公開資訊,並非刻意用什麼非法手段才能取得。一般人就算探測到你的 MAC Address,也不曉得你是誰或什麼人在使用。
再來就是定位錯誤的問題。
搬家後其無線網路基地台也跟著移動,那麼以 WiFi 定位來看自己身在何處,可能會呈現仍然在上一個住所的問題。針對這種因為資料庫尚未被更新而產生的定位錯誤問題,Google 提供了一個無線網路定位錯誤的表格來申請回報,但一如一般 Google 的服務一樣,這表格並不能保證立即得到回應。想要加速更新資料庫,除了填寫這份表格以外,另外就是自己時常拿行動裝置開著 WiFi + GPS 定位吧,這是剛才提過的資料庫更新法,總有一天 Google 會因為你與行動裝置的努力而修正過來的。
回頭看我一開始以為 Google WiFi 定位是靠著 IP Address 來定位,真是大錯特錯了啊!Google 要的只是偵測到 WiFi 基地台的 MAC Address 就可以,也沒有強調一定要與無線基地台連線,只要打開行動裝置的 WiFi 功能,讓 Google 定位可以藉由 WiFi 去蒐集附近可偵測的 MAC Address,接著透過 3G 行動上網或此時你真的有 WiFi 連線,就可以去向 Google 資料庫查詢這些 MAC Address 連集起來的可能位置,就這樣完成定位了
**************************
AGPS 輔助衛星定位系統 (Assisted Global Positioning System) 大致上有兩種:
一種是內建 GPS 天線模組的手機
附帶有 AGPS 輔助衛星定位功能
在啟動 GPS 衛星定位的一開始
會透過 GPRS 或 3G 連線網際網路
取得遠端位置伺服器所提供的資料
包含 Ephemeris 係數、Almanac 係數、衛星時鐘誤差 Clock Error、大氣層誤差係數 Atmospheric Error Coefficients ......等
在取得這些資料之後會中斷手機與網際網路的連線
以連線到 Nokia 遠端伺服器取得衛星資料為例
每次資料傳輸量大約 7 KB
如果使用中華電信 383 月租型
7 KB 的數據傳輸費率大約 0.14 元
此一 AGPS 輔助衛星定位主要是加速 GPS 的 TTFF (首次定位時間 Time To First Fix)
傳統 GPS 定位需要 3~5 分鐘
開起 AGPS 功能大約 30 秒之內即可完成衛星定位
例如 Nokia N95, N82 就是這一種 AGPS 的手機
還有一種是離線式的 AGPS 輔助衛星定位功能
手機本身內建有 GPS 天線模組
可以在家裡透過電腦連線網路下載衛星演算星曆 (Ephemeris data) 到手機裡
一般來說衛星演算星曆 (Ephemeris data) 有效時間大約是 4 小時
此一 AGPS 輔助衛星定位作用也是加速 GPS 的 TTFF (首次定位時間 Time To First Fix)
常見於 Windows Mobile 的 GPS 手機
另一種是透過基地台位置的手機定位技術 (Network based)
手機本身沒有內建 GPS 天線模組
此種手機定位技術大致上共分為三種:
Cell ID
藉由手機目前服務的基地台蜂巢 Cell 來定位
基本上在這個蜂巢 Cell 服務的手機都會被定位到同一個座標
就是基地台的位置
誤差是一個扇形 (視不同的 serving cell 角度而定)
Cell ID + Time Advan., TA
藉由無線電波反射時間差進一步算出手機與基地台距離
此時誤差範圍約略是一個弧形
Enhanced Observed Time Difference, EOTD
就是一般所說的基地台三角定位 (Cell Triangulation)
就是使用三個基地台的 Cell ID + TA
同時也是 GSM / WCDMA 通訊系統所能提供的最高精度手機定位方式
此種手機定位功能在偏僻的野外或是市郊有很大的誤差值
主要因為基地台密集度不高所造成
另外中華電信有一套自行車環台服務系統 (Cycling Island Service System)
就是使用基地台三角定位 (Cell Triangulation) 來追蹤自行車騎士的位置
還有手機版 Google Map 也是用基地台編號 (Cell ID) 這一種手機定位原理
Google WiFi 定位的原理
http://www.dearhoney.idv.tw/?p=1293以前我不了解 Google WiFi 定位時,一直對這技術嗤之以鼻,我想說從 IP Address 哪裡能定位到很精準,最多就是從一些公開的 IP to GEO 資料庫可以查詢到這個 IP 是在那個城市,是沒辦法精準定位的。
可是隨著我發現沒有 GPS 衛星定位功能的 iPod Touch 在打開 WiFi 的情況下竟然可以在 Google 地圖上精準到我所在地的附近,這就引起了我很大的好奇心,到底這是怎麼做到的?顯然不可能是靠 IP Address 去查詢啊?
看了一些簡體與繁體的文件,實在是覺得扯太遠扯太多,還是沒看到精髓處,所以直接從英文去查吧!果然查到了不少資料,也就瞭解 Google WiFi 定位的原理了。在這之前先把幾個名詞給解釋一下。
GPS 衛星定位:靠的是環繞在地球四周的數顆衛星發送訊號到地面,交叉連集出所在地的方法。從十幾年前開始出現汽車導航產品,就是使用這種技術。初次定位時常要花上一分鐘以上的時間,這也是目前汽車導航和智慧型手機都有提供的定位方式。當有遮蔽物阻擋來自天空的訊號時就會發生定位的困難。
A-GPS 定位:靠著事先下載星曆資料,能夠加速上述 GPS 定位的初次定位速度。由於一般車用導航機都不具備網路連線能力因此無法事先下載星曆資料,所以也都不具備 A-GPS 定位。
手機基地台定位:靠的是偵測到的手機基地台(Cell Tower),比對資料庫以及信號強度,交叉連集出所在地的方法。也因為要能夠偵測手機基地台,所以一般車用導航機因不具備手機電話能力而無法提供,幾乎可以說手機基地台定位是智慧型手機或者能夠插手機 SIM 卡的平板電腦才可以提供的功能。此法尚須有網路連線做資料庫查詢才能完成定位。
(附近手機基地台真多啊)
WiFi 定位:靠的是偵測附近周圍所有的無線網路基地台 (WiFi Access Point) 的 MAC Address (類似 10-78-D2-93-58-C2 這樣的格式),去比對資料庫中該 MAC Address 的座標,交叉連集出所在地。此法尚須有網路連線做資料庫查詢才能完成定位。
所以問題來了:這份無線網路基地台 MAC Address 對應到經緯度的資料庫,是怎麼建立起來的呢?
基礎建設靠的是 Google 街景車。Google 街景車除了拍下街景以外,另外還做了兩件事情:(訊息來源:Google blog)
- 沿路蒐集所有公開的無線網路 MAC Address,與當時的經緯度一併記錄。
- 根據拍下的街景來建立建築物 3D 模型資料。
(此效果截至本文刊出時僅能在 Google Android 手機上看到)
但資料庫一定會面臨過期與需要更新的問題,這時候全世界有在使用行動裝置 + Google 定位程式的人,等於是在不知不覺中幫忙做這件事情。更新的方法是當 WiFi 與手機基地台定位或 GPS 定位同時開啟時,手持裝置藉由手機基地台定位或 GPS 定位這兩種方式可以獲得目前的座標,再透過 WiFi 搜尋到附近所有的 MAC Address,背後向 Google 的資料庫做更新。(訊息來源:Google 員工 Christopher 的公開說法)
說穿了技術其實不難,但這麼龐大的資料庫,又能夠不痛不癢的號召每個行動裝置幫忙更新維護這份資料庫,大概也只有 Google 做得來了。
知道了原理之後,衍生出來的就是一些隱私權的問題。
首先就是 Google 蒐集 WiFi 的 MAC Address 資訊合法嗎?德國政府去年對此提出疑慮,而 Google 認為合法,兩造後來怎麼樣了我懶得去追,反正從技術上來看,MAC Address 在網路上要能夠被查詢到,那麼你與對方之間不能有路由器存在,一旦過了路由器那麼原始 MAC Address 就會被替換(詳細的原理這邊就不多說了),所以一般人雖然可以用很多方法去找出對方的 IP Address,但對方的 MAC Address 就沒辦法了,中間經過的路由器太多啦!也就無法利用 MAC Address 去查對方身處何處。除非將木馬植入對方電腦來回報,且對方有在使用無線網路而且他附近的無線網路基地台有被登記到 Google 資料庫中,那才有機會找到對方所在地附近,但這難度又高條件又多,對警察來說還是用 IP Address 行文法院與電信業者來找精確的地址最快。
所以回頭來說隱私權,我個人覺得應該是不會,且 WiFi 的 MAC Address 是屬於公開資訊,並非刻意用什麼非法手段才能取得。一般人就算探測到你的 MAC Address,也不曉得你是誰或什麼人在使用。
再來就是定位錯誤的問題。
搬家後其無線網路基地台也跟著移動,那麼以 WiFi 定位來看自己身在何處,可能會呈現仍然在上一個住所的問題。針對這種因為資料庫尚未被更新而產生的定位錯誤問題,Google 提供了一個無線網路定位錯誤的表格來申請回報,但一如一般 Google 的服務一樣,這表格並不能保證立即得到回應。想要加速更新資料庫,除了填寫這份表格以外,另外就是自己時常拿行動裝置開著 WiFi + GPS 定位吧,這是剛才提過的資料庫更新法,總有一天 Google 會因為你與行動裝置的努力而修正過來的。
回頭看我一開始以為 Google WiFi 定位是靠著 IP Address 來定位,真是大錯特錯了啊!Google 要的只是偵測到 WiFi 基地台的 MAC Address 就可以,也沒有強調一定要與無線基地台連線,只要打開行動裝置的 WiFi 功能,讓 Google 定位可以藉由 WiFi 去蒐集附近可偵測的 MAC Address,接著透過 3G 行動上網或此時你真的有 WiFi 連線,就可以去向 Google 資料庫查詢這些 MAC Address 連集起來的可能位置,就這樣完成定位了
**************************
淺談 AGPS 輔助衛星定位系統 & 手機定位技術
http://jay506.pixnet.net/blog/post/28232343-%E6%B7%BA%E8%AB%87-agps-%E8%BC%94%E5%8A%A9%E8%A1%9B%E6%98%9F%E5%AE%9A%E4%BD%8D%E7%B3%BB%E7%B5%B1-%26-%E6%89%8B%E6%A9%9F%E5%AE%9A%E4%BD%8D%E6%8A%80%E8%A1%93
一種是內建 GPS 天線模組的手機
附帶有 AGPS 輔助衛星定位功能
在啟動 GPS 衛星定位的一開始
會透過 GPRS 或 3G 連線網際網路
取得遠端位置伺服器所提供的資料
包含 Ephemeris 係數、Almanac 係數、衛星時鐘誤差 Clock Error、大氣層誤差係數 Atmospheric Error Coefficients ......等
在取得這些資料之後會中斷手機與網際網路的連線
以連線到 Nokia 遠端伺服器取得衛星資料為例
每次資料傳輸量大約 7 KB
如果使用中華電信 383 月租型
7 KB 的數據傳輸費率大約 0.14 元
此一 AGPS 輔助衛星定位主要是加速 GPS 的 TTFF (首次定位時間 Time To First Fix)
傳統 GPS 定位需要 3~5 分鐘
開起 AGPS 功能大約 30 秒之內即可完成衛星定位
例如 Nokia N95, N82 就是這一種 AGPS 的手機
還有一種是離線式的 AGPS 輔助衛星定位功能
手機本身內建有 GPS 天線模組
可以在家裡透過電腦連線網路下載衛星演算星曆 (Ephemeris data) 到手機裡
一般來說衛星演算星曆 (Ephemeris data) 有效時間大約是 4 小時
此一 AGPS 輔助衛星定位作用也是加速 GPS 的 TTFF (首次定位時間 Time To First Fix)
常見於 Windows Mobile 的 GPS 手機
另一種是透過基地台位置的手機定位技術 (Network based)
手機本身沒有內建 GPS 天線模組
此種手機定位技術大致上共分為三種:
Cell ID
藉由手機目前服務的基地台蜂巢 Cell 來定位
基本上在這個蜂巢 Cell 服務的手機都會被定位到同一個座標
就是基地台的位置
誤差是一個扇形 (視不同的 serving cell 角度而定)
Cell ID + Time Advan., TA
藉由無線電波反射時間差進一步算出手機與基地台距離
此時誤差範圍約略是一個弧形
Enhanced Observed Time Difference, EOTD
就是一般所說的基地台三角定位 (Cell Triangulation)
就是使用三個基地台的 Cell ID + TA
同時也是 GSM / WCDMA 通訊系統所能提供的最高精度手機定位方式
此種手機定位功能在偏僻的野外或是市郊有很大的誤差值
主要因為基地台密集度不高所造成
另外中華電信有一套自行車環台服務系統 (Cycling Island Service System)
就是使用基地台三角定位 (Cell Triangulation) 來追蹤自行車騎士的位置
還有手機版 Google Map 也是用基地台編號 (Cell ID) 這一種手機定位原理
更多文章歡迎至原PO網站瀏覽--原文網站:
相關系列文章:
沒有留言:
張貼留言