原文來自微信公眾號:caoz的夢囈(ID:caozsay),作者: caozsay
本站整理資訊並符合台灣使用情境
有些我以為是常識的東西,後來發現並不是常識。
而當我想要分享給大家的時候,經過高手點撥,意外發現居然我自己所了解的也是有偏差的。
有鑑於此,寫篇文章聊聊【GPS的工作原理】
一、手機是怎麼定位的?
手機定位一般有三個方法。
方法1:基於你當前所接觸的Wi-Fi熱點,如果這個Wi-Fi熱點是公開可查詢的熱點,存在地址資訊對應的。
那麼你的位置可以透過Wi-Fi 定位,被確認在一定半徑的範圍內,但不能精確識別你的位置,速度。
方法2:基於手機訊號基地台定位,你的手機訊號是通過基地台進行傳輸的。
基地台的地理位置是清晰明確的,當你手機可以獲得多個基地台的訊號,並且不同基地台訊號存在不同的強弱衰減,那麼可以根據這幾個基站的位置和你訊號衰減的情況,大致獲得你的當前位置範圍,以及大致的移動速度,如果你處於具有一定速度的交通工具之內的話。
方法3:最精準的,是通過衛星定位
你看,雖然Wi-Fi,基地台,衛星,具體是從近到遠;但定位準確度確實越來越精確。
現在有很多家不同的衛星定位系統,用戶看到的標誌可能還是美國的GPS
實際上提供定位服務的,實際上可能是來自於不同的系統。
GPS依然是全球規模最大的,此外有歐洲的伽利略,中國的北斗系統等等。
全球衛星導航系統國際委員會認定系統
區域型衛星導航系統
-
- 中國:中國區域定位系統 (CAPS)
- 印度:印度區域導航衛星系統(IRNSS),此系統包含7顆衛星及地面設施,於2017年8月完成衛星發射部署,為印度自主的導航系統。
輔助型衛星導航系統
手機會自動根據信號強弱選擇合適的系統進行定位導航,通常情況下,用戶無需自己選擇用哪個衛星系統。
所以你不用問怎麼切換到北斗系統啊,手機會自動判斷並自動切換。
二、衛星定位的原理
這就是我以為是常識,而很多人卻存在誤解的地方。
首先,衛星並不知道你在哪裡,它也不關心。其次,你的手機也不會向衛星傳遞訊號,定位導航衛星不負責跟手機終端交互信息。
從技術上來說,手機給衛星發射信號很難麼,似乎也不難,有衛星通訊電話不是麼,但這面臨兩個問題
第一,所需要的功率會比較大,偶爾通訊也就算了,手機即時定位,如果需要交互訊息,電池撐不住的
第二,衛星也沒有如此強大的應答系統,全球無數手機每秒鐘請求位置,這請求頻次不嚇死人,衛星上放一組服務器?可能麼?
當然,你說馬斯克不是要搞全球衛星組網麼,丫牛逼,但至少目前技術成本過高,這是不現實的。
第三,就是,定位,其實不需要這麼麻煩。
實際上,導航衛星的工作極為簡單,就是廣播,廣播自己的位置,自己的時間。
每個所謂GPS晶片,就是接受這些信號,然後處理。
怎麼處理呢?你如果知道它信號發出的時間,知道自己接受的時間,乘以傳播速度,也就是光速,就知道自己和衛星的距離了對不對。當你的手機可以獲得多個衛星訊號的時候,比如三顆及以上,由於你知道衛星當前的位置數據,就可以通過數學公式,算出自己的所在位置。
但是,且慢,這裡有個嚴峻的問題,因為光速太大,需要極高的時間精確度,衛星上有原子鐘,可以提供極為精確的時間,但你手機上沒有。這時候,就需要把時間也當作變量,所以,需要四顆以上的衛星,才能精准定位你的位置。
感謝科技的力量,現在的衛星定位極為精準,可以精確到米,從而讓駕駛導航成為可能,實際上軍方信號未解密,可以有更好的精確度。
這裡其實還隱藏了一個問題,就是,由於極高的時間精確度,那麼衛星相對於地球是高速運動的,基於相對論,我們知道不同速度下的時間是不同的,在這樣的精確度要求下,這個不一致也會很致命,所以,相對論公式被用於修正這一誤差。
所以真正的原理是這樣的,衛星廣播自己的時間(原子鐘時間,極為精確到小數點後面n多位),當前位置。手機上的定位晶片獲得多個衛星的訊息,然後通過相對論公式修正時間誤差,然後基於四顆或更多衛星的信息,測算自己的位置。這就是我說的,如此普及而成本低廉的定位芯片,其實技術含量還是蠻高的。
那麼這裡還有一個冷知識,衛星還負責給你準確的時間,所以你看現在很多智能手機沒有調時間的選項,因為完全不需要,只要有衛星訊號,時間一定是準確的。再根據你的地理位置判定你所處的時區,給予你當地的時間。
三、服務商如何確定你的位置
很多產品服務商需要你的位置,比如Facebook,比如IG、Uber eat,當然更不用說Google Maps。
確定你的位置提供身邊的服務,或者推薦身邊的聯繫人,都是一種非常標準的互聯網應用。
其實在手機上網流行之前,這樣的服務並不是主流,通常只是做到地區推薦,而當時定位主要靠IP地址
實際上,手機終端用戶可以選擇是否把自己的定位資訊發送給服務商
如果沒有發送自己的地理位置,服務商也會通過你上網的IP來判斷你的大概位置。
當然這個就很難精確定位到具體位置了,通常只能定位到城市範圍。
但這裡有一個問題,就是手機終端,並不是必須上報真實的信息給服務商。
有大量第三方工具可以偽造你的位置信息,你完全可以告訴服務商你在南極,或者在北歐的某個小島上。
這也就帶來了很多灰色產業的問題。
比如約炮騙局,你身邊的美女約你開房
後來延伸到了更多推銷的領域,你身邊的美女開始賣茶,賣酒,炒股,或者拉你上菠菜網站,或者讓你帶她打遊戲等等。
很多不知情的人以為真的是身邊的,其實都是用工具隨意篡改地址,一路掃過來的。
新加坡政府曾經為此非常頭疼,很多新加坡寂寞大叔被國內的騙子們用這招約炮騙錢。現在街上還能看到政府的公益廣告提醒這個騙局。
今天特意街拍了一張這樣的公益廣告,背景是新加坡的組屋住宅區。
你說服務商有沒有辦法確認他的位置的真實性,沒太多辦法,潛在的思路是通過歷史軌跡來判斷
你總不能一個小時前在湖南,一個小時後就出現在了新加坡對吧。
當然還有可以用IP地址+地理訊息聯合判斷,但IP地址也未必可信,因為可以用VPN上網來跳平台。
現在還有一種遠端手機遙控,更厲害了
你的SIM卡和手機放在新加坡,人在大陸,通過網路可以遠端操縱這個手機或電腦做任何操作
那就更加完全查不出任何異樣,目前是黑產行業最愛。
四、即時路況是如何實現的
有人提出了這個問題,Google Maps 會顯示道路塞車狀況,並即時計算剩餘時間,這是怎麼作到的呢?
其實不復雜,這是基於用戶不斷地上報數據匯總得到的。
比如這條路段上當前有10個車輛使用了Google Maps ,那麼Google Maps 就知道這10部車的平均車速,就能知道這個路段目前的塞車狀況大概是怎樣的。
甚至還能分出一些車道情況,比如根據車輛後續上報的行駛軌跡,可以大致區分主路和輔路的車速。
(比如輔路可以拐彎,有等紅燈的行為記錄,而主路一路沿主幹道直行)。
如果有充分的歷史數據,還可以做出一些預判,比如現在5點半,你要出發,按照現在路況,可能只需要40分鐘到達目的地,但根據歷史數據可以知道,某些地段馬上要進入晚高峰,所以你實際上可能需要60分鐘才能到達目的地。
前幾天也真的有個新聞,透過實驗證實了Google Maps 的預判邏輯
他透過幾十支手機放上小推車,然後推著小推車在一條空曠的道路上慢慢行走
然後很快你就看到谷歌地圖顯示這條道路塞車了~
五、地理索引的話題
衛星定位服務目前已經可以做到成本極低,那麼應用場景也就極為廣泛,防盜,追踪,電子圍欄等等等等。
感謝科技的發展。
地理位置信息成為標配訊息後,就產生了基於地理位置的搜索訴求。
比如,離我最近的餐廳有哪些。離我最近的活躍用戶有誰。一些虛擬增強現實的遊戲也會強調這一點。
幾十年前,航海中的船隻要想知道自己的位置,還是需要憑藉船長的經驗和完整的記錄信息。
十幾年前,我和老婆自駕游的時候,還要看著紙地圖找路,各種糾結各種開錯路各種停車問人。
今天,我們隨時可以知道自己在哪裡,周圍有什麼,一個人去陌生的國度自由行,只要手機有電有信號,就不用過度擔心迷路,這似乎是理所當然的事情,但真的就是很短的時間,我們才能實現位置認知的自由。
喜歡這篇文章的話,請幫這篇文章點個讚,或者到 雲爸的3C學園按個讚,快速得到最新的文章喔
有任何疑問,歡迎加入《3C問題互助團》社團這裡可以讓大家互相討論手機、電腦問題
不定時我也會在這邊舉辦抽獎,歡迎一起來聊聊
發佈留言