Dlaczego smartfon GPS znajduje swoją pozycję znacznie szybciej niż moduł GPS?

81

Kiedy korzystam z modułu GPS arduino, rozpoczęcie wysyłania danych zajmuje zwykle kilka minut. I wydaje się, że zwykle tak jest w przypadku wszystkich modułów GPS, ponieważ muszą one „słuchać” satelitów przez pewien czas. Jednak za każdym razem, gdy korzystam z wewnętrznego telefonu GPS, znajduję swoją pozycję w ciągu kilku sekund. Dlaczego?

Dwunastościan antropomorficzny
źródło
16
Odpowiedź na jedno słowo: „A-GPS”
Agent_L
10
To nie jest jedno słowo - to akronim czterech słów!
Tranzystor
10
@Transistor Cóż, jeśli chcesz być pedantyczny, A-GPS to nie akronim, ale inicjalizacja. ;)
DavidCAdams,
7
@DavidCAdams: Masz rację! Obejrzałem ich obu. Nigdy nie zdawałem sobie sprawy z tego, że akronim jest wymawiany (a przynajmniej powinienem być wymawiany) jako słowo. Rzeczy, których nauczyłem się na EE.SE!
Tranzystor
1
@DavidCAdams I przez te wszystkie lata podążałem drogą NASA, ogłaszając A-GPS jako „agresywne”, a teraz mówisz, że nie mogę tego dłużej robić? Rzeczy, których uczysz się na EE.SE!
CVn

Odpowiedzi:

116

Jest kilka rzeczy, które wpływają na czas do pierwszej naprawy (TTFX) .

  1. Zdobywanie almanachu i efemeryd. Te dwie rzeczy są technicznie trochę różne od siebie, ale dla naszych celów będziemy traktować je tak samo. Są to lokalizacje satelitów i musisz wiedzieć, gdzie one są, aby ustalić swoją pozycję. Każdy satelita transmituje całą partię mniej więcej raz na 12 minut. Tak więc od całkowicie zimnego startu z odbiornikiem jednokanałowym i przyzwoitym sygnałem TTFX potrwa co najmniej 12 minut. Możesz przyspieszyć:

    • Zamiast tego pobieranie z Internetu - ogólnie dobry wybór na telefony. Pobranie w ten sposób almanachu i efemerydy jest znane jako MSB Assisted GPS.
    • Pamiętanie almanachu z ostatniego razu (jest dobry przez wiele tygodni) i pobieranie tylko efemeryd.
    • Posiadając więcej niż jeden kanał odbiorczy w urządzeniu, możesz słuchać więcej niż jednego satelity jednocześnie. Transmisje są rozłożone w czasie, aby to zadziałało, i z pewną ostrożnością możesz używać efemeryd bez almanachu, który oszczędza dużo czasu. Zdecydowana większość modułów dostępnych obecnie na rynku ma wiele kanałów, więc rzadko byłoby znaleźć taki, który wciąż potrzebuje 12 minut.
  2. Identyfikacja satelitów. Musisz posłuchać co najmniej trzech satelitów, najlepiej więcej, aby uzyskać dobrą poprawkę, ale każdy odbiornik (znany jako korelatory) można dostroić tylko do jednego na raz. Jeśli z grubsza wiesz, gdzie jesteś, która jest godzina i masz już almanach, możesz zgadnąć, które satelity możesz zobaczyć. Telefony z grubsza wiedzą, gdzie są, rozpoznając sygnały Wi-Fi lub Bluetooth, wiedząc, której wieży komórkowej używają i innych źródeł. Regularnie otrzymują również bardzo dokładne aktualizacje czasu, więc zwykle mogą od razu wybrać właściwego satelitę. Zarówno telefony, jak i większe moduły mogą również pamiętać, kiedy i gdzie były ostatnio używane, i od tego zacząć.

  3. Liczba korelatorów. Ze względu na bardzo niski sygnał od szumu do sygnałów GPS, potrzebujesz specjalnego sprzętu do ich odbioru. Niektóre odbiorniki mają tylko jeden i muszą obracać się wokół satelitów. Inni mają więcej i mogą słuchać więcej naraz. Więc nawet jeśli masz już almanach / efemerydy i z grubsza wiesz, gdzie jesteś, to więcej korelatorów nadal pomoże ci szybciej naprawić. Możesz myśleć, że więcej jest zawsze lepsze, ale więcej zwiększa koszty i zużycie energii. Niektóre telefony i moduły mają więcej niż inne.

  4. Sygnał i anteny. Korelatory wykonają swoją pracę szybciej, jeśli dostaniesz do nich dobry sygnał do szumu. Bardzo słabe sygnały mogą w ogóle nie działać. Dobra konstrukcja anteny, wzmacniacz, widok nieba i dobry układ PCB mogą mieć znaczenie. Niektóre moduły mogą działać poprawnie po wyjęciu z pudełka, a znacznie lepiej z podłączoną anteną.

  5. Liczba użytecznych satelitów. W rzeczywistości są tam dwie duże konstelacje satelitów, GPS (prowadzony przez USA) i GLONASS (prowadzony przez Rosję). W budowie jest też więcej: Galileo (UE) i BeiDou-2 (Chiny), a niektóre z lokalnymi zasięgami, takie jak indyjska NAVIC lub BeiDou-1. Odbiornik, który może współpracować z satelitami z więcej niż jednej konstelacji, ma więcej satelitów do wyboru i otrzyma szybszą i dokładniejszą poprawkę.

  6. Jakość korelatorów. Nowe konstrukcje sprzętowe są lepsze niż stare i będą w stanie lepiej wykrywać fragmenty wiadomości GPS w głośnym sygnale. Inną sztuczką, jaką mogą zrobić telefony, jest przechwytywanie fragmentów sygnału i przekazywanie ich przez Internet do serwera z bardzo dobrym korelatorem programowym i ukończenie analizy almanachu / efemeryd. Jest to znane jako MSA Assisted GPS.

  7. Niektóre telefony (a nawet kilka modułów) mogą również używać nieco podstępnych sztuczek, aby uniknąć lub ukryć długi TTFX. Ponieważ są włączone przez cały czas, mogą na krótko włączyć GPS bez powiadamiania użytkownika, aby zachować aktualną lokalizację i efemerydy. Inni mogą wyświetlać ostatnią pozycję, czekając na prawdziwą poprawkę - która przez większość czasu wygląda na dobrą TTFX, ale wygląda źle, jeśli okaże się, że pozycja jest bardzo zła.

Punkt 1 powyżej jest tym, co robi największą różnicę, i zwykle jest kluczową rzeczą, która różni się między modułami podstawowymi, modułami bardziej zaawansowanymi i telefonami. Inni zwykle robią mniejszą różnicę, ale w rzeczywistości może to stać się bardzo skomplikowaną rzeczą. Jeśli chcesz przeczytać więcej, to „Czas GPS, aby najpierw naprawić” jest terminem do wyszukania.

Jack B.
źródło
32
W punkcie 2: Oprócz Wi-Fi telefon może także uzyskać przybliżoną lokalizację na podstawie komórkowych stacji bazowych, z którymi się kontaktuje.
alfabetycznie
4
Urządzenie może również „buforować” ostatnie znane dane pozycji, wykorzystać je natychmiast i dostosować, gdy pojawią się rzeczywiste dane. Mój telefon robi to za pomocą GPS.
rdtsc,
17
Oprócz sieci komórkowej wielu dostawców (w tym Google) stworzyło bazy danych fizycznych lokalizacji punktów dostępu Wi-Fi, co pozwala im zaskakująco dokładnie wskazać lokalizację urządzenia. Mój tani tablet z Androidem nie ma dostępu do GPS ani komórki, ale Mapy Google zawsze wydają się dokładnie wiedzieć, gdzie jestem, pod warunkiem, że mam połączenie z WAP. Podejrzewam, że lokalizują punkty WAP w odwrotny sposób - na podstawie lokalizacji podłączonych telefonów i innych urządzeń wyposażonych w GPS.
Dave Tweed
5
@ ゼ ー ロ Każda ramka trwa 35 sekund, ale cały almanach jest podzielony na 25 ramek, a transmisja zajmie 12–13 minut. Prawdą jest, że możesz uzyskać poprawkę z danych efemerydalnych bez almanachu, ale będziesz potrzebować almanachu dla 1) bardzo starego sprzętu, 2) dokładnej korekty od czasu GPS do UTC i 3) korekcji opóźnienia jonosferycznego na niektórych urządzeniach.
Jack B
4
@ ゼ ー ロ Ummm. Byłem bardzo jasny, że 12 minut było na odbiornik jednokanałowy. Powiedziałem również, że odbiorniki wielokanałowe są szybsze. Większość nowoczesnych odbiorników jest wielokanałowych, ale z pewnością mam kilka starszych odbiorników jednokanałowych - i zajmują pełne 12 minut. A jeśli masz jeden kanał i chcesz korekcji opóźnienia jonosferycznego, to nie ma sposobu, aby uzyskać go szybciej niż można uzyskać pełny almanach. Fakt, że korzystasz z modułów wielokanałowych i potrzebujesz 3-minutowego TTFX, nie oznacza, że ​​drugi typ nie istnieje. Ale zaktualizuję odpowiedź, aby powiedzieć, że stary typ jest rzadki.
Jack B,
22

System operacyjny telefonu komórkowego pobiera dane almanachu GPS (efemerydy satelitarne i informacje o statusie) przez Internet za pośrednictwem sieci komórkowej i ładuje je do modułu GPS znacznie szybciej niż pobranie danych z satelitów GPS bezpośrednio przy 50 bps ( tak, to 50 bitów na sekundę, GPS jest raczej starą technologią zoptymalizowaną do pracy przy bardzo niskim SNR), znacznie skracając czas do pierwszej naprawy. Nazywa się to Assisted GPS. Prawdopodobnie ma również bardzo dokładne początkowe odniesienie czasu z modemu komórkowego (wieże komórkowe są zwykle synchronizowane czasowo przez GPS), a także prawdopodobnie zgrubne oszacowanie lokalizacji z modemu komórkowego. Wszystko to drastycznie zmniejsza ilość wyszukiwań, które musi wykonać odbiornik - wie, jakie satelity powinien być w stanie zobaczyć, więc szuka tylko tych i nie musi czekać, aż satelity nadadzą cała wiadomość.

alex.forencich
źródło
To w zasadzie eliminuje „synchronizację” z procesu. Moduł GPS wyszukuje satelitę na podstawie danych wysłanych przez samego satelitę, prawda?
Antropomorficzny dodekaedr
3
Nie wyciąga go z procesu, przyspiesza go, dając dobry szacunek dla odbiornika GPS.
alex.forencich,
29
50 bps to nie tylko dlatego, że GPS jest stary. Jest to integralna część tego, w jaki sposób odbiorniki GPS mogą wykrywać wyjątkowo słaby sygnał, oraz w jaki sposób wszystkie satelity GPS mogą transmitować na jednej częstotliwości, ale nadal odbierać niezależnie. Wiele skomplikowanych rzeczy dzieje się w odbiorniku GPS.
JRE
5
@TomTom: Nie, tajemnica GPS nigdy nie została osiągnięta przez niejasność. Być może myślisz o dostępności selektywnej (SA), ale był to celowy błąd pozycjonowania.
MSalters
1
@TomTom: Rozproszone spektrum GPS nie miało na celu ukrycia sygnałów. Ma to wpływ na proste odbiorniki RF, ale nie o to chodziło. Technika widma rozproszonego daje dwie rzeczy: działanie z wyjątkowo niskim stosunkiem sygnału do szumu oraz stopień odporności na zagłuszanie. Prawie wszyscy i jego brat wiedzą (i wiedzieli, kiedy), jakiej częstotliwości używa GPS. Nie ma sensu ukrywać tego, co już wiadomo. Dużym plusem był jednak brak (łatwego) zablokowania. Są jammery GPS (teraz), ale wtedy było to o wiele trudniejsze.
JRE
8

Częściową odpowiedzią jest to, że GPS telefonu komórkowego to nie tylko GPS. Komórka wykorzystuje również inne informacje do geolokalizacji, takie jak triangulacja wież telefonii komórkowej i widoczność sieci Wi-Fi. Na przykład niekomórkowa wersja iPada Air nie ma faktycznego GPS, ale nadal wie, gdzie jesteś w obszarach zabudowanych za pomocą tych technik.

David Richerby
źródło
4
Pytanie dotyczyło w szczególności sposobu działania GPS. Telefony komórkowe nie mogą triangulować z wież komórkowych, ponieważ nie są dostępne żadne informacje o lokalizacji.
Tranzystor
6
@Transistor Pytanie porównuje autonomiczny GPS z telefonem komórkowym GPS, a tytuł pytania pyta konkretnie, w jaki sposób telefony komórkowe robią GPS szybciej niż samodzielne urządzenia GPS. I Wikipedia mówi, że telefony komórkowe nie używać wieży triangulacji aby określić lokalizację. Nie jestem pewien, dlaczego twierdzisz, że nie ma dostępnych informacji o lokalizacji: pewnie, wieża nie ogłasza swojej lokalizacji, ale drogi też nie ogłaszają ich lokalizacji: twój telefon ma mapę zapisaną w bazie danych.
David Richerby,
3
@ Tranzystor: telefon nie wykonuje triangulacji. Dostawca sieci to robi.
Jörg W Mittag
2
@ JörgWMittag: Zależy od sieci AFAICT. Nowoczesne sieci zapewniają usługi lokalizacyjne w ramach Enhanced 911 / E112.
MSalters
@DavidRicherby: Dzięki za link. Przeczytałem go dwa razy, ale widzę tylko, że lokalizacja telefonu jest znana sieci, a nie telefonowi. Czego mi brakowało?
Tranzystor
5

Chciałem tylko trochę bardziej szczegółowo opisać, co dzieje się, gdy starsze odbiorniki czekają na dane. Innymi słowy, dlaczego ten almanach (i zapamiętana pozycja) jest tak przydatny?

Sygnały GPS są bardzo słabe. Biorąc pod uwagę odległość, sygnał dociera znacznie poniżej poziomu szumu, gdy dociera do ziemi. Nigdy nie wykryłbyś satelity bezpośrednio, gdybyś po prostu oglądał skan lunety z prawidłową częstotliwością.

Sposób, w jaki odbiornik uzyskuje informacje, polega na porównaniu przychodzącego sygnału z określonym wzorcem (poprzez korelację FFT). Jeśli zastosowany zostanie prawidłowy wzorzec, korelacja zostanie wyrównana, a dane będą widoczne.

Do prostego odbiornika w starym stylu dojście do tego punktu wymaga od korelatora urządzenia dwóch rzeczy: częstotliwości wiadomości z satelity i fazy wiadomości (wyrównania wzorców). Jeśli którykolwiek z nich jest niepoprawny, korelacja kończy się niepowodzeniem i nic nie jest wykrywane. Ruchy satelitów oznaczają, że odbierany sygnał podlega stosunkowo dużym przesunięciom Dopplera.

Po umieszczeniu almanachu i dobrym wyobrażeniu o bieżącej lokalizacji i czasie odbiornik może oszacować względne ruchy satelity i odbiornika, aby usunąć większość przesunięcia Dopplera i zbliżyć się nieco do częstotliwości. Oznacza to, że korelator może zwykle znaleźć trafienie, po prostu wypróbowując różne fazy dla wzorca sygnału. To wyszukiwanie w przestrzeni fazowej można wykonać w ciągu kilku sekund.

Jeśli brakuje almanachu lub nie ma oszacowania aktualnej lokalizacji i czasu, system musi wypróbować różne fazy i różne częstotliwości, aby uzyskać dane z każdego satelity. Teraz, gdy trzeba szukać w dwóch różnych wymiarach, nawet system wielokanałowy może „znaleźć” 3 satelity brutalną siłą.

Nowoczesne chipsety mogą korzystać z dodatkowych sygnałów i wielu równoległych komparatorów, aby przyspieszyć wyszukiwanie, nawet bez obecności A-GPS. Podejrzewam, że chipset, który otrzymujesz na tarczy Arduino, jest prawdopodobnie starszy / tańszy i nie będzie korzystać z tych nowszych funkcji.

BowlOfRed
źródło
3

W Stanach Zjednoczonych FCC wymagało od operatorów telefonii komórkowej rozpoznania lokalizacji dzwoniącego podczas wybierania służb ratunkowych na odległość do 300 metrów w ciągu 6 minut od pierwszego połączenia telefonicznego do 11 września 2012 r.

Było to stopniowo wprowadzane w poprzednich latach, a wymóg został zaostrzony zarówno w raportach dotyczących odległości, jak i czasu do lokalizacji w późniejszych latach.

Firmy telefonii komórkowej nie mogły tego zagwarantować w odległych obszarach, gdzie tylko jedna lub dwie wieże komórkowe były w kontakcie z telefonem komórkowym, ani w środowiskach miejskich, w których odbicia i gęstość budynków uniemożliwiały lokalizację, nawet gdy telefon miał kilka wież, które mógł otrzymać. Chipy GPS nie były w stanie zapewnić tego w wymaganym czasie przy wystarczającej mocy, aby telefon komórkowy był nadal opłacalny (w momencie wprowadzenia tego wymogu. Chipsety są teraz znacznie bardziej energooszczędne i szybsze, częściowo ze względu na wymaganie że każdy telefon zawiera część lub całość chipsetu GPS). Ponadto chipsety GPS były bardzo drogie w porównaniu z innymi elementami telefonu.

Stworzyli więc kilka różnych konkurencyjnych systemów, które wszystkie należą do pseudonimu „AGPS” dla Assisted GPS.

Technologia działająca za tymi różnymi systemami AGPS różni się, czasem bardzo.

Najtańsze komórkowe systemy AGPS rejestrują kilka milisekund sygnału GPS RF, wysyłają go do serwera AGPS, który następnie, znając przybliżoną lokalizację telefonu, może użyć tego fragmentu GPS RF do ustalenia znacznie dokładniejszej pozycji. Te telefony nie mogą uzyskać współrzędnych GPS bez dobrego połączenia komórkowego.

Niektóre mają pełne chipsety GPS, ale pozwalają telefonowi na dostarczenie almanachu i efemeryd - dwóch informacji, które pozwalają chipsetowi uzyskać poprawkę w ciągu kilku sekund - po czym wykorzystuje swoje normalne metody do uzyskiwania wyników pozycjonowania. W danym czasie telefony te mogą uzyskać pozycję niezależnie od sieci.

Większość chipsetów GPS pozwala na ładowanie do nich efemeryd i almanachu, więc jeśli twoje urządzenie arduino ma połączenie z Internetem i masz dostęp do serwera AGPS, możesz przyspieszyć naprawę GPS w podobny sposób. Jednak w przypadku większości projektów po prostu dodanie litowej baterii pastylkowej do odpowiedniego styku odbiornika GPS pozwala zachować ostatnią aktualizację almanachu i efemeryd, a ponieważ zmiany są niewielkie w krótkim okresie, znacznie przyspiesza to pierwszą poprawkę, ponieważ dopóki urządzenie nie przemieściło tysięcy mil i jest włączane co kilka dni.

Adam Davis
źródło