ICT for Geomatics Summary PDF

Summary

This document is a summary of ICT for Geomatics, covering basic principles of positioning, error sources, signal power, and GNSS receivers. It details various positioning systems, including GNSS (Global Navigation Satellite Systems) and their components.

Full Transcript

ICT for Geomatics Summary Alessandro Pergolizzi June 2024 Contents 1 Basic principles of positioning 5 1.1 Introduction to radionavigation and some historical no...

ICT for Geomatics Summary Alessandro Pergolizzi June 2024 Contents 1 Basic principles of positioning 5 1.1 Introduction to radionavigation and some historical notes........... 5 1.1.1 Basic concepts.............................. 5 1.1.2 Radionavigation principles........................ 6 1.2 Classification of positioning systems....................... 6 1.2.1 Conical systems.............................. 6 1.2.2 Hyperbolic Systems........................... 6 1.2.3 Spherical systems............................. 7 1.3 Global Navigation Satellite Systems (GNSS).................. 7 1.3.1 GNSS Segments............................. 8 1.4 The PVT solution................................ 10 1.4.1 Functional basics............................. 10 1.4.2 Position estimation............................ 10 1.4.3 The Geometrical Dilution of Precision................. 13 2 Error sources in position estimation 15 2.1 The User Equivalent Range Error........................ 15 2.2 Descriptions of the main error sources..................... 16 2.2.1 Ephemeris error.............................. 16 2.2.2 Propagation errors............................ 18 2.2.3 Relativistic effects............................ 21 2.2.4 Notes on the error............................ 22 2.3 Performance metrics............................... 22 2.3.1 Accuracy and Precision......................... 22 3 Signal Power and Noise 25 3.1 Signal Attenuation................................ 25 3.2 Link budget calculation............................. 25 3.3 Thermal noise................................... 26 3.3.1 Real model................................ 27 3.3.2 Filtered noise............................... 27 3.4 The concept of C/N0............................... 28 3.5 Notes on the error................................ 28 1 4 Systems and Signals 29 4.1 GPS description.................................. 29 4.1.1 Global Positioning System (GPS).................... 29 4.2 GPS signal in space................................ 30 4.2.1 The navigation Signal-in-Space..................... 30 4.2.2 The multiplexing technique....................... 30 4.2.3 Orthogonality and Correlation...................... 30 4.2.4 GPS code generation........................... 31 4.2.5 Data and messages............................ 31 4.2.6 The signal components.......................... 32 4.2.7 Code and signals............................. 32 4.2.8 GPS SIS.................................. 32 4.3 GLONASS Signal in Space............................ 35 4.3.1 Global Navigation Satellite System (GLONASS)........... 35 4.3.2 GLONASS constellation......................... 36 5 Galileo and BOC signals 37 5.1 The Binary Offset Carrier (BOC) Modulation................. 37 5.1.1 Split Spectrum Modulation....................... 37 5.1.2 BOC modulation............................. 38 5.1.3 The signal components.......................... 38 5.1.4 BOC Power Spectral Density...................... 38 5.1.5 Correlation properties of BOC signals................. 39 5.1.6 Comparison of BPSK(1) and BOC(1,1)................. 39 5.1.7 BOCSIN vs BOCCOS.......................... 40 5.2 The Galileo System................................ 40 5.2.1 Galileo constellation........................... 40 5.2.2 Galileo and GPS............................. 40 5.3 The MBOC signals................................ 41 5.4 MBOC implementations............................. 41 5.5 Galileo SIS.................................... 42 5.5.1 Signal Generator............................. 42 5.5.2 Galileo Spreading Codes......................... 43 6 The GNSS receiver 44 6.1 Introduction to GNSS receivers......................... 44 6.1.1 Receivers core functions......................... 44 6.1.2 The GNSS receiver............................ 44 6.1.3 Receiver architecture and core functions................ 45 6.1.4 Conventional GNSS receiver architecture................ 45 6.1.5 Performance................................ 46 6.2 The front-end stage................................ 46 6.2.1 The receiver front-end.......................... 46 2 6.2.2 Notes on Doppler effect......................... 46 6.2.3 Down-conversion scheme......................... 47 6.2.4 Analog-to-Digital conversion....................... 47 6.2.5 The signal at base-band input...................... 47 6.3 The acquisition stage............................... 48 6.3.1 Signal reception.............................. 48 6.3.2 Linear autocorrelation.......................... 48 6.3.3 CCF in GNSS receivers......................... 48 6.3.4 Linear cross-correlation......................... 49 6.3.5 Acquisition parameters per each satellite................ 49 6.3.6 The acquisition conceptual scheme................... 50 6.3.7 Cross Ambiguity Function (CAF).................... 50 6.3.8 The Search Space............................. 50 6.3.9 Acquisition time............................. 51 6.3.10 Cold start and Warm start....................... 51 6.3.11 Acquisition remarks........................... 51 6.3.12 Serial search............................... 51 6.3.13 Serial scheme............................... 52 6.3.14 Delay bin size............................... 52 6.3.15 Remarks on the delay estimation.................... 52 6.3.16 Integration time and Doppler resolution in serial search........ 53 6.3.17 Acquisition performance improvement................. 53 6.3.18 Integration time extension........................ 53 6.3.19 Decision logic............................... 53 6.4 Tracking stage................................... 54 6.4.1 The tracking stage architecture..................... 54 6.4.2 Carrier tracking.............................. 55 6.4.3 Code tracking............................... 58 7 Pseudorange construction 65 7.1 Pseudorange construction............................ 65 7.2 Receiver functions................................ 65 7.3 The navigation message (GPS)......................... 65 7.3.1 Data structure.............................. 66 7.3.2 Data organization............................ 66 7.3.3 GPS time scale.............................. 66 7.3.4 The Z-count and TOW.......................... 66 7.3.5 Handover word.............................. 67 7.4 User PVT computation.............................. 67 7.4.1 Remarks.................................. 67 7.4.2 PVT computation............................ 67 7.4.3 Relative measurements.......................... 68 7.4.4 The pseudorange computation...................... 68 3 7.4.5 Limits of the previous approach..................... 69 7.4.6 New PVT computation......................... 69 7.4.7 The receiver measurement epoch.................... 70 4 Chapter 1 Basic principles of positioning 1.1 Introduction to radionavigation and some histori- cal notes 1.1.1 Basic concepts The use of GPS and other GNSS is becoming quite common in several civil application fields such as transport, agriculture, ICT, etc. The major programmes in Europe are Galileo and Copernicus. The newest applications pose strict requirements for the performances such as low power consumption, integration with communication systems, accuracy and precision. When talking about the position, it is necessary to associate it with a precise reference system. The position in mass-market terminals is provided by a set of sensors. The quality of the position and navigation depends also on data fusion algorithms and other ”tricks” applied at the processing level. When using navigation applications, the 2D position (originally computed in an absolute reference of latitude and longitude) is transferred to a local reference plane on a 2D digital map. The coordinates are translated to parameters that allow localizing the vehicle on the map, displaying also its direction, the street name, etc. Usually, lanes are not mapped on the digital map because the precision of the GPS does not allow to know if the vehicle is on one side or the other. The navigation problem is referred to as the reference frame. In the past, navigators used celestial observations to determine both time and position. When clocks were developed, also positioning improved. Time has still been a problem, anyway. In 1500 a clock had an error of 10 minutes a day. John Harrison in 1714 showed an error of 5 seconds on a 3-month trip from the UK to Jamaica. 5 1.1.2 Radionavigation principles The determination of position and speed of a mobile entity is done by estimating the parameters of an electromagnetic signal like the propagation time, the phase and the signal strength. Those parameters are then converted into estimated distances with respect to the reference points, whose position is known. It is computed as the intersection of geometrical loci, named Line of Positions. Theoretically, the position of a user can be estimated from the reference transmitter or by the user itself. The estimation can be done in two possible ways: Triangulation: based on angles Trilateration: based on ranges A user can be considered collaborative if there are signals exchanged between the user and the system. There are two different applications of radionavigation: Localization, in which the reference transceivers localize and track the object Positioning, in which the object self-estimates its position Based on the collaboration of the user (i.e. if there are signals exchanged or not between the system and the user) the positioning can be defined active or passive. 1.2 Classification of positioning systems For all the following systems, the source is placed at known locations in a reference system. 1.2.1 Conical systems The position P is obtained by the intersection of straight lines in 2D or cones in 3D. The receiver estimates the Angle of Arrival (AOA) by means of antenna rays, shaped radiation patterns of the antenna and doppler measurements. 1.2.2 Hyperbolic Systems The position P is obtained by the intersection of hyperbolas in 2D or hyperboloids in 3D. The receiver typically measures the Time Difference of Arrival (TDOA) of the signal coming from two sources and the phase difference of two carriers. The LORAN system for maritime positioning is based on this principle. 6 The position of the user is obtained by solving the following equations for xu and yu ( p p R2 − R1 = (x2 − xu )2 + (y2 − yu )2 − (x1 − xu )2 + (y1 − yu )2 p p R3 − R1 = (x3 − xu )2 + (y3 − yu )2 − (x1 − xu )2 + (y1 − yu )2 In general, it is easier to measure the distance difference with respect to the distance absolute values. 1.2.3 Spherical systems The position P is obtained by the intersection of circles in 2D or spheres in 3D. The receiver evaluates a parameter of the signal incoming from the sources whose value is proportional to the distance. It bases its computations on the Time of Arrival (TOA), so the transmitted signal has to be timestamped with the transmission time, and the Received Signal Strength, based on the received power and the propagation channel. The sources of the signals are imagined as centres of circles/spheres and the distance is their radius. To find a position, at least three circles/spheres are needed to find their intersection. 1.2.3.1 Spherical systems based on TOA This type of system can get the measurement in two fashions: Two-ways measurement: The round-trip time is measured. The transmitters can be not synchronized and a precise time reference is not required. However, this method has privacy problems because the user is seen by the system. One-way measurement: The users measure the time using only a received signal. This means that transmitter and users must be synchronized with high precision, within fractions of nanoseconds. The GNSS system uses the second method. 1.3 Global Navigation Satellite Systems (GNSS) The Global Navigation Satellite Systems (GNSS) provides signals from a constel- lation of satellites, built aiming at providing an almost global coverage of the Earth’s surface. The system is a spherical one in which all the transmitters (the satellites) are syn- chronized and the user is not. It measures the time of arrival of a signal. The first GNSS systems were NAVSTAR Global Positioning System (GPS) by the USA Department of Defense (DoD) and Global Navigation Satellite System (GLONASS) 7 by the USSR. Even if those systems are continuously upgraded and modernized, new systems are being put in place. As of now, the constellations are (sorted by orbit radius): GLONASS (Russia ) - 19100 km GPS (USA ) - 20186 km BEIDOU (China ) - 21150 km Galileo (European Union ) - 23925 km NAVIC (India ) - 36000 km QZSS (Japan ) - 39000 km 1.3.1 GNSS Segments GNNS has 3 segments: 1. Space - The satellites constellation 2. Control Tracking stations - monitor orbital data continuously Master station - processes data, updates orbits and time scale Uploading stations - transmit updated data to satellites 3. Users - Receivers determining their own position, velocity and time 1.3.1.1 Space segment 1.3.1.1.1 Skyplot The satellite constellation above the user can be represented in the Skyplot (figure 1.1). The two elements are Elevation and Azimuth. Elevation is the vertical angle measured from the horizon up to the object in the sky and is represented by the distance from the center of the plot (the zenith) to the edge (the horizon). Azimuth is the horizontal angle measured clockwise from a reference direction, typically true north. It is usually represented as the angle around the circle, with 0° at the top (north), 90° to the right (east), 180° at the bottom (south), and 270° to the left (west). 8 Figure 1.1: Skyplot 1.3.1.1.2 Visibility and Fix The fact that a satellite is visible does not imply it is used to obtain the position (fix). This is because some obstacles can be present along the signal path or the signal can have a low quality. A satellite is considered visible only if the receiver can sense and process the signal from that satellite. Another reason can be a receiver software choice, which decides to specifically avoid using a satellite for computational limitations or because of a specific statistical assessment not to degrade the quality of the estimated position. 1.3.1.2 Control segment The control segment is a network of stations, distributed all around the Earth, which monitor the satellites’ status and signals. Some stations can even directly communicate with the satellites to control it or to adjust the signal generation or upload data that are broadcast to the users. 1.3.1.3 User segment The user segment is made of a wide range of different receivers, with different performance levels. The receiver estimates the position of the user based on the signals transmitted by the satellites. Any receiver identifies the satellites in view, estimates the user-satellite distance and then trilaterates its position. Additional functionalities can ease and/or improve the position estimation, improve the user interface and provide added value services like route calculation or integration with communication systems. 9 1.4 The PVT solution 1.4.1 Functional basics Assume that a satellite transmits a signal at time instant TT X. That signal is received at time TRX = TT X + τ , so, the distance between the transmitter and the receiver can be estimated as R = c · (TRX − TT X ) = c · τ , where c is the speed of light (this still needs some corrections). If both oscillators are synchronised, the knowledge of TT X and the measure TRX = TT X + τ allows to obtain the geometric distance R (radius of the sphere). The satellites’ payloads host high-grade atomic clocks that are very precise and stable in time. All the satellite clocks are assumed synchronous. It is not possible to have user clocks aligned with the satellite time scale at low cost and complexity, hence the user clock has a bias (this is not an error) δtu with respect to the satellite time, which affects the measurement of TRX and so the measured distance is different from the geometric range. For this reason, it is called pseudorance and is computed as ρ = c · τ + c · δtu. The clock of the satellite might be slightly misaligned with respect to the ideal GNSS time scale by a factor of a satellite clock bias δtS , which is small and very stable in time (may also be constant for many years) and always monitored by the control segment. Usually, it is considered equal to 0 because it can be corrected. When a clock is not working as nominal anymore, it’s time to change the satellite. Since δtu cannot be corrected, it is kept as an unknown of the positioning problem, and combined with the pseudoranges. The user by measuring 4 pseudoranges with respect to 4 satellites with known coordinates can determine 4 unknowns, i.e. the XYZ user coordinates and the user clock bias (sometimes the only thing a user cares to know).  p   ρ = (x1 − xu )2 + (y1 − yu )2 + (z1 − zu )2 + but ρ = p(x − x )2 + (y − y )2 + (z − z )2 + b 1  2 p 2 u 2 u 2 u ut   ρ3 = (x3 − xu ) + (y3 − yu ) + (z3 − zu ) + but 2 2 2   p ρ4 = (x4 − xu )2 + (y4 − yu )2 + (z4 − zu )2 + but where xi , yi , zi are the satellite positions and but = c · δtu is the range bias due to the user clock bias. In order to estimate its position, the user needs at least 4 satellites in Line-of-sight (very strict requirement). If a higher number of satellites is present, a better estimation is possible. Modern receivers use at least 12 channels to perform the position estimation. They are multiconstellation and multifrequency (i.e. they process more signals from the same satellite). 1.4.2 Position estimation The propagation time is estimated by processing a signal transmitted by each satellite. For GPS satellite (civil application) each satellite transmits over the carrier L1 (1.5GHz) a bi- nary code with BPSK modulation named Coarse/Acquisition (C/A) code. All satellites 10 use the same carrier frequency but a different code (CDMA scheme) to be recognised. The steps to estimate the position are the following: Code phase measurements: estimation of the propagation time between the satel- lite and the user by measuring the δt between a local replica of the C/A code and the received signal. The user clock bias is included in δt. The estimation of the propagation time is based on the correlation between the two signals. ρ = c · δt Carrier phase measurements: evaluation of the phase difference between a local carrier and the received one. The number N of integer cycles (Integer Ambiguity) is estimated through proper techniques and is much more complicated. ρϕ = (N + ϕ)λ Linearization process: simplification of the problem considering the large distance of the satellites with respect to the users for reduced computational complexity. The equation of the pseudo-sphere can be linearized by using the Taylor expansion around a known location/time with coordinates (x̂u , ŷu , ẑu , b̂ut ) so that p ρ̂j = (xi − x̂u )2 + (yi − ŷu )2 + (zi − zˆu )2 + b̂ut So, the first-order Taylor expansion for the equation is: Figure 1.2: Linearization scenario ∂ρj ∂ρj ∂ρj ∂ρj ρj = ρ̂+ (xu −x̂u )+ (yu −ŷu )+ (zu −ẑu )+ (bu −b̂u ) ∂xu xu =x̂u ∂yu yu =ŷu ∂zu zu =ẑu ∂bu bu =b̂u At a first order approximation, defining ∆ρj = ρ̂j − ρj and ∆xu = xu − x̂u , ∆yu = yu − ŷu , ∆zu = zu − ẑu , ∆bu = bu − b̂u , a new equation is obtained: ρ̂j − ρj = ∆ρj = axj ∆xu + ayj ∆yu + azj ∆zu − ∆but 11 The coefficients are: xj − x̂u yj − ŷu zj − ẑu axj = , ayj = , azj = r̂j r̂j r̂j and q r̂j = (xj − xˆu )2 + (yj − yˆu )2 + (zj − zˆu )2 is the geometrical distance between the linearization point and the satellite. Figure 1.3: Visualization of the aj vector Now, the new solution is:    ∆ρ1 = ax1 ∆xu + ay1 ∆yu + az1 ∆zu − ∆but  ∆ρ 2 = ax2 ∆xu + ay2 ∆yu + az2 ∆zu − ∆but   ∆ρ3 = ax3 ∆xu + ay3 ∆yu + az3 ∆zu − ∆but   ∆ρ4 = ax4 ∆xu + ay4 ∆yu + az4 ∆zu − ∆but Decomposing the system in matrixes, the result is:       ∆ρ1 ax1 ay1 az1 1 ∆xu ∆ρ2  ax2 ay2 az2 1  ∆yu  ∆ρ =      ∆ρ3  H = ax3 ay3 az3 1 ∆x =  ∆zu   ∆ρ4 ax4 ay4 az4 1 −∆but In the end: ∆ρ = H∆x In case 4 satellites are used, the solution in easy: ∆x = H−1 ∆ρ 12 However, if there is a larger number of satellites, the H matrix becomes the following:   ax1 ay1 az1 1  ax2 ay2 az2 1   H = ........  .... axn ayn azn 1 The matrix can be ill-conditioned if two satellites are in the same direction. The new solution must be obtained with a least square technique, looking for the value of ∆x that minimizes the square of the residual: RSE (∆x) = (H∆x − ∆ρ)2 It is obtained by first differentiating with respect to ∆x: ∇RSE = 2(∆x)T HT H − 2(∆ρ)T H And setting it to 0: 2(∆x)T HT H − 2(∆ρ)T H = 0 Provided that (HT H)−1 is non-singular1 , the solution is: ∆x = (HT H)−1 HT ∆ρ 1.4.3 The Geometrical Dilution of Precision The pseudorange measurement is error-affected due to system intrinsic uncertainties, prop- agation in the atmosphere, receiver noise and other factors. This error affects the user’s position and it corresponds to: q ρj = (xj − xu )2 + (yj − yu )2 + (zj − zu )2 + but + ϵ There is a new set of equations to solve: ∆ρ + δρ = H(∆x + δx) where δx is the error in the position and time estimation. The least-square solution is valid under the hypothesis of linearly independent equations:   δx = (HT H)−1 HT δρ The part in square brackets depends only on the satellites’ geometry, while the other is the error in the pseudorange estimation. 1 A non-singular matrix, also known as an invertible matrix, is a square matrix that has an inverse. 13 The pseudorange error can be modelled as a vector of Gaussian, zero-mean, identically dis- tributed, independent ad with variance σU2 ERE. The position is the result ofan estimationaf- fected by random errors. The covariance matrix of the position error δx = (HT H)−1 HT δρ is:  2  σxu σx2u ,yu σx2u ,zu σx2u ,but  σx2 ,y σy2u σy2u ,zu σy2u ,but  cov(δx) =  2 u u  σx ,z σy ,z 2 2 2   u u u u σ z u σ z ,b u ut 2 2 2 2 σxu ,but σyu ,but σzu ,but σbut The elements on the diagonal are the variances of the error in the different dimensions and the off-diagonal elements indicate the level of cross-correlation between the variables. Through some computations: cov(δx) = E{(HT H)−1 HT δρδρT H(HT H)−1 } cov(δx) = (HT H)−1 HT cov(δρ)H(HT H)−1 cov(δx) = In×n σU2 ERE cov(δx) = (HT H)−1 σU2 ERE  −1 Now, defining G = HT H = [gij ] is possible to observe that: σx2u = g11 σU2 ERE σy2u = g22 σU2 ERE σz2u = g33 σU2 ERE σb2u = g44 σU2 ERE The standard deviation of the positioning error can be obtained as: q σx = σx2u + σy2u + σz2u + σb2ut = GDOP · σU ERE where the GDOP factor is the Geometric Dilution of Precision, defined as q √ GDOP = g11 + g22 + g33 + g44 = trace{(HT H)−1 } and σU ERE is the standard deviation of the error on the pseudorange estimation. The GDOP is dependent on the displacement of the satellites. It is almost always greater than 1 and is minimal when you are in the barycenter of a tetrahedron. Other partial factors can be defined: √ Position Dilution of Precision - PDOP = g11 + g22 + g33 √ Time Dilution of Precision - TDOP = g44 √ Horizontal Dilution of Precision - HDOP = g11 + g22 14 Chapter 2 Error sources in position estimation 2.1 The User Equivalent Range Error The signal propagates in the following way: Figure 2.1: Signal propagation sketch To properly visualize the bias accumulations, here is a picture: Figure 2.2: Bias propagation sketch 15 There are two types of errors: Bias - It affects the value of the pseudorange in a deterministic way and in some occasions can be predicted and corrected. Uncertainty - It is characterized by residual, uncompensated errors which combine statistically. Here is a summary of pseudorange errors: Control/space segment: ephemerides errors, onboard clock biases, errors in code generation, payload failures. An example is the User Range Error, a misleading information broadcast by the GPS systems. Ionosphere: the propagation delay depends on the frequency and on the density of electrons along the path. Troposphere: the propagation delay depends on air pressure, temperature and hu- midity. Multipath: reflections of the signals due to close obstacles. Receiver noise Uncompensated relativistic effects: the time on the satellites is not running at the same speed as on the Earth. Each error can be modelled as Gaussian, zero-mean with variance σj2 , identically distributed on the different pseudorange and independentqrandom variable. Thus, the standard deviation P 2 of the total pseudorange error is: σU ERE = j σj [m] All the corrections to the predictable parts of the error are broadcast by the satellites as part of the navigation message. 2.2 Descriptions of the main error sources 2.2.1 Ephemeris error The ephemeris error is due to wrong information on the satellite position. The satellite position is not directly provided, but the user estimates it based on the knowledge of the satellite’s orbital parameters (ephemeris) and on the signal transmission time, which are broadcast instead. 16 2.2.1.1 Kepler’s laws 1. First law: The orbit of each planet is an ellipse with the sun at one of the foci. 2. Second law: Each planet revolves so that the line joining it to the sun sweeps out equal areas in equal timespans regardless of the position of the planet in its orbit. 3. Third law: The squares of the periods of any two planets are in the same proportion as the cubes of their mean distance from the sun. 2.2.1.2 Keplerian elements Under ideal conditions, the motion of a satellite can be characterized by an elliptical orbit fixed in space with the Earth at one of the foci. Six parameters specify the orbit: Size: – Semi-major axis (a) – Eccentricity (e) Orientation: – Orbital plane inclination (i): the angle between the equatorial plane and the half-plane containing the part of the orbit from the ascending to the descending node. – Right ascension of the ascending node (Ω): the angle measured in the Earth’s equatorial plane between a reference direction pointing to the vernal equinox, and the ascending node. The Ascending node is the point on the satellite orbit where it crosses the equatorial plane, moving in the northerly di- rection. It is measured in a counter-clockwise sense when viewed from the z-axis. – Argument of the perigee (ω): the angle within the satellite orbit plane that is measured from the ascending node to the perigee1 point along the satellite’s travel direction. – Mean anomaly (θ): the fraction of an elliptical orbit’s period that has elapsed since the orbiting body passed periapsis2. It defines the position of the satellite on the orbit. The satellite orbit is, however, not ideal. So, a set of quasi-keplerian parameters (15) and a reference epoch are used to describe the actual satellite state in orbit. Both position and velocity are estimated. 1 The point in the orbit of an object where it is closest to Earth. 2 The point in the orbit of an object where it is closest to the body it is orbiting. 17 2.2.1.3 Ephemeris error Errors in the orbital parameters bring to the wrong estimations of the satellite positions. The ephemeris are broadcast about every 30s but are updated by the control segment every 2 hours. However, some services sell the precise ephemeris at any time. Adjusting the position of the satellites reduces the life of it, so it is better to recalculate the orbit. 2.2.2 Propagation errors The error contribution on the pseudorange from the j-th satellite is: ρj = Rj + c(δtu − δtj ) + Iρj + Tρj + ϵρj The error contribution on the phase is: c Φj = λ−1 (rj + IΦj + TΦj ) + · (δtu − δtj ) + N + ϵjΦ λ Ionosphere- and troposphere-induced errors are (in meters): Iρ , I Φ , T ρ , T Φ 2.2.2.1 Ionospheric error 2.2.2.1.1 Ionosphere The ionosphere (50-1000 km) is a region of ionized gases full of free electrons induced by UV rays from the Sun. The propagation velocity of a radio signal is reduced by the number of free electrons along the path. The Total Electron Content (TEC) is the number of electrons in a tube of 1m2 cross-section from receiver to satellite. It depends on sunlight, so it is greatest in the middle of the day and lowest at night. 2.2.2.1.2 Ionospheric error The ionosphere induces a pseudorange delay that gives an error Iρ such that: 40.3 · TEC Iρ = [m] f2 The delays in phase measurement have the same magnitude but opposite sign and are called phase advance. Therefore, their equation is: 40.3 · TEC IΦ = − [m] f2 Phase advance is responsible for signal distortion and is not usually compensated in GNSS. The ionospheric error, instead, has to be corrected. It can be estimated and compensated for by double frequency receivers, while single frequency receivers have to use models whose parameters are broadcast by the satellites, but a rough estimate of the receiver position is needed. 18 2.2.2.1.3 Double frequency receivers Assuming to be able to use two frequencies from the same satellite: 40.3 · TEC ρf 1 = ρ∗ + f12 40.3 · TEC ρf 2 = ρ∗ + f22 From there, it is possible to derive the equation for the iono-free pseudorange: f12 f22 ρ∗ = ρ f − ρf f12 − f22 1 f12 − f22 2 The iono-free combination cancels the bias due to the ionosphere but increases the noise variance due to other error contributions. 2.2.2.1.4 Single frequency receivers For these receivers, it is not possible to obtain an iono-free pseudorange. However, each receiver has to implement a modl to estimate the iono-delay depending on position and time of the day. A model can provide the expected delay or a map of the ionosphere. Models can be updated by the GNSS system itself or other external aiding systems. 2.2.2.1.5 The Klobuchar model The Klobuchar model is an empirical model using a reduced number of parameters to be described: ( h i ˆ Iz A1 + A2 cos 2π(t−A3 ) A4 |t − A3 | < A44 = c A1 otherwise A1 and A3 are fixed, while A2 and A4 are specified in the navigation message broadcast by each satellite. The propagation path length of a signal through the ionosphere increases with the zenith angle. This path length is accounted for in terms of a multiplier of the zenith delay. A plot of the Zenith delay can be seen in figure 2.3 2.2.2.1.6 The NeQuick model The NeQuick model is a ionospheric electron density model and it is a quick-run model for trans-ionospheric applications that allows the calculation of both vertical slant electron density profile and TEC for any specified path. It is a suitable method for TEC monitoring and is proposed for GALILEO single-frequency operation. The model outputs the Vertical Total Electron Content (vTEC) up to any given height. The user can then evaluate the Slant Total Electron Content between a location on 19 Figure 2.3: Ionospheric zenith delay Earth and any location in space along the path from the satellite to the ground. The model is adjusted by means of seasonal parameters and measured values. In Galileo satellites, the model is broadcast in the message. 2.2.2.1.7 Space weather and TEC Space weather is the dynamics of the region of space surrounding the Earth and involves interactions between solar radiation, solar wind, Earth’s magnetic field and upper extremes of the atmosphere. It can interfere with the communications and affect GNSS signals It is not detected in the 1h time update. 2.2.2.1.8 Ionospheric scintillations Ionospheric scintillations are caused by ionosphere irregularities and affect GNSS signals. TEC variations modify the travel time of the signal. TEC variation modify the travel time of the signal by causing refraction and diffraction. Scintillations occur near the magnetic poles along the magnetic equator, where the mag- netic field is almost vertical or almost horizontal with respect to the surface. This creates ionosphere irregularities. Scintillations occur after sunset at the equator and can occur at any time at the poles. There is no way to mitigate the effects of the event. 20 2.2.2.2 Tropospheric error 2.2.2.2.1 Troposhere Troposphere is a non-dispersive medium3. The delay depends on the refractive index n and is modelled as follows: Z −6 −6 N = (n − 1) · 10 T = 10 N (l)dl = Td + Tw Td and Tw are the dry and wet contributions. The delay at the zenith is obtained as a line integral on the path between user and satellite. 2.2.2.2.2 Troposphere model The delay depends on an obliquity factor E and some mapping functions: T = Td · md (E) + Tw ∗ mw (E) Some possible models are: Saastamoinen model Hopfield model TropGrid model (ESA) 2.2.3 Relativistic effects The satellite clock drift is caused by relativistic effects. In GPS the satellite clock frequency is adjusted so that the frequency observed by the user at sea level has the nominal value. There are also periodic effects due to the eccentricity of the satellite orbit. Half of the error is due to the periodic change in the speed of the satellite relative to the Earth Centered Intertial (ECI) frame and the other half is caused by the satellite’s periodic change in its gravitational field. At the perigee, the satellite velocity is higher and the gravitational potential is lower and the satellite clock runs slower, while at the ipogee it is the opposite. The relativistic effect can reach a maximum of 70ns (21 meters in range) Another relativistic effect is due to the Earth’s rotation during signal transmission (Sagnac Effect). During the propagation time, a clock on the Earth’s surface will experience a rotation with respect to the reference frame. 3 Error does not depend on the frequency. 21 2.2.4 Notes on the error The receivers must apply corrections on the raw pseudoranges for the bias satellite clock, tropospheric delay, ionospheric delay and relativistic effects. The information is contained in the navigation message and can be retrieved from external sources. The Interface Control Document (ICD) of each GNSS provides guidance on the application of the corrections. A residual contribution of these sources is still present and other sources cannot be predicted. The model of the error budget is valid for the corrected pseudoranges. The residual errors can be considered statistically independent, distributed qP as Gaussian random variables 2 with zero mean and standard deviation σU ERE = j σj [m]. In real pseudoranges the residual biases may still be present. 2.2.4.1 The correction process The correction process is the following: 1. Raw pseudorange measurements are obtained as a difference between the trans- mission and the reception time of a navigation signal, obtained with misaligned clocks. 2. Corrected pseudorange (range) are obtained by applying error corrections to com- pensate for unwanted biases affecting the propagation time of the signal. They are then the input data for the PVT computation. 3. Smoothed range measurements are code pseudorange measurements refined through Doppler or carrier phase measurements in order to reduce the variance of the estima- tions and are extensively used in professional receivers. 4. Range measurements are obtained after the estimation of the user clock bias. Ranges are never computed by the receiver since the clock bias is accounted for by the PVT solution. The diagram of the steps is shown in figure 2.4: 2.3 Performance metrics 2.3.1 Accuracy and Precision The PVT solution is always an estimate, so it presents some errors due to disturbances, propagation errors, etc. The estimation error is a vector and is defined as x − x̂. The performance of a positioning procedure can be evaluated in a stochastic way, using statistical parameters like mean and variance/standard deviation. There are two metrics to evaluate an estimation: 22 Figure 2.4: Diagram of the computation process Accuracy: the measure of how close a point is to its true position. Precision: the measure of how closely the estimated points are in relation to each other Figure 2.5 shows examples of different combinations of precision and accuracy. Figure 2.5: Precision and Accuracy combination The accuracy cannot be measured. In the case of high precision and low accuracy, the error is most likely due to a bias. 23 Given a position/time state x and its estimation x̂ in general, the performance metrics are a function of: Bias term b = E{x̂ − x} = E{∆x} Covariance matrix Cx̂ = cov{δx} = E{(x̂ − x − b)(x̂ − x − b)T Root Mean Square Error (RMSE) is the square root of the trace of Cx̂ and is equal to GDOP · σU ERE. 2.3.1.0.1 Position error ellipsoid Considering only spatial coordinates, the most straightforward measure of position accuracy is the error ellipsoid, which can be used to trace the distribution of estimates about the bias point:  2  2  2 x̂ − bx ŷ − by ẑ − bz + + = ŵ σx σy σz By defining a threshold value of γ such that ŵ < γ, if the cross-diagonal elements are null, ŵ is a random variable with a χ-squared random variable with 3 degrees of freedom, which means that the probability that a given estimate lies within the error ellipsoid with scale parameter γ is fixed. However, the ellipsoid defined in that way is relevant only if the covariance matrix is diagonal, meaning all the errors are uncorrelated. In other cases, σx , σy , σz should be replaced with the eigenvalues of the covariance matrix, which defines the semi-axes of the error ellipsoid. The maximum eigenvalue is related to the eigenvector referring √ to the axis along which there is the maximum error. The largest semi-axis is rmax = γλmax vmax. 2.3.1.0.2 Spherical and Circular Error Probable Spherical Error Probable (SEP) and Circular Error Probable (CEP) are defined simply as the radius of a circle such that a given percentage of estimates fall within that circle. Example: CEPx - x% of the estimates fall within that circle. The value comes from the following equation: Z SEPγ γ fw (ŵ)dŵ = 0 100 This equation cannot be calculated in closed form. 24 Chapter 3 Signal Power and Noise 3.1 Signal Attenuation All the positioning procedures are based on measurements performed by a user receiver of a signal transmitted by a reference source very far away. Several phenomena affect the power of the signal during its travel, like the power propagation laws, the attenuation phenomena due to the atmosphere and the capability of the receiver to capture the signal power (user antenna). 3.2 Link budget calculation The Friis’ transmission formula gives the power density received by the user: 1. The Power Density of the plane wave incident to the receiver antenna at a distance R is: PT [W] P D(j) = 4πR2 [m2 ] 2. (a) Assuming the transmitting antenna has gain GT and attenuation LA due to at- mospheric loss, then: PT [W] P D(j) = 2 GT 4πR LA [m2 ] (b) Converting it to dB: P D(j) dBW/m2 = PT |dB + GT |dB − LA |dB − 10 log10 (4πR2 ) ≈ PT |dB + GT |dB − LA |dB − 20 log10 R − 11 3. The ability of an antenna to capture the incident signal field is measured by its gain GR or its effective area. Usually, GPS antennas are isotropic1 in azimuth and gain 1 Radiates electromagnetic waves uniformly in all directions. 25 varies in elevation. Assuming the receiver antenna has an effective aperture of Ae [m2 ], then the received power is: PT P (j) [W] = G T Ae 4πR2 LA λ 2 4. The effective Antenna Aperture Ae can also be written as Ae [m2 ] = 4π GR , so the final equation for the received power at the antenna can be denoted by the Friis’ Transmission equation: PT G T G R λ 2 P (j) = version with wavelength λ (4πR2 )LA PT G T G R c 2 = version with frequency f (4πRf )2 LA 5. For practical reasons, the log version is more used: PRX |dBW = GT |dB − LF S |dB − LA |dB − GR |dB where LF S |dB = 20 log10 4πR λ is the free space path loss 3.3 Thermal noise The receiver is also introducing disturbances on the useful signal, which are modelled as additive white Gaussian noise, which is a Stationary Gaussian random prosess with zero mean and Power Spectral Density constant over all frequencies with a value of Sx (f ) = N20. N0 depends on the temperature and takes into account the contribution of all the stages of the receiver. The signal at the receiver’s input is considered noiseless. 26 3.3.1 Real model 3.3.2 Filtered noise 27 3.4 The concept of C/N0 C PR In the GNSS domain, the SNR used is N0 = N0 , where C is a power [W] and N0 is a power density [W/Hz]. The bandwidth B of the RF front-end is large enough to include most of the signal power, so SN R = NP0RB = NC0 B1. 3.5 Notes on the error The SNR is important because it takes into account the specific bandwidth of the receiver front-end. C/N0 is useful because it is independent of the receiver implementation, as from the IF bandwidth. C is considered equal to the maximum signal power since it is supposed that the main lobe contains the major part of the power. C/N0 can only be estimated by the receiver and not measured. dB units are always used and thus C/0 is measured in dB-Hz. 28 Chapter 4 Systems and Signals 4.1 GPS description 4.1.1 Global Positioning System (GPS) It is a system operated by the US AirForce on behalf of the Government, managed at a national level as multi-use asset. It is a one-way broadcast, so it has an unlimited number of users, who can access the service for free. The US is committed to maintaining the availability of at least 24 operational GPS satellistes, 95% of the time. The GPS nominal constellation has: Semi-major axis of 26560 km Altitude 20200 km Eccentricity e < 0.01 (nearly-circular orbit) Period: about 12 hours Six orbital planes with inclination at 55 degrees. The RAAN2.2.1.2 of the six orbital planes are separated by 60 degrees in the equatorial plane Four satellites per plane unevenly distributed to minimize the effect of a single satellite failure Every 10/15 years, the satellites are changed. The satellites’ placement is made such that the GDOP is always good for the USA and the area around ±60◦ from the equator. As of now, 31/32 satellites are available, not all belonging to the same generation. 29 4.2 GPS signal in space 4.2.1 The navigation Signal-in-Space The signal broadcast by the navigation satellites is usually denoted ad Signal in Space (SIS). The signal must allow the computation of the pseudorange, carry useful data like the transmission time, the ephemeris, some correction parameters and the satellite identification and, lastly, be robust to the transmission through the atmosphere. Each GNSS system has a different signal structure, described by the Interface Control Documents. The receivers know each mathematical model and can use it to process the signal. 4.2.2 The multiplexing technique Most of the GNSS use a Code-Division-Multiplexing technique to identify the satellites without ambiguity. Each satellite transmits a different code (ranging codes) using the same carrier frequencies without time division. The codes are mutually orthogonal, to permit a perfect separation of the signal from the ones of the other satellites. The code sequence is periodic and continuously transmitted. The data signals are modulated by the ranging codes. 4.2.3 Orthogonality and Correlation Two signals are orthogonal if their inner product is zero, i.e.: Z +∞ x(t)y(t)dt = 0 −∞ Or, for the Parseval relationship: Z +∞ X(f )Y∗ (f )df = 0 −∞ In the discrete domain, it is done with a summation: X +∞ X +∞ x[n]y[n] = xn yn = 0 n=−∞ n=−∞ Furthermore, autocorrelation and crosscorrelation are defined as: Z +∞ Rx (τ ) = x(t)x(t + τ )dt Autocorrelation −∞ Z +∞ Rxy (τ ) = x(t)y(t + τ )dt Crosscorrelation −∞ 30 In the discrete-time domain: X +∞ Rx [m] = x[n]x[n + m] n=−∞ 4.2.4 GPS code generation The SIS is a BPSK modulation of a periodic sequence of pulses (code chips). The code of length p for satellite k is: X p−1 xkcode (t) = bkn r(t − nTc ), bn ∈ {±1} ∀n ∈ (0, p − 1) n=0 Where r(t) is a rectangular pulse shape and Tc is denoted as the chip time. The total transmitted code for a given k-th satellite is: X +∞ ck (t) = xkcode (t − mTcode ) m=−∞ 4.2.5 Data and messages The codes are deterministic signals that do not carry any information, but a navigation message is modulated on top of them to include useful information. Modulation is a bit-by- bit multiplication of the two signals, so the Tb must be an integer multiple of Tcode : X +∞ dk (t) = dkm r(t − mTbit ) m=−∞ 31 4.2.6 The signal components 4.2.7 Code and signals The signals are generated starting from binary sequences with specific properties such as the Gold Codes, which allow the generation of codes with good autocorrelation and cross- correlation properties using simple digital circuits. Other codes (memory, Kasami, Weil) are used in modern GNSS. On the GPS website, there is a list of codes associated with each satellite. To check if a satellite is visible, the correlation between its code and the received signal is done. If a peak is obtained, then it is visible. 4.2.8 GPS SIS 4.2.8.1 Baseline Recall on the equation of the SIS: √ xRF,i (t) = 2P di (t) ci (t) cos(2πf0 t + θ0 ) Each signal consists of 3 components: Carrier: RF sinusoidal signal with frequency fL1 and fL2 Ranging code: Each satellite transmits two codes: the Coarse/Acquisition (C/A) code and the Precision [encrypted] code (P)[(Y)] Binary navigation data 32 The sequence is modulated using a Binary Phase Shift Keying with rectangular shape pulses. The two frequencies over which the GPS sends its signal are derived from a unique funda- mental frequency of 10.23 MHz and are fL1 and fL2 : fL1 = 1575.42 MHz = 154 · 10.23 MHz fL2 = 1227.60 MHz = 120 · 10.23 MHz Other RF signals are transmitted over L3 and L4 frequencies but they are classified satellites’ payloads. Two signals are transmitted on L1, one for civil use and one for authorized users, while only one on L2, for authorized users. The final equation for the signal is then: p p xRF,i (t) = 2Pc ci (t) di (t) cos(2πfL1 t + θL1 ) + 2PY 1 ci,Y (t) di (t) cos(2πfL1 t + θL1 ) p + 2PY 1 ci,Y (t) di (t) cos(2πfL2 t + θL2 ) where ci is the C/A code and ci,Y is the P[(Y)] code. 4.2.8.2 C/A code at the beginning, the C/A code was not used for positioning purpose. Coarse Acquisition are short-duration codes to allow a fast, even if not precise, acquisition of the signal. Their principal characteristics are: Code length p = 1023 Code duration Tcode = 1 ms Chip duration Tchip = 10−3 /1023 = 997.5 ns ∼ 1 µs Chip Rate Rchip = 1.023 Mchips/s 4.2.8.3 P (Y) code The P code has shorter chips, which leads to greater precision in range measurement with respect to the previous ones. The P code is never repeated in a week. without knowing the sequence, there is no way to guess which it is. Their principal characteristics are: Code length Unique segment of an extremely long PRN sequence of almost 1014 chips lasting 267 days split into 37 sections of 7 days each. 33 Code duration Tcode = 1 week Chip rate Rchip = 10.23 Mchips/s GPS can replace the P-code with a secure Y-code for authorized US Government users, which is employed when the AS (AntiSpoof) mode is activated. The main purpose is to ensure an opponent cannot spoof the Y-code signal generating a Y-code replica. Spoofing is the transmission of fake GNSS signals. Meaconing is a practice in which the legal signal is recorded and replayed. 4.2.8.4 Navigation Data The Navigation Data is a binary-coded message carrying information on the satellite’s health status, ephemeris parameters, SV clock bias parameters, ionospheric model parame- ters, relativistic correction and an almanac of reduced-precision ephemeris data for all the satellites of the constellation. The almanac can also be downloaded from the web (smartphones do this in order not to make calculations) 4.2.8.4.1 Navigation Data Structure The Navigation Data bitrate is 50 bit/s. It is not possible to go faster than that, since a bit cannot be faster than the code. The bit duration is hence 20 ms. The navigation structure is structured in the following way: 1 word = 30 bits 10 words = 1 subframe = 300 bits (≈ 6 seconds) 1 frame (or page) = 5 subframes = 1500 bits (≈ 300 seconds) 1 superframe = 25 frames (≈ 12.5 minutes) 34 4.2.8.5 Signal Generation 4.2.8.6 GPS modernization - Signal and Carriers For the more recent satellites, a new frequency was added. Nowadays, they also transmit on L5 (1176 MHz). This frequency is devoted to transportation and is more complex to be processed. However, nowadays smartphones process L1 and L5. They use both to get the ionofree pseudorange. 4.3 GLONASS Signal in Space 4.3.1 Global Navigation Satellite System (GLONASS) GLONASS is a positioning system developed by the USSR during the Cold War and is based on the same principles of the GPS. There are 24 (MEO1 ) satellites on three orbitals at high inclination to better serve high-latitude regions. All the satellites transmit the same code on different frequencies (FDMA). The carrier frequency is in the L band. There are only C/A code and P code (no SA). The accuracy is 25-45m for the C/A code. In general worse performance with respect to GPS because of FDMA and Ionosphere impact on the signals. New satellites also transmit CDMA signals. 1 Medium Earth Orbit 35 4.3.2 GLONASS constellation The constellation is divided into 3 orbital planes with 120◦ shift along the equator. There are 8 satellites per plane so in total 24 satellites. The orbit is circular at 19140km (MEO orbit) with a 64.8◦ inclination with respect to the Equatorial plane. The orbit period is 11 hours and 15 minutes. 36 Chapter 5 Galileo and BOC signals 5.1 The Binary Offset Carrier (BOC) Modulation 5.1.1 Split Spectrum Modulation To reduce mutual interference between signals modulated over the same carrier is to introduce a frequency shift by adding a subcarrier. This technique has been named split spectrum or Binary Offset Carrier (BOC) modulation. It is obtained by applying a squared subcarrier to a BPSK signal. A modulation shifts the spectrum a bit from L1. The terminology for BOC(n,m) is the following: n: subcarrier frequency in multiples of 1.023 MHz (fundamental frequency of GPS) m: chip rate in multiples of 1.023 Mcps (chip rate of GPS) The ratio n/m is the number of subcarrier periods per chip. Now the power is allocated around a subcarrier frequency and not at the central frequency. 37 5.1.2 BOC modulation 5.1.3 The signal components 5.1.4 BOC Power Spectral Density The maximum power spectrum is shifted with respect to the center frequency. The width of the main lobe depends on the code rate (m) and the shift depends on the 38 subcarrier fundamental frequency (n). The equation for a BOC signal is:      2 πf sin sin πf GBOC(n,m) (f ) = fsc    2fsc fr  πf πf cos 2πfsc where fr = T1r and fsc = T1sc. FOR THE EXAM: m is the shift of the center of the main lobes, n is the width of the main lobes. The same signals are used not to require new hardware. Plus, more constellations can be used at the same time. 5.1.5 Correlation properties of BOC signals The autocorrelation of a GPS code hasa a triangular shape in the interval [-Tc, Tc]. The BOC signals have a narrower correlation function around the origin but with side peaks. The positioning performance are related to the ability of identifying the main peak of the correlation function. The BOC signal can potentially give better accuracy but due to the presence of side peaks the improvement is traded-off with the complexity of the receiver. 5.1.6 Comparison of BPSK(1) and BOC(1,1) In the figure BPSK (GPS) is the blue line, while red line is the BOC(1,1). BOC(1,1) does not satisfy the Nyquist criterion for Galileo. A higher sampling signal is needed. 39 5.1.7 BOCSIN vs BOCCOS By default the BOC signal is created by a sine subcarrier, but also a cosine subcarrier can be used. The two equations are: scsin (t) = sign(sin(2πFsc t)) sccos (t) = sign(cos(2πFsc t)) 5.2 The Galileo System Galileo is an initiative of the European Union and the European Space Agency (ESA) in collaboration with European industries. The European Public Funds are used for system development. The system is under civilian control (contrary to GPS, which is governative). There are 30 satellites, which give full globe coverage. The service started in 2016 and can work standalone or interoperate with other existing systems. There is also a guaranteed availability of service but only for limited areas like airports. There are also geostationary satellites which in case of problems broadcast warning for other wider areas. 5.2.1 Galileo constellation There are 27 satellites + 3 spares at 23222km on 3 orbital planes, equally spaced at 56◦ inclination with respect to the Equator. There are 4+1 services: Open, Public Regulated, High Accuracy, Search&Rescue. The satellites transmit over 3 frequency bands: E5, E6 and E1. 10 signals are transmitted: 6 data channels (carrying data bits) and 4 pilot channels (data-free). The rotation period is 14 hours, 4 minutes and 42 seconds. The constellation repeats every 10 days. The minimum number of satellites in view is 6 and the maximum is 11. 5.2.2 Galileo and GPS There is an agreement between the US and the EU made in June 2004, and it states that: Galileo L1 and GPS III L1 use open signal BOC(1,1) Adoption of an interoperable timing and geodesy Broadcast of GPS/Galileo Time Offset (GGTO) Non-discrimination in trade in satellite navigation goods and services Commitment to preserve National Security capabilities Non-restrictions of access to open service end-users Furthermore, the two systems are interoperable and compatible. Although BOC(1,1) was chosen, both the parties decided to optimize that signal. 40 5.3 The MBOC signals US and EU agreed for a Multiplexed Binary Offset Carrier to be used on the open signals. A small amount of additional power at higher frequencies is placed to improve the signal tracking performance. The main lobes are slightly reduced with respect to BOC(1,1). The equation of the MBOC is: 10 1 GMBOC (f ) = GBOC(1,1) (f ) + GBOC(6,1) (f ) 11 11 The difference between an MBOC and a simple BOC(1,1) is shown in figure 5.1 Figure 5.1: MBOC(6,1,1/11) signal vs BOC(1,1) signal 5.4 MBOC implementations To implement the MBOC spectrum, there are two strategies: Time Multiplexed BOC (TMBOC): implemented on the new L1C GPS signal. It is a higher rate BOC(6,1) combined to a BOC(1,1) Composite BOC (CBOC): implemented on the Galileo E1 signal. In this case, the BOC(6,1) is transmitted in time division. When using a narrowband filter both the CBOC and TMBOC behave like a BOC(1,1). The autocorrelation of the CBOC signals is very similar to the one of BOC(1,1), but the peak is narrower. 41 5.5 Galileo SIS In Galileo there are 3 composite signals: E5, E6 and E1. Each signal results from applying a given multiplexing scheme to combine a set of components. Each component is transmitted using a specific carrier frequency and generated by combining two channels. Each channel is obtained by modulating the modulo-two addition of an optional navigation data stream (data or pilot channel) and a spreading code. A pilot channel uses a long code obtained as a tiered structure of a primary and secondary code. 5.5.1 Signal Generator Figure 5.2: Galileo signal generator scheme 5.5.1.1 Signal multiplexing at E1 In the E1 channel, there are 2 signals with 3 components serving for 2 services: E1 Open Service (OS) Data and Pilot channels (divided in E1B and E1C) E1 PRS (E1P) restricted access signal 5.5.1.2 Signal multiplexing at E5 In the E5 channel, there are 2 signals with 4 components serving for 1 service: E5a OS: Composed by a Data and Pilot channels named eE5a−l and eE5a−Q. 42 E5b OS: Composed by a Data and Pilot channels named eE5b−l and eE5b−Q. The signal can be processed as a wideband signal with AltBOC(15,10) modulation. The modulation is similar to two QPSK(10) signals shifted by 15 MHz. Can also be processed as an independent narrower BPSK(10). 5.5.1.3 Signal multiplexing at E6 In the E6 channel, there are 2 signals with 3 components serving for 2 services: E6 High Accuracy Service (HAS): commercial access signal composed by a data component (E6B) and a pilot component (E6C) both modulated by a BPSK(5) E6 PRS: restricted access signal modulated by a BOCcos(10,5) 5.5.2 Galileo Spreading Codes Galileo Signals make use of specific codes, longer than 16383 chips, constructed by tiered codes. A tiered code is obtained by modulating a primary code by the chips of a sec- ondary code. 43 Chapter 6 The GNSS receiver 6.1 Introduction to GNSS receivers 6.1.1 Receivers core functions A navigation receiver has to receive, pre-amplify and filter GNSS signals transmitted by satellites, convert the signal from analog to digital, separate the different channels, generate the pseudo-random codes for demodulation, extract the GNSS signal code phase for pseudo- range measurement and the signal carrier phase for carrier phase measurement, demodulate the navigation message and, finally, solve the PVT equation. 6.1.2 The GNSS receiver The main task of a navigation receiver is to measure with high accuracy the signal prop- agation time. It tracks the phase offset between the local and received code by aligning the receiver’s local sequence to the incoming signal. Also, the Doppler effect affecting code and carrier must be recovered. The receiver operations can be grouped into five main functions: 1. Antenna and front-end processing 2. Acquisition 3. Tracking (code and phase) 4. Data demodulation 5. Position estimation 44 6.1.3 Receiver architecture and core functions The Doppler estimation is done before feeding the channels with a signal. During the PVT computations external aidings, also from the network, can be used. 6.1.4 Conventional GNSS receiver architecture In some cases, the Digital Baseband processing and the Micro/Signal processor are done not only by a CPU but also by software. 45 6.1.5 Performance The receiver performance can be summarised with the following points: Low power consumption: it must ensure long operational time Reduced Time To First Fix (TTFF): it must be able to provide a PVT solution as soon as possible depending on the application’s requirements. High accuracy / High precision: it must provide positioning with a high level of accuracy and precision. High acquisition sensitivity: it must be able to see all the satellites available in the sky. Indoors, instead, it must be able to see ”strongly” the strongly attenuated signals. High tracking sensitivity: it must be able to follow the evolution of the SIS even in case of low C/N0 6.2 The front-end stage 6.2.1 The receiver front-end The first analog stages of the receiver are used to shift the signal to an intemediate fre- quency (IF) and to sample and quantize (Analog-to-Digital conversion) the signal for the following stages. The front-end shapes the front-end filters and filters the noise. 6.2.2 Notes on Doppler effect Even if the user is static, the received carrier frequency is affected by the Doppler effect due to the satellite motion. The change in frequency is proportional to the satellite speed:   v 1 dD(t) fR = fRF − fRF = fRF 1 − D(t) = cτ (t) c λRF dt The frequency is approximated as not shifting over time. The assumption is that the variation of the distance is linear. The spectrum of the received signal is shifted with respect to the nominal carrier frequency. 46 6.2.3 Down-conversion scheme The front-end is composed of an amplifier, a mixer and a filter. An RF filter limits the bandwidth of the incoming signal before the down-conversion preparing the input signal for the following sampling stage. If the signal is affected by a Doppler shift, it is reported at IF. However, the down-conversion does not compensate the shift but works according to the nominal carrier frequency. A scheme of the down-conversion can be seen in figure 6.1. Figure 6.1: Down-conversion with Doppler scheme The front-end filter also changes the shape of both the spreading code and sub-carrier (in the case of Galileo). The filter also changes the delay τ. The additional delay corresponds to the filter group delay which is a known parameter. The effect on the data is negligible due to the narrow bandwidth of the data signal. 6.2.4 Analog-to-Digital conversion The sampling is done at IF frequency. The sampling frequency depends on B which is the maximum frequency of the signal after the IF filtering. 1 fS = ≥ 2B TS The objective is to bring the ADC as close as possible to the RF frequency. In this condition, all the processing is done in the digital domain. 6.2.5 The signal at base-band input For a single satellite, the signal becomes the following: p (b) yIF,i (t) = 2PR ci (t − τ ) s(b) c (t − τ ) sin(2π(fIF + fd )t + ϕ) + N (t) p (b) yIF,i [n] = 2PR ci (nTs − τ ) s(b) c (nTs − τ ) sin(2π(fIF + fd )nTs + ϕ) + w[n] The received signal is the combination of Nc h channels from the satellite plus noise plus other RF disturbances and is quantised (non-linear operation): "N # X ch r[n] = r(nTs ) = Qk yIF,i [n] + Rf0 ,B (nTs ) i=1 47 For the following computations, the non-linearity of quantisation is neglected. 6.3 The acquisition stage 6.3.1 Signal reception The main functionalities of a navigation receiver rely on the perfect alignment of the PRN spreading sequences used by TX and RX. For this reason, it is necessary to align the RX local code sequence by recovering the delay between a locally generated copy and the received code by recovering frequency and phase of the locally generated carrier. Small misalignments in the code can cause big errors on the pseudoranges, while errors on the frequency shift can cause errors in velocity estimation. 6.3.2 Linear autocorrelation The maximum is every L seconds. 6.3.3 CCF in GNSS receivers Even if using the ACF within the receiver and local replicas to find the best match, theo- retically speaking, the computation is that of a CCF between a received code and the local 48 code. The two codes are different because the received code is filtered, noisy and can be distorted by propagation effects. If these effects are negligible, CCF≃ACF. The formula of the CCF is: 1X L−1 Rx,y [m] = x[n]y[n + m] L n=0 In reality, the long sequence (periodic) coming from the front end is correlated with a short sequence (usually one period). This leads to a periodic CCF, with the same period as the incoming code. In GNSS receivers, L is the number of samples included in one period or multiple integer periods. 6.3.4 Linear cross-correlation 6.3.5 Acquisition parameters per each satellite The acquisition is a global search for approximate values of: Code Phase Offset (Code delay) τ : the resolution in the estimation is related to the sampling rate Frequency Offset (Doppler shift) fd : the system must provide an estimate in the pull-in range of the FLL/PLL The IF phase ϕ is not estimated at this stage. 49 6.3.6 The acquisition conceptual scheme 6.3.7 Cross Ambiguity Function (CAF) A two-dimensional correlation function in the Delay and Doppler domains is used to com- pare the incoming signal and a local replica in order to achieve the best estimation of its parameters: X L−1 Ry,r (τ̄ , f¯d ) = yIF [n]ci (nTs − τ̄ )sc (nTs − τ̄ ) exp(j2π(fIF + f¯d )nTs ) n=0 where the blue part is the incoming signal and the orange part is the local replica. To avoid difficult computations, the modulus squared of the CAF is considered: 2 2 Sy,r (τ̄ , f¯d ) = Ry,r (τ̄ , f¯d ) The phase of the received signal is still unknown and not estimated at this stage. This is the reason why an exponential is used in the local signal. The test to perform is finding the code for which the argument is the maximum. 6.3.8 The Search Space The function is evaluated over a set of values τ̄ ,f¯d that define the Search Space (SS). It is like a grid search of Nτ × Nf bins. The maximum number of comparisons depends on the sampling frequency. 50 6.3.9 Acquisition time The Time To First Fix (TTFF) is a key performance for the GNSS receiver. The acqui- sition, as the first functional step, is the main contribution to the TTFF. The acquisition is the main contribution to the TTFF. The process can be sped up by using the approximate time and approximate position of the receiver during the start-up process and by using almanac data. This is the most computation-demanding process, so optimization is needed. For example, the receiver can look for satellites that are more likely to be visible. 6.3.10 Cold start and Warm start The cold start-up is a situation in which there is no external information available to the receiver, so the entire Search Space must be evaluated. The receiver is basically blind. The warm/hot start-up is a situation in which clock, almanac data, last known location, temperature and oscillator characteristics are available to the receiver. In this case, the Search Space can be reduced and the search optimized. This is the usual situation. 6.3.11 Acquisition remarks The acquisition procedure is of a two-dimensional search in time and frequency domains. The procedure must be repeated for each satellite ( in theory also for each channel, but if a solution is found for one, it is found for all). There are many methods for CAF evaluation. 6.3.12 Serial search The goal is the identification of the bin in the SS which maximises the CAF by exhaustive search. It is easy to implement, a single value of the CAF is obtained at each trial and the time required for the elaboration is proportional to the number of bins. 51 6.3.13 Serial scheme 6.3.14 Delay bin size The number of delay bins Nτ depends on the sampling frequency fS = T1S and the coherent integration time Tcoh = LTS , i.e. the time windows taken into consideration for the calculation of the correlation function. The coherent integration time is a multiple of the code period Tcode , so, in the end, the number of delay bins is: Tcoh Nτ = = fS Tcoh TS 6.3.15 Remarks on the delay estimation It is possible to estimate the delay with a resolution that depends on the number of samples per chip TTSc. The choice of the sampling frequency must grant the convergence of the tracking stage that will refine the delay value and assure a possible refinement (incommensurability criterion). Due to the periodicity of the incoming code, the estimated τ̂ is a code phase. The maximum identifies the best matching within a code period. A solution for the sampling frequency can actually be a non-integer multiple of the in- coming frequency. 52 6.3.16 Integration time and Doppler resolution in serial search L is the number of samples over which the noise is averaged. The coherent integration time is Tcoh = LTS. The resolution in the frequency domain can be chosen, provided the Doppler estimation is good enough for the tracking stage. As a rule of thumb: ∆f = 3T2coh = 0.6̄kHz. By taking a wider sampling time, the noise can be reduced: −5kHz < fd < 55kHz 6.3.17 Acquisition performance improvement In the CAF evaluation, the noise impacts the results. Its effect must be reduced by averag- ing it on the search space. Averaging can be done before or after the envelope by applying coherent integration time extension or non-coherent accumulation. 6.3.18 Integration time extension The CAF is obtained by combining Nc correlation functions, evaluated over L samples. The Coherent Integration/Accumulation is then: 2 1 X Nc 2 Sy,r (τ̄ , f¯d ) = R(i) (τ̄ , f¯d ) C Nc i=1 y,r Sometimes it is difficult to compute it, so the Non-coherent Integration/Accumulation is: 1 X Nc 2 2 ¯ Sy,rN C (τ̄ , fd ) = (i) Ry,r (τ̄ , f¯d ) Nc i=1 This is not an average per se, but it works anyway since the noise is distributed differently over a period, so it grows less than the peak. 6.3.19 Decision logic A simple but effective procedure can be used to determine the presence or not of a satellite: 1. For each spreading/ranging code, perform the full correlation operation over all possible code phases. 2. For each frequency step, multiply the received signal by a local sin/cos whose fre- quencies are the local carrier plus the estimated Doppler shift. 3. Find the maximum by comparing the values of the CAF with respect to a threshold Vt. The threshold is set in order to minimize the false alarm. It is set depending on the required performance. 53 6.4 Tracking stage 6.4.1 The tracking stage architecture 6.4.1.1 Concatenation of tracking systems At each iteration, the estimators provide fresh values of Doppler delay to the wiping blocks, which progressively improve the quality of the signals at their output. A scheme of the tracking stage is shown in figure 6.2. Figure 6.2: Tracking stage scheme The four blocks can be combined in different ways but any receiver implements code and carrier wipe-off. The code wipe off needs a fine estimation of the Doppler shift, while the carrier wipe off does not need it. 54 6.4.1.2 PLL and DLL 6.4.1.3 Using the PLL and the DLL The Carrier Frequency Offset (the Doppler shift) and phase estimation are not possible until the code is wiped off. The Code Delay estimation is not possible until a residual frequency modulation is present. 6.4.2 Carrier tracking 6.4.2.1 Code wipe-off The code wipe-off starts by using the delay estimated by the acquisition phase, and in the following steps, it uses the value refined by the delay loop. Its job is to remove the code and the subcarrier. The code wipe-off will not be perfect until the delay is perfectly estimated. The local code is not filtered. s[n] = cb (nTs − τ̂ ) · yI F [n] p s[n] = 2PR a(nTs )d(nTs − τ ) cos(2π(fIF + fd )nTs + φ) where a(nTs ) is the residual modulation. If the code is not perfectly aligned, then there are spikes when there is a change in the chip amplitude. The remaining signal after the code wipe-off is a continuous sinusoidal wave. If navigation data are present, there might be phase changes of 180◦ where bit transitions happen. The residual modulation is a disturbance with high-frequency features. It is filtered out by the carrier loop that behaves like a narrowband filter. 55 (a) Code alignment (b) Output signal Figure 6.3: Code wipe-off 6.4.2.2 The carrier tracking The carrier tracking loop is a feedback loop able to finely estimate the frequency and the phase of a noisy sinusoidal waveform and to track the frequency changes while the satellite is moving. The system employed to this purpose is the Phase Locked Loop (PLL). After the code wipe-off the PLL receives a wave signal still modulated by the navigation data. a PLL insensitive to phase transitions has to be adopted. In the case of pilot channels, it is possible to use different carrier loops, to achieve higher tracking sensitivity. 6.4.2.3 GNSS carrier tracking The implementation of the PLL model is done typically with a Costas loop. It provides the carrier phase reference. This is an extremely slow process. Figure 6.4 shows the Costas loop model. The Costas PLL discriminator is insensitive to the data bit transitions. 56 Figure 6.4: Costas loop PLL model 6.4.2.4 FLL and PLL Usually, also a Frequency Locked Loop (FLL) is used. It is more efficient. An FLL tracks the frequency ignoring the phase, so it is often used to initialize the carrier wipe-off by providing a frequency estimation. Once the FLL gets the correct frequency the PLL works on a narrow band and so it estimates the phase faster. For stationary systems, only the PLL is used. 57 6.4.3 Code tracking 6.4.3.1 Carrier wipe-off: input/output 6.4.3.2 The delay (code) tracking The delay information is contained in the correlation peak. A finer estimation of the peak is necessary to overcome the limitation of the resolution due to the choice of the sampling frequency. Searching for the maximum is not used, but a strategy insensitive to the absolute peak value must be adopted. The Delay Lock Loop (DLL) is used and is based on two correlators and two local replicas of the code. The signal at the input of the DLL requires that the residual Doppler modulation has been almost totally removed. 6.4.3.3 Coherent vs Non-coherent DLL The Coherent DLL assumes that the carrier frequency and the carrier phase are estimated and removed from the input signal by the PLL The Non-coherent DLL assumes that only the carrier frequency is estimated and removed, but there is still a residual phase at the input. This DLL is more robust. 6.4.3.4 Correlations in DLL The DLL is based on the correlation of the incoming signal with two replicas of the local code: 58 Early code: cE [n] = c(nTs − (τ̂ + ∆/2)) Late code: cE [n] = c(nTs − (τ̂ − ∆/2)) The DLL works iteratively and at each step k the delay τ̂ is adjusted by updating the initial estimation (obtained at the acquisition stage) by a given value d¯τ , such that: τ̂ = τ̂ (a) + d¯τ A version of the version of the code aligned with the incoming one is also generated to assist carrier wipe-off. This is the Prompt (P) code: cP [n] = c(nTs − τ ) 6.4.3.5 Coherent DLL: Early-late codes To get a result, the architecture must be stable. 59 6.4.3.6 Coherent DLL: Prompt code The samples are equal but they may be shifted with respect to the analog signal they represent. 60 6.4.3.7 Coherent DLL: Early-Late codes 6.4.3.8 Coherent DLL: Discrimination function 61 6.4.3.9 GPS: Discriminator function Instead of searching the maximum of the correlation, a comparison between the delayed and the anticipated signal is done until a 0 for their subtraction is reached. If τ̄ = τ , ετ = 0 The odd discrimination function is not ambiguous with respect to early/late misalignments of the code. If a value is negative, the code it soo late and vice versa, but the correlation is known. In the linear zone, the correction is directly proportional to the measured delay. 6.4.3.10 Coherent DLL: Controller 62 6.4.3.11 Coherent DLL: iterative approach The DLL is a null seeker, working step by step. At each step, a discriminator output is Sϵ [k] = S(ϵτ )|step=k is generated. A new delay τ̂ [k + 1] equivalent to a new value for d¯τ is estimated at each step (and applied at the next step). The resolution in the representation is the time correction, i.e. the minimum d¯τ that can be applied, depending on the Numerically Controlled Oscillator (NCO) used in the code generator for the timing. At each step: Sϵ [k] τ̂ [k + 1] = τ̂ [k] − γ In the region around the origin: S(ετ ) = −γετ , γ = T2c The first estimation should be close enough to be in the linear part. A fine resolution in the delay is needed. 6.4.3.12 BOC: Discriminator function Problem: there are two unstable points that are false lock points. A bias is introduced → loss of accuracy. 63 6.4.3.13 Non-coherent discriminators 64 Chapter 7 Pseudorange construction 7.1 Pseudorange construction Obtaining the pseudorange is a procedure that requires the lock of the tracking loops but also the demodulation of the data. The quality of the tracking directly affects the pseudorange quality. The noise on the pseudorange is directly proportional to the tracking jitter. A bias in the tracking loop creates a bias in the pseudorange measurement. The data message structure is part of the pseudorange construction. 7.2 Receiver functions The receiver functions are the following: 1. Signal reception: conditioning and ADC 2. Signal procesing: acquisition and tracking 3. Demodulation: message extraction 4. Data processing: message decoding 5. Pseudorange construction: application of corrections 6. Navigation solution computation 7.3 The navigation message (GPS) The navigation message contains information related to satellites position and other infor- mation useful at a receiver level like ionospheric model parameters. The transmission rate is Rb = 50 bit/s, so the bit duration is Tb = 20ms 65 7.3.1 Data structure 30 bits of navigation data form 1 word. 10 words for 1 subframe, which takes 6 seconds to be transmitted. 5 subframes form 1 page. 7.3.2 Data organization All the subframes start with the same preamble binary sequence. The first 2 words of each subframe are called: Telemetry Word (TLM): the subframe first word, used to synchronise the naviga- tion message. It consists of 8 bits of preamble, 16 reserved bits and 6 parity bits. It is a fixed sequence, a sort of marker that says when the subframe is starting in number of seconds since 05/01/1980. Hand Over Word (HOW): the subframe second word, which carries the transmit- ting time information. It is made of four components: – Bits 1÷17 contain the truncated version of the Time Of Week (TOW), a counter representing time in 6 seconds units ( exactly as the length of the TLM) – Bits 18-19 contain the system state: the index of accuracy (alert bit), and anti- spoofing mode. – Bit 20 ÷ 22 contain the subframe identification number – Bit 23 ÷ 30 contain parity bits 7.3.3 GPS time scale The GPS time is referenced to UTC zero time-point, defined as midnight of 05/01/1980 or morning 06/01/1980. It is counted in terms of 1.5 seconds (Z-count) ( kind of GPS clock). The largest unit in GPS time is one week, defined as 604800 seconds. 7.3.4 The Z-count and TOW The Z-count is represented as a 29-bit number consisting of 2 parts: 19 LSB (least significant bits) of the Z-count are the Time of Week (TOW) count 10 MSB (most significant bits) are the sequential number assigned to the present GPS week. The carry of the 19 LSB set a new week in the 10 MSB. TOW is counted in 1.5s epochs. The range of the TOW count is from 1 to 403199 and it resets to 0 at the end of each week. 66 7.3.5 Handover word The HOW contains the truncated version of the TOW on 17 bits of the time at which the following subframe will be transmitted (the first data bit of the following TLM). After that, it is possible to know when the satellite signal starts. To convert the HOW-message into TOW, the value has to be multiplied by 4 (hence the missing 2 bits) 7.4 User PVT computation 7.4.1 Remarks All the satellite are synchronised to the same reference time scale and transmit the navigation messages at the same time. The messages arrive to the user at different times, and the receiver time is different from GPS scale. The HOW allows to determine the time instant in which the transmission of each subframe starts. 7.4.2 PVT computation The variables used in the computation are the following: (s) t0 : Reference time on the satellite time-scale (u) t0 : Reference time on the user time-scale tsub : Transmission time of the subframe on the satellite time-scale (contained in the previous HOW) (s) tTi : Transmission reference time (u) tRi : Reception time on the user time-scale (s) tRi : Reception time on the satellite time-scale The pseudorange is then constructed as: (u) (s) (u) ρi = c(tRi − tTi ) = c(tRi − tsub ) (s) = c(tRi − ∆bu − tsub ) = ri − c∆bu where ∆bu is the user clock bias. 67 7.4.3 Relative measurements At the receiver ∆ti = TRi − TR1. The measurement of the first pseudorange can be set by the receiver (e.g. usign the mean propagation time) or actually measured on the user time scale. The error will be included in the estimation of the ∆b = cδtu. The new equations for computation will be: p (x1 − xu )2 + (y1 − yu )2 + (z1 − zu )2 − ∆b1 = ρ1 p (x2 − xu )2 + (y2 − yu )2 + (z2 − zu )2 − ∆b2 = ρ1 + c∆t2 p (x3 − xu )2 + (y3 − yu )2 + (z3 − zu )2 − ∆b3 = ρ1 + c∆t3 p (x4 − xu )2 + (y4 − yu )2 + (z4 − zu )2 − ∆b4 = ρ1 + c∆t4 7.4.4 The pseudorange computation If only the time epoch tsub are considered, it would be possible to measure a pseudorange only every 6 seconds. The local code generator allows for higher rates. The values of delta-pseudoranges are obtained as the difference between counters that follow the receiver time evolution. When a TLW is received, the counter is started. At the end of the signal, a subtrac- tion between the value of the counter and the received word is computed to obtain delta- pseudoranges. With this technique, the DLL can be synchronised. When a HOW is detected, code accumulators are started in order to count Xi (n), the number of chips transitions, and Pi (n), the number of Numerically Controlled Oscillator (NCO) steps (fractions of chip). In tracking conditions, such counters follow the evo

Use Quizgecko on...
Browser
Browser