題:
為什麼智能手機GPS定位比GPS模塊快得多?
Anthropomorphous Dodecahedron
2017-08-06 19:40:47 UTC
view on stackexchange narkive permalink

當我使用arduino GPS模塊時,通常需要花費幾分鐘才能開始發送數據。而且似乎所有GPS模塊都是這種情況,因為它們需要一段時間來“收聽”衛星。但是,每當我使用手機的內置GPS時,它都能在幾秒鐘內找到其位置。為什麼呢?

一個字的答案:“ A-GPS”
那不是一個字,而是四個字的縮寫!
@Transistor好吧,如果您想學走路,A-GPS不是首字母縮寫,而是縮寫。;)
@DavidCAdams:你說得對!我看著他們兩個。我從來沒有意識到首字母縮寫詞會作為單詞發音(或者至少應該是我認為應該發音)。我在EE.SE上學到的東西!
-1
我也是@MichaelKjörling,直到我開始在會議上變得有趣為止;)
除了下面提到的內容以外-兩者都是從站立狀態開始運行的,即從通電(關閉5分鐘)到a)首次修復b)10m修復? 我發現我的老Garmin Gecko都比我的三星Galaxy快。
六 答案:
Jack B
2017-08-06 20:21:59 UTC
view on stackexchange narkive permalink

有幾件事會影響首次修復時間(TTFX)

  1. 獲取曆書和星曆表。從技術上講,這兩件事彼此有點不同,但是出於我們的目的,我們將它們視為相同。它們是衛星的位置,您需要先知道它們的位置,才能確定自己的位置。每顆衛星大約每12分鐘發送一次全部衛星。因此,從單通道接收器和良好信號的完全冷啟動開始,TTFX至少需要12分鐘。您可以通過以下方式加快速度:

    • 改為從Internet下載-通常是手機的不錯選擇。以這種方式下載年曆和臨時文件稱為MSB輔助GPS。
    • 記住上次的曆書(好幾個星期了),只下載星曆表。
    • 設備中具有多個接收頻道,因此您可以一次收聽多個衛星。傳輸交錯進行以使這項工作有效,並且在某些情況下可以不用星曆就使用星曆表,這樣可以節省大量時間。如今,市場上的絕大多數模塊都具有多種渠道,因此很少會找到需要12分鐘的模塊。
  2. 標識衛星。您需要至少聽三顆衛星,最好聽更多,以獲得更好的解決方案,但是每個接收器(稱為相關器)一次只能調諧到一個。如果您大致了解自己的位置,現在的時間,並且已經有了年曆,那麼您可以猜測可以看到哪些衛星。通過識別wifi或藍牙信號,知道他們正在使用哪個手機信號塔以及其他來源,電話通常可以大致知道它們的位置。它們還定期獲得非常準確的時間更新,因此通常可以直接獲得正確的衛星。手機和較大的模塊都可以記住上一次使用的時間和位置,並從中使用。

  3. 相關器數。由於GPS信號的信噪比非常低,因此您需要特殊的硬件來接收它們。一些接收器只有一個,並且需要圍繞衛星旋轉。其他人擁有更多,並且可以立即收聽更多內容。因此,即使您已經有了曆書/星曆表並且大致知道您的位置,那麼更多的相關器仍將幫助您更快地進行修復。您可能會認為更多的總會更好,但是更多的確會增加成本和功耗。某些電話和模塊具有更多的功能。

  4. 信號和天線。如果您對它們有良好的信噪比,則相關器將更快地完成它們的工作。非常差的信號可能根本不起作用。良好的天線設計,放大器,天空視野和良好的PCB佈局可以使一切變得不同。某些模塊開箱即可正常工作,插入天線後效果會更好。

  5. 可用衛星數。實際上,那裡有兩個大型衛星群,即GPS(由美國運營)和GLONASS(由俄羅斯運營)。還有更多在建項目:伽利略(EU)和北斗2號(中國),還有一些在當地覆蓋的國家,例如印度的NAVIC或北斗1號。可以使用來自多個星座的衛星的接收器有更多的衛星可供選擇,並且將獲得更快,更準確的定位。

  6. 相關器的質量。新的硬件設計優於舊的硬件設計,並且能夠更好地在嘈雜的信號中識別GPS消息的片段。手機可以採取的另一種技巧是捕獲信號片段,然後將其通過互聯網通過具有很好的軟件相關器的服務器傳遞給服務器,並完成曆書/星曆表的檢查。這就是所謂的MSA輔助GPS。

  7. 某些電話(甚至是幾個模塊)可能還會使用一些偷偷摸摸的技巧來避免或隱藏較長的TTFX。由於它們一直處於運行狀態,因此他們可能會短暫打開GPS而不通知用戶,以使位置和星曆大致保持最新狀態。其他人可能會在仍在等待真正的修復時顯示最近的位置-在大多數情況下,TTFX看起來不錯,但如果發現位置非常錯誤,則看起來很糟糕。 ol>

    以上第1點是最大的不同,通常是基本模塊,更高級的模塊和電話之間的關鍵不同。其他通常不會產生太大的變化,但實際上可能會變得非常複雜。如果您想了解更多信息,則可以搜索“ GPS首次修復時間”。

在第2點上:除了WiFi之外,手機還可以根據其所接觸的蜂窩基站獲得大概的位置。
設備還可以“緩存”最近的已知位置數據,立即使用它,並在輸入真實數據時對其進行調整。我的手機使用GPS來實現。
除了蜂窩網絡之外,許多提供商(包括Google)還建立了WiFi接入點物理位置的數據庫,這使他們能夠精確地精確定位設備的位置。我便宜的Android平板電腦既沒有GPS也沒有手機,但是只要我連接到WAP,谷歌地圖似乎總是知道我在哪裡。我懷疑他們是通過相反的過程獲得WAP位置的-從連接的電話和其他具有GPS的設備的位置推斷出WAP的位置。
配備GNSS的@rdtsc: Sports手錶似乎也可以做到這一點。
@rdtsc: Arduino模塊可能做同樣的事情(假設它具有備用電源-超級電容或電池),因此不能解釋其區別。
現代手機還傾向於始終以較慢的更新間隔始終運行GPS,並且當應用開始請求定位時,它會增加該頻率-從而使啟動看起來更快速,而實際上卻不是一個快速啟動。
如今,許多電話甚至都配備了晴雨表,以加快獲取位置修復所需的時間。http://www.popsci.com/gadgets/article/2011-10/so-um-why-does-new-google-phone-have-barometer-it有關了解您的海拔高度的信息可以用更少的距離獲得更準確的定位衛星。
@Brad:是的,這是Jack觀點2中“大致了解您的位置”的一部分。GPS基本上可以在4D時空中定位您;電話通常可以非常精確地知道時間(通過蜂窩網絡和/或Internet上的NTP),並且可以估計其位置2D位置(使用蜂窩塔,附近網絡等的三角測量)。晴雨表將給出缺失的第4維。
據報導,@DaveTweed:,谷歌現在甚至開始建立藍牙數據庫。確實有道理:例如我的藍牙連接到我的家庭立體聲系統的有用範圍約為10m,可能還會再檢測到10m。這提供了比WiFi高得多的分辨率。然後,訣竅是過濾掉真正靜止的那些……但是“過濾掉”基本上還是Google的核心能力。
您聲稱沒有事先信息的最低TTFF為12分鐘是錯誤的。假設信號良好,最佳情況下為35秒,最壞情況下為1分鐘10秒。每35秒廣播一次修復所需的最低數據。
-1
@ゼーロ每幀為35秒,但是完整的年曆分為25幀,並且需要12-13分鐘的時間進行傳輸。的確,您可以在沒有曆書的情況下從星曆數據中獲取固定信息,但是您將需要以下曆書用於1)非常舊的硬件,2)從GPS時間到UTC的準確校正以及3)在某些硬件上的電離層延遲校正。
@ゼーロ另外,我認為從衛星開始的35秒選項需要每顆衛星一個頻道,因為每顆衛星都需要星曆表,因此需要35秒才能獲得完整的導航消息。我明確說過一個單通道接收器。
@alphabetter, rdtsc,&蓬鬆,所有要點,我已經將它們編輯為答案,以防萬一這種現在已經很長的註釋線程消失了。
-1
@JackB檢查某些GPS接收器的數據表。大多數人可以同時跟踪多個頻道(即多顆衛星),並且將寒冷時的最小TTFF聲明為35秒,因為這是他們確定位置所需要的。相信我,我已經使用GPS接收器製造了多種產品,並且沒有永久性的後備電源,並且他們不可能花12分鐘的時間來進行首次修復。實際上,我們的測試規範說,超過3分鐘是失敗的。
@ゼーロ嗯。我非常清楚,單通道接收器需要12分鐘。我還說過,多通道接收器速度更快。大多數現代接收器都是多通道的,但是我當然有一些較舊的單通道接收器-它們確實需要整整12分鐘的時間。而且,如果您只有一個通道,並且想要電離層延遲校正,那麼就沒有比獲得完整年曆更快的方法了。您使用多通道模塊並需要3分鐘的TTFX的事實並不意味著不存在其他類型的模塊。但是我將更新答案以說舊類型很少見。
此外:如今的智能手機通常不僅使用GPS,而且還使用GLONASS,這也可以幫助我們,因為有越來越多的衛星從中獲取數據
@SztupY好點,我也會對其進行編輯。
@alphabetter這不是3G不可或缺的一部分嗎,每個基站都將為此廣播自己的位置,還是我被誤導了?
-1
@JackB入門級手持式Garmins早在多渠道發布之前(我的舊etrex支持12個)。如果必須下載星曆表,這會很有幫助,如果星曆數月沒有使用並且需要使用曆書,那麼看似就少了很多。
關於第2點:如果我沒記錯的話,至少要花四顆衛星來求解位置方程,因為時間也是一個未知變量。否則很好的總結!
alex.forencich
2017-08-06 19:54:12 UTC
view on stackexchange narkive permalink

手機操作系統通過手機網絡通過Internet下載GPS年曆數據(衛星星曆和狀態信息),並將其加載到GPS模塊中的速度比直接從GPS衛星下載數據要快得多。50 bps(是的,就是每秒50位,GPS是較老的技術 strike>進行了優化,可在非常低的SNR下運行),大大縮短了首次修復的時間。這稱為輔助GPS。它還可能具有來自蜂窩調製解調器的非常準確的初始時間參考(蜂窩塔通常通過GPS與時間同步)以及來自蜂窩調製解調器的粗略位置估計。所有這些結合極大地減少了接收機必須執行的搜索量-它知道它應該能夠看到哪些衛星,因此它只查找那些衛星,而無需等待衛星進行發送整個消息。

因此,它基本上消除了過程中的“同步”。GPS模塊使用衛星本身發送的數據搜索衛星,對嗎?
它不會把它排除在外,而是通過給GPS接收器一個良好的估算來加速它。
50 bps不僅僅是因為GPS很舊。這是GPS接收器如何檢測極弱信號以及所有GPS衛星如何可以在單個頻率上發送但仍獨立接收的一個組成部分。GPS接收機中發生了許多複雜的事情。
這也是因為在計劃時,GPS被認為是非常秘密的,因此不允許信號可見。傳輸過多的數據,很難掩蓋噪音。
@TomTom:不,GPS的保密性從來沒有因為晦澀難懂而實現。您可能正在考慮選擇性可用性(SA),但這是一個有意的定位錯誤。
@TomTom: GPS的擴展頻譜並非旨在隱藏信號。對於簡單的RF接收器確實具有這種效果,但這不是重點。擴頻技術為您提供兩件事:以極低的信噪比運行,並具有一定程度的抗干擾能力。幾乎每個人和他的兄弟都知道(並且知道何時回溯)GPS使用的頻率。隱藏已知的內容毫無意義。不過,不被(輕易)卡住是一大優勢。有GPS干擾器(現在),但是那時要困難得多。
擴頻技術還支持CDMA-所有衛星都以相同的頻率發送,但使用不同的代碼。然後,將各個衛星的代碼與相關器分開。
Jörg W Mittag
2017-08-07 10:05:33 UTC
view on stackexchange narkive permalink

其他答案已經解釋了“如何”和“為什麼”,所以剩下的就是“什麼”:它稱為 A-GPS (有時是輔助GPS也稱為加速或增強GPS)

換句話說:手機的GPS比“ GPS的GPS”工作更快的原因是,手機不使用“ GPS” ,而是使用aGPS。

David Richerby
2017-08-06 22:10:51 UTC
view on stackexchange narkive permalink

部分答案是手機GPS不僅僅是GPS。小區還使用其他信息進行地理位置定位,例如手機塔的三角剖分和wifi網絡的可見性。例如,非蜂窩版本的iPad Air沒有實際的GPS,但仍可以使用這些技術知道您在建築區域中的位置。

問題特別是關於GPS如何運作。手機無法從手機發射塔進行三角測量,因為沒有可用的位置信息。
@Transistor該問題將獨立GPS與手機GPS進行了比較,問題標題專門詢問了手機如何比獨立GPS單位更快地完成GPS。維基百科說,[手機使用塔式三角剖分](https://en.wikipedia.org/wiki/Mobile_phone_tracking#Handset-based)來確定位置。我不確定您為什麼說沒有可用的位置信息:當然,該塔不會宣布其位置,但是道路也不會宣布其位置:您的手機已將地圖存儲在數據庫中。
@Transistor:手機不執行三角測量。網絡提供商可以。
@JörgWMittag:取決於網絡AFAICT。現代網絡提供本地化服務,作為增強的911 / E112的一部分。
@DavidRicherby:感謝您的鏈接。我讀了兩次,但是我只能看到*網絡*知道電話的位置,而不是電話。我錯過了什麼?
-1
我也讀過。同樣,這是在網絡方面。我對此沒有專門知識-只是好奇。顯然,網絡需要監視相對信號強度以優化從一個塔到另一個塔的切換,但這並不需要特別的位置知識。我可以理解,緊急服務一旦添加便可以利用位置信息。缺少的一點可能是此信息可供其他基於地面的信息服務器使用,這些服務器可以通過WiFi或GSM數據將其傳輸到電話。
BowlOfRed
2017-08-09 12:31:33 UTC
view on stackexchange narkive permalink

只想在較舊的接收器等待數據時,詳細說明發生的情況。換句話說,為什麼該曆書(和記住的位置)如此有用?

GPS信號非常弱。在給定距離的情況下,信號到達地面時會遠低於本底噪聲。如果您只是以正確的頻率觀看示波器掃描,就永遠不會直接檢測到衛星。

接收器獲取信息的方式是將輸入信號與特定模式進行比較(通過FFT相關)。如果使用正確的模式,則相關性會對齊,並且可以看到數據。

對於一個簡單的老式接收器,要達到這一點,需要設備的相關器做兩件事:來自衛星的消息的頻率和消息的相位(排列碼型)。如果其中任何一個都不正確,則相關不成功並且什麼也檢測不到。衛星的運動意味著接收到的信號會受到較大的多普勒頻移。

有了一個曆書,並對當前位置和時間有了一個很好的了解,接收機就可以估算出衛星和接收機的相對運動,從而消除了大部分的多普勒頻移並在某種程度上接近頻率。這意味著相關器通常只需為信號碼型嘗試不同的相位即可得出結果。相空間搜索可以在幾秒鐘內完成。

如果年曆丟失,或者沒有當前位置和時間的估計,則係統必須嘗試不同的相位和不同的頻率以從每顆衛星獲取數據。現在必須在兩個不同的維度上進行搜索,即使是多通道系統,也可能需要花費幾分鐘才能通過蠻力“發現” 3顆衛星。

即使沒有A-GPS,現代芯片組也可以利用附加信號和大量並行比較器來加快搜索速度。我懷疑您在Arduino防護板上獲得的芯片組可能較舊/便宜,並且不會使用這些較新的功能。

Adam Davis
2017-08-08 20:41:13 UTC
view on stackexchange narkive permalink

在美國, FCC要求蜂窩電話運營商在撥打緊急服務時能夠在2012年9月11日首次撥打電話後的6分鐘內向300米以內識別呼叫者的位置。

在過去的幾年中逐步採用了這種方法,並且在以後的幾年中,對位置報告的距離和時間的要求都得到了嚴格的要求。

移動電話公司不能保證在僅一兩個移動電話塔與移動電話接觸的偏遠地區,或者在城市環境中反射和建築物密度阻止了位置的移動環境,即使電話有多個發射塔也無法保證接收。 GPS芯片無法在所需的時間範圍內以足夠低的功率提供此功能,以至於手機仍將具有商業可行性(在引入此要求時。芯片組現在具有更高的功率效率和更快的功耗,部分原因在於需求每個電話都包含部分或全部GPS芯片組)。此外,相對於其他手機組件,GPS芯片組非常昂貴。

因此,他們創建了一些不同的競爭系統,它們都屬於輔助GPS的綽號“ AGPS”。

在這些各種AGPS系統後面運行的技術有時會有所不同。

最便宜的蜂窩式AGPS系統記錄幾毫秒的GPS RF信號,然後將其發送到AGPS服務器,然後知道電話的大致位置,就可以使用該GPS RF代碼段來確定更準確的位置。如果沒有良好的蜂窩連接,這些電話將無法獲取GPS坐標。

有些具有完整的GPS芯片組,但允許手機向它們提供年曆和星曆表-這兩條信息使芯片組可以在幾秒鐘內得到修復-之後,它會使用其常規方法生成位置結果。如果有時間,這些電話可以獲得與網絡無關的位置。

大多數GPS芯片組都允許您將星曆和曆書信息加載到其中,因此,如果您的arduino設備具有互聯網連接並且可以訪問AGPS服務器,則可以類似的方式加快GPS修復速度。但是,對於大多數項目,只需在GPS接收器的正確引腳上添加鋰鈕扣電池,就可以保持最新的曆書和星曆表更新,並且由於在短時間內變化很小,因此大大加快了首次定位的速度,因為只要該設備尚未移動數千英里,並且每隔幾天就會通電。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...