Hostname: page-component-745bb68f8f-b95js Total loading time: 0 Render date: 2025-02-06T05:08:09.779Z Has data issue: false hasContentIssue false

DGPS Correction Prediction Using Artificial Neural Networks

Published online by Cambridge University Press:  20 April 2007

M. Mohasseb
Affiliation:
(Ryerson University, Toronto) (Email: rabbany@ryerson.ca)
A. El-Rabbany
Affiliation:
(Ryerson University, Toronto) (Email: rabbany@ryerson.ca)
O. Abd El-Alim
Affiliation:
(Ryerson University, Toronto) (Email: rabbany@ryerson.ca)
R. Rashad
Affiliation:
(Ryerson University, Toronto) (Email: rabbany@ryerson.ca)
Rights & Permissions [Opens in a new window]

Abstract

This paper focuses on modelling and predicting differential GPS corrections transmitted by marine radio-beacon systems using artificial neural networks. Various neural network structures with various training algorithms were examined, including Linear, Radial Biases, and Feedforward. Matlab Neural Network toolbox is used for this purpose. Data sets used in building the model are the transmitted pseudorange corrections and broadcast navigation message. Model design is passed through several stages, namely data collection, preprocessing, model building, and finally model validation. It is found that feedforward neural network with automated regularization is the most suitable for our data. In training the neural network, different approaches are used to take advantage of the pseudorange corrections history while taking into account the required time for prediction and storage limitations. Three data structures are considered in training the neural network, namely all round, compound, and average. Of the various data structures examined, it is found that the average data structure is the most suitable. It is shown that the developed model is capable of predicting the differential correction with an accuracy level comparable to that of beacon-transmitted real-time DGPS correction.

Type
Research Article
Copyright
Copyright © The Royal Institute of Navigation 2007

1. INTRODUCTION

To enhance the safety of marine navigation some countries around the world have established networks of reference stations around their coastal areas which continuously broadcast real-time differential GPS (DGPS) corrections in the RTCM format. These corrections are digitally modulated using a special form of frequency modulation – the minimum shift keying (MSK). The modulated correction data is then transmitted from the radio beacon at rates between 25 and 200 bps. Typical rates, however, are 100 and 200 bps. In most of the cases, an integrity monitoring unit is co-located with the reference station to monitor its performance (El-Rabbany, Reference El-Rabbany2006).

In the past, a high transmission rate was necessary to mitigate the rapid changes in selective availability (SA). Fortunately, SA was switched off on May 2, 2000, which improved the standalone GPS positioning by a factor of seven or more (El-Rabbany, Reference El-Rabbany2006). In addition, with SA switched off, the differential pseudorange correction (PRC) changes relatively slowly over time (i.e. shows short-term stability). As a result, a lower transmission rate is required which helps reduce the cost of installing and operating a DGPS system. Furthermore, with the deactivation of SA the PRC is expected to have a high day-to-day repeatability (i.e. a long-term stability). This makes the PRC predictable, which helps further reduce the cost of beacon-based DGPS systems. For example, if the PRC can be predicted with a high degree of accuracy, it could be compared with the real-time PRC to monitor the system performance. This would eliminate the need for integrity monitoring stations, which in turn translates into lower operational costs.

This paper takes advantage of the day-to-day repeatability of differential corrections to produce a predicted set of DGPS corrections using a neural network-based model. Data sets used in building the model include the transmitted differential corrections and the broadcast ephemeris. Model design is passed through several stages, namely data collection, preprocessing, model building and finally model validation. It is shown that the developed neural network-based model is capable of generating predicted differential corrections which match that of the receiver-generated real-time corrections.

2. PRC VARIABILITY

Prior to developing our neural network model, it was necessary to verify the short- and long-term variability of the PRC data. PRC data transmitted by Alexandria DGPS reference station were collected at different time windows for this purpose. As shown in Figure 1, the PRC changes rather slowly over time. The figure shows that the differential correction could be delivered to the DGPS receiver with a latency of 90 seconds with no noticeable degradation in the DGPS positioning accuracy. Similarly, Figure 2 shows the PRC data over three days for PRN 20. As can be seen there is a high day-to-day repeatability, which suggests that the PRC data of a particular day can be predicted using data from previous days.

Figure 1. PRC for PRN 01 transmitted by Alexandria DGPS radio-beacon from 232223 to 232358 06/01/2003.

Figure 2. PRC for PRN 20 transmitted by Alexandria reference station from 06/01/2003 to 08/01/2003.

3. NEURAL NETWORK MODELLING

An Artificial Neural Network (ANN) consists of a set of processing elements called neurons that interact by sending signal to one another along weighted connections. These elements are inspired by biological nervous systems. The connection weights, which can be determined adaptively, specify the precise knowledge representation. The advantageous and distinguishing feature of neural networks is their ability to learn. The network in the adaptive mode abstracts and generalizes the function character in the process of learning from training patterns. The learning algorithm is an optimization method capable of finding weight coefficients and thresholds for a given neural network and a training set. Two approaches are used in training ANN: batch and incremental. Batch training of a network proceeds by making weight and bias changes based on an entire set (batch) of input vectors. Incremental training changes the weights and biases of a network as needed after presentation of each individual input vector. Incremental training is sometimes referred to as “on line” or “adaptive” training. ANN has been used extensively in GPS and other fields (Suna and Kalenderli, Reference Suna and Kalenderli2003; Watts, Reference Watts2001; Chiang, Reference Chiang2004; Jwo and Pai, Reference Jwo and Pai2004).

To select the appropriate network architecture, modelling is divided into two stages, short span fitting and long span fitting. PRC data transmitted by Alexandria DGPS reference station were collected on 17 and 18 October, 2004 for this purpose. The first 1000 samples of PRN 01 on 17/10/2004 were used for model training and the first 1000 samples on 18/10/2004 were used for model testing. If the network succeeded in short span fitting then it was used for the long span fitting where the pseudorange correction of PRN 01 on 17/10/2004 was used (for the whole period it was over the horizon, 21 400 samples) in model training and the pseudorange correction of PRN 01 on 18/10/2004 in model testing.

Three types of neural network design were tested using MATLAB 6.5 (Hagan and Denuth, Reference Hagan and Denuth1995) to find the most appropriate one that matched the nature of the correction data. In the entire neural network the input data were arranged in matrix of concurrent vector. The three network types are Linear Layer, Radial Bases, and Feedforward. Table 1 lists the training algorithms used along with its category and MATLAB abbreviation.

Table 1. Backpropagation training algorithms for Feedforward Neural Network architecture used in modelling the pseudorange correction.

3.1. Linear Neural Network

The linear neural network has the following architecture:

  • Number of layers: one.

  • Number of neurons: one.

  • Transfer function: Linear Transfer Function.

  • Learning rules: Least Square Error.

The construction of the linear layer is illustrated in Figure 3, where the figure shows one neuron with three elements input vector. Figure 4 shows the same structure but with MATLAB notation which will be used in the rest of this paper.

Figure 3. Single neuron with three elements input vector.

Figure 4. Single neuron with three elements input vector in block diagram notation.

The output of liner neuron is given by:

(1)
a \equals f_{lin} \lpar n\rpar \equals f_{lin} \lpar Wp \plus b\rpar \equals \lpar Wp \plus b\rpar

Where weights W and bias b are calculated from inputs vector p and targets T by solving the linear equation to minimize the mean square error given by:

(2)
\lsqb {Wb} \rsqb \vskip2pt\hskip2\ast\hskip2\vskip-2pt \lsqb p\semi 1_{\setnum{1}} \, \ldots \, 1_{q} \rsqb \equals T

Where q is the number of training patterns. Linear layer managed to model the short span training data set (when simulated with same data used in the training). However, when the network was simulated with the test data set, it failed to retrieve the correction again.

3.2. Radial Basis Neural Network

A Radial Basis network is shown in Figure 5 and has the following architecture:

  • Number of layers: two.

  • Number of neurons: variable in the first layer and one in the second layer.

  • Transfer function: Radial Biases Function in the first layer and Linear Transfer Function in the second layer.

Figure 5. Radial Basis Neural Network architecture for modelling PRC.

Three types of Radial Basis Network are tested, namely Exact Design, More Efficient, and Generalized Regression Network. The output of both Exact Design and More Efficient is given by:

(3)
a^{\setnum{2}} \equals f_{lin} \lpar n^{\setnum{2}} \rpar \equals f_{lin} \lpar LW_{\setnum{2}\comma \setnum{1}} a^{\setnum{1}} \plus b^{\setnum{2}} \rpar \equals \lpar LW_{\setnum{2}\comma \setnum{1}} a^{\setnum{1}} \plus b^{\setnum{2}} \rpar
(4)
a_{i}^{\setnum{1}} \equals f_{rad} \lpar {n^{\setnum{1}} } \rpar \equals f_{rad} \lpar {prod\lpar {\Vert {_{i} IW_{\setnum{1}\comma \setnum{1}} \minus p \Vert\comma b_{i}^{\setnum{1}} } } \rpar } \rpar
(5)
{\rm where}\hskip-2: \ f_{rad} \lpar n \rpar \equals exp \lpar {\hskip-2 \minus n^{\setnum{2}} } \rpar
(6)
\Vert {w \minus P} \Vert \equals \sqrt {\sum {\lpar {w \minus P} \rpar^{\setnum{2}} } }

where: H=prod(X,Y) for i=1 to lH i=X i*Y i

The output of Generalized Regression Network is given by:

(7)
a^{\setnum{2}} \equals f_{lin} \lpar {n^{\setnum{2}} } \rpar \equals f_{lin} \lpar {nprod\lpar {LW_{\setnum{2}\comma \setnum{1}} a^{\setnum{1}} } \rpar} \rpar

where nprod\lpar {w\comma p} \rpar \equals \displaystyle{{wp} \over {\sum P }}.

In Exact Design, weights in the first layer are set to the inputs vector P' where the weights of second layer is given by solving the linear equation to minimize the mean square error between a 1 and T as in Equation 2. In More Efficient, a similar approach is used, the only difference that it adds a single neuron each iteration until the sum of the squared error falls beneath the error goal or the maximum number of neurons has been reached. In Generalized Regression Network, weights of first layer are set as Exact Design but weights in second layer are set to T.

3.2.1. Exact Design

Although the Exact Design managed to model the short-term training data set, it failed with the test data set. Even if the Exact Design had managed to model the test data set, it could be used because it created a neuron for every record in its training data. For the long-term data set, the Exact Design would need 2400 neurons, which is not practical for pseudorange correction data.

3.2.2. More Efficient Design

More Efficient Design behaves in the same way as Exact Design; it managed to model the short-term training data set, but failed with the test data set.

3.2.3. Generalized Regression Network

Generalized Regression Network is similar in architecture with the Radial Basis except that the input to the second layer is normalized, as shown in Figure 6. Generalized Regression Neural Network managed to model both the short-term training data set and test data set. However the design of Generalized Regression Network is not efficient, it uses one neuron per record in the training data. As such, it is not practical to use this network in PRC modelling.

Figure 6. Generalized Regression Neural Network architecture for modelling PRC.

3.3. Feedforward Neural Network

The Feedforward Neural Network has a wide variety of architectures and backpropagation training algorithms. To find a suitable Feedforward architecture, one design was adopted and several training algorithms were used to train the neural network. The Feedforward architecture selected was based on guidelines in (Masters, Reference Masters1993) and is shown in Figure 7.

  • Number of layers: three.

  • Number of neurons: three in the first layer, twenty in the second layer, one in the third layer.

  • Transfer function: Tansig Function in both the first and the second layer, and Linear Transfer Function in the third layer.

The output of Feedforward Neural Network is given by:

(8)
\eqalign{ a^{\setnum{3}} \equals \tab f_{lin} \lpar {n^{\setnum{3}} } \rpar \equals f_{lin} \lpar {LW_{\setnum{3}\comma \setnum{2}} a^{\setnum{2}} \plus b^{\setnum{3}} } \rpar \equals \lpar {LW_{\setnum{3}\comma \setnum{2}} a^{\setnum{2}} \plus b^{\setnum{3}} } \rpar \cr a^{\setnum{2}} \equals \tab f_{hts} \lpar {n^{\setnum{2}} } \rpar \equals f_{hts} \lpar {LW_{\setnum{2}\comma \setnum{1}} a^{\setnum{1}} \plus b^{\setnum{2}} } \rpar \cr a^{\setnum{1}} \equals \tab f_{hts} \lpar {n^{\setnum{1}} } \rpar \equals f_{hts} \lpar {W_{\setnum{1}\comma \setnum{1}} P \plus b^{\setnum{1}} } \rpar \cr}

where; f_{hts} \lpar n \rpar \equals \displaystyle{2 \over {\lpar {1 \plus exp \lpar\hskip-1 { \minus 2n} \rpar} \rpar}} \minus 1

Figure 7. Feedforward Neural Network architecture for modelling the PRC.

The backpropagation training algorithms used were classified into four categories, Gradient Descent, Conjugate Gradient, Quasi-Newton, and Levenberg-Marquardt (Bose and Liang, Reference Bose and Liang1996; Fausett, Reference Fausett1994).

3.3.1. Gradient Descent

In Gradient Descent (steepest descent) weights are updated according to:

(9)
W\lpar {k \plus 1} \rpar \equals W\lpar k \rpar \plus \alpha d_{k}

where α is the learning rate parameter and dk is the negative of the gradient

(10)
d_{k} \equals \minus g_{k}

To speed the convergence of the steepest descent, two approaches were used; Variable Learning Rate and Resilient Back. In Variable Learning Rate, the magnitude of the learning rate was increased if the learning in the previous step had decreased the total error function. Conversely, if the error function had increased, the learning rate was decreased. The objective of the Resilient backpropagation training algorithm is to eliminate the harmful effects of sigmoid functions on the magnitudes of the partial derivatives, because the slope of sigmoid functions approaches zero as the input gets large. Only the sign of the derivative is used to determine the direction of the weight update; the magnitude of the derivative has no effect on the weight update. The size of the weight change is determined by a separate update value.

3.3.2. Conjugate Gradient

In Conjugate Gradient weights are updated according to

(11)
W\lpar {k \plus 1} \rpar \equals W\lpar k \rpar \plus \alpha_{k} d_{k}

where αk is the conjugate vector coefficient (step length) and dk is conjugate gradient direction. Initially dk is taken to be the direction of the steepest descent.

(12)
d_{\setnum{0}} \equals \minus g_{\setnum{0}}

In the following iteration dk is computed from:

(13)
d_{k \plus \setnum{1}} \equals \minus g_{k \plus \setnum{1}} \plus \beta _{k} d_{k \plus \setnum{1}}

and in Polak-Ribiere, update βk is computed from:

(14)
\beta _{k} \equals {{\Delta g_{K \minus \setnum{1}}^{T} \minus g_{K} } \over {g_{K}^{T} g_{K \minus \setnum{1}} }}

In Powelle-Beale Restarts, the conjugate gradient direction is set to the negative of the gradient if there is little orthogonality between the current gradient and the previous gradient. Computing the conjugate vector coefficient (αk) requires too much computation, Scaled Conjugate Gradient is an algorithm developed to avoid such computation.

3.3.3. Quasi-Newton

In Newton methods weights are updated according to

(15)
W\lpar {k \plus 1} \rpar \equals W\lpar k \rpar \plus \alpha _{k} H^{ \minus \setnum{1}} \lpar\hskip-1 { \minus g_{k} } \rpar

Where αk is one, g k is the gradient (as in the steepest descent), and H−1 is the inverse of the Hessian matrix. For Quasi-Newton methods H−1 is reached through a series of matrices beginning with the unit matrix I and ending with the inverse of the Hessian matrix H−1. The Quasi-Newton algorithm that employs the BFGS (Broyden, Fletcher, Golfarb, Shanno) formula for updating the Hessian matrix is called the BFGS Algorithim.

3.3.4. Levenberg-Marquardt

In the Levenberg-Marquardt method weights are updated according to

(16)
W\lpar {k \plus 1} \rpar \equals W \lpar k \rpar \minus \lsqb {JJ^{T} \plus IJ} \rsqb^{ \minus \setnum{1}} J^{T} e

Where J is the Jacobian matrix that contains first derivatives of the network errors with respect to the weights and biases and e is a vector of network errors.

All algorithms managed to train the proposed Feedforward Neural Network to model the pseudorange correction with its input. The network modelled both short and long span data sets. The best performance for accuracy and stability is the Levenberg-Marquardt with Automated Regularization. Figure 8 shows the residual error of modelling the short and long-term data sets using the training algorithms listed in Table 1.

Figure 8. Results of training the Feedforward neural network with different backpropagation training algorithms for modelling pseudorange correction.

4. RESULTS AND DISCUSSION

The performance of the proposed neural network-based model was assessed using a PRC data set collected over 24 hours from 14:00 21/10/2004 to 14:00 22/10/2004. The ANN-based predicted DGPS (PDGPS) corrections were first compared with the transmitted PRC counterpart. As can be seen in Figure 9, the difference between the predicted and transmitted PRC corrections for PRN 13 is less than 2m most of the time. The PRC of other satellites exhibit similar error differences. To further assess the performance of the proposed neural network-based model, we compared the horizontal positioning accuracies from three positioning modes, namely standalone GPS, DGPS, and PDGPS. Figures 10 and 11 show the results. It can be seen from Figure 10 that, although the accuracy of the standalone GPS has dramatically improved as a result of SA removal, it is still low compared to that of DGPS. On the other hand, the accuracies of DGPS and PDGPS are comparable (Figure 11), which shows that the ANN-based model is capable of modelling and predicting the differential corrections.

Figure 9. Difference between the predicted and transmitted PRC correction for PRN 13.

Figure 10. Horizontal positioning accuracy from standalone GPS and DGPS.

Figure 11. Horizontal positioning accuracy from PDGPS and DGPS.

5. CONCLUSIONS

It has been shown in this paper that artificial neural networks can effectively be used to predict the pseudorange differential corrections with a high accuracy level. In comparison with beacon-transmitted real-time DGPS corrections, the ANN-based PDGPS model developed was found to deviate by a maximum of 2m most of the time. This resulted in a positioning accuracy comparable to that of DGPS. Practical applications of the proposed model include its use to monitor the quality and integrity of beacon-transmitted real-time DGPS corrections. This would eliminate the need for integrity monitoring stations, which in turn translates into lower operational costs.

References

REFERENCES

Bose, N., and Liang, P. (1996). Neural Network Fundamentals with Graphs, Algorithms, and Application. McGraw-Hill, International Edition, USA.Google Scholar
Chiang, K.-W. (2004). INS/GPS Integration Using Neural Networks For Land Vehicle Navigation Application. PhD thesis. The University of Calgary, Canada.Google Scholar
El-Rabbany, A. (2006). Introduction to GPS: The Global Positioning System. Second edition. Artech House Publishers.Google Scholar
Fausett, L. (1994). Fundamentals of Neural Networks Architectures, Algorithms and Applications. Prentice Hall International, Inc., USA.Google Scholar
Hagan, M., and Denuth, M. (1995). Neural Network Design. Thomson Learning, USA.Google Scholar
Jwo, D., and Pai, C. (2004). Incorporation of Neural Network State Space Estimator for GPS Attitude Determination. The Journal of Navigation, 57, 117134.CrossRefGoogle Scholar
Masters, T. (1993). Practical Neural Network Recipes in C++. Academic Press, Inc., USA.Google Scholar
Suna, B., and Kalenderli, O. (2003). Electrode Contour Optimization By Artificial Neural Network With Levenberg-Marquartdt Algorithm. IJCI Proceedings of Intl. XII. Turkish Symposium on Artificial Intelligence and Neural Networks, 1, 1.Google Scholar
Watts, D. C. (2001). Land Cover Mapping by Combinations of Multiple Artificial Neural Networks. MSc thesis. The University of Calgary, Canada.Google Scholar
Figure 0

Figure 1. PRC for PRN 01 transmitted by Alexandria DGPS radio-beacon from 232223 to 232358 06/01/2003.

Figure 1

Figure 2. PRC for PRN 20 transmitted by Alexandria reference station from 06/01/2003 to 08/01/2003.

Figure 2

Table 1. Backpropagation training algorithms for Feedforward Neural Network architecture used in modelling the pseudorange correction.

Figure 3

Figure 3. Single neuron with three elements input vector.

Figure 4

Figure 4. Single neuron with three elements input vector in block diagram notation.

Figure 5

Figure 5. Radial Basis Neural Network architecture for modelling PRC.

Figure 6

Figure 6. Generalized Regression Neural Network architecture for modelling PRC.

Figure 7

Figure 7. Feedforward Neural Network architecture for modelling the PRC.

Figure 8

Figure 8. Results of training the Feedforward neural network with different backpropagation training algorithms for modelling pseudorange correction.

Figure 9

Figure 9. Difference between the predicted and transmitted PRC correction for PRN 13.

Figure 10

Figure 10. Horizontal positioning accuracy from standalone GPS and DGPS.

Figure 11

Figure 11. Horizontal positioning accuracy from PDGPS and DGPS.