# Further Development of the L2/L1-norm GOCA Kalman-Filtering DLL and Extension to the Computation and Visualization of Variance Estimations and Probability and Forecasting States

Master's Thesis 2006 101 Pages

Geography / Earth Science - Cartography, Geographic Information Science and Geodesy

## Excerpt

## Table of Contents

Terms of Reference

Approval

Abstract

Acknowledgment

1 Introduction

1-1 Background

1-2 Objectives

1-3 Methodology

2 GOCA

2-1 Introduction

2-2 GOCA components

2-2-1 Hardware control software

2-2-2 Deformation analysis software

2-3 GOCA deformation analysis mathematical models

2-3-1 GOCA first adjustment step

2-3-2 GOCA second adjustment step

2-3-3 GOCA third step

3 Kalman filter

3-1 Kalman Filter

3-2 Principle of Kalman Filter

3-3 Deformation modeling

3-4 Kalman filter Adjustment

3-4-1 L2-Norm Adjustment

3-4-2 L1-Norm Adjustment

3-5 Estimation of system noise

3-6 Estimation of acceleration

3-7 Gross error detection

3-7-1 Global test

3-7-2 Redundancy number

3-7-3 Local test

3-8 Adjusted State vector testing

3-9 Forecasting

3-10 Data Sampling

4 Programming

4-1 Introduction

4-2 GKA-create program

4-3 Kalman filter (MATLAB7)

4-4 C++ Kalman filter DLL project

4-5 Output files formats

5 Kalman filter testing .

5-1 Introduction

5-2 Standard displacement data test (containing no random errors)

5-3 Standard moving data (Containing random errors)

5-4 DSK-Halle project

5-5 LS-data (Inclinometer)

5-6 SchachtVI project

5-7 Blunders test

6 Kalman filter documentation .

6-1 Introduction

6-2 Kalman filter settings

6-3 The settings window

6-4 Visualization of displacement, velocity and acceleration

6-5 Alarm detection via Kalmanfilter

6-6 Setting for the Alarm Module

7 Discussions and Conclusions .

Appendixes

Appendix-A using GKA-create program ..

A-1 Introduction

A-2 Running GKA-create program

A-3 creating a GKA-file

A-3-1 defining the GKA-file parameters

A-3-2 defining the object and stable points

Appendix B Local sensor data .

B-1 Introduction

B-2 LS GKA-file format

B-3 Converting LS GKA-files to FIN-files

Appendix C Probability Calculation

C-1 Introduction

C-2 Probability distribution function

C-3 Standard normal distribution function

C-4 Polynomial representation of the standard normal

Distribution function

C-5 Significance probability

C-6 Critical value probability

References

Objectives: The research and development project GOCA (GNSS/GPS/LPS based Online Control and Alarm System; see GOCA Homepage: www.goca.info) applies GNSS/GPS as well as classical local positioning sensors (LPS) such as e.g. total stations for a real-time deformation monitoring. The GOCA system may be set up as an early-warning-system for natural hazards and for the monitoring of geotechnical structures and buildings. The GOCA system consists of GNSS/GPS/LPS sensors, which are set up in the monitoring area as a permanent array or as a mobile monitoring system. The GOCA hardware-control and communication software modules collect in different kind of communication modes the GNSS/GPS/LPS data in a user defined sampling rate. The GOCA deformation-analysis software is responsible for a further processing of that data in a three steps sequential adjustment procedure. The 1st step initializes the monitoring reference frame - the coordinates and covariance matrix - consisting of stable reference points. The 2nd and 3rd step comprise the georeferencing of the three-dimensional object-point coordi- nates in the reference frame, and the simultaneous deformation analysis respectively. Both least squares and robust estimation techniques (L1-norm and bounded influence M-estimators) are applied. The online deformation analysis in the 3rd step of the GOCA deformation-analysis- software is based on moving average displacements, parametric displacement estimations between epochs and Kalman-Filtering referring to the state vector of displacements, velocities and accelerations.

The Master thesis shall deal with the C++-based further developments including data ana- lysis and testing of the L1/L2-norm based GOCA Kalman-filtering DLL. The C++-source code of the present Kalman-filter DLL is handed out. The further development of the DLL aims at the inte- gration of the DLL into the GOCA software within the thesis. The control and test computations can be done with the mathematical software MATBLAB, existing GOCA-simulation-software and the GOCA software. The following further developments have to be worked out within the master thesis:

- Documentation of the mathematical models, which are implemented in the present L1/L2- based Kalman-filter algorithms.

- Testing and improvement of the existing L1-/L2-norm Kalman-filter DLL. Documentation of the theoretical developments and the practical results and reference examples.

- Improvement of the settings dialog of the present Kalman-filter DLL.

- Computation and graphical representation of the variances of the state vector quantities of the Kalman-filter.

- Computation and graphical representation of the probabilities with respect to given critical values of state vector quantities.

- Extension of the Kalman-filter DLL with respect to enable a forecasting of the state vector with respect to a given time, and graphical representation.

- Implementation of the Kalman-filter DLL into the present GOCA software and documentation of the respective manual parts in co-operation with the 1st referee and the scientific assistant of the GOCA project.

illustration not visible in this excerpt

Approval

illustration not visible in this excerpt

## Abstract

As further development of GOCA- (GNSS/LPS/LS-based Online Control and Alarm Systems) software, the Kalman filter was developed as additional module to monitor besides pure object point displacement also the velocity and the acceleration in a specified time interval. In this Master thesis the Kalman filter algorithm is modified, and additional capabilities are added. The additional capabilities include; first, a forecasting of expected displacement, velocity and acceleration to future. Second, computing the time at which the point displacement and velocity is expected to exceed the given critical values.

Two estimation algorithms are used in the GOCA-Kalman filtering; first, least squares adjustment (L2-norm estimation). Second, L1-estimation. Data analysis of given projects were to be carried out and compared using both adjustment algorithms.

To design and develop the GOCA-Kalman filter four steps are applied; first step, the GOCA-Kalman filter is realized and tested using MATLAB to create the mathematical algorithm and test the results of standard point given displacement, e.g. constant velocity displacement , parabola displacement, etc . Second step, a VC++ dynamic link library (.dll) is created. Third step, the DLL file was embedded in the GOCA software by calling the DLL file and its related libraries. And forth step, the Kalman filter graphics part had to be modified to show the state vector components (displacement, velocity, and acceleration) with their standard deviations, and additional the forecasted value and its standard deviation would be shown in the graphics part.

Additional work is added to this master thesis to make artificial displacement GKA-files (GNSS/LPS/LS input files in the GOCA-software), where points displacements with linear, parabola etc are created. The software was realized using MATLAB GUI and named GKA-create.

## Acknowledgment

First and foremost, I would like to express my sincerest gratitude to Prof. Dr.-Ing. Reiner Jäger not only for supervising this thesis, giving me a lot of advices and providing help during that time but also for guiding me through many lectures, exercises and various projects in the past.

I thank Manuel Oswald for the help in C++ programming, as will for including the Kalman filter DLL in GOCA-software, and for the help for modifying the GOCA-Kalman-graphics module.

Special thanks for the German academic exchange service (DAAD) for their support in my work in this thesis and in my M.Sc. study.

## List of figures

1-1 The work methodology flowchart

2-1 GOCA-NMEA-Box by GeoNav Company

2-2 Object points and reference points in GOCA deformation network

2-3 Data flow and deformation analysis processing steps in the GOCA system

2-4 Settings dialog box for the initialization step in GOCA

2-5 Settings dialog box for the second step in GOCA

2-6 Displacement estimation output in graphics and protocol file

2-7 DSK-Halle project results using Kalman filter

3-1 the concept of Kalman filtering

3-2 The resulting acceleration

3-3 Fitted acceleration

4-1 GKA-create Interface

4-2 Kalman filter settings file example

4-3 KAL-file in the new format

4-4 GKF-file example

4-5 *Kalman.alr* example

5-1 Input data for standard file containing no random errors

5-2 Filter results for simulation model given by fig(5-1) in case of L2-estimation

5-3 Kalman filter results for simulation model given by fig(5-1) in case of L1-estimation

5-4 Input data for standard file containing random errors

5-5 Std-file dj=10, di=5, and L2-estimation

5-6 Std-file dj=15, di=5, and L2-estimation

5-7 Std-file dj=10, di=0, and L2-estimation

5-8 Std-file dj=20, di=5, and L2-estimation

5-9 Std-file dj=10, di=5, and L1-estimation

5-10 Std-file dj=15, di=5, and L1-estimation

5-11 Std-file dj=10, di=0, and L1-estimation

5-12 Std-file dj=20, di=5, and L1-estimation

5-13 DSK-Halle project raw data

5-14 DSK-Halle, dj=180, di=0, and L2-estimation

5-15 DSK-Halle, dj=180, di=30, and L2-estimation

5-16 DSK-Halle, dj=180, di=60, and L2-estimation

5-17 DSK-Halle, dj=180, di=90, and L2-estimation

5-18 DSK-Halle, dj=180, di=120, and L2-estimation

5-19 DSK-Halle, dj=180, di=0, and L1-estimation

5-20 DSK-Halle, dj=180, di=30, and L1-estimation

5-21 DSK-Halle, dj=180, di=60, and L1-estimation

5-22 DSK-Halle, dj=180, di=90, and L1-estimation

5-23 DSK-Halle, dj=180, di=120, and L1-estimation

5-24 Inclinometer project raw data

5-25 Inclinometer, dj=60, di=10, and L2-estimation

5-26 Inclinometer, dj=60, di=30, and L2-estimation

5-27 Inclinometer, dj=60, di=10, and L1-estimation

5-28 Inclinometer, dj=60, di=30, and L1-estimation

5-29 SchachtIV project raw data

5-30 SchachtIV, dj=150, di=60, and L2-estimation

5-31 SchachtIV,dj=60, di=30, and L2-estimation

5-32 SchachtIV, dj=150, di=60, and L1-estimation

5-33 SchachtIV, dj=150, di=120, and L1-estimation

5-34 L2-estimation for blunders detection

5-35 L1-estimation for blunders detection

6-1 Settings for the Kalmanfilter

6-2 The Time-Intervals dt and di

6-3 Epoch-Selection for the Graphics Window

6-4 Visualization of displacement (top), velocity (middle) and acceleration (bottom) computed by GOCA

6-5 Visualization of probabilities for a critical state

6-6 Specification of the critical state for each object-point

A-1 GKA-create program

A-2 Running the GKA-create program

A-3 The defining parameters in GKA-create program

B-1 Inclinometer GKA-file

B-2 Creating FIN-files from GKA-files tool

C-1 Relative frequency histogram

C-2 The density function

C-3 The probability of [Abbildung in dieser Leseprobe nicht enthalten]

C-4 The probability of [Abbildung in dieser Leseprobe nicht enthalten]

C-5 The probability distribution function

C-6 Significance probability in GOCA Kalman filter alarm module

C-7 Critical values probability in GOCA Kalman filter alarm module

## List of tables

4-1 The parameters applied in the Matalb kalamn.dll

4-2 The functions applied in the Matlab Kalman.dll

4-3 Kalsettings.txt contents

4-4 Kalsettings.txt contents definitions and units

4-5 KalmanPoint class methods

4-6 KalmanPoint class variables

4-7 KAL-file contents

4-8 GKF-file contents

4-9 the contents of *kalamn.alr*

## CHAPTER ONE Introduction

### 1-1 Background

The research and development project GOCA (GNSS/GPS/LPS based Online Control and Alarm System; see GOCA Homepage: www.goca.info) applies GNSS/GPS as well as classical local positioning sensors (LPS) -which are often called TPS: topocentric positing systems- such as e.g. total stations or leveling instruments for a real-time deformation monitoring. The GOCA system may be set up as an early-warning-system for natural hazards and for the monitoring of geotechnical structures and buildings.

The GOCA system consists of GNSS/GPS/LPS sensors, which are set up in the monitoring area as a permanent array or as a mobile monitoring system. The GOCA hardware-control and communication software modules collect in different kind of communication modes the GNSS/GPS/LPS data in a user defined sampling rate. The GOCA deformation-analysis software is responsible for a further processing of that data in a three steps sequential adjustment procedure. The 1st step initializes the monitoring reference frame - the coordinates and covariance matrix - consisting of stable reference points. The 2nd and 3rd step comprise the georeferencing of the three-dimensional object- point coordinates in the reference frame, and the simultaneous deformation analysis respectively. Both least squares and robust estimation techniques (L1- norm and bounded influence M-estimators) are applied. The online deformation analysis in the 3rd step of the GOCA deformation-analysis-software is based on moving average displacements, parametric displacement estimations between epochs and Kalman-Filtering referring to the state vector of displacements, velo- cities and accelerations.

### 1-2 Objectives

This Master thesis deals with the C++-based further developments including data analysis and testing of the L1/L2-norm based GOCA Kalman-filtering DLL. The C++-source code of the present Kalman-filter DLL is handed out. The further development of the DLL aims at the integration of the DLL into the GOCA software within the thesis. The control and test computations can be done with the mathematical software MATBLAB, existing GOCA-simulation-software and the GOCA software. The following further developments have to be worked out within the master thesis:

- Documentation of the mathematical models, which are implemented in the present L1/L2-based Kalman-filter algorithms.

- Testing and improvement of the existing L1-/L2-norm Kalman-filter DLL. Documentation of the theoretical developments and the practical results and reference examples.

- Improvement of the settings dialog of the present Kalman-filter DLL.

- Computation and graphical representation of the variances of the state vector quantities of the Kalman-filter.

- Computation and graphical representation of the probabilities with respect to given critical values of state vector quantities

- Extension of the Kalman-filter DLL with respect to enable a forecasting of the state vector with respect to a given time, and graphical representation.

- Implementation of the Kalman-filter DLL into the present GOCA software and documentation of the respective manual parts in co-operation with the 1st referee and the scientific assistant of the GOCA project.

The work in this project is done according to the flowchart in fig (1-1).

illustration not visible in this excerpt

Fig (1-1): The work methodology flowchart.

### 1-3 Methodology

This master thesis has the following chapters:

- Chapter 1; Introduction to the project, objectives and methodology.

- Chapter 2; Introduction to the GOCA system, components and basic mathematical models.

- Chapter 3; Mathematical model for Kalman filter and its adjustment.

- Chapter 4; Programming methods for data preparing, Matlab programming and C++ programming.

- Chapter 5; Results of the Kalman filter using different data sources with defining different settings parameters.

- Chapter 6; Modification and update of Kalman filter documentation. Chapter 7; Discussions and conclusions.

## CHAPTER TWO GOCA

(GPS/GNSS/LS based Online Control and Alarming system)

### 2-1 Introduction

GOCA (GNSS/GPS/LS based Online Control and Alarming system) was realized as a research and development project in the UNIVERSITY OF APPLIED SCIENCES (HS-KARLSRUHE), as monitoring tool for earth movement, landslide, dams, buildings monitoring and installations, mining areas, and other types of projects where movement with time is possible. *[K ä lber and J ä ger , 2001 ]*

The GOCA has two types of components Hardware components and software components. The hardware components are the GPS and LPS sensors fixed in the project monitoring area to measure the coordinates of project points using flexible with different types of sensors (Trimble, Leica-Geosystems, Topcon etc), and communication unit setup in the monitoring area to send the data to the GOCA computation unit by two possibilities using cable or radio modem, GOCA-NMEA-Box was realized for GOCA by the GeoNav company, see fig (2-1). The software components of GOCA are two packages; the communication software MONITOR realized by the GeoNav Company and GOCA_DC3 realized by company Dr. Bertges (www.drbertges.de ), and the GOCA-Deformation analysis software applying the three steps deformation analysis(deformation monitoring) and visualizations. (www.goca.info )

illustration not visible in this excerpt

Fig (2-1): GOCA-NMEA-Box by GeoNav Company.

GOCA software receives data form GPS-sensor as well as local positioning sensors (LPS) as input data for deformation monitoring. These sensors types set up the deformation network, and they are classified into two types: Reference stations with constant position [Abbildung in dieser Leseprobe nicht enthalten] and object points with time varying position [Abbildung in dieser Leseprobe nicht enthalten] see figure (2-2). The reference points [Abbildung in dieser Leseprobe nicht enthalten] define the monitoring frame of the project, and they are situated in the stable area, where no displacement is expected. From time to time these points have to be tested, if they have moved. The object points [Abbildung in dieser Leseprobe nicht enthalten] are discretising the object, and they are used to monitor the deformation process (e.g. landslides, geotechnical installations, buildings etc.). *[Feldmeth et al., 2002]*

illustration not visible in this excerpt

Fig (2-2): Object points and reference points in GOCA deformation network. *[K ä lber and J ä ger, 2001]*

### 2-2 GOCA components

In Fig (2-3) the GOCA-software flowchart is shown, this figure shows the components of GOCA with functionalities showing their input/output data, the basic two components of GOCA software are hardware control software and deformation analysis software.

#### 2-2-1 Hardware control software

As hardware control software two software packages, namely the GOCA_DC3 by DrBergets and MONITOR software by Geonav-Trimble can be used. they are responsible for sensor control and communications, data sampling and provision of GKA-data (files that contain the GNSS baselines, GNSS sessions, total stations observations, leveling observations, and local sensors observations as time series observations) and alarm information data ALR-DATA that calls the ALARM software(DC3 or GOCA-ALARM) to send an alarm through email, SMS, or program execution. See fig (2-3). *[J ä ger et al., 2001]*

#### 2-2-2 Deformation analysis software

The GOCA-deformation analysis software reads input data from the GKA-files or RINEX-files(for further processing GNSS-processing controlled by the GOCA module BPEC-PRO and a set up of the results as a GKA-file, see fig(2-3)), and makes three steps adjustment for GNSS/LPS data, while LS data go directly to the third step. The first step is the initialization; the reference frame coordinates [Abbildung in dieser Leseprobe nicht enthalten] are defined.

The second step the object points [Abbildung in dieser Leseprobe nicht enthalten] are georeferenced and the time series coordinates are stored in FIN-files with their covariance matrix. The third step is the deformation analysis step, where it can be online processing or postproceessing methods. The methods that can work in postprocessing and in online processing are:

- The moving average storing the results in MVE-file,

- The displacement estimation storing the results in SHT-files,

- And Kalman filtering that stores the data in KAL-files.

The online processing methods can send alarms through creating ALR-data, while methods that work in postprocessing only do not send alarm information.

The adjustment steps and the mathematical models in GOCA-Deformation analysis software are more explained in chapter 2-3.

illustration not visible in this excerpt

Fig (2-3): Data flow and deformation analysis processing steps in the GOCA system . *[J ä ger et al., 2005]*

2-3 GOCA deformation analysis mathematical model

Using the principle of an absolute geodetic deformation network GOCA uses two different epochs of observations for deformations analysis, observations at time [Abbildung in dieser Leseprobe nicht enthalten] *[J ä ger et al., 2005 ]*

illustration not visible in this excerpt

And observations at time

illustration not visible in this excerpt

Where,

illustration not visible in this excerpt

The GNSS observations are at first 3D baselines *b* resulting from GNSS data processing. These data are the original results of the data processing of the GPSbasestation and the GPS-roverstations. The GPS baselines are further processed to projected geographical coordinates system *(B,L,h)*, and then to 2D/1D baselines with covariance matrix. The 2D GNSS baselines observations are:

illustration not visible in this excerpt

And the 1D GNSS observations are:

illustration not visible in this excerpt

The terrestrial (LPS) observations are two types:

1- Total station observation. They contain the directions observations:

illustration not visible in this excerpt

And the reduced to distance observations the used coordinates systems:

illustration not visible in this excerpt

2-Terrestrial leveling observations:

illustration not visible in this excerpt

Where the parameters[Abbildung in dieser Leseprobe nicht enthalten] and [Abbildung in dieser Leseprobe nicht enthalten] are the local geoids definition parameters. *[Tepper, 2005]*

#### 2-3-1 GOCA first adjustment step

In the first step of adjustment the L2-norm [Abbildung in dieser Leseprobe nicht enthalten] free network adjustment, where * v* is the homogenized residual (see chapter 3-4.2 for homogenization), and it is applied for observations at given time intervals to define the networks datum [Abbildung in dieser Leseprobe nicht enthalten]. In this step iterative data snooping is applied to eliminate the gross errors.

illustration not visible in this excerpt

Fig (2-4): Settings dialog box for the initialization step in GOCA.

#### 2-3-2 GOCA second adjustment step

In the second step the three dimensional position of object points in a time interval [Abbildung in dieser Leseprobe nicht enthalten] are georefernced using adjustment of the GNSS and LPS observations in eq.3-eq.7 according to eq.1 and eq.2 , the step runs in online process , and the computes object points coordinates

[Abbildung in dieser Leseprobe nicht enthalten] with their covariance matrix [Abbildung in dieser Leseprobe nicht enthalten] as time series are stored in FIN-files . The FIN-files are the input data for the third adjustment step.

The second step runs in an online process. The adjustment can be a L2-norm [Abbildung in dieser Leseprobe nicht enthalten] estimation, a robust L1-norm [Abbildung in dieser Leseprobe nicht enthalten] estimation, or a weak robust estimation or so called Huber estimation as explained in eq.8. *[J ä ger and K ä bler, 2005]*

illustration not visible in this excerpt

Fig (2-5): Settings dialog box for the second step in GOCA.

#### 2-3-3 GOCA third step

In third step different deformation faction standards are applied, using L2-norm [Abbildung in dieser Leseprobe nicht enthalten]estimation, Robust L1-norm [Abbildung in dieser Leseprobe nicht enthalten] estimation eq.8. The deformation functions which are available online are:

- Moving average.

- Automatic displacement estimation between two different defined epochs. The Epochs can either be fixed or defined to move in a cycle. The displacement estimation results for DSKHalle project (a project where GOCA is set up) in time interval from 6.sept.99 to 4.oct.99 is show in fig (2- 6).

illustration not visible in this excerpt

Fig (2-6): Displacement estimation output in graphics and protocol file.

- Kalman filter to calculate the displacement velocity and acceleration at a given time. The output of Kalman filter is stored in KAL-file, including positions and velocities and accelerations for the three dimensional positions with their variances as shown in fig (2-7).

illustration not visible in this excerpt

Fig (2-7): DSKHalle project results using Kalman filter.

In postprocessing the above deformation functions are available, and additionally the following functions can be used:

- Polynomial based trend estimations.

- Leap detection between epochs defined by interval length.

## CHAPTER THREE Kalman filter

### 3-1Kalman Filter

Kalman filter is a method used mainly for linear dynamic systems, where it is considered that the state of a variable changes with time. So we have a movement in positions, velocity, and acceleration. Depending on direct observations the state of the variable is estimated. Fig (3-1) shows briefly the concept of Kalman filtering. *[Xu, 2003]*

illustration not visible in this excerpt

Fig (3-1): The concept of Kalman filtering.

In Kalman filter it is possible to apply forecasting of the point position at a given time, according to the estimated parameters. *[Hoffman-Wellenhof et al., 2001]*

**[...]**

## Details

- Pages
- 101
- Year
- 2006
- ISBN (eBook)
- 9783656701941
- ISBN (Book)
- 9783656703839
- File size
- 1.4 MB
- Language
- English
- Catalog Number
- v276794
- Institution / College
- University of Applied Sciences Karlsruhe – Geomatik
- Grade
- 1.3
- Tags
- further development l2/l1-norm goca kalman-filtering extension computation visualization variance estimations probability forecasting states