Autor: inż. Maciej Gruszczyński Opiekun naukowy: dr hab. inż. Janusz Bogusz, prof. WAT ZASTOSOWANIE ŚRODOWISKA MATLAB DO FILTRACJI PRZESTRZENNO-CZASOWEJ WSPÓŁRZĘDNYCH GEODEZYJNYCH Streszczenie: Każde kolejne wydania ITRF, a co za tym idzie również ETRF, który jest obowiązującym w Polsce układem, są przykładami układów kinematycznych. W tego typu rozwiązaniach, istotnym elementem jest określenie współrzędnych punktów tworzących układ oraz ich zmian w czasie, czyli prędkości. Stacje referencyjne GNSS, które stanowią element składowy segmentu naziemnego regionalnych sieci permanentnych, prowadzące ciągłe obserwacje współrzędnych pozwalają na wprowadzenie do powszechnego użytku kinematycznych układów odniesienia. Wyznaczenie wiarygodnej składowych wektora prędkości wiąże się z wieloetapowym procesem opracowania szeregów obserwacji stacji GNSS. Jednym z takich etapów jest filtracja czasowo-przestrzenna zmian współrzędnych topocentrycznych w celu ekstrakcji błędów wspólnych stacji sieci regionalnych. Zakład Geomatyki Stosowanej WAT w ramach projektów badawczych pełni funkcje między innymi niezależnego monitorowania i analizowania rozwiązań GNSS stacji referencyjnych do celów realizacji stabilnego układu odniesienia ETRF. Filtracja czasowo-przestrzenna szeregów czasowych dobowych rozwiązań stacji referencyjnych sieci lokalnych powinna być efektywnym sposobem poprawy jakości wiarygodnych wyznaczeń parametrów istotnych w procesie monitorowania stabilności punktów tworzących narodowy układ odniesienia. W związku z powyższym, w ramach prac badawczych powstał w pełni funkcjonalny, autorski program o roboczej nazwie RegNetCME (akronim od pierwszych słów frazy w j. ang. opisującej istotę działania programu: REGional NETwork Common Mode Errors filtering) w środowisku obliczeniowym Matlab. Program w procesie pisania kodu został ukierunkowany w sposób zapewniający współdziałanie z danymi pochodzącymi z dowolnych sieci lokalnych i regionalnych. Słowa kluczowe: GNSS, szeregi czasowe, błąd wspólny, sieci regionalne. 1. Wprowadzenie do problematyki filtracji szeregów czasowych obserwacji stacji permanentnych GNSS Część stochastyczna szeregów czasowych zmian współrzędnych w znacznym stopniu wpływa na wyznaczone elementy liniowe oraz na ich dokładności. Szeregi wartości rezydualnych powstałych z modelowania ciągłych obserwacji stacji permanentnych położonych na obszarach do kilku tysięcy kilometrów [10] charakteryzują się wzajemną korelacją przestrzenno-czasową. Z uwagi, iż sieci regionalne stacji permanentnych GNSS zazwyczaj charakteryzują się rozpiętością od
kilkuset do kilku tysięcy kilometrów, istnienie korelacji w szeregach rezyduów zmian współrzędnych tłumaczone jest w angielskojęzycznej literaturze przedmiotu występowaniem tzw. common mode errors (CME). Pojęcie to można przetłumaczyć w odniesieniu do pojęć podobnych znaczeniowo (ang. common mode signal - pol. sygnał wspólny) jako błędy wspólne. Błąd wspólny w obserwacjach GNSS jest sumą błędów systematycznych i jest efektem niezamodelowanych lub błędnie zamodelowanych orbit satelitów, zegarów satelitów lub parametrów orientacji Ziemi, wielkoskalowych efektów atmosferycznych lub zmian położenia centrum fazowego anten satelity. Opisane czynniki mają jednakowy wpływ na pomiary GNSS wykonywane na niedużych obszarach (zasięg sieci regionalnych). Wpływ na istnienie błędów wspólnych może mieć także fakt użycia tego samego pakietu oprogramowania do przetwarzania obserwacji GNSS lub jednakowych algorytmów modelowania surowych obserwacji. Niedoskonałość modeli używanych w tego typu programach, odpowiedzialnych za eliminacje wpływu błędów na pomiary GNSS wprowadza element współzależności otrzymywanych wyników. Jako jeden z pierwszych, filtrację szeregów czasowych GNSS stacji permanentnych metodą składania, opisał w 1997 roku Wdowiński [11]. Dalsze badania prowadzili kolejno między innymi Nikolaidis [7] oraz Dong i inni [2]. Wyniki analiz potwierdziły istnienie błędów wspólnych w obserwacjach stacji pracujących w sieciach o rozpiętości nie większej niż 500-600 kilometrów. Autorzy wspomnianej publikacji [2] użyli w celu filtracji m. innymi metodę składania szeregów (ang. stacking), empiryczne funkcje ortogonalne oraz metodę Karhunen-Loeve, które nie uśredniają wartości CME dla całej sieci, natomiast pozwalają na uzyskanie niejednakowych dla całego zbioru odpowiedzi przestrzennych, a zatem bardziej dopasowanych wartości błędów wspólnych. Jednakowoż dla sieci regionalnych o niedużej rozpiętości wykazano małe różnice w jakości otrzymywanych wyników. Z uwagi na fakt, iż metoda składania szeregów charakteryzuje się niską złożonością obliczeniową algorytmu (duża ilość danych wejściowych), została ona wybrana w celu optymalizacji algorytmu programu RegNetCME. We wszystkich, opisanych powyżej artykułach wykazano duży stopień korelacji czasowo-przestrzennej wartości rezydualnych szeregów czasowych współrzędnych stacji permanentnych. Ponadto wielu naukowców zajęło się filtracją ciągłych obserwacji GNSS wykorzystywanych w celu uzyskania wiarygodnej informacji: o ruchu płyt tektonicznych w skali globalnej np. [zzz36, 9, 8], o zmianach
położenia centrum mas Ziemi [3], a także o regionalnych odkształceniach skorupy na granicach płyt tektonicznych [5, 4]. Artykuł stanowi opis programu zrealizowanego w środowisku komputerowym do wykonywania obliczeń naukowych i inżynierskich Matlab R2013b [6] (licencja nr 350334, Wojskowa Akademia Techniczna). 2. Metoda filtracji błędów wspólnych użyta w programie RegNetCME Dla szeregów dobowych rozwiązań n liczby stacji sieci regionalnej obejmujących m epok pomiarowych w ramach wykonania filtracji przestrzennoczasowej należało skonstruować macierz X o wymiarach m x n zawierającą rezydua powstałe w procesie modelowania. W przypadku filtracji danych wejściowych na przykładzie wybranych stacji ASG-EUPOS opisywana macierz miała rozmiar 1851 x 83. Z uwagi, iż każda składowa współrzędnych topocentrycznych (północna, wschodnia, pionowa- N, E, U) podlegać będzie filtracji niezależnie, skonstruowano 3 macierze w sposób opisany powyżej analogicznie dla każdej składowej oddzielnie. Możliwość wykonania składania szeregów za pomocą wzoru niewagowanego przedstawił Wdowiński [11] oraz stosowane w programie RegNetCME podejście w formie wagowanej prezentowane w pracy Nikolaidis [7]: gdzie: n i X t, j j 1 2 RMS i, j CME( t i ) (1) n 1 j 1 2 RMS CME t i - jest wartością błędu wspólnego na każdą epokę t i obserwacji, X t i, j - jest elementem i-tego wiersza, j-tej kolumny macierzy X, RMS, - jest jednostkowym błędem średniokwadratowym dla obserwacji j-tej stacji i j permanentnej na i-tą epokę pomiarów, otrzymanym z wyrównania metodą najmniejszych kwadratów danych GNSS z użyciem programu Bernese (liczbowo równe odpowiednim wartościom w plikach SINEX). i, j
Uzyskane tym sposobem błędy wspólne są obliczane dla każdej składowej niezależnie. Jednakowa wartość CME na daną epokę pomiaru t i dla pojedynczej składowej całego zestawu szeregów stacji wynika z założenia przestrzennej korelacji szeregów rezyduów. Kolejnym etapem było usunięcie CME z niefiltrowanej wartości rezydualnej t j X i, jak poniżej: t, j X t, j CME( t ) i 1,... m; j 1 n X i i i,... (2) Program RegNetCME umożliwia analizy szeregów czasowych filtrowanych X t i, j, które zostały opisane za pomocą takich parametrów, jak np. wartość średnia, odchylenie standardowe oraz porównane z odpowiadającymi parametrami szeregów przed filtracją. Wykres, będący wynikiem działania programu RegNetCME, zamieszczony na rysunku nr 1 przedstawia wartość błędu wspólnego obliczoną dla wybranych 83 stacji systemu ASG-EUPOS. Szeregi czasowe charakteryzowały się pięcioletnim zakresem czasu zarejestrowanych obserwacji z krokiem dobowym. Na rysunku widać, iż wpływ czynników generujących powstawanie błędu wspólnego w sieciach regionalnych jest na tyle mały, iż błędy te charakteryzują się wartościami rzędu dziesiętnych i setnych części milimetra. Co więcej konieczność wykonywania tego typu filtracji potwierdzana w opisywanych wcześniej przykładach literatury przedmiotu jest bardzo istotnym etapem procesu opracowania danych w celu uzyskania wiarygodnych informacji o prędkości przemieszczania się odbiornika stacji permanentnej. Wartość średnia z modułów błędów wspólnych (CME osiągają zarówno wartości ujemne jak i dodatnie co widać na rys. 1) wynosi 0.22, 0.19, oraz 0.85 mm odpowiednio dla składowych północnej, wschodniej oraz pionowej. Odchylenie standardowe wartości błędów wspólnych na dany zakres czasu obserwacji wynosi dla tych składowych odpowiednio 0.28, 0.23, 1.06 mm. Wynika zatem z tych danych, iż znacznie większym rozrzutem szeregów charakteryzuje się składowa pionowa szeregów zmian współrzędnych topocentrycznych.
Rys. 1. Wartości błędów wspólnych dla przykładowego zestawu danych wejściowych (podsieć składająca się z 83 stacji permanentnych systemu ASG-EUPOS) (opracowanie własne). 3. Opis programu RegNetCME W ramach prac badawczych powstał autorski, w pełni funkcjonalny program działający w środowisku Matlab. Algorytm realizujący opisane poniżej zestawienia wyników pozwalające na analizy danych wejściowych oraz wykonujący obliczenia wartości błędów wspólnych w sieciach regionalnych został zapisany w postaci m- plików skryptowych (pliki z rozszerzeniem *.m). Realizacja programu RegNetCME w środowisku Matlab pozwala na późniejsze tworzenie niezależnych od kompilatora plików wykonywalnych w najpopularniejszych systemach komputerowych: Windows, Linux, Mac OS. Pliki takie skompilowane za pomocą dodatkowego pakietu MATLAB Compiler przybierają postaci samodzielnych plików programów, które w przypadku systemu Windows posiadają rozszerzenie *.exe. Od użytkownika dysponującego skompilowaną wersją pliku wykonywalnego nie jest wymagane posiadanie zainstalowanego pakietu Matlab oraz wszystkich bibliotek funkcji (ang. toolbox), które zostały użyte podczas tworzenia kodu RegNetCME. Komunikacja z użytkownikiem na
przykładzie systemu operacyjnego Windows w programie RegNetCME odbywa się za pomocą okna konsoli interpretera poleceń (ang. Command Prompt). W założeniu wyniki liczbowe i raporty zapisywane są w postaci plików tekstowych oraz arkuszy kalkulacyjnych programu Excel, natomiast grafika jak np. wykresy i diagramy w postaci plików z rozszerzeniem *.png. Na dzień redakcji niniejszej pracy, program jest w fazie testów w środowisku Matlab i kompilacja do postaci samodzielnych plików *.exe nie została przeprowadzona, aczkolwiek należy uznać że funkcjonalność programu nie będzie zależała od kompilatora/interpretera kodu źródłowego. Tabela 1. Wymagana kolejność danych według kolumn w tekstowych plikach wejściowych programu RegNetCME. Nr kolumny 1 Typ danych w kolumnie Epoka obserwacji w formie zapisu rok i dziesiętna część roku 2 Składowa N 3 Składowa E 4 Składowa U Jednostkowy błąd 5 średniokwadratowy składowej N Jednostkowy błąd 6 średniokwadratowy składowej E Jednostkowy błąd 7 średniokwadratowy składowej U Uwagi Dowolna precyzja zapisu liczby zapewniająca rozdzielność poszczególnych epok (w przypadku rozwiązań dobowych 3 miejsca dziesiętne) Dowolna precyzja zapisu liczby, jednostki metry lub milimetry, informacje o danych w opisie wzoru nr qqq14 Podczas tworzenia program RegNetCME szczególną uwagę zwracano na zdolność do dostarczenia funkcji zaspokajających wyznaczone i zakładane potrzeby, którymi są analizy czasowo-przestrzenne odnośnie błędów wspólnych w dowolnych sieciach regionalnych stacji permanentnych GNSS takich jak np. ASG-EUPOS, SAPOS Niemcy, CZEPOS Czechy. Użytkownik pracujący z RegNetCME dokonuje zdalnie w trakcie działania programu wyboru wielu opcji oraz określa parametry pozwalające na sterowanie przebiegiem procesu filtracji, co zapewnia dopasowanie do charakteru sieci oraz potrzeb zdefiniowanych przez użytkownika. Plikami wejściowymi są pliki tekstowe (rozszerzenia *.txt,*.csv,*.rtf), do których zostały wyeksportowane szeregi czasowe zmian współrzędnych topocentrycznych. Analizie mogą podlegać szeregi rozwiązań dobowych, jak również dane z tygodniowym krokiem obserwacji. Od plików
wejściowych wymagane jest tylko odpowiednie sformatowanie nazwy pliku (pierwsze 4 znaki muszą stanowić nazwę znacznikową stacji) oraz treści w sposób przedstawiony w tabeli nr 1. Program RegNetCME pozwala na wizualizację wyników m. in. poprzez zapisywaną do pliku graficznego mapę obszaru, na którym znajdują się stacje referencyjne danej sieci regionalnej (rysunek nr 2). Położenie stacji zdefiniowane jest za pomocą współrzędnych geograficznych wprowadzonych do pamięci programu. W pamięci istnieją obecnie współrzędne wszystkich (stan na maj 2014) pracujących stacji sieci ASG-EUPOS, EPN oraz IGS. Natomiast w przypadku brakujących współrzędnych stacji permanentnych użytkownik może wczytać wsadowo do pamięci współrzędne z pliku tekstowego. Podkładem tworzonych map są dane wektorowe wczytywane z plików w formacie shapefile (*.shp). Wspomniane powyżej dane wektorowe stanowią przebieg granic administracyjnych oraz linii brzegowych wszystkich państw świata. Dane takie są udostępniane na podstawie darmowych licencji w Internecie. Rys. 2. Przykładowy wynik pracy programu RegNetCME- mapa analizowanego obszaru na przykładzie 83 stacji podsieci ASG-EUPOS (opracowane własne).
Program składa się z 3 modułów o roboczych nazwach: RegNetCME_timespan, RegNetCME_preproces oraz RegNetCME_filtering. RegNetCME_timespan - moduł pozwala na analizę danych pod względem długości zakresu zarejestrowanych obserwacji oraz pozwala na wyznaczenie najdłuższych wspólnych zakresów dla zbioru wybranych szeregów do analizy. Program pozwala na modyfikacje zbioru wczytanych szeregów tworząc nowy folder z danymi, które odpowiadają użytkownikowi pod względem długości zakresu zarejestrowanych obserwacji. Automatycznie zapisuje się też raport z informacjami dotyczącymi szeregów, które zostały nieprzyjęte do dalszych analiz. RegNetCME_preproces - moduł wspomagający analizy dotyczące zależności wielkości CME od zasięgu automatycznie tworzonych podsieci według założeń podanych przez użytkownika, który m. in. określa położenie punktu głównego sieci. Punkt główny sieci jest punktem centralnym nowo tworzonej podsieci i jego współrzędne mogą zostać obliczone zdalnie poprzez wyznaczenie barycentrum ze zbioru wszystkich punktów oznaczających stacje referencyjne. Użytkownik może także podać własne, przyjęte wcześniej współrzędne punktu głównego sieci. Początkowym etapem jest filtracja błędów wspólnych w podsieci składającej się z 3 najbliższych barycentrum stacji permanentnych. Następnie program dodaje automatycznie pojedynczo kolejne szeregi do macierzy obserwacji rosnąco według odległości danej stacji od punktu głównego sieci i wykonuje obliczenia zmian parametrów pozwalających na ocenę jakości filtracji. Analiza wyników pozwala na wyeliminowanie szeregów charakteryzujących się dużym szumem oraz na określenie, czy dany zbiór danych należy podzielić na mniejsze podsieci stacji GNSS dla których błąd wspólny będzie bardziej widoczny. W wyniku pracy z tym modułem użytkownik ma możliwość zdalnego wykonania szeregu diagramów i wykresów umożliwiających wizualną interpretację jakości danych wejściowych (rysunek nr,). RegNetCME_filtering - moduł podstawowy, bazujący na plikach będących wynikiem działania poprzednich części programu lub dowolnych, określonych przez użytkownika jeśli posiada on informacje o poprawności danych. Rezultatem działania tego modułu są zestawienia w postaci wykresów, których rodzaj wybiera użytkownik. Ponadto zapisywany jest raport z filtracji w arkuszu kalkulacyjnym Excel oraz pliki tekstowe zawierające filtrowane szeregi wartości rezydualnych współrzędnych topocentrycznych, które są końcowym efektem całego procesu ekstrakcji CME.
Rys. 3. Wykres przedstawiający rozrzut składowej pionowej szeregów czasowych wszystkich stacji sieci regionalnej na przykładzie ASG-EUPOS (opracowanie własne).
4. Podsumowanie Części stochastyczne szeregów zmian współrzędnych topocentrycznych stacji permanentnych GNSS w sieciach regionalnych charakteryzują się wzajemną korelacją przestrzenną, a filtracja czasowo-przestrzenna metodą składania jest efektywnym sposobem poprawy jakości danych. Realizacja autorskiego programu RegNetCME wspomagającego filtrację czasowo-przestrzenną szeregów zmian współrzędnych topocentrycznych stacji sieci regionalnych potwierdza, iż interaktywne środowiska do wykonywania obliczeń naukowych i inżynierskich są atrakcyjnym narzędziem dla osób zajmujących się szeroko pojętymi naukami o Ziemi. 5. Literatura [1] Bogusz, J., Figurski, M., Kontny, B. and Grzempowski, P. (2012), Horizontal velocity field derived from EPN and ASG-EUPOS satellite data on the example of southwestern part of Poland. Acta Geodyn. Geomater., 9, No. 3 (167), 349 357. [2] Dong, D., P. Fang, Y. Bock, F. Webb, L. Prawirodirdjo, S. Kedar, and P. Jamason (2006): Spatiotemporal filtering using principal component analysis and Karhunen-Loeve expansion approaches for regional GPS network analysis. J. Geophys. Res., 111, B03405, DOI:10.1029/2005JB003806. [3] Dong, D., T. Yunck, and M. Heflin (2003): Origin of the International Terrestrial Reference Frame. J. Geophys. Res., 108, 2200, DOI:10.1029/2002JB002035, B4. [4] Hammond, W. C., and W. Thatcher (2004), Contemporary tectonic deformation of the Basin and Range province, western United States: 10 years of observation with the Global Positioning System. J. Geophys. Res., 109, B08403, DOI:10.1029/2003JB002746. [5] Márquez-Azúa, B., and C. DeMets (2003), Crustal velocity field of Mexico from continuous GPS measurements. 1993 to June 2001: Implications for the neotectonics of Mexico, J. Geophys. Res., 108(B9), 2450, DOI:10.1029/2002JB002241. [6] MATLAB Programming Fundamentals, The MathWorks Inc, Natick, Massachusetts USA, 2013. [7] Nikolaidis, R. (2002): Observation of geodetic and seismic deformation with the Global Positioning System. Ph.D. thesis, Univ. Of Calif., San Diego