|
| 1 | +%---------------------------------------------------------------------- |
| 2 | +\section[GNSS]{Global Navigation Satellite Systems} |
| 3 | +%---------------------------------------------------------------------- |
| 4 | + |
| 5 | +%---------------------------------------------------------------------- |
| 6 | +\paragraph{Operation principles of a GNSS position fix} |
| 7 | +%---------------------------------------------------------------------- |
| 8 | + |
| 9 | +The basic ideas behind the operation of a GNSS can be summarized as follows: |
| 10 | +% |
| 11 | +\begin{enumerate} |
| 12 | + |
| 13 | +\item The satellites of a GNSS constellation each have a very precise on |
| 14 | +board clock that is synchronized with all other clocks in the constellation. |
| 15 | + |
| 16 | +\item The position vector of each satellite in the constellation is known (or |
| 17 | +can be made known) to any user of the system at all times. |
| 18 | + |
| 19 | +\item Each satellite broadcasts a time-stamped, identifiable signal in all |
| 20 | +directions. Each signal encodes, among other pieces of information, the exact |
| 21 | +time at which the signal was broadcast. |
| 22 | + |
| 23 | +\item Any number of users can receive these signals simultaneously: they are |
| 24 | +all passive (i.e. receiving) users. |
| 25 | + |
| 26 | +\item A user receiving a satellite signal can compare the broadcast time with |
| 27 | +his/her own clock: the travel time for the signal $\Delta t = t_{RX} - t_{TX}$ |
| 28 | +is a direct measure of the distance (or range) $d$ between the user and the |
| 29 | +emitting satellite, since the speed of light $c$ is a physical constant: $d = |
| 30 | +c\Delta t$. |
| 31 | + |
| 32 | +\item Assuming the instantaneous position of the satellites is known to the |
| 33 | +user, using 3 such distance measurements to 3 different satellites allows, in |
| 34 | +principle, to determine the 3 unknowns $x,y,z$ of the position of the user. |
| 35 | + |
| 36 | +\item However, for this to work, the user would need to have his/her clock |
| 37 | +perfectly synchronized with the constellation clocks. As this would be |
| 38 | +impractical, a 4th distance measurement with a 4th satellite is needed to |
| 39 | +determine the 4 unknowns of the problem: $x,y,z$ and $t$, the time of the user. |
| 40 | + |
| 41 | +\end{enumerate} |
| 42 | +% |
| 43 | +Obtaining a position (and time) fix for a user requires therefore solving a |
| 44 | +system of 4 non-linear equations, one for each pseudo-range measurement: |
| 45 | +% |
| 46 | +\begin{align} |
| 47 | +c^2(t_{RX} - t_{TX,1})^2 &= |
| 48 | +(x_{RX} - x_{TX,1})^2 + (y_{RX} - y_{TX,1})^2 + (z_{RX} - z_{TX,1})^2, |
| 49 | +\\ |
| 50 | +c^2(t_{RX} - t_{TX,2})^2 &= |
| 51 | +(x_{RX} - x_{TX,2})^2 + (y_{RX} - y_{TX,2})^2 + (z_{RX} - z_{TX,2})^2, |
| 52 | +\\ |
| 53 | +c^2(t_{RX} - t_{TX,3})^2 &= |
| 54 | +(x_{RX} - x_{TX,3})^2 + (y_{RX} - y_{TX,3})^2 + (z_{RX} - z_{TX,3})^2, |
| 55 | +\\ |
| 56 | +c^2(t_{RX} - t_{TX,4})^2 &= |
| 57 | +(x_{RX} - x_{TX,4})^2 + (y_{RX} - y_{TX,4})^2 + (z_{RX} - z_{TX,4})^2, |
| 58 | +\end{align} |
| 59 | +% |
| 60 | +where $x_{TX,i},y_{TX,i},z_{TX,i}$ is the position of the $i$-th transmitting |
| 61 | +satellite, $t_{TX,i}$ the time at which the signal from the $i$-th satellite |
| 62 | +was sent, and $x_{RX},y_{RX},z_{RX},t_{RX}$ are the unknowns (position and |
| 63 | +time of the receiving user). |
| 64 | + |
| 65 | +%---------------------------------------------------------------------- |
| 66 | +\paragraph{Operation principles of a GNSS velocity fix} |
| 67 | +%---------------------------------------------------------------------- |
| 68 | + |
| 69 | +Once the procedure to determine the position is clear, it would be possible to |
| 70 | +compute the velocity of a user by observing how his/her position changes in |
| 71 | +time. In other words, by taking the derivative of the position vector: |
| 72 | +% |
| 73 | +\begin{equation} |
| 74 | +\bm v = \frac{\dd \bm r}{\dd t} \simeq \frac{\bm r(t_2)-\bm r(t_1)}{t_2-t_1}. |
| 75 | +\end{equation} |
| 76 | +% |
| 77 | + |
| 78 | +There is, however, another, more accurate way to determine the user's velocity: |
| 79 | +using the Doppler shift of the signal frequency. This is done according to the |
| 80 | +following basic ideas: |
| 81 | +% |
| 82 | +\begin{enumerate} |
| 83 | + |
| 84 | +\item The exact frequency at which the satellite signals are emitted is known |
| 85 | +to the users of the system. |
| 86 | + |
| 87 | +\item The velocity vector of each satellite in the constellation is known (or |
| 88 | +can be made known) to any user of the system at all times. |
| 89 | + |
| 90 | +\item Whenever the distance between a satellite and a user changes in time |
| 91 | +(either because the satellite is moving or the user is moving), |
| 92 | +the perceived signal frequency by the user changes slightly: the frequency |
| 93 | +will increase if the two of them are coming closer together, and it will |
| 94 | +decrease if they are moving apart. This physical phenomenon is known as |
| 95 | +\emph{Doppler shift}. |
| 96 | + |
| 97 | +\item Any user listening to the satellite signals can determine the Doppler |
| 98 | +shift of any of them, $\Delta f = f_{RX} - f_{TX}$. |
| 99 | + |
| 100 | +\item As the user knows the velocity of each satellite, combining 3 such |
| 101 | +measurements with 3 different satellites |
| 102 | +it is possible to determine the user's velocity (3 unknowns: $v_x,v_y,v_z$). |
| 103 | + |
| 104 | +\item However, the cheap user's clock may have a drift with time. This may |
| 105 | +lead the user to wrong measurements of the Doppler shifts. Thus, a 4th |
| 106 | +measurement with a 4th satellite is needed to determine the drift rate of the |
| 107 | +user clock as an extra unknown. |
| 108 | + |
| 109 | +\end{enumerate} |
| 110 | +% |
| 111 | +Obtaining a velocity (and clock rate) fix for a user requires therefore |
| 112 | +solving the following system of 4 non-linear equations: |
| 113 | +% |
| 114 | +\begin{align} |
| 115 | +\dot{t}_{RX}f_{RX,1}-f_{TX,1} = \frac{f_{TX,1}}{c} (\bm v_{RX}-\bm v_{TX,1}) |
| 116 | +\cdot \frac{\bm r_{RX}-\bm r_{TX,1}}{\left|\bm r_{RX}-\bm r_{TX,1}\right|} |
| 117 | +\\ |
| 118 | +\dot{t}_{RX}f_{RX,2}-f_{TX,2} = \frac{f_{TX,2}}{c} (\bm v_{RX}-\bm v_{TX,2}) |
| 119 | +\cdot \frac{\bm r_{RX}-\bm r_{TX,2}}{\left|\bm r_{RX}-\bm r_{TX,2}\right|} |
| 120 | +\\ |
| 121 | +\dot{t}_{RX}f_{RX,3}-f_{TX,3} = \frac{f_{TX,3}}{c} (\bm v_{RX}-\bm v_{TX,3}) |
| 122 | +\cdot \frac{\bm r_{RX}-\bm r_{TX,3}}{\left|\bm r_{RX}-\bm r_{TX,3}\right|} |
| 123 | +\\ |
| 124 | +\dot{t}_{RX}f_{RX,4}-f_{TX,4} = \frac{f_{TX,4}}{c} (\bm v_{RX}-\bm v_{TX,4}) |
| 125 | +\cdot \frac{\bm r_{RX}-\bm r_{TX,4}}{\left|\bm r_{RX}-\bm r_{TX,4}\right|} |
| 126 | +\end{align} |
| 127 | +% |
| 128 | +where $\bm v_{TX,i}$ is the velocity of the $i$-th transmitting |
| 129 | +satellite, $f_{TX,i}, f_{RX,i}$ the frequencies at which the signal from the |
| 130 | +$i$-th satellite was respectively broadcast and received, |
| 131 | +and $\bm v_{RX}, \dot{t}_{RX}$ are the unknowns (position and |
| 132 | +clock drift rate of the receiving user). Note that the vector |
| 133 | +$(\bm r_{RX}-\bm r_{TX,i})/\left|\bm r_{RX}-\bm r_{TX,i}\right|$ is a unit |
| 134 | +vector that points in the direction from the $i$-th satellite to the user. |
0 commit comments