1 |
|
---|
2 | \documentclass[10pt]{beamer}
|
---|
3 | \usetheme{umbc2}
|
---|
4 | \useinnertheme{umbcboxes}
|
---|
5 | \setbeamercolor{umbcboxes}{bg=violet!12,fg=black}
|
---|
6 |
|
---|
7 | \usepackage{longtable}
|
---|
8 | \usepackage{tabu}
|
---|
9 | \usepackage{subeqnar}
|
---|
10 |
|
---|
11 | \newcommand{\ul}{\underline}
|
---|
12 | \newcommand{\be}{\begin{equation}}
|
---|
13 | \newcommand{\ee}{\end{equation}}
|
---|
14 | \newcommand{\bdm}{\begin{displaymath}}
|
---|
15 | \newcommand{\edm}{\end{displaymath}}
|
---|
16 | \newcommand{\bea}{\begin{eqnarray}}
|
---|
17 | \newcommand{\eea}{\end{eqnarray}}
|
---|
18 | \newcommand{\bsea}{\begin{subeqnarray*}}
|
---|
19 | \newcommand{\esea}{\end{subeqnarray*}}
|
---|
20 | \newcommand{\mb}[1]{\mbox{#1}}
|
---|
21 | \newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
|
---|
22 | \newcommand{\bm}[1]{\mbox{\bf #1}}
|
---|
23 | \newcommand{\bmm}[1]{\mbox{\boldmath$#1$\unboldmath}}
|
---|
24 | \newcommand{\bmell}{\bmm\ell}
|
---|
25 | \newcommand{\hateps}{\widehat{\bmm\varepsilon}}
|
---|
26 | \newcommand{\graybox}[1]{\psboxit{box .9 setgray fill}{\fbox{#1}}}
|
---|
27 | \newcommand{\mdeg}[1]{\mbox{$#1^{\mbox{\scriptsize o}}$}}
|
---|
28 | \newcommand{\dd}{\mbox{\footnotesize{$\nabla \! \Delta$}}}
|
---|
29 | \newcommand{\p}{\partial\,}
|
---|
30 | \renewcommand{\d}{\mbox{d}}
|
---|
31 | \newcommand{\dspfrac}{\displaystyle\frac}
|
---|
32 | \newcommand{\nl}{\\[4mm]}
|
---|
33 |
|
---|
34 | \title{Processing GNSS Data in Real-Time}
|
---|
35 |
|
---|
36 | \author{Leo\v{s} Mervart}
|
---|
37 |
|
---|
38 | \institute{TU Prague}
|
---|
39 |
|
---|
40 | \date{Frankfurt, January 2014}
|
---|
41 |
|
---|
42 | % \AtBeginSection[]
|
---|
43 | % {
|
---|
44 | % \begin{frame}
|
---|
45 | % \frametitle{Table of Contents}
|
---|
46 | % \tableofcontents[currentsection]
|
---|
47 | % \end{frame}
|
---|
48 | % }
|
---|
49 |
|
---|
50 | \begin{document}
|
---|
51 |
|
---|
52 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
53 |
|
---|
54 | \begin{frame}
|
---|
55 | \titlepage
|
---|
56 | \end{frame}
|
---|
57 |
|
---|
58 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
59 |
|
---|
60 | \begin{frame}
|
---|
61 | \frametitle{Medieval Times of GNSS (personal memories)}
|
---|
62 |
|
---|
63 | \begin{description}
|
---|
64 | \item[1991] Prof. Gerhard Beutler became the director of the Astronomical Institute, University of
|
---|
65 | Berne. The so-called Bernese GPS Software started to be used for (post-processing) analyzes of
|
---|
66 | GNSS data.
|
---|
67 | \item[1992] LM started his PhD study at AIUB.
|
---|
68 | \item[1992] Center for Orbit Determination in Europe (consortium of AIUB, Swisstopo, BKG, IGN, and
|
---|
69 | IAPG/TUM) established. Roughly at that time LM met Dr. Georg Weber for the first time.
|
---|
70 | \item[1993] International GPS Service formally recognized by the IAG.
|
---|
71 | \item[1994] IGS began providing GPS orbits and other products routinely (January, 1).
|
---|
72 | \item[1995] GPS declared fully operational.
|
---|
73 | \end{description}
|
---|
74 |
|
---|
75 | \end{frame}
|
---|
76 |
|
---|
77 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
78 |
|
---|
79 | \begin{frame}
|
---|
80 | \frametitle{CODE-Related Works in 1990's}
|
---|
81 |
|
---|
82 | \begin{itemize}
|
---|
83 | \item The Bernese GPS Software was the primary tool for CODE analyzes (Fortran~77).
|
---|
84 | \item IGS reference network was sparse.
|
---|
85 | \item Real-time data transmission limited (Internet was still young, TCP/IP widely accepted 1989).
|
---|
86 | \item CPU power of then computers was limited (VAX/VMS OS used at AIUB).
|
---|
87 | \end{itemize}
|
---|
88 |
|
---|
89 | In 1990's high precision GPS analyzes were almost exclusively performed in post-processing mode.
|
---|
90 | The typical precise application of GPS at that time was the processing of a network of static
|
---|
91 | GPS-only receivers for the estimation of station coordinates.
|
---|
92 |
|
---|
93 | \end{frame}
|
---|
94 |
|
---|
95 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
96 |
|
---|
97 | \begin{frame}
|
---|
98 | \frametitle{Tempora mutantur (and maybe ``nos mutamur in illis'')}
|
---|
99 |
|
---|
100 | \includegraphics[width=0.7\textwidth,angle=0]{pp_vs_rt.png}
|
---|
101 |
|
---|
102 | \vspace*{-2cm}
|
---|
103 | \hspace*{6cm}
|
---|
104 | \includegraphics[width=0.4\textwidth,angle=0]{ea_ztd_21h.png}
|
---|
105 |
|
---|
106 |
|
---|
107 | \end{frame}
|
---|
108 |
|
---|
109 |
|
---|
110 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
111 |
|
---|
112 | \begin{frame}
|
---|
113 | \frametitle{O tempora! O mores!}
|
---|
114 |
|
---|
115 | \begin{itemize}
|
---|
116 | \item people want more and more \ldots
|
---|
117 | \item everybody wants everything immediately \ldots
|
---|
118 | \item \hspace*{2cm} and, of course, free of charge \ldots
|
---|
119 | \end{itemize}
|
---|
120 | \vspace*{5mm}
|
---|
121 | In GNSS-world it means:
|
---|
122 | \begin{itemize}
|
---|
123 | \item There are many new kinds of GNSS applications - positioning is becoming just one of many
|
---|
124 | purposes of GNSS usage.
|
---|
125 | \item Many results of GNSS processing are required in real-time (or, at least, with very small
|
---|
126 | delay).
|
---|
127 | \item GPS is not the only positioning system. Other GNSS are being established (for practical but
|
---|
128 | also for political reasons).
|
---|
129 | \item People are used that many GNSS services are available free of charge (but the development and
|
---|
130 | maintenance has to be funded).
|
---|
131 | \end{itemize}
|
---|
132 |
|
---|
133 | \begin{block}{But \ldots}
|
---|
134 | \end{block}
|
---|
135 |
|
---|
136 | \end{frame}
|
---|
137 |
|
---|
138 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
139 |
|
---|
140 | \begin{frame}
|
---|
141 | \frametitle{Nihil novi sub sole}
|
---|
142 |
|
---|
143 | Each GNSS-application is based on processing code and/or phase observations
|
---|
144 | \vspace*{-3mm}
|
---|
145 | \begin{eqnarray*}
|
---|
146 | P^i & = & \varrho^i + c\;\delta - c\;\delta^i + T^i + I^i + b_P \\
|
---|
147 | L^i & = & \varrho^i + c\;\delta - c\;\delta^i + T^i - I^i + b^i
|
---|
148 | \end{eqnarray*}
|
---|
149 | where
|
---|
150 | \begin{tabbing}
|
---|
151 | $P^i$, $L^i$ ~~~~~~~ \= are the code and phase measurements, \\
|
---|
152 | $\varrho^i$ \> is the travel distance between the satellite
|
---|
153 | and the receiver, \\
|
---|
154 | $\delta$, $\delta^i$ \> are the receiver and satellite clock errors, \\
|
---|
155 | $I^i$ \> is the ionospheric delay, \\
|
---|
156 | $T^i$ \> is the tropospheric delay, \\
|
---|
157 | $b_P$ \> is the code bias, and \\
|
---|
158 | $b^i$ \> is the phase bias (including initial
|
---|
159 | phase ambiguity).
|
---|
160 | \end{tabbing}
|
---|
161 | Observation equations reveal what information can be gained from processing GNSS data:
|
---|
162 | \begin{itemize}
|
---|
163 | \item geometry (receiver positions, satellite orbits), and
|
---|
164 | \item state of atmosphere (both dispersive and non-dispersive part)
|
---|
165 | \end{itemize}
|
---|
166 | The observation equations also show that, in principle, GNSS is an
|
---|
167 | \textcolor{blue!90}{interferometric} technique -- precise results are actually always relative.
|
---|
168 |
|
---|
169 | \end{frame}
|
---|
170 |
|
---|
171 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
172 |
|
---|
173 | \begin{frame}
|
---|
174 | \frametitle{Challenges of Real-Time GNSS Application}
|
---|
175 | \begin{itemize}
|
---|
176 | \item Suitable algorithms for the parameter adjustment have to be used (filter techniques instead
|
---|
177 | of classical least-squares).
|
---|
178 | \item Reliable data links have to been established (between rover station and a reference station,
|
---|
179 | between receivers and processing center, or between processing center and DGPS correction
|
---|
180 | provider).
|
---|
181 | \item Software tools for handling real-time data (Fortran is not the best language for that).
|
---|
182 | \item Fast CPUs.
|
---|
183 | \end{itemize}
|
---|
184 |
|
---|
185 | As said above -- GNSS is an interferometric technique. Processing of a single station cannot give
|
---|
186 | precise results. However, data of reference station(s) can be replaced by the so-called corrections
|
---|
187 | (DGPS corrections, precise-point positioning etc.) These techniques are particularly suited for
|
---|
188 | real-time applications because the amount of data being transferred can be considerably reduced.
|
---|
189 |
|
---|
190 | \end{frame}
|
---|
191 |
|
---|
192 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
193 |
|
---|
194 | \begin{frame}
|
---|
195 | \frametitle{Algorithms -- Kalman Filter}
|
---|
196 |
|
---|
197 | \begin{small}
|
---|
198 |
|
---|
199 | State vectors $\bmm{x}$ at two subsequent epochs are
|
---|
200 | related to each other by the following linear equation:
|
---|
201 | \bdm
|
---|
202 | \bmm{x}(n) = \bmm{\Phi}\; \bmm{x}(n-1) + \bmm{\Gamma}\;\bmm{w}(n)~,
|
---|
203 | \edm
|
---|
204 | where $\Phi$ and $\Gamma$ are known matrices and {\em white noise} $\bmm{w}(n)$ is a random
|
---|
205 | vector with the following statistical properties:
|
---|
206 | \bsea
|
---|
207 | E(\bmm{w}) & = & \bmm{0} \\
|
---|
208 | E(\bmm{w}(n)\;\bmm{w}^T(m)) & = & \bmm{0} ~~ \mbox{for $m \neq n$} \\
|
---|
209 | E(\bmm{w}(n)\;\bmm{w^T}(n)) & = & \bm{Q}_s(n) ~.
|
---|
210 | \esea
|
---|
211 |
|
---|
212 | Observations $\bmm{l}(n)$ and the state vector $\bmm{x}(n)$ are related to
|
---|
213 | each other by the linearized {\em observation equations} of form
|
---|
214 | \bdm \label{eq:KF:obseqn}
|
---|
215 | \bmm{l}(n) = \bm{A}\;\bmm{x}(n) + \bmm{v}(n) ~ ,
|
---|
216 | \edm
|
---|
217 | where $\bm{A}$ is a known matrix (the so-called {\em first-design matrix}) and
|
---|
218 | $\bmm{v}(n)$ is a vector of random errors with the following properties:
|
---|
219 | \bsea\label{eq:KF:resid}
|
---|
220 | E(\bmm{v}) & = & \bmm{0} \\
|
---|
221 | E(\bmm{v}(n)\;\bmm{v}^T(m)) & = & \bmm{0} ~~ \mbox{for $m \neq n$} \\
|
---|
222 | E(\bmm{v}(n)\;\bmm{v^T}(n)) & = & \bm{Q}_l(n) ~.
|
---|
223 | \esea
|
---|
224 |
|
---|
225 | \end{small}
|
---|
226 |
|
---|
227 | \end{frame}
|
---|
228 |
|
---|
229 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
230 |
|
---|
231 | \begin{frame}
|
---|
232 | \frametitle{Classical KF Form}
|
---|
233 |
|
---|
234 | Minimum Mean Square Error (MMSE) estimate $\widehat{\bmm{x}}(n)$ of vector
|
---|
235 | $\bmm{x}(n)$ meets the condition
|
---|
236 | $E\left((\bmm{x} - \widehat{\bmm{x}})(\bmm{x} - \widehat{\bmm{x}})^T\right) =
|
---|
237 | \mbox{min}$ and is given by
|
---|
238 | \begin{subeqnarray}\label{eq:KF:prediction}
|
---|
239 | \widehat{\bmm{x}}^-(n) & = & \bmm{\Phi} \widehat{\bmm{x}}(n-1) \\
|
---|
240 | \bm{Q}^-(n) & = & \bmm{\Phi} \bm{Q}(n-1) \bmm{\Phi}^T +
|
---|
241 | \bmm{\Gamma} \bm{Q}_s(n) \bmm{\Gamma}^T
|
---|
242 | \end{subeqnarray}
|
---|
243 | \begin{subeqnarray}\label{eq:KF:update}
|
---|
244 | \widehat{\bmm{x}}(n) & = & \widehat{\bmm{x}}^-(n) +
|
---|
245 | \bm{K}\left(\bmm{l} -
|
---|
246 | \bm{A}\widehat{\bmm{x}}(n-1)\right) \\
|
---|
247 | \bm{Q}(n) & = & \bm{Q}^-(n) - \bm{K}\bm{A}\bm{Q}^-(n) ~,
|
---|
248 | \end{subeqnarray}
|
---|
249 | where
|
---|
250 | \bdm \label{eq:KF:KandH}
|
---|
251 | \bm{K} = \bm{Q}^-(n)\bm{A}^T\bm{H}^{-1}, \quad
|
---|
252 | \bm{H} = \bm{Q}_l(n) + \bm{A}\bm{Q}^-(n)\bm{A}^T ~.
|
---|
253 | \edm
|
---|
254 | Equations (\ref{eq:KF:prediction}) are called {\em prediction},
|
---|
255 | equations (\ref{eq:KF:update}) are called {\em update} step of Kalman filter.
|
---|
256 |
|
---|
257 | \end{frame}
|
---|
258 |
|
---|
259 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
260 |
|
---|
261 | \begin{frame}
|
---|
262 | \frametitle{Square-Root Filter} \label{sec:SRF}
|
---|
263 | \begin{small}
|
---|
264 | Algorithms based on equations (\ref{eq:KF:prediction}) and
|
---|
265 | (\ref{eq:KF:update}) may suffer from numerical instabilities that are primarily
|
---|
266 | caused by the subtraction in (\ref{eq:KF:update}b). This deficiency may be
|
---|
267 | overcome by the so-called {\em square-root} formulation of the Kalman filter
|
---|
268 | that is based on the so-called {\em QR-Decomposition}. Assuming the
|
---|
269 | Cholesky decompositions
|
---|
270 | \be \label{eq:SRF:defsym}
|
---|
271 | \bm{Q}(n) = \bm{S}^{T} \bm{S} , \quad
|
---|
272 | \bm{Q}_l(n) = \bm{S}^T_l \bm{S}_l, \quad
|
---|
273 | \bm{Q}^-(n) = \bm{S}^{-T}\bm{S}^-
|
---|
274 | \ee
|
---|
275 | we can create the following block matrix and its QR-Decomposition:
|
---|
276 | \be \label{eq:SRF:main}
|
---|
277 | \left(\begin{array}{ll}
|
---|
278 | \bm{S}_l & \bm{0} \\
|
---|
279 | \bm{S}^-\bm{A}^T & \bm{S}^-
|
---|
280 | \end{array}\right)
|
---|
281 | =
|
---|
282 | N \left(\begin{array}{cc}
|
---|
283 | \bm{X} & \bm{Y} \\
|
---|
284 | \bm{0} & \bm{Z}
|
---|
285 | \end{array}\right) ~ .
|
---|
286 | \ee
|
---|
287 | It can be easily verified that
|
---|
288 | \bsea\label{eq:SRF:HK}
|
---|
289 | \bm{H} & = & \bm{X}^T\bm{X} \\
|
---|
290 | \bm{K}^T & = & \bm{X}^{-1}\bm{Y}\\
|
---|
291 | \bm{S} & = & \bm{Z} \\
|
---|
292 | \bm{Q}(n) & = & \bm{Z}^T\bm{Z} ~ .
|
---|
293 | \esea
|
---|
294 | State vector $\widehat{\bmm{x}}(n)$ is computed in a usual way using the
|
---|
295 | equation (\ref{eq:KF:update}a).
|
---|
296 | \end{small}
|
---|
297 | \end{frame}
|
---|
298 |
|
---|
299 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
300 |
|
---|
301 | \begin{frame}
|
---|
302 | \frametitle{Data Transfer -- NTRIP}
|
---|
303 |
|
---|
304 | In order to be useful data have to be provided in a well-defined \textcolor{blue}{format}.
|
---|
305 | RTCM (Radio Technical Commission for Maritime Services) messages are widely used for GNSS data in
|
---|
306 | real-time.
|
---|
307 |
|
---|
308 | \vspace*{5mm}
|
---|
309 |
|
---|
310 | In addition to a format the so-called \textcolor{blue}{protocol} has to be defined. Using a given
|
---|
311 | protocol the data user communicates with the data provider.
|
---|
312 |
|
---|
313 | For GNSS data, the so-called \textcolor{blue}{NTRIP} streaming protocol is used.
|
---|
314 | \begin{itemize}
|
---|
315 | \item NTRIP stands for Networked Transport of RTCM via Internet Protocol.
|
---|
316 | \item NTRIP is in principle a layer on top of TCP/IP.
|
---|
317 | \item NTRIP has been developed at BKG (together with TU Dortmund).
|
---|
318 | \item NTRIP is capable of handling hundreds of data streams simultaneously delivering the data
|
---|
319 | to thousands of users.
|
---|
320 | \item NTRIP is world-wide accepted.
|
---|
321 | \end{itemize}
|
---|
322 |
|
---|
323 | \end{frame}
|
---|
324 |
|
---|
325 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
326 |
|
---|
327 | \begin{frame}
|
---|
328 | \frametitle{NTRIP}
|
---|
329 |
|
---|
330 | Efficiency of data transfer using NTRIP is achieved thanks to the GNSS Internet Radio /
|
---|
331 | IP-Streaming architecture:
|
---|
332 |
|
---|
333 | \begin{center}
|
---|
334 | \includegraphics[width=0.7\textwidth,angle=0]{ntrip.png}
|
---|
335 | \end{center}
|
---|
336 |
|
---|
337 | \end{frame}
|
---|
338 |
|
---|
339 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
340 |
|
---|
341 | \begin{frame}
|
---|
342 | \frametitle{NTRIP Users}
|
---|
343 |
|
---|
344 | \includegraphics[width=0.5\textwidth,angle=0]{numberRegisteredUsers_1.png}
|
---|
345 | \includegraphics[width=0.5\textwidth,angle=0]{activeClients_month_1.png}
|
---|
346 | \begin{center}
|
---|
347 | \includegraphics[width=0.5\textwidth,angle=0]{casterTransfer_1.png}
|
---|
348 | \end{center}
|
---|
349 |
|
---|
350 | \end{frame}
|
---|
351 |
|
---|
352 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
353 |
|
---|
354 | \begin{frame}
|
---|
355 | \frametitle{BKG Ntrip Client (BNC)}
|
---|
356 |
|
---|
357 | An important reason why NTRIP has been widely accepted is that BKG provided high-quality public
|
---|
358 | license software tools for its usage. One of these tools is the so-called \textcolor{blue}{BKG
|
---|
359 | Ntrip Client}.
|
---|
360 |
|
---|
361 | \begin{itemize}
|
---|
362 | \item BNC source consists currently of approximately 50.000 lines of code
|
---|
363 | \item approximately 90 \% is C++, 10 \% standard C
|
---|
364 | \item BNC uses a few third-party pieces of software (first of all the RTCM
|
---|
365 | decoders/encoders and a matrix algebra library)
|
---|
366 | \end{itemize}
|
---|
367 |
|
---|
368 | \begin{block}{BNC is intended to be}
|
---|
369 | \begin{itemize}
|
---|
370 | \item user-friendly
|
---|
371 | \item cross-platform
|
---|
372 | \item easily modifiable (by students, GNSS beginners)
|
---|
373 | \item useful (at least a little bit ...)
|
---|
374 | \end{itemize}
|
---|
375 | \end{block}
|
---|
376 |
|
---|
377 | \begin{block}{BNC is not only an NTRIP client \ldots}
|
---|
378 | \end{block}
|
---|
379 |
|
---|
380 | \end{frame}
|
---|
381 |
|
---|
382 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
383 |
|
---|
384 | \begin{frame}
|
---|
385 | \frametitle{Data QC in BNC}
|
---|
386 | \begin{center}
|
---|
387 | \includegraphics[width=0.9\textwidth,angle=0]{bnc_qc2.png}
|
---|
388 | \end{center}
|
---|
389 | \end {frame}
|
---|
390 |
|
---|
391 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
392 |
|
---|
393 | \begin{frame}
|
---|
394 | \frametitle{Data QC in BNC}
|
---|
395 | \begin{center}
|
---|
396 | \includegraphics[width=0.9\textwidth,angle=0]{bnc_qc1.png}
|
---|
397 | \end{center}
|
---|
398 | \end {frame}
|
---|
399 |
|
---|
400 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
401 |
|
---|
402 | \begin{frame}
|
---|
403 | \frametitle{Precise Point Positioning with PPP}
|
---|
404 | \begin{center}
|
---|
405 | \includegraphics[width=0.9\textwidth,angle=0]{ppp1.png}
|
---|
406 | \end{center}
|
---|
407 | \end {frame}
|
---|
408 |
|
---|
409 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
410 |
|
---|
411 | \begin{frame}
|
---|
412 | \frametitle{Principles of Precise Point Positioning}
|
---|
413 | \framesubtitle{Observation Equations}
|
---|
414 |
|
---|
415 | The PPP is based on the processing of the ionosphere-free linear combination of phase
|
---|
416 | observations
|
---|
417 | \be
|
---|
418 | L^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + \bar{N}^{ij}_3 ~,
|
---|
419 | \ee
|
---|
420 | where the ambiguity term is given by
|
---|
421 | \be
|
---|
422 | \bar{N}^{ij}_3 = N^{ij}_3 - l^{ij}_3
|
---|
423 | = \frac{c\;f_2}{f^2_1-f^2_2}\;(n^{ij}_1-n^{ij}_2) + \lambda_3\;n^{ij}_1 - l^{ij}_3
|
---|
424 | \ee
|
---|
425 | and (optionally) the ionosphere-free linear combination of code observations
|
---|
426 | \be
|
---|
427 | P^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + p^{ij}_3 ~,
|
---|
428 | \ee
|
---|
429 | where the code bias $p^{ij}_3$ is the linear combination of biases
|
---|
430 | $p^{ij}_1,p^{ij}_2$
|
---|
431 | \end{frame}
|
---|
432 |
|
---|
433 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
434 |
|
---|
435 | \begin{frame}
|
---|
436 | \frametitle{Principles of PPP Service}
|
---|
437 |
|
---|
438 | Apart from the orbit corrections (will be discussed later) the server has to provide the
|
---|
439 | value $c\delta^{ij}$. That is sufficient for a client processing phase observations only.
|
---|
440 |
|
---|
441 | Using the code observations on the client-side is not mandatory. After an initial convergence
|
---|
442 | period (tens of minutes) there is almost no difference between a phase-only client and the client
|
---|
443 | that uses also the code observations. However, correct utilization of accurate code observations
|
---|
444 | improves the positioning results during the convergence period.
|
---|
445 |
|
---|
446 | Client which processes code observations either
|
---|
447 | \begin{enumerate}
|
---|
448 | \item has to know the value $p^{ij}_3$ (the value must be provided by the server -- the most
|
---|
449 | correct approach), or
|
---|
450 | \item has to estimate terms $p^{ij}_3$, or
|
---|
451 | \item neglect the bias (de-weight the code observations -- not fully correct).
|
---|
452 | \end{enumerate}
|
---|
453 | Options (2) and (3) mean that the benefit of using the code observations on the client-side (in
|
---|
454 | addition to phase observations) is minor only.
|
---|
455 |
|
---|
456 | \end{frame}
|
---|
457 |
|
---|
458 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
459 |
|
---|
460 | \begin{frame}
|
---|
461 | \frametitle{PPP of Moving Receiver by BNC}
|
---|
462 | \begin{center}
|
---|
463 | \includegraphics[width=0.6\textwidth,angle=0]{screenshot32.png}
|
---|
464 | \end{center}
|
---|
465 | \end{frame}
|
---|
466 |
|
---|
467 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
468 |
|
---|
469 | \begin{frame}
|
---|
470 | \frametitle{PPP -- Server-Side}
|
---|
471 |
|
---|
472 | \includegraphics[width=0.8\textwidth,angle=0]{igs_map.png}
|
---|
473 |
|
---|
474 | \vspace*{-2cm}
|
---|
475 |
|
---|
476 | \hspace*{2cm}
|
---|
477 | \includegraphics[width=0.8\textwidth,angle=0]{bnc_rtnet_flow.png}
|
---|
478 |
|
---|
479 | \end{frame}
|
---|
480 |
|
---|
481 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
482 |
|
---|
483 | \begin{frame}
|
---|
484 | \frametitle{PPP -- Server-Side}
|
---|
485 | \begin{center}
|
---|
486 | \includegraphics[width=0.9\textwidth,angle=0]{bnc_feed.png}
|
---|
487 | \end{center}
|
---|
488 | \end{frame}
|
---|
489 |
|
---|
490 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
491 |
|
---|
492 | \begin{frame}
|
---|
493 | \frametitle{PPP -- Server-Side}
|
---|
494 | \begin{center}
|
---|
495 | \includegraphics[width=0.9\textwidth,angle=0]{ac_results.png}
|
---|
496 | \end{center}
|
---|
497 | \end{frame}
|
---|
498 |
|
---|
499 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
500 |
|
---|
501 | \begin{frame}
|
---|
502 | \frametitle{PPP -- Server-Side}
|
---|
503 | \begin{center}
|
---|
504 | \includegraphics[width=0.9\textwidth,angle=0]{ac_results2.png}
|
---|
505 | \end{center}
|
---|
506 | \end{frame}
|
---|
507 |
|
---|
508 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
509 |
|
---|
510 | \begin{frame}
|
---|
511 | \frametitle{PPP -- Server-Side}
|
---|
512 | \begin{center}
|
---|
513 | \includegraphics[width=0.9\textwidth,angle=0]{combination_1.png}
|
---|
514 | \end{center}
|
---|
515 | \end{frame}
|
---|
516 |
|
---|
517 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
518 |
|
---|
519 | \begin{frame}
|
---|
520 | \frametitle{PPP -- Server-Side}
|
---|
521 | \begin{center}
|
---|
522 | \includegraphics[width=0.9\textwidth,angle=0]{combination_2.png}
|
---|
523 | \end{center}
|
---|
524 | \end{frame}
|
---|
525 |
|
---|
526 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
527 |
|
---|
528 | \begin{frame}
|
---|
529 | \frametitle{PPP -- Server-Side}
|
---|
530 | \begin{center}
|
---|
531 | \includegraphics[width=0.9\textwidth,angle=0]{combination_3.png}
|
---|
532 | \end{center}
|
---|
533 | \end{frame}
|
---|
534 |
|
---|
535 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
536 |
|
---|
537 | \section{PPP AR}
|
---|
538 | \subsection{Principles}
|
---|
539 |
|
---|
540 | \begin{frame}
|
---|
541 | \frametitle{Principles of PPP with Ambiguity Resolution}
|
---|
542 | \framesubtitle{Observation Equations}
|
---|
543 |
|
---|
544 | The PPPAR is in principle based on the processing the following two types of single-difference
|
---|
545 | observations: \\
|
---|
546 | The ionosphere-free linear combination
|
---|
547 | \be\label{obs_IF}
|
---|
548 | L^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + \bar{N}^{ij}_3 ~,
|
---|
549 | \ee
|
---|
550 | where the ambiguity term is given by
|
---|
551 | \be\label{amb_N3}
|
---|
552 | \bar{N}^{ij}_3 = N^{ij}_3 - l^{ij}_3
|
---|
553 | = \frac{c\;f_2}{f^2_1-f^2_2}\;(n^{ij}_1-n^{ij}_2) + \lambda_3\;n^{ij}_1 - l^{ij}_3
|
---|
554 | \ee
|
---|
555 | and the Melbourne-W\"{u}bbena linear combination
|
---|
556 | \be\label{obs_MW}
|
---|
557 | L^{ij}_w = \lambda_5\;n^{ij}_5 - l^{ij}_w
|
---|
558 | \ee
|
---|
559 | the uncalibrated bias $l^{ij}_3$ is the corresponding linear combination of biases
|
---|
560 | $l^{ij}_1,l^{ij}_2$, the uncalibrated bias $l^{ij}_w$ is the corresponding linear combination of
|
---|
561 | biases $p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$.
|
---|
562 | \end{frame}
|
---|
563 |
|
---|
564 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
565 |
|
---|
566 | \subsection{Parameters provided by Server}
|
---|
567 |
|
---|
568 | \begin{frame}
|
---|
569 | \frametitle{Principles of PPP with Ambiguity Resolution}
|
---|
570 | \framesubtitle{Parameters provided by Server}
|
---|
571 | In addition to orbit corrections, the server(s) has(have) to provide the values
|
---|
572 | \bdm
|
---|
573 | c\delta^{ij} ~,~ l^{ij}_w ~,~ l^{ij}_3 ~~~ \mb{or} ~~~~ (c\delta^{ij} + l^{ij}_3) ~,~ l^{ij}_w
|
---|
574 | \edm
|
---|
575 | Corrections $l^{ij}_w,l^{ij}_3$ depend on the set of fixed single-difference ambiguities on the
|
---|
576 | server-side. This set of fixed ambiguities is not unique - it depends on the constraints applied on
|
---|
577 | the ambiguities.
|
---|
578 |
|
---|
579 | There is a difference between correction $l^{ij}_w$ and the narrow-lane correction $l^{ij}_3$. The
|
---|
580 | wide-lane correction $l^{ij}_w$ depends {\em only} on the ambiguities estimated at the
|
---|
581 | server-side. The narrow-lane correction $l^{ij}_3$ depends on the ambiguities and {\em also} on the
|
---|
582 | satellite clock corrections $\delta^{ij}$ estimated at the server-side.
|
---|
583 |
|
---|
584 | \end{frame}
|
---|
585 |
|
---|
586 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
587 |
|
---|
588 | \begin{frame}
|
---|
589 | \frametitle{Principles of PPP with Ambiguity Resolution}
|
---|
590 | \framesubtitle{How many servers?}
|
---|
591 | All three corrections
|
---|
592 | \bdm
|
---|
593 | c\delta^{ij} ~~~ l^{ij}_w ~~~ l^{ij}_3
|
---|
594 | \edm
|
---|
595 | may be estimated together by a single server run (in which case the $c\delta^{ij}$ and $l^{ij}_3$
|
---|
596 | are indistinguishable and are combined into $c\delta^{ij}+l^{ij}_3$) Or, each of them may be
|
---|
597 | estimated by a separate server run.
|
---|
598 |
|
---|
599 | \vspace*{2mm}
|
---|
600 | Current approach:
|
---|
601 | \begin{itemize}
|
---|
602 | \item PPPNB server: estimates $c\delta^{ij}$
|
---|
603 | \item PPPAR server: uses $c\delta^{ij}$ from PPPNB server and estimates $l^{ij}_w,l^{ij}_3$
|
---|
604 | \end{itemize}
|
---|
605 |
|
---|
606 | \vspace*{2mm}
|
---|
607 | Advantages: PPPAR corrections are compatible with PPPNB corrections (the client may decide between
|
---|
608 | PPP and PPPAR).
|
---|
609 |
|
---|
610 | \vspace*{2mm}
|
---|
611 | Disadvantages: additional delay
|
---|
612 |
|
---|
613 | \vspace*{2mm}
|
---|
614 | An alternative approach to consider: separate server run for $l^{ij}_w$.
|
---|
615 |
|
---|
616 | \end{frame}
|
---|
617 |
|
---|
618 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
619 |
|
---|
620 | \begin{frame}
|
---|
621 | \frametitle{Principles of PPP with Ambiguity Resolution}
|
---|
622 | \framesubtitle{How to disseminate the corrections?}
|
---|
623 |
|
---|
624 | \begin{enumerate}
|
---|
625 | \item The corrections are valid (accurate) on the single- (between satellites) difference
|
---|
626 | level but it is more practical to send the zero-difference (satellite-specific) corrections.
|
---|
627 | \item The corrections are specific for the observation types used for their estimation - e.g. if
|
---|
628 | the C/A code on the first carrier and the P-code on the second carrier have been used at the
|
---|
629 | server side, the client can use the $l^{ij}_w$ correction only if it uses the same two types of
|
---|
630 | code observations.
|
---|
631 | \end{enumerate}
|
---|
632 |
|
---|
633 | The corrections $l^{ij}_w,l^{ij}_3$ are actually the combinations of the phase (and in case of
|
---|
634 | $l^{ij}_w$ also code) biases:
|
---|
635 | \begin{eqnarray*}
|
---|
636 | l^{ij}_w & = & \frac{1}{f_1-f_2} \bigl( f_1~l^{ij}_1 - f_2~l^{ij}_2 \bigr) -
|
---|
637 | \frac{1}{f_1+f_2} \bigl( f_1~p^{ij}_1 + f_2~p^{ij}_2 \bigr) ~
|
---|
638 | \\
|
---|
639 | l^{ij}_3 & = & \frac{1}{f^2_1-f^2_2} \bigl( f^2_1~l^{ij}_1 - f^2_2~l^{ij}_2 \bigr)
|
---|
640 | \end{eqnarray*}
|
---|
641 | RTCM suggests to send $p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$ directly ...
|
---|
642 |
|
---|
643 | \end{frame}
|
---|
644 |
|
---|
645 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
646 |
|
---|
647 | \begin{frame}
|
---|
648 | \frametitle{Principles of PPP with Ambiguity Resolution}
|
---|
649 | \framesubtitle{How to disseminate the corrections (continuation)?}
|
---|
650 |
|
---|
651 | In principle there are altogether 5 values which can be sent by server(s):
|
---|
652 | \bdm
|
---|
653 | c\delta^{ij},p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2
|
---|
654 | \edm
|
---|
655 | PPPNB server estimates the $c\delta^{ij}$ and the ionosphere-free
|
---|
656 | linear combination of the code biases
|
---|
657 | \bdm
|
---|
658 | p^{ij}_3 = \frac{1}{f^2_1-f^2_2} \bigl( f^2_1~p^{ij}_1 - f^2_2~p^{ij}_2 \bigr)
|
---|
659 | \edm
|
---|
660 | PPPAR server estimates the $l^{ij}_w$ and $l^{ij}_3$. Assuming that we know the differential code
|
---|
661 | bias
|
---|
662 | \bdm
|
---|
663 | d^{ij}_{p1p2} = p^{ij}_1 - p^{ij}_2
|
---|
664 | \edm
|
---|
665 | The four values
|
---|
666 | \bdm
|
---|
667 | p^{ij}_3 ~~~ l^{ij}_w ~~~~ l^{ij}_3 ~~~~ d^{ij}_{p1p2}
|
---|
668 | \edm
|
---|
669 | can be converted into four biases
|
---|
670 | $p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$.
|
---|
671 |
|
---|
672 | \end{frame}
|
---|
673 |
|
---|
674 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
675 |
|
---|
676 | \begin{frame}
|
---|
677 | \frametitle{Precise Point Positioning with PPP (cont.)}
|
---|
678 | BNC provides a good framework for the PPP client (observations, orbits, and
|
---|
679 | corrections stand for disposal).
|
---|
680 |
|
---|
681 | Main reasons for the PPP module in BNC have been:
|
---|
682 | \begin{itemize}
|
---|
683 | \item monitoring the quality of incoming data streams (primarily the PPP
|
---|
684 | corrections)
|
---|
685 | \item providing a simple easy-to-use tool for the basic PPP positioning
|
---|
686 | \end{itemize}
|
---|
687 |
|
---|
688 | The PPP facility in BNC is provided in the hope that it will be useful.
|
---|
689 | \begin{itemize}
|
---|
690 | \item The mathematical model of observations and the adjustment algorithm are
|
---|
691 | implemented in such a way that they are (according to our best knowledge)
|
---|
692 | correct without any shortcomings, however,
|
---|
693 | \item we have preferred simplicity to transcendence, and
|
---|
694 | \item the list of options the BNC users can select is limited.
|
---|
695 | \item[$\Rightarrow$] Commercial PPP clients may outperform BNC in some
|
---|
696 | aspects.
|
---|
697 | \end{itemize}
|
---|
698 | We believe in a possible good coexistence of the commercial software and
|
---|
699 | open source software.
|
---|
700 | \end {frame}
|
---|
701 |
|
---|
702 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
703 |
|
---|
704 | \begin{frame}
|
---|
705 | \frametitle{PPP Options}
|
---|
706 | \begin{itemize}
|
---|
707 | \item single station, SPP or PPP
|
---|
708 | \item real-time or post-processing
|
---|
709 | \item processing of code and phase ionosphere-free combinations, GPS,
|
---|
710 | Glonass, and Galileo
|
---|
711 | \end{itemize}
|
---|
712 | \begin{center}
|
---|
713 | \includegraphics[width=0.9\textwidth,angle=0]{ppp_opt1.png} \\[2mm]
|
---|
714 | \includegraphics[width=0.9\textwidth,angle=0]{ppp_opt2.png}
|
---|
715 | \end{center}
|
---|
716 | \end {frame}
|
---|
717 |
|
---|
718 |
|
---|
719 | \end{document}
|
---|