從GPS的工作原理看手機是如何定位的?

2020-11-25 36kr

編者按:本文來自微信公眾號「caoz的夢囈」(ID:caozsay),作者 caozsay,36氪經授權發布。原文標題:《從手機定位談談科技》。

有些我以為是常識的東西,後來發現並不是常識。而當我想要分享給大家的時候,經過高手點撥,意外發現居然我自己所了解的也是有偏差的。有鑑於此,寫篇文章。

源起是GPS的工作原理,我一直以為是常識來著。不過今天把這個話題延申一下。

一、手機是怎麼定位的?

手機定位一般有三個方法。

方法1:基於你當前所接觸的WIFI熱點,如果這個WIFI熱點是公開可查詢的熱點,存在地址信息對應的。那麼你的位置可以鎖定在該位置的一定半徑內。

通過WIFI定位,你的位置只能被確認在一定半徑的範圍內,並不能精確識別你的位置,速度。

方法2:基於移動基站定位,你的手機信號是通過移動基站交互的。移動基站的地理位置是清晰明確的,當你手機可以獲得多個基站的信號,並且不同基站信號存在不同的強弱衰減,那麼可以根據這幾個基站的位置和你信號衰減的情況,大致獲得你的當前位置範圍,以及大致的移動速度,如果你處於具有一定速度的交通工具之內的話。

方法3:最精準的,是通過衛星定位,你看,雖然WIFI,基站,衛星,具體是從近到遠;但定位準確度確實越來越精確。

那麼衛星定位,其實也包括不同的選擇,以前是GPS一統天下,大家一提衛星定位就是GPS,但其實現在有很多家不同的衛星定位系統,GPS依然是全球規模最大的,此外歐洲的伽利略,中國的北鬥系統等等。

實際上很多國產智慧型手機和衛星導航的晶片已經支持北鬥系統,用戶看到的標誌可能還是GPS,但提供定位服務的,實際上可能是來自於不同的系統。

那麼手機會自動根據信號強弱選擇合適的系統進行定位導航,通常情況下,用戶無需自己選擇用哪個衛星系統。所以你就不用問我怎麼切換到北鬥系統啊,手機會在它認為合適的情況下用到的。

二、衛星定位的原理

這就是我以為是常識,而很多人卻存在誤解的地方。

首先,衛星並不知道你在哪裡,它也不關心。其次,你的手機也不會向衛星傳遞訊號,定位導航衛星不負責跟手機終端交互信息。

從技術上來說,手機給衛星發射信號很難麼,似乎也不難,有衛星通訊電話不是麼,但這面臨兩個問題,第一,所需要的功率會比較大,偶爾通訊也就算了,手機實時定位,如果需要交互信息,電池撐不住的,;第二,衛星也沒有如此強大的應答系統,全球無數手機每秒鐘請求位置,這請求頻次不嚇死人,衛星上放一組伺服器?可能麼?

當然,你說馬斯克不是要搞全球衛星組網麼,丫牛逼,但至少目前技術成本過高,這是不現實的。

那麼還有第三,就是,定位,其實不需要這麼麻煩。

實際上,導航衛星的工作極為簡單,就是廣播,廣播自己的位置,自己的時間。每個所謂GPS晶片(習慣這麼叫,現在很多已經整合了多個衛星系統)就是接受這些信號,然後處理。

怎麼處理呢?你如果知道它信號發出的時間,知道自己接受的時間,乘以傳播速度,也就是光速,就知道自己和衛星的距離了對不對。當你的手機可以獲得多個衛星信號的時候,比如三顆及以上,由於你知道衛星當前的位置數據,就可以通過數學公式,算出自己的所在位置。

但是,且慢,這裡有個嚴峻的問題,因為光速太大,需要極高的時間精確度,衛星上有原子鐘,可以提供極為精確的時間,但你手機上沒有。這時候,就需要把時間也當作變量,所以,需要四顆以上的衛星,才能精準定位你的位置。

感謝科技的力量,現在的衛星定位極為精準,可以精確到米,從而讓駕駛導航成為可能,實際上軍方信號未解密,可以有更好的精確度。

這裡其實還隱藏了一個問題,就是,由於極高的時間精確度,那麼衛星相對於地球是高速運動的,基於相對論,我們知道不同速度下的時間是不同的,在這樣的精確度要求下,這個不一致也會很致命,所以,相對論公式被用於修正這一誤差。

所以真正的原理是這樣的,衛星廣播自己的時間(原子鐘時間,極為精確到小數點後面n多位),當前位置。手機上的定位晶片獲得多個衛星的信息,然後通過相對論公式修正時間誤差,然後基於四顆或更多衛星的信息,測算自己的位置。這就是我說的,如此普及而成本低廉的定位晶片,其實技術含量還是蠻高的。

那麼這裡還有一個冷知識,衛星還負責給你準確的時間,所以你看現在很多智慧型手機沒有調時間的選項,因為完全不需要,只要有衛星信號,時間一定是準確的。再根據你的地理位置判定你所處的時區,給予你當地的時間。

三、服務商如何確定你的位置

很多產品服務商需要你的位置,比如微信,比如微博,比如大眾點評,當然更不用說地圖導航。確定你的位置提供身邊的服務,或者推薦身邊的聯繫人,都是一種非常標準的網際網路應用。其實在移動網際網路之前,這樣的服務並不是主流,通常只是做到同城推薦。而當時定位主要靠IP位址,這也是以前我經常用到的技術面試題。

實際上 ,手機終端用戶可以選擇是否把自己的定位信息發送給服務商,如果沒有發送自己的地理位置,服務商也會通過你上網的IP來判斷你的大概位置。當然這個就很難精確定位到具體位置了,通常只能定位到城市範圍。

但這裡有一個問題,就是手機終端,並不是必須上報真實的信息給服務商。有大量第三方工具可以偽造你的位置信息,你完全可以告訴服務商你在南極,或者在北歐的某個小島上。

這也就帶來了很多灰色產業的問題。

比如刷單,以前有uber幽靈車,假裝在你附近。

比如約炮騙局,你身邊的美女約你開房,後來延伸到了更多推銷的領域,你身邊的美女開始賣茶,賣酒,炒股,或者拉你上菠菜網站,或者讓你帶她打遊戲等等。

很多不知情的人以為真的是身邊的,其實都是用工具隨意篡改地址,一路掃過來的。

新加坡政府曾經為此非常頭疼,很多新加坡寂寞大叔被國內的騙子們用這招約炮騙錢。現在街上還能看到政府的公益廣告提醒這個騙局。

今天特意街拍了一張這樣的公益廣告,背景是新加坡的組屋住宅區。

你說服務商有沒有辦法確認他的位置的真實性,沒太多辦法,潛在的思路是通過歷史軌跡來判斷,你總不能一個小時前在湖南,一個小時後就出現在了新加坡對吧。當然還有可以用IP位址+地理信息聯合判斷,但IP位址也未必可信,因為可以用代理伺服器上網的麼。

現在還有一種遠程移動上網終端,更厲害了,你的sim 卡和終端放在新加坡,人在大陸,通過網絡可以遠程操縱這個終端上網做任何操作,那就更加完全查不出任何異樣,目前是黑產行業最愛。

四、實時路況是如何實現的

我在知識星球分享這個話題的時候,有人提出了這個問題,很多地圖軟體會展示擁堵情況,並給出路程時間測算,這是怎麼實現的呢?

其實不複雜,這是基於用戶不斷地上報數據匯總得到的。

比如這條路段上當前有10個車輛使用了百度地圖,那麼百度地圖就知道這10部車的平均車速,就能知道這個路段目前的擁堵情況大概是怎樣的。

甚至還能分出一些車道情況,比如根據車輛後續上報的行駛軌跡,可以大致區分主路和輔路的車速。(比如輔路可以拐彎,有等紅燈的行為記錄,而主路一路沿主幹道直行)。

如果有充分的歷史數據,還可以做出一些預判,比如現在5點半,你要出發,按照現在路況,可能只需要40分鐘到達目的地,但根據歷史數據可以知道,某些地段馬上要進入晚高峰,所以你實際上可能需要60分鐘才能到達目的地。坦白說,我覺得預判這塊很多地圖廠商應該是沒做到位的。

前幾天有個小新聞證實了這個實現邏輯,有個無聊的人把幾十部安卓手機打開谷歌地圖,放上小推車,然後推著小推車在一條空曠的道路上慢慢行走,然後很快你就看到谷歌地圖顯示這條道路擁堵。

真不想教人學壞,如果國內地圖廠商用這招惡意競爭,噁心對手,我們以後出行就很難有可信的數據了。

五、地理索引的話題

地理位置信息成為標配信息後,就產生了基於地理位置的搜索訴求。

比如,離我最近的餐廳有哪些。離我最近的活躍用戶有誰。一些虛擬增強現實的遊戲也會強調這一點。

寫出這樣的代碼或許不難,但高並發情況下呢?

那麼傳統的資料庫索引,就很難滿足這種高並發查詢的訴求。

我特別提醒初入行的程式設計師一句,類似的問題,應該自己經常問自己,怎樣實現可以滿足高並發的查詢請求。想想自己有沒有辦法,然後搜索一下別人怎麼做的。很多程式設計師天天迷茫,不知道怎麼進步,其實很多類似的問題要自己提出來,自己去找答案,不能總是等到去面試了才知道自己不會。當然面試了發現不會,也要花點時間去思考解決掉,不能每次面試都不會。

移動網際網路剛開始興起的時候,這個問題其實還是比較有困擾性的,後來一些資料庫產品提供了地理空間索引,你至少應該知道這樣的方案是什麼,以及如何使用?對自己要求高一些,看看這種產品具體實現的原始碼和底層的邏輯,搜索開銷是怎麼計算的,搜索開銷和數據規模的對應關係是怎樣的,徹底理解通透。

這個問題我就不展開了,技術人員可以作為思考題,多想想。

六,其他七七八八

衛星定位服務目前已經可以做到成本極低,那麼應用場景也就極為廣泛,防盜,追蹤,電子圍欄等等等等。

感謝科技的發展。

幾十年前,航海中的船隻要想知道自己的位置,還是需要憑藉船長的經驗和完整的記錄信息。

十幾年前,我和老婆自駕遊的時候,還要看著紙地圖找路,各種糾結各種開錯路各種停車問人。

今天,我們隨時可以知道自己在哪裡,周圍有什麼,一個人去陌生的國度自由行,只要手機有電有信號,就不用過度擔心迷路,這似乎是理所當然的事情,但真的就是很短的時間,我們才能實現位置認知的自由。

相關焦點

  • 手機定位GPS的工作原理
    源起是GPS的工作原理,我直白覺得是常識來著。不過今兒個把其一話題延申轉眼。一、手機是怎麼定位的?手機定位貌似有三個法子。辦法1:根據你目前所接觸的WIFI人心向背,萬一這個WIFI叫座是光天化日可查詢的叫座,設有地點音息照應的。
  • 如何在任何手機上找到GPS定位
    當時的問題是我沒有辦法擺脫手機來獲取位置信息,或者使位置數據變得有用的一種方法。在這篇文章中,我將演示如何讓你的手機獲取GPS坐標.即使您的手機沒有內置的全球定位系統。  定位為什麼如此的困難?  電話技術成熟的速度是驚人的。目前有一大批手機都內置了全球定位系統,「智能」手機有數百人的平均價格標籤,而我們大多數人沒有爭先購買以更換我們目前的手機。
  • ​車載gps定位器,車載gps定位器的作用
    車載gps定位器,對於路痴來說是很有用的。來到一個不是很熟悉的城市,就算不懂東南西北,只要有定位器,就不怕找不到目的地了。那麼我們平常說的指南針和定位器有什麼不一樣的功能呢?今天我們主要來了解車載gps定位器的作用。
  • gps工作原理—讓你無處躲藏
    導讀:gps,相信大家都聽說過吧,但是一般人也就是聽說過而已吧,對它的工作原理是一竅不通吧,不過,沒有關係啦,小編已經為大家整理了gps工作原理,下面就隨小編一起長長姿勢吧~~~~~
  • 汽車GPS定位器使用指南
    顧名思義,汽車GPS跟蹤器是一種專用於汽車領域的gps 定位設備,它允許車隊經理,父母和車主監控和跟蹤他們的汽車和卡車的位置,通常來說,用於汽車的gps跟蹤器不僅能夠實時提供汽車的瞬時速度和位置數據,大多數企業為了使汽車gps 跟蹤器解決更多車主的需求,他們會擴展許多實用的功能,比如歷史位置數據查詢,讓車主更好掌握車子行駛的軌跡,以用來統計一段時期內,車子的行駛情況
  • 揭秘「手機到底是如何實現定位的?工作原理是什麼?」
    還有些人會僱傭黑客利用"定位"技術對相關人進行跟蹤定位,侵犯他人隱私!那麼這項技術的原理到底是什麼?如何利用該技術快速定位他人位置?今天我們就以本篇文章內容給大家詳細闡述一下"手機定位的原理與實現"!一、 手機到底如何實現定位的?工作原理是什麼?
  • 位置服務軟體 GPS手機定位—GPSToy試用(組圖)
    2010-02-12 00:05:17   一、GPSToy軟體簡介  隨著GPS手機的普及,GPS相關的位置服務(比如gps定位)也越來越走進我們的生活,現在發現一個界面美觀,操作簡便的GPS手機軟體-GPSToy,授權方面同樣是免費的,可以自由分享。
  • GPS定位是如何工作的?
    郭鑫鵬當你在一個陌生的城市或野外迷路了,不知道自己身在何方時,應該如何確定自己的位置?我們的遠古祖先會樹立高聳的地標,並且通過白天的太陽以及夜晚的星星來確定方向。而現在,我們只需要拿出隨身攜帶的智慧型手機,使用GPS定位功能就能相當精確地知道自己所處位置。GPS也就是全球定位系統,它的背後有著昂貴的設備和強大的技術支持,但是定位的數學原理卻相當地簡單和直觀。雖然500年前麥哲倫通過環球航行向世人證明了地球是球形,但是我們立足於平坦的大地上,使用平面的地圖。
  • GPS定位器的LBS基站定位工作原理
    現在市面上流通的很多定位器都已經擁有基站定位功能,但還很多朋友還是對基站定位功能不是很了解,今天就這個話題跟各位朋友深入探討一下定位器的基站定位功能。基站定位,又叫LBS基站定位,這種是出現比較晚的一種技術,但是工作原理非常簡單,記得在2007年的時候,中國電信就出了一款專門利用lBS基站定位的手機地圖,這種LBS基站定位實際上就是像手機在尋找家裡頭的路由器一樣,如果你現在正在連著A房間的路由器,而通訊晶片其實並沒有停著而是繼續在搜尋其他房間的路由器信號。
  • 打開手機導航的定位為什麼還是GPS,而不是中國的北鬥?
    BDS全稱:BeiDou Navigation Satellite System,北鬥衛星導航系統,是中國自行研製的全球衛星定位系統,手機上的定位一般理解成定位,或者定位服務,從字面上看,GPS的叫法相對更貼切一些,而GPS也叫習慣了,也可以理解成一個統稱。
  • 漲知識系列:你的手機GPS是如何定位的?
    現在的智慧型手機和運動手錶等都帶有GPS定位系統,可以比較精確地定位到手機和手錶的位置,從而實現手機導航、運動軌跡記錄等目的,我們手機中的GPS模塊是如何實現定位的呢?定位導航要了解定位原理,首先科普一下什麼是GPS。GPS(全球定位系統)是美國從20世紀70年代開始研製,於1994年全面建成,具有在海、陸、空進行全方位實時三維導航與定位功能的新一代衛星導航與定位系統。
  • 我們是怎樣被定位的?GPS工作原理解析
    下面,本編就和大家一起來探討GPS的歷史、發展、工作原理和今後可能的發展方向。全球定位系統的種類和發展歷史    首先,在世界上可以提供精確定位的全球定位系統有四種,分別為:美國GPS全球定位系統、中國的北鬥定位系統、俄羅斯的Glonass定位系統和歐盟正在建設的伽利略定位系統。
  • 為什麼中國北鬥系統已完善,手機定位卻還用美國的GPS?長見識了
    首先我要說的一點事,其實在我們平時的生活中手機定位在使用gps的這個說法並不準確,其實我們現在市面上能看到的所有手機基本上都已經搭載了北鬥導航系統。其實我們平時在手機上使用的什麼高德地圖啊,百度地圖啊,它們只是一個地圖軟體,它們最主要的作用其實是將導航系統的定位顯示在我們的手機上,讓我們知道自己在哪裡,要去什麼地方,它們本身是沒有導航能力的,換個說法就是我們平時的什麼什麼地圖只是將導航系統的坐標圖像化,讓我們更清楚自己的位置,實際上你平時使用的就是可能北鬥系統為你導航的,只是你自己不知道誤以為是gps而已。
  • gps工作原理是怎樣的?
    今天就跟大家一起學習下gps工作原理是怎樣的?這種基於被動測距原理的定位,稱為被動定位。如果發送設備所發射的測距信號經過反射器的反射或轉發,又返回到發送點,為其接收設備所接收,進而測得測距信號所經歷的距離。這種發送和接收測距信號位於同一個地方的測距原理,稱為主動測距。用它所測得的站星距離和已知的衛星在軌位置,也可推算出用戶現時的三維位置。這種基於主動測距原理的定位,稱為主動定位 。
  • GPS接收機工作原理
    GPS接收機作為用戶測量系統,那麼按gps接收機工作原理的性質和功能,可分為硬體部分和軟體部分。一、硬體部分 接收機主機由變頻器、信號通道、微處理器、存儲器及顯示器組成,基本結構如下圖GPS接收機工作原理圖一 1、變頻器及中頻放大器   經過GPS前置放大器的信號仍然很微弱,為了使接收機通道得到穩定的高增益,並且使L頻段的射頻信號變成低頻信號,必須採用變頻器。
  • GPS原理
    導讀:大家對GPS一定不陌生吧,相信大部分人都使用手機的GPS定位功能把?他能將你的位置精確到3M以內,賊神奇了吧,今天小編帶大家了解GPS的原理。
  • 華為手機gps信號弱怎麼辦?
    很多開車的朋友都喜歡用手機當車載導航,方便、實用,而且手機導航功能已經比較完善了。但在使用過程中,手機定位不準、車內搜星能力差、信號弱等問題時不時的會出現,今天跟大家一起來探討下華為手機gps信號弱怎麼辦?
  • 關閉GPS以後,手機是如何給我們定位的?
    在使用手機時,經常會遇到應用獲取定位的情況。很多人手機的GPS是一直打開的,但是當GPS關閉時,軟體依然能夠相對精確地獲取自己的定位,這是怎麼做到的?我們需要先明白,手機定位的方法有三種,最常見的是GPS定位,還可以通過基站或Wi-Fi定位。
  • 天天看地圖 手機是如何定位的你知道嗎
    關於手機定位,已經不是什麼新鮮事了,大家在用地圖類軟體和目前絕大多數購物及餐飲類服務軟體時都會用到定位。可是,對於你形影不離的手機,它是如何通過一系列複雜的過程精確的計算出你在哪兒的,這件事可能很多人就不知道了,今天我們就來簡析一下手機定位那些事吧。
  • 專家教您如何拆除車輛上的gps定位器 抵押車輛定位GPS怎麼修
    檢測拆除GPS連鎖已開啟負責人盧先生,專業拆除安裝各種汽車gps,快速拆卸GPS,汽車監控設備。私探通科技服務有限公司。公司在北京,上海,廣州,深圳,天津,南京,重慶,杭州,青島,鄭州,蘇州,無錫,南昌,成都武漢等各大城市均有加盟店。