Wyznaczanie współrzędnych geocentrycznych odbiornika
Transkrypt
Wyznaczanie współrzędnych geocentrycznych odbiornika
Wyznaczanie współrzędnych geocentrycznych odbiornika z rozwiązania nawigacyjnego GPS 1 Wstęp Celem ćwiczenia, jest zaznajomienie z procedurą wyznaczania pozycji odbiornika GPS z obserwacji kodowych. Niezbędnym do tego celu jest również poznanie struktury pliku obserwacyjnego w formacie wymiany danych pomiarowych RINEX - niezależnym od odbiornika (Receiver INdependent EXchange). Wyznaczenie pozycji punktu odbywa się poprzez pomiar odległości od satelitów do odbiornika na podstawie pomiaru czasu przejścia sygnału od satelity do odbiornika. Najczęściej spotykaną formą pomiaru tej odległości jest jej wyznaczenie z tzw. pomiarów kodowych. Konstrukcja liniowego przestrzennego wcięcia wstecz jest zatem podstawą geometryczną wyznaczania pozycji punktu. Rys. 1: Przestrzenne wcięcie wstecz - konstrukcja wyznaczająca współrzędne w rozwiązaniu nawigacyjnym Nazwa „pomiary kodowe” pochodzi od struktury sygnału GPS, gdzie na transmitowaną częstotliwość nośną (fL1 = 154f0 , fL2 = 120f0 ; f0 = 10.23 MHz) nakładane są binarne kody. Dla częstotliwości L1 są to kody C/A Coarse/Acquisition oraz P - Precise). Dla L2 wyłącznie kod P. Sekwencje kodów powtarzają się co 1.5 s dla kodu C/A oraz co tydzień (604800 s) dla kodu P. Pomiar odległości następuje poprzez porównanie otrzymanego z satelity w momencie t sygnału kodowego z repliką kodu generowaną przez odbiornik. Ponieważ otrzymany z satelity sygnał kodowy został wygenerowany 1 wcześniej t0 , kody nie „pokryją się ”. Znając częstość próbkowania kodu (1.023 MHz dla C/A oraz 10.23 MHz dla P) możemy określić czas przebiegu sygnału od satelity do odbiornika: τPS = t − t0 (1) ρSP = τPS ∗ c (2) a tym samym odległość: Mając na uwadze wpływ czynników instrumentalnych, atmosferycznych i geometrycznych wyznaczona w powyższy sposób odległość ρSP satelity S od punktu P będzie nosić nazwę „pseudoodległości”. Podstawowe równanie obserwacji kodowych jest następujące: PPS (t) = ρSP + IPS + TPS + c(dtS (t − τPS ) − dtP (t)) − eSP (3) I to wpływ jonosfery, T - troposfery, c = 299792458 [m/s] to prędkość światła w próżni, dtS to błąd zegara satelity, dtP - błąd zegara odbiornika, e to pozostałe nieuwzględnione błędy. Równanie (3) linearyzujemy po ominięciu wpływów atmosferycznych do postaci: − Y S − YP Z S − ZP X S − XP x − y − z + 1(cdtP ) = PPS (obs) − PPS − eSP = bP − eSP PPS PPS PPS (4) W równaniu tym przyjmuje się początkowe założenie, że PPS ≈ ρSP , czyli że prawdziwa odległość od satelity do odbiornika ρSP jest w przybliżeniu równa odległości wyznaczonej z różnic współrzędnych satelitów i przybliżonych współrzędnych odbiornika. Układ równań liniowych (4) dla wszystkich obserwowanych satelitów jest rozwiązywany metodą najmniejszych kwadratów przy założeniu nieskorelowania obserwacji kodowych. ˆ = AT A −1 AT L dx x̂ ŷ ˆ = dx (5) ẑ c · ˆdtP Macierz A ma postać: A= −X S1 −XP ρS1 P −Y S1 −YP ρS1 P −Z S1 −ZP ρS1 P −X S2 −XP ρS2 P −Y S2 −YP ρS2 P −Z S2 −ZP ρS2 P −X S3 −XP ρS3 P −Y S3 −YP ρS3 P −Z S3 −ZP ρS3 P −X S4 −XP ρS4 P −Y S4 −YP ρS4 P −Z S4 −ZP ρS4 P .. . .. . .. . −X Sn −XP ρSn P −Y Sn −YP ρSn P −Z Sn −ZP ρSn P 1 1 1 1 .. . 1 (6) Wektor L składa się z różnic pseudoodległości pomierzonych ρSP (pochodzących z pliku RINEX ) oraz odległości obliczonych ze współrzędnych PPS : L = ρSP − PPS PPS q = 2 (7) 2 2 (X S − XP ) + (Y S − YP ) + (Z S − ZP ) ρSP (8) Należy tu jednak pamiętać, że pseudoodległości pomierzone w macierzy A oraz wektorze L należy przy pierwszej iteracji zredukować o błąd zegara satelity wyznaczony w pliku orbit transmitowanych lub precyzyjnych. 2 ρSP = ρSP − c · dtS (9) 0 0 0 Ostatecznie, współrzędne punktu oblicza się na podstawie współrzędnych przybliżonych [X , Y , Z ] oraz obliczonych przyrostów [x̂, ŷ, ẑ]. 0 X̂ X x̂ Ŷ = Y 0 + ŷ (10) Z0 ẑ Ẑ 2 Obliczenia w praktyce Przedstawiona w poprzednim rozdziale procedura obliczenia współrzędnych jest wykonywana iteracyjnie, przez cały czas pracy odbiornika. Pojedyncza iteracja obejmuje zarówno obliczenie współrzędnych satelitów z elementów orbit kepleriańskich, jak i wyznaczenie współrzędnych punktu w jednej procedurze. Ma to jeden ważny aspekt praktyczny - bowiem w momencie odbioru sygnału z satelitów i wyznaczenia pseudoodległosci, satelity przemieściły się na swych orbitach oraz Ziemia wykonała pewien obrót. Odbiornik zatem „potrafi” znając pseudoodległości „cofnąć” satelity na pozycje, które zajmowały w momencie wysłania sygnału. Aby nie powtarzać poprzednio wykonanych obliczeń, możemy posłużyć się interpolacją pozycji satelity na orbicie (pamiętając, że nie może być liniowa !!!) z kilku znanych pozycji przed i po momencie wysłania sygnału. Do tego celu najlepiej użyć współrzędnych zawartych w plikach orbit precyzyjnych (*.SP3). Możemy również zaniedbać ten błąd w pozycji satelitów, zostanie on uwzględniony w wartości e w równaniu (4). Dane do ćwiczenia znajdują się w pliku pomiarowym RINEX z obserwacjami GPS (przykładowo o nazwie: 00012541.01O). 2 ASHTORIN OBSERVATION DATA 0001 0001 BOR 004 004 3915531.2300 0.0684 1 1 7 L1 15.0000 2001 2001 01 9 9 9 11 8 00 -2055866.923 509.928 -1203831.367 -73.391 -6686588.991 2671.622 4642793.592 -2392.607 -9035201.248 4256.280 G (GPS) RINEX VERSION / TYPE 20 - MAR - 03 08:10 PGM / RUN BY / DATE COMMENT MARKER NAME MARKER NUMBER OBSERVER / AGENCY ASHTECH Z-XII P3 1L00 1D04 REC # / TYPE / VERS ASH700718B ANT # / TYPE 1185901.1100 4878911.5200 APPROX POSITION XYZ 0.0000 0.0000 ANTENNA: DELTA H/E/N WAVELENGTH FACT L1/2 L2 C1 P1 P2 D1 D2 # / TYPES OF OBSERV INTERVAL LEAP SECONDS 11 7 25 15.000000 GPS TIME OF FIRST OBS 11 15 5 44.983000 GPS TIME OF LAST OBS END OF HEADER 00.0000000 0 8G20G07G01G29G04G25G11G13 -0.001165355 9 -1490326.64448 19897039.661 19897039.1964 19897047.3494 397.346 9 -931814.09747 22576988.302 22576987.8574 22576998.7914 -57.188 9 -5174934.95649 20470674.875 20470674.6064 20470683.9014 2081.783 9 3607909.12646 24002332.326 24002332.3534 24002346.1154 -1864.369 9 -7021332.31946 23428271.421 23428271.8334 23428282.7074 3316.582 3 -2084604.818 9 333.831 3661396.976 9 -2175.017 -9669115.898 9 4430.481 -1615452.92547 260.128 2848968.36048 -1694.818 -7502839.45847 3452.323 22435808.237 22435808.1674 22435818.8344 21918445.422 21918445.1804 21918455.9624 23024251.122 23024251.3844 23024263.4204 W pierwszej kolejności wybieramy epokę odniesienia - czyli moment, na który chcemy obliczyć pozycję odbiornika (anteny) z rozwiązania nawigacyjnego. Tutaj jest to godzina 8:00 czasu uniwesalnego (Greenwich) dla dnia 254 w roku 2001, czyli 11 września 2001 roku. Powyżej zamieszczono fragment tego pliku składający się z dwóch części. Pierwsza to nagłówek pliku, druga rozpoczynająca się po słowach END OF HEADER to część z danymi pomiarowymi. Organizacja danych w pliku może być różna i jest zależna od decyzji operatora stacji obserwacyjnej. Jest to scharakteryzowane w nagłówku pliku, w linii: 7 L1 L2 C1 P1 P2 D1 D2 # / TYPES OF OBSERV Wiersz ten mówi nam, że jeden rekord danych zawiera 7 pomierzonych parametrów, gdzie: • L1 - pomiar fazowy na częstotliwości L1, • L2 - pomiar fazowy na częstotliwości L2, • C1 - pomiar pseudoodległości z obserwacji kodu C/A (będziemy oznaczać: ρSP ), • P1 - pomiar pseudoodległości z obserwacji kodu P na L1, • P2 - pomiar pseudoodległości z obserwacji kodu P na L2, • D1 - pomiar dopplerowski na częstotliwości L1, • D2 - pomiar dopplerowski na częstotliwości L2. Dane są zorganizowane w rekordach w tej właśnie kolejności, dla każdego z obserwowanych satelitów. Można również spotkać obserwacje S1 i S2 będące stosunkiem sygnału do szumu dla obydwu częstotliwości nośnych Dla każdego momentu pomiaru (epoki) zapisywany jest zbiór danych rozpoczynający się wierszem np.: 01 9 11 8 00 00.0000000 0 8G20G07G01G29G04G25G11G13 -0.001165355 Trzy początkowe wartości to data 2001-09-11, potem godzina 8:00:00.0000000. Następnie interesujący nas zbiór nazw satelitów obserwowanych w danej epoce. Rozpoczyna się on zawsze od liczby widocznych satelitów - tutaj 8, a potem są wymienione nazwy satelitów (nie posortowane!) G20, G07, G01, G29, G04, G25, G11, G13. Do obliczeń musimy użyć minimum 5 z nich. Załóżmy, że jest to 5 pierwszych satelitów i dla nich wypisujemy z pliku 5 pseudoodległości wyznaczone z obserwacji kodu C/A w metrach: • ρS20 P =19897039.661, • ρS07 P =22576988.302, • ρS01 P =20470674.875, • ρS29 P =24002332.326, • ρS04 P =23428271.421 4 Dalej pobieramy z niego informacje o współrzędnych przybliżonych punktu 1 : X 0 = 3915531.2300 Y 0 = 1185901.1100 Z 0 = 4878911.5200 (11) z linii: 3915531.2300 1185901.1100 4878911.5200 APPROX POSITION XYZ Do obliczeń użyjemy jednak współrzędnych zaokrąglonych lub zerowych: X 0 = 4000000.0000 Y 0 = 1000000.0000 Z 0 = 5000000.0000 (12) ze względu na potrzebę rozpoczęcia procesu obliczeniowego od współrzędnych mało dokładnych, aby móc zaobserwować zbieżność iteracyjnego procesu wyznaczania współrzędnych. 2 Ponieważ w plikach orbit precyzyjnych podane są oprócz współrzędnych X S , Y S , Z S (w km) poprawki zegarów satelitów dtS (w mikrosekundach - [µs]), należy je do równania podstawić po zamianie na sekundy. Dla tego dnia należy użyć właściwego pliku orbit precyzyjnych o nazwie IGS11312.SP3 lub IGS11312.PRE ze strony http://igs.bkg.bund.de z zakładki ”Download” → ”Products” → ”Orbits”, dla roku 2001 i 1131 tygodnia GPS. Następnie w pliku należy odnaleźć godzinę 8:00:00 i skopiować dane dla satelitów wybranych do obliczeń. ˆ z równania (5) uzyskamy wektor niewiadomych zawierający przyrosty współrzędnych W efekcie obliczenia dx punktu w jednostkach, w jakich do macierzy A były podstawione współrzędne oraz wartość liniową błędu zegara odbiornika c · ˆdtP . To kończy pierwszą iterację. W drugiej iteracji zaczynamy od wyznaczenia nowych współrzędnych punktu: X̂ X̂ x̂ Ŷ = Ŷ + ŷ ẑ Ẑ i+1 Ẑ i (13) i wyznaczywszy je obliczamy nowy wektor P zgodnie z równaniem (8). Z nowych współrzędnych punktu oraz pseudoodległości ρSP poprawionych o poprawkę zegara odbiornika c · ˆdtP : S ρP i+1 = ρSP i + c · ˆdtP (14) ˆ i nowych współrzędnych zgodnie z procedurą układamy nową macierz A i wykonujemy obliczenie nowej wartości dx drugiej iteracji. Zauważmy, że wszystkie pomiarzone pseudoodległości poprawiamy tu o ten sam błąd - były bowiem obserwowane tym samym odbiornikiem. Proces iteracyjny należy przerwać, po osiągnięciu zbieżności dla przyrostów współrzędnych. 1 Należy tu zauważyć, że współrzędne te pochodzą z długotrwałego uśredniania, są więc dokładniejsze od współrzędnych, które uzyskamy w ćwiczeniu. 2 Dla kontroli poprawności procesu obliczeniowego można sprawdzać, czy uzyskiwane w kolejnych iteracjach współrzędne będą zbliżać się do wartości pobranych z nagłówka pliku. 5 3 3.1 Parametry dokładnościowe DOP - Dilution of Precision Wyznaczanie Wychodząc z macierzy kosinusów kierunkowych pseudoodległości: A, definiującej geometryczny układ odbiornika ˆ i satelitów, możemy uzyskać macierz kowariancji Cx wyznaczanych parametrów dx: 2 σX σXY σXZ σXcdt −1 σY X σY2 σY Z σY cdt (15) Cx = AT A = 2 σZX σZY σZ σZcdt 2 σcdtX σcdtY σcdtZ σcdt w układzie geocentrycznym ECEF. Macierz ta, zawiera informację o jakości geometrycznego wyznaczenia współrzędnych punktu. Eliminując ostatnią kolumnę i wiersz macierzy Cx , zależne od błędu zegara, otrzymujemy macierz CXY Z opisującą wyłącznie dokładność składowych współrzędnych. Ponieważ chcemy uzyskać informację o jakości rozwiązania odniesionej do układu topocentrycznego, zachodzi konieczność przeliczenia macierzy CXY Z : 2 σE σEN σEU 2 σN U CEN U = F T CXY Z F = σN E σN (16) 2 σU E σU N σU zgodnie z prawem propagacji kowariancji. Macierz F łączy przyrosty współrzędnych w układzie ECEF z przyrostami w układzie topocentrycznym: − sin λ cos λ 0 (17) F T = − sin φ cos λ − sin φ sin λ cos φ , cos φ cos λ cos φ sin λ sin φ gdzie φ i λ to długość i szerokość wyznaczonego punktu przeliczone z układu ECEF. Bezwymiarowe parametry DOP przybierają postać: p 2 + σ2 + σ2 + σ2 , • Geometryczny: GDOP = σE N U cdt p 2 + σ2 + σ2 , • Pozycyjny: P DOP = σE N U p 2 + σ2 , • Poziomy: HDOP = σE N p 2 • Pionowy: V DOP = σU , p 2 . • Czasowy: T DOP = σcdt Funkcjonują one samodzielnie, przekazując informację o jakości rozwiązania, jak również służą do wyznaczenia przybliżonych błędów współrzędnych, jako współczynniki mnożne do błędów pomierzonych pseudoodległości. 3.2 Geometryczna interpretacja Zastanówmy się, jaka konfiguracja satelitów względem odbiornika, jest najkorzystniejsza do wyznaczenia jego współrzędnych. Z trzech przedstawionych na rysunku 2 przypadków najlepszy jest wariant B. W wariancie A satelity są nisko nad horyzontem, sygnał musi więc przejść, przez grubą warstwę atmosfery oraz żle wyznaczona będzie składowa pionowa. Z kolei w wariancie C dobrze wyznaczona będzie skladowa pionowa, natomiast składowe horyzontalne żle. Wariant pośredni B jest optymalny. Związek parametrów DOP z wymienionymi przypadkami następuje poprzez objętość bryły o pięciu wierzchołkach - tetrahedronu. Zauważmy, że wariant B ma największą objętość. Stąd prosta droga do wyrażenia zależności: P DOP ≈ 6 1 . Vtetr. (18) Rys. 2: Przestrzenne wcięcie wstecz - różne konfiguracje Im większa objętość bryły, tym parametr P DOP będzie mniejszy. Przybiera on wartości większe od 0, a doświadczenia polowe dowodzą, że udane obserwacje następują przy P DOP < 5 przy minimum 5 obserwowanych satelitach 3 . 4 Literatura Lamparski J. (2001). NAVSTAR GPS. Od teorii do praktyki. Wyd. UWM w Olsztynie, Strang G. i Borre K. (1997). Linear Algebra, Geodesy and GPS. Wellesley-Cambridge Press, ... 5 Zadania 1. Przypomnij sobie proces linearyzacji, dowiedź, że równanie (3) w połączeniu z równaniem (8), po linearyzacji da równanie (4). 2. Oblicz jak długo trwa przebieg sygnału od satelity do odbiornika, gdy pomierzona pseudoodległość wynosi 20200 km, 3. Porównaj otrzymane współrzędne ze wzorcowymi, odpowiedz na pytanie, skąd pochodzi różnica, 4. W jaki sposób korzystając ze zbioru danych w twoim pliku obserwacyjnym RINEX, możnaby podnieść dokładność wyznaczenia pozycji. Uwagi proszę kierować na adres: [email protected] 3 Przy pięciu satelitach i odbiorniku, bryła ma 6 wierzchołków, więc nie jest to już tetrahedron 7