Rozwój technologii GPS jest dobitnym przykładem geniuszu człowieka. Z respektem musze się przyznać, że ogarniam jedynie w zarysach postawy tej technologii, co wprowadza mnie w stan zwątpienia, że jestem w stanie kompleksowo omówić patenty z tej dziedziny. Ale wiara, że w końcu zgromadzę niezbędne dane czyli tzw. masę krytyczna, która pozwoli zrozumieć sedno problemów stosowania i eksploatacji systemu nawigacji satelitarnej GPS, motywuje mnie do dalszej penetracji w/w dziedziny telekomunikacji. Ponieważ satelity GPS przesyłają niezwykle precyzyjne sygnały czasu wraz z danymi nawigacyjnymi, które następnie odbiorniki GPS wykorzystują do obliczenia ich dokładnej lokalizacji na Ziemi, to w ramach wstępu należy przedstawić struktura sygnału GPS oraz system transmisji danych. Podstawową cecha transmisji sygnałów GPS jest zastosowanie technologii widma rozproszonego, która stanowi jej serce. Metoda ta rozprasza sygnał w szerokim zakresie częstotliwości, zwiększając jego odporność na zakłócenia i zagłuszanie.
W uproszczeniu sygnał GPS składa się z trzech różnych komponentów: fali nośnej, kodów i komunikatu nawigacyjnego. Oto, jak każdy z tych komponentów odgrywa kluczową rolę w funkcjonowaniu GPS.
Fale nośne to podstawowe fale sinusoidalne, które transportują sygnał GPS przez przestrzeń kosmiczną do odbiorników na Ziemi. Fale te działają na dwóch głównych częstotliwościach, L1 i L2, które odpowiadają odpowiednio 1575,42 MHz i 1227,60 MHz. Istnieje również trzecia częstotliwość, L5, 1176,45 MHz, przeznaczona głównie do zastosowań w nawigacji i transporcie w zakresie bezpieczeństwa życia.

Z kolei do transmisji sygnałów w widmie rozproszonym stosuje się dwa rodzaje kodów:
- Kody liczb pseudolosowych (PRN): Każdy satelita w konstelacji GPS nadaje unikalny kod PRN, który pomaga odbiornikom GPS odróżniać sygnały pochodzące z różnych satelitów. Istnieją dwa typy kodów:
Kod Coarse/Acquisition (C/A): Przeznaczony do użytku cywilnego i zapewniający standardową usługę pozycjonowania.
The chip rate of a code is the number of pulses per second (chips per second) at which the code is transmitted (or received). The chip rate is larger than the symbol rate, meaning that one symbol is represented by multiple chips.
Kod precyzyjny (P): Kod ten jest przeznaczony do zastosowań wojskowych i zapewnia dokładniejsze pozycjonowanie dzięki wyższej częstotliwości chipping rate.
The coarse/acquisition (C/A) code has a 1.023 MHz chip rate, a period of 1 millisecond (ms) and is used primarily to acquire the P-code. The precision (P) code has a 10.23 MHz rate, a period of 7 days and is the principal navigation ranging code.
- Kody komunikatów nawigacyjnych: Kody te zawierają dane potrzebne odbiornikowi do obliczenia położenia, a także informacje takie jak położenie satelity, poprawki zegara i stan jego diagnostyki.
Jakby tego było mało odbiornik GPS dekoduje tzw. wiadomości nawigacyjne to komunikaty o małej zmienności,, który odbiornik GPS dekoduje w celu uzyskania dokładnej pozycji satelity w danym momencie. Składa się on z danych oznaczonych znacznikami czasu, w tym danych almanachowych i efemerydalnych:
Dane almanachowe: Dane te dostarczają przybliżonych parametrów orbitalnych dla wszystkich satelitów w konstelacji i są przydatne do określania, które satelity są widoczne w danym czasie i miejscu.
Dane efemerydalne: Dostarczają precyzyjnych parametrów korekcji orbity i zegara dla satelity, co jest niezbędne do dokładnego pozycjonowania.
Ostatnim etapem przetwarzania sygnałów GPS jest proces transmisji danych
Satelity GPS nieustannie przesyłają swoje sygnały, zakodowane zarówno unikalnymi kodami PRN, jak i komunikatem nawigacyjnym. Oto jak przebiega cały proces transmisji:
- Kodowanie sygnału: Satelity GPS generują niezbędne kody PRN i wiadomości nawigacyjne, które zostaną wysłane do odbiorników.
- Modulacja: Kody te są następnie modulowane na falach nośnych za pomocą procesu zwanego kluczowaniem z przesunięciem fazy binarnej (BPSK), w którym faza fali nośnej jest przesuwana w celu przedstawienia cyfr binarnych kodów.
- Transmisja: Zmodulowany sygnał jest następnie przesyłany z satelity w kierunku Ziemi, wykorzystując prawoskrętną polaryzację kołową, co pomaga zapewnić integralność sygnału w jonosferze.
- Odbiór: Odbiorniki GPS na ziemi lub na pokładzie różnych platform, takich jak samoloty lub statki, przechwytują sygnał za pomocą anten.
- Demodulacja i dekodowanie: Odbiornik demoduluje i dekoduje sygnał, aby wyodrębnić kody PRN i dane komunikatów nawigacyjnych.
- Obliczanie położenia: Korzystając z zdekodowanych danych z co najmniej czterech satelitów, odbiornik GPS może obliczyć swoją dokładną lokalizację na podstawie różnicy czasu między sygnałami wysłanymi i odebranymi, znanej jako czas przybycia (TOA- Time of Arrival ).
US4457006 Global positioning system receiver, Reuben E. Maine, Data patentu: 26.06.1984. Przedmiotem wynalazku jest system odbiornika GPS w którym odbierane dane są modulowane przez dwa pseudolosowe kody szumowe, co skutkuje transmisją o rozproszonym widmie z satelity. Technika ta umożliwia wybór dowolnego satelity poprzez zastosowanie rodziny kodów, które mają bardzo niskie współczynniki korelacji krzyżowej z innymi członkami rodziny. Kody te charakteryzują się również bardzo niską autokorelacją odpowiedzi bocznych, co pozwala na jednoznaczny pomiar opóźnienia czasowego, a tym samym zasięgu. Proces korelacji lub „rozpraszania” w odbiorniku zapewnia duży „wzrost przetwarzania”, który zapewnia dobry stosunek sygnału do szumu przy niskich poziomach transmitowanego sygnału i ma tendencję do odrzucania sygnałów zakłócających, które zwykle występują w środowisku naturalnym. Dwa kody, „clear/acquisition” (kod C/A) i „precision” (kod P), modulują nośną w sposób czterofazowy, dzięki czemu każdy z nich może być odbierany indywidualnie bez zakłóceń ze strony drugiego lub nawet bez konieczności demodulacji drugiego. Jak sama nazwa wskazuje, kod C/A jest transmitowany w postaci niezaszyfrowanej i służy do wstępnej lokalizacji każdego satelity. Z kolei kod P, który obecnie jest transmitowany w postaci niezaszyfrowanej, ale który może być zaszyfrowany według uznania systemu ze względów bezpieczeństwa narodowego, zapewnia najwyższą dokładność pomiaru odległości, a tym samym dokładność systemu.

Odbiornik systemu nawigacyjnego skonstruowany zgodnie z niniejszym wynalazkiem zostanie teraz opisany bardziej szczegółowo, na przykład, z odniesieniem do załączonych rysunków, na których:
Fig.1 przedstawia schemat blokowy typowego odbiornika nawigacyjnego, Fig.2,3 i 4 przedstawiają schematy bloków funkcjonalnych odbiornika niniejszego wynalazku, Fig.5 przedstawia przebiegi sygnałowe związane z odbiornikiem z Fig.2–4, Fig.6 przedstawia uproszczony schemat blokowy oprogramowania służącego do sterowania odbiornikiem z Fig.2–4.
Odnosząc się teraz do Fig.1, schemat blokowy ilustruje typowy odbiornik nawigacyjny 10, który może być dostosowany do użytku w systemie Loran, Transit, Omega lub GPS. Zazwyczaj sygnał z modulacją częstotliwości radiowej (RF) jest sprzężony z „front endem” 11 odbiornika (klasycznym odbiornikiem heterodynowym) za pomocą kabla antenowego 7, który prowadzi z dookólnej anteny 12. Specjalny interfejs sprzętowy 50 przetwarza odebrany sygnał w celu jego przekazania do mikroprocesora 24. Dostęp do mikroprocesora 24 zapewnia konwencjonalne urządzenie do wprowadzania i wyświetlania danych 8. Zewnętrzny interfejs systemowy 9 łączy odbiornik nawigacyjny 10 z zewnętrznym systemem Loran, Transit, Omega lub GPS.
Odnosząc się teraz do Fig.2, schemat blokowy ilustruje nowatorski odbiornik jednokanałowy 10, który jest dobrze przystosowany do zastosowania w systemie o rozproszonym widmie, takim jak GPS (Global Positioning System). „Front end” 11 odbiornika GPS 10 jest ogólnie oznaczona strzałką 11 i jest zasadniczo odbiornikiem dwu-heterodynowym z drugą częstotliwością pośrednią w zakresie audio. Dwufazowy modulowany sygnał RF o częstotliwości około 1575,42 MHz jest dostarczany do odbiornika GPS 10 za pośrednictwem dookólnej anteny 12. Sygnał wejściowy RF jest wzmacniany przez wzmacniacz RF 13, który jest sprzężony z pierwszym mikserem 14. Pierwszy mikser 14 heterodynuje sygnał wejściowy RF z sygnałem o częstotliwości około 1503,81 MHz, dostarczanym przez mnożnik częstotliwości 15. Sygnał wyjściowy pierwszego miksera 14 jest podawany na szerokopasmowy wzmacniacz 16, który reaguje na sygnał automatycznej regulacji wzmocnienia (AGC). Preferowana jest modulacja w modulatorze lub korelatorze 17 pierwszej częstotliwości pośredniej lokalnie generowanym pseudolosowym kodem szumu C/A jako technika korelacji, ponieważ umożliwia ona dodanie w przyszłości korelatora kodu P w tym samym punkcie. Należy zatem zauważyć, że lokalizacja korelatora 17 jest kwestią wyboru projektu. Szerokość pasma odbiornika 10 do tego punktu wynosi około 30 MHz, co jest wystarczające do przesłania kodu P. Sygnał wyjściowy modulatora lub korelatora 17 jest podawany na drugi mikser 21 za pośrednictwem wzmacniacza wąskopasmowego 20. Drugi mikser 21 heterodynuje sygnał rozproszony z sygnałem o częstotliwości około 71,61 MHz i podaje sygnał wyjściowy częstotliwości audio do dostrojonego wzmacniacza audio 22. Sygnał wyjściowy dostrojonego wzmacniacza audio 22 to sygnał nośny o częstotliwości 1 kHz, z którego usunięto modulację kodu C/A za pomocą modulacji korelacyjnej, a pasma boczne kodu P, inne szumy i sygnały zakłócające zostały stłumione przez wąskie pasma przenoszenia po modulacji.
Lokalne częstotliwości oscylatora, tj. sygnały 1503,81 MHz i 71,6 MHz, niezbędne do wygenerowania sygnału wyjściowego 1 kHz, są uzyskiwane z oscylatora kwarcowego sterowanego napięciem (VCXO) 28, przy użyciu mnożników częstotliwości z synchronizacją fazową 15. VCXO 28 musi charakteryzować się stosunkowo niskim szumem fazowym, dobrą stabilnością krótkoterminową i powtarzalną funkcją napięcia/częstotliwości. Wymagana długoterminowa stabilność jest funkcją spodziewanego czasu braku sygnału i czasu poszukiwań przeznaczonego na pozyskanie pierwszego satelity. Po namierzeniu satelity oscylator można skalibrować za pomocą oprogramowania, dzięki czemu późniejsze szacunki częstotliwości będą dokładne.
Oscylator kwarcowy o średniej jakości umożliwi początkowe zbieranie danych bez poszukiwania częstotliwości przez okres przerwy trwający od kilku dni do tygodnia. Preferowanym trybem pracy jest pozostawienie urządzenia włączonego na stałe. Wybór sygnału nośnego 1 kHz zamiast sygnału wyjściowego pasma podstawowego pozwala na znaczne uproszczenie sprzętu odbiornika 10. Szerokość pasma wzmacniacza 1 kHz 22 umożliwia akwizycję sygnałów o częstotliwości około ±500 Hz wokół częstotliwości nominalnej za pomocą prostego detektora amplitudy, opisanego poniżej, zapewniając jednocześnie doskonały stosunek sygnału do szumu. Fig.5 graficznie ilustruje sygnał odbiornika 1 kHz wraz z lokalnie generowanym sygnałem odniesienia 1 kHz, zsynchronizowanym fazowo z sygnałem odbieranym. Ilustracja przedstawia również dwufazową modulację sygnału przez strumień danych satelitarnych.
Fig.3 ilustruje schemat blokowy interfejsu lub obwodów przetwarzania dźwięku 50 niezbędnych do połączenia „front endu” 11 z komputerem lub mikroprocesorem 24. Pierwszym wymaganiem interfejsu sprzętowego 50 jest wykrycie obecności sygnału wyjściowego odbiornika, tj. dwufazowego modulowanego sygnału wyjściowego dostrojonego wzmacniacza audio 22, który zazwyczaj ma częstotliwość od około 700 do 1500 Hz. W urządzeniu niniejszego wynalazku odbywa się to za pomocą prostego detektora amplitudy 51 i przetwornika analogowo-cyfrowego 52, który przesyła dane amplitudy do mikroprocesora 24. Korzystnie, detektor amplitudy 51 zawiera konwencjonalny detektor diodowy i filtr. Po dotarciu amplitudy sygnału do mikroprocesora 24, może ona zostać przefiltrowana w celu uzyskania poziomu szumu tła; porównywana okresowo z tym poziomem szumu w celu wykrycia sygnału; wykorzystywana do sterowania wzmocnieniem odbiornika za pomocą przetwornika cyfrowo-analogowego 62 i (gain latch 8 bits) rejest 8 bitowy wzmocnienia 63; wykorzystywana jako wskaźnik jakości sygnału; lub porównywane ze sobą na podstawie współdzielonego czasu w celu wykrycia korekcji układzie tau–dither , gdzie :
Układ tau-dither przetwarza rozproszone widmo komunikacyjne, w pierwszy kod PN z dużą zmianą fazy i drugi kod PN bez zmiany fazy, przy czym pierwszy kod PN jest używany jako kod PN do synchronicznego śledzenia odebranego sygnału, a drugi kod PN jest używany jako kod PN do usuwania rozproszenia odebranego sygnału.
Sygnał wyjściowy o częstotliwości 1 kHz ze wzmacniacza audio 22 odbiornika 10 jest ściśle ograniczony do poziomów logicznych TTL przez wzmacniacz ograniczający o wysokim wzmocnieniu 53 i przesyłany do mikroprocesora 24 za pośrednictwem bramki 67. Należy zauważyć, że ten sygnał cyfrowy nadal zawiera modulację dwufazową danych satelitarnych, a mikroprocesor 24 może teraz przetworzyć sygnał w celu uzyskania przesłanych danych i synchronizacji czasu lokalnego z dokładnością do 1 milisekundy, wykorzystując „licznik Z” i informacje o synchronizacji bitowej. Stanowi to znaczną oszczędność sprzętu w porównaniu z konwencjonalnymi kanałami I i Q, technikami integracji i zrzutu, powszechnie stosowanymi w systemach wyjściowych pasma podstawowego. Sygnał cyfrowy jest również podawany na specjalny detektor dwufazowy i filtr 54, które generują sygnał błędu fazy, służący do zamknięcia konwencjonalnej pętli synchronizacji fazowej z powrotem do VCX0 28.
Detektor fazy 54 zawiera przerzutnik typu D i dwie bramki równoważenia różnicowego (OR), które generują napięcie sterujące fazą, blokujące sygnał odniesienia 1 kHz z dzielnika częstotliwości 55 z sygnałem wyjściowym odbiornika dostrojonego wzmacniacza audio 22. W detektorze fazy 54 fazy sygnału wyjściowego odbiornika z modulacją dwufazową i sygnału odniesienia 1 kHz są porównywane w celu uzyskania sygnału błędu lub sygnału sterującego fazą, który steruje oscylatorem sterującym napięciem 28, aby zachować kwadraturę fazy między sygnałem odniesienia a sygnałem wyjściowym odbiornika z modulacją dwufazową. Detektor fazy 54 generuje również cyfrowy sygnał wyjściowy, reprezentujący dane zawarte w sygnale wyjściowym odbiornika z modulacją dwufazową. Ten stosunkowo prosty obwód ma więc taki sam efekt jak pętla Costa w konwencjonalnym układzie o rozproszonym widmie.
Ponieważ zakres Dopplera satelity jest dość duży, wstępne oszacowanie częstotliwości jest dodawane przez przetwornik cyfrowo-analogowy 64 i przerzutnik 65 z mikroprocesora 24. To wstępne oszacowanie jest reprezentatywne dla zgrubnego sygnału AFC. Po ustaleniu częstotliwości, mikroprocesor 24 monitoruje wyjściowy wzmacniacz prądu stałego 56 i modyfikuje zgrubny sygnał wyjściowy AFC, aby utrzymać szybki sygnał AFC i powiązane z nim obwody w pobliżu środka zakresu roboczego. Porównanie zgrubnego sygnału wyjściowego AFC z obliczonym przesunięciem Dopplera umożliwia kalibrację funkcji napięcie/częstotliwość VCX0 28.
Gdy obwody przetwarzania sygnału wskazują na prawidłowe namierzenie odebranego sygnału, mikroprocesor 24 integruje próbki z detektora progowego AFC 61. Zastosowana zostaje korekcja zgrubnej AFC, aby utrzymać równe próbki powyżej i poniżej, a tym samym utrzymać szybki układ AFC w środku zakresu roboczego. Układ AFC jest również wspomagany przez układy śledzenia korelacji, dzięki czemu akwizycja sygnału o częstotliwości zbyt odbiegającej od częstotliwości, aby układ AFC mógł go namierzyć, spowoduje przesunięcie sygnału wyjściowego zgrubnej AFC w kierunku korygującym błąd częstotliwości.
Funkcja przesunięcia fazy służy do uzyskania i utrzymania korelacji czasowej między lokalnie generowanym kodem szumu pseudolosowego (PRN), a kodem odebranym. Faza jest przesuwana przyrostowo przez przesuwnik fazy 19 i mikroprocesor 24 z dużą szybkością, aż do wykrycia korelacji. Podczas śledzenia satelity faza jest okresowo nieznacznie przyspieszana i opóźniana, aby wygenerować sygnał błędu amplitudy, umożliwiający detekcję piku korelacji (dither tau). Mikroprocesor 24 dokonuje długotrwałych korekt o pojedynczym inkremencie, w razie potrzeby, aby utrzymać korelację na poziomie piku. W efekcie faza kodu korelacyjnego jest ditherowana lub naprzemiennie przesuwana w każdą stronę piku korelacji z bardzo niską częstotliwością. Mikroprocesor 24 dostarcza referencyjny sygnał prostokątny, który umożliwia różnicową detekcję amplitudy. Wyjście detektora amplitudy 51 jest zatem wykorzystywane przez mikroprocesor 24 do utrzymania kodu na poziomie piku korelacji.
Co więcej, tak rozdzielone korekty fazy są integrowane i dodawane do sygnału sterowania częstotliwością zgrubną, jak opisano powyżej, aby częstotliwość znalazła się w zakresie układu lokalizacji fazy skojarzonego z VCX0 28.
Należy zauważyć, że częstotliwość odniesienia 1 kHz używana w detektorze dwufazowym 54 pochodzi z zegara kodowego z przesunięciem fazowym. Ponieważ w normalnej pracy jest on zsynchronizowany fazowo z odbieranym sygnałem, długotrwała regulacja fazy nie powinna być konieczna, o ile synchronizacja jest zachowana. Jest to niemal prawdą, ale nie do końca, ponieważ użycie sygnału wyjściowego 1kHz zamiast pasma podstawowego (przy jednoczesnym wykorzystaniu prostych współczynników w lokalnych mnożnikach oscylatora) powoduje niewielkie, ale dokładnie znane przesunięcie częstotliwości, a tym samym okresowe zwiększanie fazy przez mikroprocesor 24. Ponadto, pomiar czasu lokalnego kodu C/A z dokładnością do 1 kHz jest dokonywany poprzez określenie przesunięcia fazowego zegara kodowego 1,023 MHz z oscylatora czasowego 58 1,023 MHz za pomocą komparatora fazy 59. Odbywa się to pod kontrolą programową i nie ma wpływu na detekcję błędu korelacji.
Odnosząc się teraz do Fig.4, schemat blokowy ilustruje serce sprzętu do pomiaru zasięgu, który obejmuje generator kodu 70, bramkę 71 i zatrzask 72. Zastosowana technika polega na jak najdokładniejszym zatrzymaniu zegara kodu w momencie wystąpienia znacznika czasowego. Dokładność lokalnego zegara czasowego w tym zastosowaniu nie jest zbyt istotna, o ile jest on stabilny. Mikroprocesor 24 określa czas trwania śledzenia satelity i za pomocą sygnału „DWELL END” ustawia sprzęt tak, aby zatrzymał się w momencie wystąpienia kolejnego znacznika czasowego. Stan kodu PRN w momencie zatrzymania, a także przesunięcie fazowe zegara mogą być teraz w dowolnym momencie wprowadzone do mikroprocesora 24. Ta technika upraszcza zarówno sprzęt, jak i oprogramowanie. Wszystkie pomiary zasięgu satelity są automatycznie odnoszone do wspólnej bazy czasu, co ułatwia interpolację w systemie sekwencyjnym, w przeciwieństwie do losowych czasów wynikających z technik pomiaru czasu epoki kodu.
Technika pomiaru epoki zazwyczaj wymaga również dodatkowego, szybkiego rejestru zatrzasku sprzętowego 72 do przechowywania pomiaru czasu do momentu jego pobrania przez mikroprocesor 24. Generator kodu PRN 70 jest również włączany synchronicznie z tym samym znacznikiem czasu 2 milisekundy później, po uprzednim ustawieniu przez mikroprocesor 24 nowego kodu PRN i jego stanu w celu zminimalizowania czasu wyszukiwania podczas śledzenia sekwencyjnego. Wybór czasu przerwania zgodnego z czasem trwania kodu C/A znacznie upraszcza obliczenia wstępne, ponieważ mikroprocesor 24 utrzymuje czas lokalny poprzez zliczanie przerwań. Jak wspomniano powyżej, cały ten proces jest kontrolowany przez oprogramowanie mikroprocesora 24, a pełniejsze zrozumienie działania niniejszego wynalazku można uzyskać poprzez opis tego oprogramowania.
Odnosząc się teraz do Fig.6, przedstawiono uproszczony schemat blokowy programu czasu rzeczywistego 80 do sterowania sprzętem niniejszego wynalazku. Programowanie jest nieco nietypowe, ponieważ każda funkcja główna mierzy czas i w ostatnim okresie 1 milisekundy ustawia wektor przerwań na kolejną odpowiednią funkcję, w zależności od wyników decyzji. Program działający w tle nie ma wówczas bezpośredniego powiązania z programem czasu rzeczywistego 80 po inicjalizacji. Zmiany w programie czasu rzeczywistego 80, takie jak przypisywanie satelitów, są dokonywane poprzez wprowadzanie danych do określonych lokalizacji w pamięci i/lub ustawianie flag. Oczywiście, po zakończeniu każdego zadania trwającego 1 milisekundę, program czasu rzeczywistego 80 powraca do programu działającego w tle, aż do wystąpienia kolejnego przerwania. To podejście okazało się bardzo skuteczne, ponieważ programem działającym w tle może być niemal wszystko, na przykład monitor narzędziowy dostarczany z mikrokomputerem, który działa całkiem zadowalająco wraz z programem czasu rzeczywistego. Terminal podłączony do mikroprocesora 24 może być wówczas używany jako usługa wprowadzania i wyświetlania danych, a program działający w tle może zostać przekierowany do typowych programów wymaganych do działania systemu, takich jak przetwarzanie danych, ustalanie pozycji i programy przewidywania almanachu, przy jednoczesnym kontynuowaniu śledzenia satelitów.
Źródła uzupełniające:
W ramach dopełnienia informacji na temat GPS polecam żródła: Zasady działania GPS oraz przedstawiam wykresy widma sygnałow GPS z zobrazowaniem szerokość pasma transmisji poszczególnych sygnałów GPS.

Basic GPS Concepts – 03 GPS codes https://youtu.be/Mv21lMx9lxE