Często pojawiają się na Forum pytania jak wyżej. Odbywają się także w tej kwestii przeróżne dysputy, zwykle na tle tego dlaczego tak długo, jak to zrobić żeby "szybko złapać fixa", lub "czy mam zepsuty odbiornik".
Myślę, że najwyższy czas na garść informacji, która ułatwi zrozumienie problemu i poźniejsze ewentualne dyskusje.
Nie zamierzam zagłębiać się w szczegóły typu rodzajów kodów wysyłanych przez satelity, faktycznej ilości satelitów, stosowanych funkcji matematycznych, korelatorów, korekcji błędów, etc., które tutaj mogłyby tylko zaciemnić sprawę. Proponuję operować "plain Polish", zrozumiałym dla profana w dziedzinie HiTech, którym sam mam wątpliwy zaszczyt być.
Padnie jednak kilka specyficznych terminów, które są zbyt często używane i zbyt kluczowe dla racjonalnego korzystania z technologii GPS, by nie wyjaśnić ich znaczenia leksykalnego i technologicznego znaczenia.
Najpierw trochę teorii.
Zacznijmy od klasycznego podziału systemu GPS na trzy segmenty: kosmiczny, kontrolny i użytkownika.
Segment kosmiczny składa się z 24 satelitów, krążących po 6 ściśle wytyczonych orbitach, na wysokości ok. 20 tys. km nad Ziemią. Trajektorie i czasy są tak opracowane, że w każdej chwili, w dowolnym miejscu na Ziemi (wyjątkiem są okolice okołobiegunowe) widocznych jest 8-12 satelitów.
W każdym momencie wiadomo gdzie który satelita powinien się znajdować i na jakiej wysokości, z jaką prędkością i w którym kierunku się poruszać oraz w jakim czasie sygnał od danego satelity powinien dotrzeć do Ziemi.
Taką wiedzę, zawartą w danych obrabianych później przez różnego rodzaju algorytmy software'owe odbiorników nazywamy
almanachem.
Satelity wyposażone są w supeprecyzyjne zegary cezowe (i/lub rubidowe), co pozwala bardzo dokładnie ustalić czas, w jakim każdy sygnał został przez nie wyemitowany.
To model teoretyczny. A tak wygląda jego graficzna prezentacja:
A tak (lub podobnie) wygląda każdy z tych satelitów:
Teoretyczność modelu niestety nie idzie w parze z praktyką. Bo np. jest wiele czynników, powodujących zboczenie przez poszczególne satelity z zaplanowanych trajektorii/orbit, a także wpływających na szybkość z jaką sygnał z każdego satelity dotrze do odbiorcy.
Aby ustalić czy nie wystąpiła taka właśnie sytuacja, czy nie uległ awarii zegar satelity, lub czy nie ma innego nieplanowanego zdarzenia mogącego spowodować błędne funkcjonowanie systemu GPS, a także aby właściwie zareagować w takich przypadkach, niebędny jest
segment kontrolny systemu.
Składa on się z naziemnych stacji, zlokalizowanych w kilku miejscach świata, które precyzyjnie analizują każdy sygnał emitowany przez każdego satelitę, sprawdzają zgodność działania systemu z założeniami, korygują trajektorię satelity (każdy z nich zawiera mini-silniczek rakietowy umożliwiający powrót na pożądany tor), analizują wpływ innych zdarzeń mogących wpływać na docieranie właściwego sygnału do odbiorcy na Ziemi w ściśle określonym czasie.
Wiedza o tych (zwykle krótkotrwałych) odstępstwach od modelu teoretycznego i koniecznych korektach zawarta jest w dokumentach/plikach zwanych
efemerydami. Powstają one jako efekt analiz dokonywanych przez segment kontrolny i są transmitowane przez niego do każdego satelity odrębnie, ten zaś dzieli się tą wiedzą z każdym odbiorcą na Ziemi. W ten sposób nieprzewidziane zakłócenia nie mają większego wpływu na prawidłowość działania systemu GPS.
Należy jeszcze dodać, że wspomniane odstępstwa nie są duże, bo o ich szybki powrót do zakładanych wartości dba segment kontrolny.
Sieć segmentu kontrolnego wygląda tak:
Jak widać, "rządzi" Master Station w Colorado Springs, USA. Inne stacje pełnią tylko funkcje usługowe - przesyłają dane wyłącznie do Master Station.
Tu dochodzimy wreszcie do sedna sprawy.
Najpierw jeszcze trzy informacje.
Almanach jest zbiorem danych o teoretycznym położeniu wszystkich satelitów i jest dostępny dla użytkownika z każdego satelity (każdy z nich może wysłać do naszego odbiornika kompletny plik). Aktualność bieżącego almanachu wynosi kilka dni. Odbiornik w momencie startu sprawdza, czy almanach jest aktualny, jeśli nie - ściąga ten zbiór danych z pierwszego dostępnego satelity.
Stąd też brak lub nieaktualność almanachu powoduje znaczne wydłużenie procedury pozycjonowania GPS.
Jest również tak, że almanach ściągnięty i przetworzony pod jedną szerokością/długością geograficzną nie będzie aktualny po przemieszczeniu odbiornika o kilka tysięcy kilometrów. Wystąpi nagła niezgodność tego, czego powinniśmy się spodziewać w układzie satelitów ponad naszymi głowami, z tym co faktycznie odbiornik tam znajduje.
Tu już jest raczej wina nie tyle samego almanachu, ile algorytmów go przetwarzających i oceniających jego aktualność. W znacznej ilości odbiorników występuje zjawisko "jet lag", skutkujące takim właśnie efektem - trudnością wyznaczenia pozycji. Nieprzypadkowo nazwa jest identyczna, jak rodzaj złego samopoczucia u pasażerów odrzutowców po pokonaniu lotu transkontynentalnego. Nagła zmiana położenia o kilka stref czasowych źle wpływa nie tylko na odbiornik GPS...
Efemeryda zaś ma ważność ok. 4-6 h. Ten zbiór danych jest specyficzny dla każdego pojedynczego satelity i tylko przez niego jest przesyłany do odbiornika GPS. Nie da się pobrać efemerydy opisującego status z innego satelity niż ten, którego opis ten dotyczy.
Trzecią niezmiernie istotną sprawą jest kwestia bardzo precyzyjnego zsynchronizowania zegara naszego odbiornika z zegarami satelitów. Różnica ułamków sekundy, to potencjalnie kwestia błędu tysięcy (!!!) kilometrów w określeniu pozycji (AFAIR - 1/100 s = ~3.000 km).
Zatem, zanim odbiornik przystąpi do określania naszej pozycji, jego firmware musi mieć pewność co do uzgodnienia z satelitami trzech powyższych danych.
Teraz kolejna informacja.
Odbiornik nie szuka "na ślepo" satelitów, tj. nie ściąga przypadkowych danych z Kosmosu i dopiero potem sprawdza czy przypadkiem nie są to sygnały GPS i czy nie da się z tego jakoś "sklecić pozycji".
Na podstawie danych z almanachu nasz GPS wie czego ma szukać - satelitów o jakim numerze porządkowym, jak odległych od Ziemi i jak może/powinien zmieniać się w czasie ich sygnał z tytułu ich bardzo szybkich przemieszczeń. Zaś bardziej precyzyjne dane (korekty) pochodzą z efemeryd.
Następną sprawą jest uświadomienie sobie, że ze ściąganiem almanachu i efemeryd oraz synchronizacją czasu jest podobnie jak z komunikacją przez port podczerwieni. Jakiekolwiek zakłócenie transmisji powoduje konieczność powtórnego jej rozpoczęcia. Kwestia podziału zbiorów danych na pakiety (efemeryda dociera np. w trzech kolejnych) ma tu mniejsze znaczenie, bo i tak wszystkie muszą dotrzeć w komplecie i we właściwej kolejności. A transmisja jest bardzo wolna - ok. 50 bps.
Stąd wynika problem wydłużenia czasu fixa, kiedy włączymy odbiornik w poruszającym się samochodzie. Drzewa, budynki, góry stające choćby na chwilę na drodze wędrującego do nas pakietu danych ustawiają transmisję z powrotem w punkcie startu, opóźniając rozpoczęcie właściwej procedury pozycjonowania.
Może więc lepiej poświęcić minutę do kilku minut na parkingu przed odjazdem, niż później zżymać się na swój odbiornik, że nie potrafi ustalić swojego położenia w ruchu?
Teraz co z tymi fixami?
W zależności od tego, jaka jest aktualność danych znajdujących się w pamięci naszego odbiornika, rozróżniamy różne rodzaje startu, skutkujące różnymi czasami osiągnięcia pierwszej prawidłowo wyliczonej przez odbiornik pozycji - fixa (TTFF - Time To First Fix).
Należy tu powiedzieć, że firmware różnych producentów chipsetów GPS zawierają różne algorytmy kontroli aktualności danych, różne procedury postępowania przy niezgodnościach, różne sposoby zastępowania starych danych nowymi, itd. Również sama architektura układów elektronicznych odbiornika i ich jakość mają wpływ na szybkość wykonywania tych operacji. Stąd też zauważymy spore różnice w czasie uzyskiwania fixa przez różne modele odbiorników.
Factory resetZwany czasem Autonomous Start, Search the Sky (Garmin).
To sytuacja w której odbiornik nie dysponuje żadnymi aktualnymi danymi - almanachem, efemerydami, zsynchronizowanym czasem. Musi je wszystkie skompletować, ściągając z satelitów.
Teoretycznie, przy idealnej widoczności nieba, silnym i niezakłóconym sygnałem z satelitów (a różne zjawiska mają miejsce w górnych warstwach atmosfery, czego często nie widać) i dobrym stanie odbiornika (czułość) powinno wystarczyć 12,5 min. Tyle bowiem czasu potrzeba na pozyskanie wszystkich danych z systemu GPS.
Dobrze jednak wiadomo, że tak krótki okres jest niemal nieosiągalny dla większości odbiorników. Duża w tym "zasługa" wspomnianych algorytmów zawartych w firmware.
Zatem w zależności od czułości odbiornika, konfiguracji i widoczności satelitów oraz jakości ich sygnałów, prawidłowości oprogramowania firmware i paru innych czynników czas ten należy szacować od kilku minut do nawet kilku godzin. Należy uzbroić się w cierpliwość i nie podejrzewać z góry naszego nowego lub bardzo długo nie używanego odbiornika o awarię. I robić tę próbę, co ważne, na możliwie otwartej przestrzeni.
Cold StartZimny start następuje wtedy, gdy almanach jest aktualny i czas jest w miarę zgodny (np. nie zmieniliśmy strefy czasowej od ostatniego użycia odbiornika), zaś nieaktualne są efemerydy dla poszczególnych satelitów biorących udział w bieżącym obliczaniu pozycji. W wielu (większości?) odbiornikach czas jest aktualizowany przy każdym włączeniu.
Jak już wspomniałem, efemeryda zmienia się dla każdego satelity co 4-6 godzin. Stąd często wynika zdziwienie, że odbiornik nie używany przez taki, pozornie krótki, okres ma problem z szybkim złapaniem fixa. Teraz już wiemy dlaczego.
Efemerydy są ściągane ze wszystkich używanych aktualnie satelitów równolegle. Najpierw jednak odbiornik musi stwierdzić, że satelita jest prawidłowo zidentyfikowany i jego sygnał jest dostatecznie silny/czytelny, aby mógł on brać udział w określaniu pozycji. Nie zawsze da się to szybko ustalić dla kompletu minimum 3-4 satelitów (konfiguracja, zakłócenia, itd.).
W zależności od trybu pracy satelitów (aktualny zestaw wysyłanych przez nie sygnałów), w którym włączymy nasz odbiornik, trwa to przy pełnej widoczności nieba i prawidłowym sygnale 35-50 s.
Znów kłania się tu zalecenie, by poświęcić na uaktualnienie efemeryd te statystyczne 45 s na parkingu, by uniknąć przerw w transmisji.
Warm StartCiepły start ma miejsce wtedy, gdy efemerydy dla co najmniej 3 satelitów biorących udział w pozycjonowaniu są aktualne, zaś jest tylko kwestia precyzyjnej synchronizacji czasu z tymi satelitami. W niektórych odbiornikach procedury odwołują się także do ostatniej pozycji GPS zapisanej w pamięci.
Warm Start następuje zwykle od 20 minut do 4 godzin po ostatnim użyciu odbiornika.
W zależności od warunków i modelu odbiornika czas ten wynosi od 7 do 35 s.
Hot Start (Quick Start)
Te 20 minut wspomniane przy ciepłym starcie wzięły się stąd, że statystycznie po takim okresie czasu zegar naszego odbiornika rozsynchronizowuje się z zegarami systemu GPS i różnica w czasie rzeczywistym przekracza 100 ms.
Dopóki to nie nastąpi, mamy do czynienia z gorącym startem, gdzie wszystkie niezbędne do obliczenia pozycji dane są aktualne i gotowe do natychmiastowego użycia. Należy to jednak zweryfikować. Sprawdzenie zajmuje nowoczesnym odbiornikom ok. 1 sekundy, zaś starszym modelom kilka/kilkanaście sekund.
Reacquisition TimeCzas reakwizycji, zwany reakcją, (umownie: kontynuowanie wyliczania pozycji) jest okresem potrzebnym do wznowienia nawigacji przez odbiornik po chwilowym zaniku sygnałów ze wszystkich satelitów, w trakcie ciągłej operacji (bez wyłączania odbiornika - bo wtedy byłby to Hot Start).
Współczesne odbiorniki mają czas reakwizycji od 1/100 s do 1 s.
Na koniec krótka ilustracja procesu określania pozycji (Cold Start):
Zgodnie z przedstawioną wyżej teorią mój odbiornik dysponuje w chwili uruchomienia wyłącznie aktualnym almanachem (nie używałem GPS ponad 4 h).
Wypisuje więc w dolnym wierszu listę satelitów, które powinny się teoretycznie znaleźć w polu widzenia. Następnie identyfikuje kolejno satelity (pojawiają się nad jego numerem puste czerwone słupki), zaczyna synchronizować czas i z tych satelitów, których sygnał uznaje za wystarczająco silny, ściąga efemerydy. Po wprowadzeniu korekt na podstawie efemeryd, satelity takie mogą brać udział w określaniu pozycji (słupek zaciemnia się na niebiesko). Kiedy skompletuje już dane z trzech satelitów, odbiornik ustala pozycję (fix) 2D. Do uzyskania fixa 3D (pozycja łącznie z wysokością) potrzebne są cztery satelity.
Tak naprawdę, cała rzecz jest dużo bardziej skomplikowana. Przedstawiłem tu jej bardzo uproszczony opis, tak jak ja te procesy rozumiem na podstawie lektury przeróżnych źródeł.
Być może gdzieś podałem błędną informację. Jeśli tak, to proszę o sprostowanie.