Politechnika Warszawska
Wydział Geodezji i Kartografii
ĆWICZENIE 2
Przykład zastosowania filtru Kalmana.
Adam Góra
Specjalizacja GIP
Semestr: II
Rok akademicki: 2014/2015
Cel ćwiczenia:
Celem ćwiczenia było zastosowanie filtru Kalmana do wyznaczenia rzędnych reperów sieci w momencie t2. Dla porównania wyników zadanie opracowano również przy zastosowaniu wyrównania łącznego na podstawie pełnego układu równań.
Wykonanie ćwiczenia:
W pierwszym etapie ćwiczenia dla zadanej sieci pomiarowej (załącznik) przyjęto prawdziwe wartości rzędnych reperów w momencie t1 oraz prawdziwe wartości v dla zależności:
H2 = H1 − v(t2 − t1)
Prawdziwe wartości rzędnych w momencie t1:
NR | H [m] |
---|---|
A | 101,1232 |
B | 101,3451 |
1 | 99,7486 |
2 | 100,1533 |
3 | 100,4436 |
Prawdziwe wartości v:
Nr | V[mm/h] |
---|---|
V1 | 0,2 |
V2 | 0,5 |
V3 | 0,3 |
Moment pomiaru t1 oraz t2:
t1=0 h
t2=48 h
Prawdziwe wartości rzędnych w momencie t2:
NR | H [m] |
---|---|
A | 101,1232 |
B | 101,3451 |
1 | 99,7390 |
2 | 100,1293 |
3 | 100,4292 |
Następnie wygenerowano wyniki obserwacji dla pomiaru wyjściowego i aktualnego o rozkładzie normalnym przyjmując σo=1 mm:
Pomiar wyjściowy:
Nr | Dystrybuanta | ε N(0,1) | Ilość stan. (n) | ε N(0,σ) [mm] |
---|---|---|---|---|
h1 | 0,51 | 0,02 | 2 | 0,00 |
h2 | 0,53 | 0,08 | 3 | 0,01 |
h3 | 0,31 | -0,51 | 3 | -0,09 |
h4 | 0,63 | 0,34 | 2 | 0,05 |
h5 | 0,93 | 1,50 | 3 | 0,26 |
h6 | 0,04 | -1,75 | 3 | -0,30 |
h7 | 0,87 | 1,13 | 4 | 0,23 |
$$0,8 < \sqrt{\frac{\lbrack\varepsilon\varepsilon\rbrack}{n}} < 1,2$$
0, 8 < 1, 00 < 1, 2
Nr | kod obs | Δh praw [mm] | Δh obs [mm] | σ [mm] |
---|---|---|---|---|
P | K | |||
h1 | A | 1 | -1374,6 | -1374,6 |
h2 | 1 | 2 | 404,7 | 404,7 |
h3 | 2 | 3 | 290,3 | 290,2 |
h4 | 3 | 1 | -695,0 | -695,0 |
h5 | 3 | B | 901,5 | 901,8 |
h6 | B | 1 | -1596,5 | -1596,8 |
h7 | A | 3 | -679,6 | -679,4 |
Pomiar aktualny:
Nr | Dystrybuanta | ε N(0,1) | Ilość stan. (n) | ε N(0,σ) [mm] |
---|---|---|---|---|
h1 | 0,45 | -0,12 | 2 | -0,02 |
h2 | 0,06 | -1,53 | 3 | -0,27 |
h3 | 0,05 | -1,61 | 3 | -0,28 |
h4 | 0,57 | 0,18 | 2 | 0,03 |
h5 | 0,13 | -1,13 | 3 | -0,20 |
h6 | 0,76 | 0,70 | 3 | 0,12 |
h7 | 0,92 | 1,43 | 4 | 0,29 |
Nr | kod obs | Δh praw [mm] | Δh obs [mm] | σ [mm] |
---|---|---|---|---|
P | K | |||
h1 | A | 1 | -1384,2 | -1384,2 |
h2 | 1 | 2 | 380,7 | 380,4 |
h3 | 2 | 3 | 275,9 | 275,6 |
h4 | 3 | 1 | -704,6 | -704,6 |
h5 | 3 | B | 901,5 | 901,3 |
h6 | B | 1 | -1606,1 | -1606,0 |
h7 | A | 3 | -694,0 | -693,7 |
0, 8 < 1, 12 < 1, 2
Zaburzenie związku v, σo=0,01 mm/h:
Nr | Dystrybuanta | ε N(0,1) | ε N(0,σ) [mm] | Nr | ΔV praw [mm] | ΔV obs [mm] | |
---|---|---|---|---|---|---|---|
V1 | 0,05 | -1,64 | -0,016 | V1 | 0,2 | 0,184 | |
V2 | 0,35 | -0,40 | -0,004 | V2 | 0,5 | 0,496 | |
V3 | 0,61 | 0,29 | 0,003 | V3 | 0,3 | 0,303 |
0, 8 < 0, 99 < 1, 2
Wyrównanie sieci w celu wyznaczenia wartości rzędnych na moment t1.
Ułożenie równań obserwacyjnych:
Nr | p | k | dhA | dhB | dh1 | dh2 | dh3 | l [mm] | mi [mm] | ||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | A | 1 | -1 | 0 | 1 | 0 | 0 | 0,00 | 0,14 | ||
2 | 1 | 2 | 0 | 0 | -1 | 1 | 0 | -0,01 | 0,17 | ||
3 | 2 | 3 | 0 | 0 | 0 | -1 | 1 | 0,09 | 0,17 | ||
4 | 3 | 1 | 0 | 0 | 1 | 0 | -1 | -0,05 | 0,14 | ||
5 | 3 | B | 0 | 1 | 0 | 0 | -1 | -0,26 | 0,17 | ||
6 | B | 1 | 0 | -1 | 1 | 0 | 0 | 0,30 | 0,17 | ||
7 | A | 3 | -1 | 0 | 0 | 0 | 1 | -0,23 | 0,20 |
Macierz warunków:
S | 1,000 | 0,000 | 0,000 | 0,000 | 0,000 |
---|---|---|---|---|---|
0,000 | 1,000 | 0,000 | 0,000 | 0,000 |
ATA-1
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
---|---|---|---|---|
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,0000 | 0,0000 | 0,0087 | 0,0067 | 0,0047 |
0,0000 | 0,0000 | 0,0067 | 0,0221 | 0,0076 |
0,0000 | 0,0000 | 0,0047 | 0,0076 | 0,0105 |
Rozwiązanie układu równań normalnych – korekty do współrzędnych i ich błędy średnie:
Nr | dx [mm] | sX [mm] | |
---|---|---|---|
dhA | 0,00 | 0,00 | |
dhB | 0,00 | 0,00 | |
dh1 | -0,09 | 0,11 | |
dh2 | -0,04 | 0,18 | |
dh3 | -0,10 | 0,12 |
Kontrola przeprowadzonych obliczeń:
VTV | 5,59 |
---|---|
VTL | 5,59 |
Test globalny:
Przeprowadzenie testu globalnego pozwala sprawdzić, w przypadku pewności co do poprawności obserwacji czy przyjęty model opracowania jest zgodny z obserwacjami lub odwrotnie, gdy mamy pewność co do poprawności i ścisłości modelu, test pozwala ocenić, czy w materiale obserwacyjnym nie ma błędów grubych.
Test globalny |
---|
f |
σ0, |
α |
hi2 |
σ0, krytyczne |
σ0, ≤ σ0, krytyczne |
Test lokalny:
Zastosowanie testu lokalnego pozwala na sprawdzenie wystąpienia oraz zlokalizowanie błędów grubych w materiale obserwacyjnym. Przyjęte kryterium testu 2,5.
Nr obs. | Vi [m] | σVi [m] | |ui| | ui<2,5 |
---|---|---|---|---|
1 | -0,63 | 0,75 | 0,84 | spełniony |
2 | 0,18 | 0,65 | 0,27 | spełniony |
3 | 0,18 | 0,65 | 0,27 | spełniony |
4 | -0,25 | 0,71 | 0,35 | spełniony |
5 | -0,93 | 0,81 | 1,15 | spełniony |
6 | 1,25 | 0,84 | 1,49 | spełniony |
7 | -1,62 | 0,86 | 1,89 | spełniony |
Test spełniony:
W materiale obserwacyjnym nie występują błędy grube.
Zastosowany model jest zgodny z siecią kontrolną.
Spełnienie testu globalnego i testów lokalnych świadczą o poprawności zastosowanego modelu oraz wskazuje na brak błędów grubych w materiale obserwacyjnym.
Wykaz współrzędnych wyrównanych
H wyr (t1) [m] | σh [mm] | |
---|---|---|
A | 101,1232 | 0,00 |
B | 101,3451 | 0,00 |
1 | 99,7485 | 0,11 |
2 | 100,1533 | 0,18 |
3 | 100,4435 | 0,12 |
Wyrównanie łączne – wyznaczenie rzędnych reperów na mometnt t1 oraz t2 na podstawie pełnego układu równań.
Ułożenie równań obserwacyjnych:
Nr | p | k | dhA (t1) | dhB (t1) | dh1 (t1) | dh2 (t1) | dh3 (t1) | dhA (t2) | dhB (t2) | dh1 (t2) | dh2 (t2) | dh3 (t2) | l [mm] | mi [mm] | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | A | 1 | -1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0,00 | 0,14 | |
2 | 1 | 2 | 0 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | -0,01 | 0,17 | |
3 | 2 | 3 | 0 | 0 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 0,09 | 0,17 | |
4 | 3 | 1 | 0 | 0 | 1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | -0,05 | 0,14 | |
5 | 3 | B | 0 | 1 | 0 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | -0,26 | 0,17 | |
6 | B | 1 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0,30 | 0,17 | |
7 | A | 3 | -1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | -0,23 | 0,20 | |
8 | A | 1 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 1 | 0 | 0 | 0,02 | 0,14 | |
9 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 1 | 0 | 0,27 | 0,17 | |
10 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 1 | 0,28 | 0,17 | |
11 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | -1 | 0 | -0,04 | 0,22 | |
12 | 3 | B | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | -1 | 0,20 | 0,17 | |
13 | B | 1 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 1 | 0 | 0 | -0,12 | 0,17 | |
14 | A | 3 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 1 | -0,29 | 0,20 | |
15 | 1 | - | 0 | 0 | 1 | 0 | 0 | 0 | 0 | -1 | 0 | 0 | 0,79 | 0,48 | |
16 | 2 | - | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | -1 | 0 | 0,19 | 0,48 | |
17 | 3 | - | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | -1 | -0,14 | 0,48 |
Macierz warunków:
S | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
ATA-1
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
---|---|---|---|---|---|---|---|---|---|
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,0000 | 0,0000 | 0,0082 | 0,0058 | 0,0042 | 0,0000 | 0,0000 | 0,0005 | 0,0006 | 0,0004 |
0,0000 | 0,0000 | 0,0058 | 0,0200 | 0,0066 | 0,0000 | 0,0000 | 0,0006 | 0,0015 | 0,0008 |
0,0000 | 0,0000 | 0,0042 | 0,0066 | 0,0098 | 0,0000 | 0,0000 | 0,0003 | 0,0007 | 0,0007 |
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,0000 | 0,0000 | 0,0005 | 0,0006 | 0,0003 | 0,0000 | 0,0000 | 0,0094 | 0,0040 | 0,0014 |
0,0000 | 0,0000 | 0,0006 | 0,0015 | 0,0007 | 0,0000 | 0,0000 | 0,0040 | 0,0144 | 0,0050 |
0,0000 | 0,0000 | 0,0004 | 0,0008 | 0,0007 | 0,0000 | 0,0000 | 0,0014 | 0,0050 | 0,0122 |
Rozwiązanie układu równań normalnych – korekty do współrzędnych i ich błędy średnie:
X [mm] | σdh [mm] | ||
---|---|---|---|
moment t1 | dhA | 0,00 | 0,00 |
dhB | 0,00 | 0,00 | |
dh1 | -0,10 | 0,10 | |
dh2 | -0,05 | 0,16 | |
dh3 | -0,10 | 0,11 | |
moment t2 | dhA | 0,00 | 0,00 |
dhB | 0,00 | 0,00 | |
dh1 | 0,15 | 0,11 | |
dh2 | 0,08 | 0,14 | |
dh3 | 0,06 | 0,13 |
Kontrola przeprowadzonych obliczeń:
VTV | 14,35 |
---|---|
VTL | 14,35 |
Test globalny:
f |
σ0, |
α |
hi2 |
σ0, krytyczne |
σ0, ≤ σ0, krytyczne |
Test lokalny:
Nr obs. | Vi [m] | σVi [m] | |ui| | ui<2,5 |
---|---|---|---|---|
1 | -0,75 | 0,77 | 0,97 | spełniony |
2 | 0,20 | 0,67 | 0,31 | spełniony |
3 | 0,25 | 0,67 | 0,37 | spełniony |
4 | -0,37 | 0,72 | 0,51 | spełniony |
5 | -0,93 | 0,82 | 1,14 | spełniony |
6 | 1,16 | 0,85 | 1,36 | spełniony |
7 | -1,62 | 0,87 | 1,86 | spełniony |
8 | 1,15 | 0,73 | 1,57 | spełniony |
9 | 1,14 | 0,69 | 1,66 | spełniony |
10 | 1,51 | 0,67 | 2,26 | spełniony |
11 | -0,53 | 0,84 | 0,63 | spełniony |
12 | 0,77 | 0,77 | 1,00 | spełniony |
13 | 0,14 | 0,83 | 0,17 | spełniony |
14 | -1,12 | 0,83 | 1,34 | spełniony |
15 | 1,13 | 0,96 | 1,17 | spełniony |
16 | 0,12 | 0,93 | 0,13 | spełniony |
17 | -0,62 | 0,95 | 0,65 | spełniony |
Spełnienie testu globalnego i testów lokalnych świadczą o poprawności zastosowanego modelu oraz wskazuje na brak błędów grubych w materiale obserwacyjnym.
Wykaz współrzędnych wyrównanych
Nr | Hi wyr (t1) [m] | σH | Nr | Hi wyr (t2) [m] | σH | Nr | V wyr. [mm/h] | ||
---|---|---|---|---|---|---|---|---|---|
A | 101,1232 | 0,00 | A | 101,1232 | 0,00 | V1 | -0,195 | ||
B | 101,3451 | 0,00 | B | 101,3451 | 0,00 | V2 | -0,497 | ||
1 | 99,7485 | 0,10 | 1 | 99,7391 | 0,11 | V3 | -0,297 | ||
2 | 100,1532 | 0,16 | 2 | 100,1294 | 0,14 | ||||
3 | 100,4435 | 0,11 | 3 | 100,4293 | 0,13 |
Filtr Kalmana.
Pomiar w momencie t1:
X^’1 | C^X’1 | |
---|---|---|
101,1232 | 0,00000 | |
101,3451 | 0,00000 | |
99,7485 | 0,00000 | |
100,1533 | 0,00000 | |
100,4435 | 0,00000 |
Predykcja wektora stanu na moment t2 na podstawie wyznaczonego wektora X^1 oraz równania zmiany stanu:
ɸ |
---|
1 |
0 |
0 |
0 |
0 |
NR | H progn. [m] (X^2') |
---|---|
HA^ | 101,1232 |
HA^ | 101,3451 |
H1^ | 99,7397 |
H2^ | 100,1294 |
H3^ | 100,4290 |
Predykcja macierzy kowariancji wektora stanu na moment t2:
CY |
---|
0,00000 |
0,00000 |
0,00000 |
0,00000 |
0,00000 |
C^X’2 ≡K |
---|
0,00000 |
0,00000 |
0,00000 |
0,00000 |
0,00000 |
Obliczenie macierzy zysku:
Macierz kowariancji wektora obserwacji Cl2 |
---|
0,00002 |
0,00000 |
0,00000 |
0,00000 |
0,00000 |
0,00000 |
0,00000 |
Macierz współczynnikowa - A2 |
---|
-1 |
0 |
0 |
0 |
0 |
0 |
-1 |
Macierz zysku - G |
---|
0,00000 |
0,00000 |
0,46876 |
0,19871 |
0,06976 |
Obliczenie uściślonego wektora stanu na moment t2:
Nr | Wektor korekt - x2^
|
Uściślony wektor stanu - (X^2) [m] | |
---|---|---|---|
H praw - H progn [mm] | |||
A | 0,00000 | HA^ | |
B | 0,00000 | HB^ | |
1 | 0,00070 | H1^ | |
2 | 0,00015 | H2^ | |
3 | -0,00024 | H3^ |
Obliczenie uściślonej macierzy kowariancji wektora stanu na moment t2:
Uściślona macierz kowariancji - CX^2 |
---|
0 |
0 |
0 |
0 |
0 |
Porównanie wyników
Wyrównanie łączne | ||
---|---|---|
Nr | Hi^ wyr (t2) [m] | |
A | 101,1232 | |
B | 101,3451 | |
1 | 99,7391 | |
2 | 100,1294 | |
3 | 100,4293 | |
Cx^2 | ||
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0,0094 |
0 | 0 | 0,0040 |
0 | 0 | 0,0014 |
Kalman | |||
---|---|---|---|
Nr | Hi^ (t2) [m] | ||
HA^ | 101,1232 | ||
HA^ | 101,3451 | ||
H1^ | 99,7391 | ||
H2^ | 100,1294 | ||
H3^ | 100,4293 | ||
CX^2 | |||
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0 | 0,0094 | 0,0040 |
0 | 0 | 0,0040 | 0,0144 |
0 | 0 | 0,0014 | 0,0050 |
Wnioski
Uzyskane wyniki wyznaczenia rzędnych na momentu t2 z obu metod tj. przy zastosowaniu filtru Kalmana oraz wyrównania łącznego są identyczne. Takie same wartości przyjmują zarówno wektor stanu na moment t2 jak i jego macierz kowariancji. Stąd wnioskuje się, że obie metody rozwiązania zagadnienia są tożsame i mogą być stosowane zamiennie. Warto jednak zwrócić uwagę na to, iż przy wyrównaniu łącznym mamy do czynienia ze znacznie większą złożonością obliczeń, co w przypadku większej ilości pomiarów okresowych, może prowadzić do trudności obliczeniowych. Filtr Kalmana jest natomiast metodą sekwencyjną i nie grozi mu taka ewentualność. Pozwala zatem na sprawne obliczenie rzędnych w dowolnym momencie czasu bez konieczności wyrównywania wszystkich obserwacji jednocześnie.