Systemy nawigacji satelitarnej są obecnie najpopularniejszym sposobem wyznaczania pozycji na powierzchni Ziemi. Oferując relatywnie wysoką dokładność pomiaru oraz pokrycie blisko 100% obszaru globu, znajdują zastosowanie w szerokiej gamie aplikacji.
Pierwsza programowa implementacja (ang. software-defined radio, SDR) odbiornika NAVSTAR-GPS została przedstawiona w roku 1997 [Ako97]. Technologia SDR jest dzisiaj w centrum zainteresowania producentów odbiorników radiowych (nie tylko sygnałów nawigacyjnych), a co za tym idzie również wielu inżynierów. Głównym celem SDR jest stworzenie otwartej i elastycznej architektury, która pozwoliłaby na budowę odbiorników rekonfigurowalnych. Częścią niezbędną takiego urządzenia jest antena oraz szerokopasmowy przetwornik analogowo-cyfrowy (ADC) dostarczający dane do programu odbiornika. Jest to przypadek idealny, w praktyce wymagane jest zastosowanie dodatkowych układów analogowych (m.in. filtry, miksery oraz inne urządzenia składające się na front-end radiowy) [MNS05].
Sygnał nawigacyjny na drodze od satelity do odbiornika na Ziemi ulega nieustannej degradacji, przy czym najbardziej niekorzystnie wpływa na niego przesunięcie częstotliwości (zgodnie z zasadami efektu Dopplera) oraz opóźnienia związane z budową atmosfery. Zostało opracowanych wiele modeli atmosferycznych pozwalających wyeliminować błędy wprowadzane przez atmosferę. Kompensacja przesunięcia Dopplera zależy w całości od jakości i budowy odbiornika, co z kolei w dużej mierze jest zależne od efektywności algorytmów użytych do przetwarzania próbek danych.
Przedstawiona w pracy implementacja systemu NAVSTAR-GPS pozwala w czasie rzeczywistym obserwować działanie systemu satelitów, kanału oraz programowego odbiornika. Przeprowadzone badania eksperymentalne pokazują wpływ zakłóceń kanałowych na degradację sygnału, jak również obrazują zmiany jakości odbieranego sygnału po zastosowaniu scramblingu danych nawigacyjnych.
Kompletny model systemu NAVSTAR-GPS został wykonany w środowisku Simu-link, wchodzącego w pakiet oprogramowania MATLAB R2008a. Zaimplementowane zostały modele satelitów transmitujące sygnał nawigacyjny na nośnej LI (wykorzystany do badań opublikowanych w tej pracy) oraz na nośnych LI i L2. Z uwagi na bardzo dużą liczbę obliczeń, co przekładało się na długie czasy symulacji, częstotliwość LI została obniżona do wartości 21,25 MHz. Model jest w całości dyskretny, LI próbkowana jest z częstotliwością 212,5 MHz, następnie z częstotliwością 5 MHz w radiowym front-end. Układ wstępnego wyszukiwania sygnału realizuje podejście zrównoleglane dla faz kodu C/A (ang. parallel codę phase search acąuisition) oraz udoskonalanie otrzymanej wartości nośnej do fine freguency. Siedzenie fazy kodu przeprowadzane jest poprzez zastosowanie bramki early-late z niekoherentnym dyskryminatorem (ang. normalized early minus late power discriminator), odpowiednio śledzenie częstotliwości nośnej realizuje pętla Costasa z dyskryminatorem opartym o odwrotną funkcję tangensa (ang.