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

Podobne dokumenty