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?
81
Odpowiedzi:
Jest kilka rzeczy, które wpływają na czas do pierwszej naprawy (TTFX) .
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ć:
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ąć.
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.
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ą.
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ę.
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.
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.
źródło
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ść.źródło
Inne odpowiedzi już wyjaśniły „jak” i „dlaczego”, więc wszystko, co mi pozostało, to „co”: nazywa się to A-GPS (GPS wspomagany, czasem nazywany także GPS przyspieszonym lub rozszerzonym) .
Innymi słowy: powodem, dla którego GPS telefonu działa szybciej niż „GPS GPS”, jest to, że telefon nie używa „GPS”, używa GPS.
źródło
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.
źródło
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.
źródło
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.
źródło