source: ntrip/trunk/BNC/txt/frankfurt.tex@ 5615

Last change on this file since 5615 was 5615, checked in by mervart, 10 years ago
File size: 22.9 KB
Line 
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
89In 1990's high precision GPS analyzes were almost exclusively performed in post-processing mode.
90The typical precise application of GPS at that time was the processing of a network of static
91GPS-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}
121In 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
143Each 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}
161Observation 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}
166The 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
185As said above -- GNSS is an interferometric technique. Processing of a single station cannot give
186precise 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
188real-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
199State vectors $\bmm{x}$ at two subsequent epochs are
200related 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
204where $\Phi$ and $\Gamma$ are known matrices and {\em white noise} $\bmm{w}(n)$ is a random
205vector with the following statistical properties:
206\bsea
207E(\bmm{w}) & = & \bmm{0} \\
208E(\bmm{w}(n)\;\bmm{w}^T(m)) & = & \bmm{0} ~~ \mbox{for $m \neq n$} \\
209E(\bmm{w}(n)\;\bmm{w^T}(n)) & = & \bm{Q}_s(n) ~.
210\esea
211
212Observations $\bmm{l}(n)$ and the state vector $\bmm{x}(n)$ are related to
213each 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
217where $\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}
220E(\bmm{v}) & = & \bmm{0} \\
221E(\bmm{v}(n)\;\bmm{v}^T(m)) & = & \bmm{0} ~~ \mbox{for $m \neq n$} \\
222E(\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
234Minimum 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}
249where
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
254Equations (\ref{eq:KF:prediction}) are called {\em prediction},
255equations (\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}
264Algorithms based on equations (\ref{eq:KF:prediction}) and
265(\ref{eq:KF:update}) may suffer from numerical instabilities that are primarily
266caused by the subtraction in (\ref{eq:KF:update}b). This deficiency may be
267overcome by the so-called {\em square-root} formulation of the Kalman filter
268that is based on the so-called {\em QR-Decomposition}. Assuming the
269Cholesky 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
275we 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
287It 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
294State vector $\widehat{\bmm{x}}(n)$ is computed in a usual way using the
295equation (\ref{eq:KF:update}a).
296\end{small}
297\end{frame}
298
299%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300
301\begin{frame}
302\frametitle{Data Transfer -- NTRIP}
303
304In order to be useful data have to be provided in a well-defined \textcolor{blue}{format}.
305RTCM (Radio Technical Commission for Maritime Services) messages are widely used for GNSS data in
306real-time.
307
308\vspace*{5mm}
309
310In addition to a format the so-called \textcolor{blue}{protocol} has to be defined. Using a given
311protocol the data user communicates with the data provider.
312
313For 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
319to 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
330Efficiency of data transfer using NTRIP is achieved thanks to the GNSS Internet Radio /
331IP-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{BKG Ntrip Client (BNC)}
343
344An important reason why NTRIP has been widely accepted is that BKG provided high-quality public
345license software tools for its usage. One of these tools is the so-called \textcolor{blue}{BKG
346Ntrip Client}.
347
348 \begin{itemize}
349 \item BNC source consists currently of approximately 50.000 lines of code
350 \item approximately 90 \% is C++, 10 \% standard C
351 \item BNC uses a few third-party pieces of software (first of all the RTCM
352 decoders/encoders and a matrix algebra library)
353 \end{itemize}
354
355 \begin{block}{BNC is intended to be}
356 \begin{itemize}
357 \item user-friendly
358 \item cross-platform
359 \item easily modifiable (by students, GNSS beginners)
360 \item useful (at least a little bit ...)
361 \end{itemize}
362 \end{block}
363
364 \begin{block}{BNC is not only an NTRIP client \ldots}
365 \end{block}
366
367\end{frame}
368
369%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
370
371\begin{frame}
372 \frametitle{Data QC in BNC}
373 \begin{center}
374 \includegraphics[width=0.9\textwidth,angle=0]{bnc_qc2.png}
375 \end{center}
376\end {frame}
377
378%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
379
380\begin{frame}
381 \frametitle{Data QC in BNC}
382 \begin{center}
383 \includegraphics[width=0.9\textwidth,angle=0]{bnc_qc1.png}
384 \end{center}
385\end {frame}
386
387%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
388
389\begin{frame}
390 \frametitle{Precise Point Positioning with PPP}
391 \begin{center}
392 \includegraphics[width=0.9\textwidth,angle=0]{ppp1.png}
393 \end{center}
394\end {frame}
395
396%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397
398\begin{frame}
399\frametitle{Principles of Precise Point Positioning}
400\framesubtitle{Observation Equations}
401
402The PPP is based on the processing of the ionosphere-free linear combination of phase
403observations
404\be
405L^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + \bar{N}^{ij}_3 ~,
406\ee
407where the ambiguity term is given by
408\be
409\bar{N}^{ij}_3 = N^{ij}_3 - l^{ij}_3
410 = \frac{c\;f_2}{f^2_1-f^2_2}\;(n^{ij}_1-n^{ij}_2) + \lambda_3\;n^{ij}_1 - l^{ij}_3
411\ee
412and (optionally) the ionosphere-free linear combination of code observations
413\be
414P^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + p^{ij}_3 ~,
415\ee
416where the code bias $p^{ij}_3$ is the linear combination of biases
417$p^{ij}_1,p^{ij}_2$
418\end{frame}
419
420%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
421
422\begin{frame}
423\frametitle{Principles of PPP Service}
424\framesubtitle{Code Biases}
425
426Apart from the orbit corrections (will be discussed later) the server has to provide the
427value $c\delta^{ij}$. That is sufficient for a client processing phase observations only.
428
429Using the code observations on the client-side is not mandatory. After an initial convergence
430period (tens of minutes) there is almost no difference between a phase-only client and the client
431that uses also the code observations. However, correct utilization of accurate code observations
432improves the positioning results during the convergence period.
433
434Client which processes code observations either
435\begin{enumerate}
436\item has to know the value $p^{ij}_3$ (the value must be provided by the server -- the most
437 correct approach), or
438\item has to estimate terms $p^{ij}_3$, or
439\item neglect the bias (de-weight the code observations -- not fully correct).
440\end{enumerate}
441Options (2) and (3) mean that the benefit of using the code observations on the client-side (in
442addition to phase observations) is minor only.
443
444\end{frame}
445
446%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447
448\begin{frame}
449\frametitle{Principles of PPP Service}
450\framesubtitle{Handling Code Biases}
451
452In order to avoid the necessity to disseminate the code biases $p^{ij}_3$ and still guarantee that
453the client may decently use the code observations we adopted the following approach:
454
455Denoting the code bias estimated by a server at epoch $t_0$ by $\bar{p}^{ij}_3 = p^{ij}_3(t_0)$ we
456modify the satellite clock corrections as follows:
457\be
458c\bar\delta^{ij} = c\delta^{ij} - \bar{p}^{ij}_3
459\ee
460and disseminate $c\bar\delta^{ij}$ instead of $c\delta^{ij}$. This modification has no effect on
461the processing of phase observations at the client-side (the constant difference is absorb by
462estimated ambiguities). For the processing of code observations it has the benefit that the client
463does not see the code bias $p^{ij}_3$ but only
464\bdm
465\bar{p}^{ij}_3-p^{ij}_3
466\edm
467and we try to keep the difference $\bar{p}^{ij}_3-p^{ij}_3$ lower than a selected threshold.
468
469\end{frame}
470
471%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
472
473\section{PPP AR}
474\subsection{Principles}
475
476\begin{frame}
477\frametitle{Principles of PPP with Ambiguity Resolution}
478\framesubtitle{Observation Equations}
479
480The PPPAR is in principle based on the processing the following two types of single-difference
481observations: \\
482The ionosphere-free linear combination
483\be\label{obs_IF}
484L^{ij}_3 = \varrho^{ij} - c\delta^{ij} + T^{ij} + \bar{N}^{ij}_3 ~,
485\ee
486where the ambiguity term is given by
487\be\label{amb_N3}
488\bar{N}^{ij}_3 = N^{ij}_3 - l^{ij}_3
489 = \frac{c\;f_2}{f^2_1-f^2_2}\;(n^{ij}_1-n^{ij}_2) + \lambda_3\;n^{ij}_1 - l^{ij}_3
490\ee
491and the Melbourne-W\"{u}bbena linear combination
492\be\label{obs_MW}
493L^{ij}_w = \lambda_5\;n^{ij}_5 - l^{ij}_w
494\ee
495the uncalibrated bias $l^{ij}_3$ is the corresponding linear combination of biases
496$l^{ij}_1,l^{ij}_2$, the uncalibrated bias $l^{ij}_w$ is the corresponding linear combination of
497biases $p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$.
498\end{frame}
499
500%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
501
502\subsection{Parameters provided by Server}
503
504\begin{frame}
505\frametitle{Principles of PPP with Ambiguity Resolution}
506\framesubtitle{Parameters provided by Server}
507In addition to orbit corrections, the server(s) has(have) to provide the values
508\bdm
509c\delta^{ij} ~,~ l^{ij}_w ~,~ l^{ij}_3 ~~~ \mb{or} ~~~~ (c\delta^{ij} + l^{ij}_3) ~,~ l^{ij}_w
510\edm
511Corrections $l^{ij}_w,l^{ij}_3$ depend on the set of fixed single-difference ambiguities on the
512server-side. This set of fixed ambiguities is not unique - it depends on the constraints applied on
513the ambiguities.
514
515There is a difference between correction $l^{ij}_w$ and the narrow-lane correction $l^{ij}_3$. The
516wide-lane correction $l^{ij}_w$ depends {\em only} on the ambiguities estimated at the
517server-side. The narrow-lane correction $l^{ij}_3$ depends on the ambiguities and {\em also} on the
518satellite clock corrections $\delta^{ij}$ estimated at the server-side.
519
520\end{frame}
521
522%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
523
524\begin{frame}
525\frametitle{Principles of PPP with Ambiguity Resolution}
526\framesubtitle{How many servers?}
527All three corrections
528\bdm
529c\delta^{ij} ~~~ l^{ij}_w ~~~ l^{ij}_3
530\edm
531may be estimated together by a single server run (in which case the $c\delta^{ij}$ and $l^{ij}_3$
532are indistinguishable and are combined into $c\delta^{ij}+l^{ij}_3$) Or, each of them may be
533estimated by a separate server run.
534
535\vspace*{2mm}
536Current approach:
537\begin{itemize}
538\item PPPNB server: estimates $c\delta^{ij}$
539\item PPPAR server: uses $c\delta^{ij}$ from PPPNB server and estimates $l^{ij}_w,l^{ij}_3$
540\end{itemize}
541
542\vspace*{2mm}
543Advantages: PPPAR corrections are compatible with PPPNB corrections (the client may decide between
544PPP and PPPAR).
545
546\vspace*{2mm}
547Disadvantages: additional delay
548
549\vspace*{2mm}
550An alternative approach to consider: separate server run for $l^{ij}_w$.
551
552\end{frame}
553
554%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
555
556\begin{frame}
557\frametitle{Principles of PPP with Ambiguity Resolution}
558\framesubtitle{How to disseminate the corrections?}
559
560\begin{enumerate}
561\item The corrections are valid (accurate) on the single- (between satellites) difference
562 level but it is more practical to send the zero-difference (satellite-specific) corrections.
563\item The corrections are specific for the observation types used for their estimation - e.g. if
564 the C/A code on the first carrier and the P-code on the second carrier have been used at the
565 server side, the client can use the $l^{ij}_w$ correction only if it uses the same two types of
566 code observations.
567\end{enumerate}
568
569The corrections $l^{ij}_w,l^{ij}_3$ are actually the combinations of the phase (and in case of
570$l^{ij}_w$ also code) biases:
571\begin{eqnarray*}
572l^{ij}_w & = & \frac{1}{f_1-f_2} \bigl( f_1~l^{ij}_1 - f_2~l^{ij}_2 \bigr) -
573 \frac{1}{f_1+f_2} \bigl( f_1~p^{ij}_1 + f_2~p^{ij}_2 \bigr) ~
574\\
575l^{ij}_3 & = & \frac{1}{f^2_1-f^2_2} \bigl( f^2_1~l^{ij}_1 - f^2_2~l^{ij}_2 \bigr)
576\end{eqnarray*}
577RTCM suggests to send $p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$ directly ...
578
579\end{frame}
580
581%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
582
583\begin{frame}
584\frametitle{Principles of PPP with Ambiguity Resolution}
585\framesubtitle{How to disseminate the corrections (continuation)?}
586
587In principle there are altogether 5 values which can be sent by server(s):
588\bdm
589c\delta^{ij},p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2
590\edm
591PPPNB server estimates the $c\delta^{ij}$ and the ionosphere-free
592linear combination of the code biases
593\bdm
594p^{ij}_3 = \frac{1}{f^2_1-f^2_2} \bigl( f^2_1~p^{ij}_1 - f^2_2~p^{ij}_2 \bigr)
595\edm
596PPPAR server estimates the $l^{ij}_w$ and $l^{ij}_3$. Assuming that we know the differential code
597bias
598\bdm
599d^{ij}_{p1p2} = p^{ij}_1 - p^{ij}_2
600\edm
601The four values
602\bdm
603p^{ij}_3 ~~~ l^{ij}_w ~~~~ l^{ij}_3 ~~~~ d^{ij}_{p1p2}
604\edm
605can be converted into four biases
606$p^{ij}_1,p^{ij}_2,l^{ij}_1,l^{ij}_2$.
607
608\end{frame}
609
610%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611
612\begin{frame}
613 \frametitle{Precise Point Positioning with PPP (cont.)}
614 BNC provides a good framework for the PPP client (observations, orbits, and
615 corrections stand for disposal).
616
617 Main reasons for the PPP module in BNC have been:
618 \begin{itemize}
619 \item monitoring the quality of incoming data streams (primarily the PPP
620 corrections)
621 \item providing a simple easy-to-use tool for the basic PPP positioning
622 \end{itemize}
623
624 The PPP facility in BNC is provided in the hope that it will be useful.
625 \begin{itemize}
626 \item The mathematical model of observations and the adjustment algorithm are
627 implemented in such a way that they are (according to our best knowledge)
628 correct without any shortcomings, however,
629 \item we have preferred simplicity to transcendence, and
630 \item the list of options the BNC users can select is limited.
631 \item[$\Rightarrow$] Commercial PPP clients may outperform BNC in some
632 aspects.
633 \end{itemize}
634 We believe in a possible good coexistence of the commercial software and
635 open source software.
636\end {frame}
637
638%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639
640\begin{frame}
641 \frametitle{PPP Options}
642 \begin{itemize}
643 \item single station, SPP or PPP
644 \item real-time or post-processing
645 \item processing of code and phase ionosphere-free combinations, GPS,
646 Glonass, and Galileo
647 \end{itemize}
648 \begin{center}
649 \includegraphics[width=0.9\textwidth,angle=0]{ppp_opt1.png} \\[2mm]
650 \includegraphics[width=0.9\textwidth,angle=0]{ppp_opt2.png}
651 \end{center}
652\end {frame}
653
654
655\end{document}
Note: See TracBrowser for help on using the repository browser.