Table of Foreword by Glen Gibbons About this book Acknowledgments List of abbreviations and acronyms List of definitions page xiii xix xx xxi xxv Part I GNSS: orbits, signals, and methods 1 GNSS ground and space segments 3 1.1 Ground segment and coordinate reference frames 3 1.2 Space segment and time references 10 1.2.1 GPS time and calendar time 10 1.2.2 Other GNSS time scales 11 1.2.3 Onboard clock error 11 1.3 Satellite motion description using Keplerian parameters 13 1.4 Algorithm for satellite position calculation using standard Keplerian parameters 17 1.5 Theoretical background for the spherical harmonics of the Earth s geopotential 20 1.6 Algorithm for transformation of GLONASS almanac parameters into standard Keplerian parameters 22 1.7 Medium Earth GNSS orbits 26 1.8 GEO and HEO for SBAS 29 1.8.1 GEO 29 1.8.2 HEO 30 1.9 Algorithm for GPS, Galileo, and BeiDou for satellite position calculation using ephemeris in the form of osculating elements 32 1.10 Algorithm for GLONASS satellite position calculation using ephemerides in the form of Cartesian vectors 35 1.11 Algorithm for GLONASS satellite position calculation accounting for lunar and solar gravitational perturbations 36 References 37 v
Table of vi 2 GPS, GLONASS, Galileo, and BeiDou signals 39 2.1 GNSS signals 39 2.1.1 GNSS signals in general 39 2.1.1.1 CDMA method 39 2.1.1.2 GNSS signal structure 42 2.1.1.3 GNSS spread codes: past, present, and future 42 2.1.1.3.1 Shift register and memory codes 42 2.1.1.3.2 Strange attractor codes 45 2.1.1.4 BOC modulation 46 2.1.1.5 Data 47 2.1.1.6 Tiered code 48 2.1.1.7 Pilot channel 49 2.1.2 GPS L1 signals 49 2.1.2.1 GPS L1 C/A signal 49 2.1.2.2 GPS L1C signal 51 2.1.3 GLONASS L1 signals 53 2.1.4 Galileo signal 56 2.1.5 BeiDou signal 57 2.2 GNSS signal propagation error models 58 2.2.1 Effects of signal propagation through the atmosphere on GNSS 58 2.2.2 Algorithms for tropospheric delay calculation 60 2.2.2.1 Black and Eisner model 60 2.2.2.2 Saastamoinen tropospheric delay model 61 2.2.2.3 Niell mapping function 61 2.2.3 Algorithms for ionospheric delay calculation 62 2.2.3.1 Single-layer ionosphere model 63 2.2.3.2 Ionospheric error compensation in GPS and BeiDou receivers 65 2.2.3.3 Ionospheric error compensation in GLONASS receivers 67 2.2.3.4 Ionospheric error compensation in Galileo receivers 67 2.2.3.5 Ionospheric error corrections from GEO/HEO satellites 68 2.2.4 Ionospheric error compensation in multi-frequency GNSS receivers 69 2.3 GNSS data 72 2.3.1 GPS and BeiDou navigation messages 72 2.3.2 Galileo navigation message 73 2.3.3 Algorithm for constructing GPS/BeiDou/Galileo pseudorange measurements 75 2.3.3.1 GPS time mark 75 2.3.3.2 BeiDou time mark 75 2.3.3.3 Galileo time mark 76 2.3.3.4 Pseudorange construction algorithm 76 2.3.4 GLONASS navigation message contents and structure 77
Table of vii 2.3.5 Subframe of a GLONASS navigation message 80 2.3.5.1 Algorithm for reading GLONASS subframe 80 2.3.5.2 Subframes containing immediate information 81 2.3.5.2.1 Subframe 1 81 2.3.5.2.2 Subframe 2 81 2.3.5.2.3 Subframe 3 81 2.3.5.2.4 Subframe 4 82 2.3.5.2.5 Subframe 5 82 2.4 What s in a sat s name? 82 2.4.1 Models 84 2.4.2 Signals 84 2.4.3 Geometry 84 2.4.4 Clock 85 References 86 3 Standalone positioning with GNSS 88 3.1 Application of pseudorange observables 88 3.1.1 Code phase measurements 88 3.1.2 Carrier phase measurements 90 3.1.3 Pseudorange equations 91 3.1.4 Satellite coordinates 93 3.1.5 Minimum number of satellites for positioning 95 3.2 Navigation solution algorithms 98 3.2.1 Least-squares estimation (LSE) solution 98 3.2.2 Analytical solution 101 3.2.3 Kalman-filter solution 102 3.2.4 Brute-force solution 104 3.3 Multi-system positioning 104 3.3.1 Generalized equations 104 3.3.2 Time-shift calculation using navigation message data 105 3.4 Error budget for GNSS observables 105 3.4.1 Error budget contents 105 3.4.2 Geometrical factors 106 3.4.3 Multipath 108 References 109 4 Referenced positioning with GNSS 110 4.1 Requirements for code and carrier differential positioning 110 4.2 Spatial correlations in error budget 112 4.2.1 Decorrelation of satellite orbital errors 112 4.2.2 Decorrelation of tropospheric errors 113 4.2.3 Decorrelation of ionospheric errors 113
Table of viii 4.3 Observables 113 4.3.1 Single-difference observables 113 4.3.2 Double-difference observables 114 4.3.3 GLONASS inter-frequency bias 116 4.3.4 Triple-difference observables 116 4.3.5 Double-difference equations for multi-systems 117 4.4 Real-time kinematic method 118 4.4.1 Code and carrier phase difference equations 118 4.4.2 RTK positioning algorithm 120 4.4.2.1 Float solution 121 4.4.2.2 Integer solution 122 4.4.2.3 Validation 123 4.4.3 Network RTK method 123 4.4.3.1 Network of reference stations 123 4.4.3.2 Control center 124 References 126 Part II From conventional to software GNSS receivers and back 5 Generic GNSS receivers 131 5.1 GNSS receiver overview 131 5.1.1 Digest of GNSS receiver operation 131 5.1.2 Receiver specification 135 5.1.2.1 Specification parameters 135 5.1.2.1.1 Accuracy 135 5.1.2.1.2 Sensitivity 137 5.1.2.1.3 Systems and frequencies 138 5.1.2.1.4 Time to first fix 138 5.1.2.1.5 Interface 139 5.1.2.2 Spec specifics for main application fields 140 5.1.2.2.1 Geodetic applications 140 5.1.2.2.2 Geophysical applications 140 5.1.2.2.3 Aviation applications 141 5.1.2.2.4 Mobile applications 141 5.1.2.3 Evaluation of parameters 142 5.1.3 GNSS receiver design 142 5.1.3.1 Hardware and generic receivers 142 5.1.3.1.1 Receiver functional model 142 5.1.3.1.2 Receiver structural model 143 5.2 Receiver components 144 5.2.1 Correlators 144 5.2.1.1 Signal acquisition 144 5.2.1.2 Massive parallel correlation 148
Table of ix 5.2.1.3 Coherent signal integration 149 5.2.1.4 Frequency resolution 150 5.2.2 Receiver channel functions 151 5.2.2.1 Tracking loop theory 151 5.2.2.2 Tracking loop implementation 157 5.2.2.2.1 PLL-aided DLL 157 5.2.2.2.2 Coherent tracking with 20 ms coherency interval 159 5.2.2.2.3 Coherent tracking with 1 s coherency interval 161 5.2.2.3 Lock detectors 162 5.2.2.4 Bit synchronization 163 5.2.2.5 Measurements 164 5.3 GPS/GLONASS receiver 165 References 167 6 Receiver implementation on a general processor 169 6.1 Development of the software approach 169 6.2 Software receiver design 171 6.2.1 Baseband processor implementation 171 6.2.2 Acquisition implementation 173 6.3 Advantages of software receivers 174 6.3.1 Software receiver advantages for mobile applications 174 6.3.1.1 Potential reduction of required hardware 174 6.3.1.2 Upgradeability 175 6.3.1.3 Bug fixing 175 6.3.1.4 Reduction of new product development cycle 175 6.3.1.5 Adaptability to new signals 175 6.3.1.6 Change of receiver type 177 6.3.1.7 Third-party product involvement 177 6.3.2 Software receiver advantages for high-end applications 177 6.3.2.1 Flexibility 177 6.3.2.2 Access to baseband processor 177 6.3.2.3 RF signal post-processing 178 6.4 Real-time implementation 178 6.4.1 Concurrency 178 6.4.2 Bottlenecks in GNSS signal processing 180 6.4.3 Algorithmic methods used to speed up processing 181 6.4.3.1 Early-minus-late discriminator 181 6.4.3.2 Signal decimation 182 6.4.4 Hardware-dependent methods 182 6.4.5 Software methods 184 6.4.5.1 Bitwise processing a paradigm for deriving parallel algorithms 184 6.4.5.2 Pre-calculation of replicas 185
Table of x 6.5 Applications of high-end real-time software receivers 185 6.5.1 Instant positioning 186 6.5.2 Ionosphere monitoring 186 6.5.3 Ultra-tightly coupled integration with INS 187 6.5.4 Application in education 187 References 187 7 Common approach and common components 190 7.1 Common approach for receiver design 190 7.2 Mobile antennas 192 7.3 TCXO and bandwidth 195 7.4 Front end 199 7.4.1 Down-converter 199 7.4.2 Analog-to-digital converter 201 7.5 Navigation processor 203 References 204 Part III Mobile positioning at present and in the future 8 Positioning with data link: from AGPS to RTK 207 8.1 Merging mobile and geodetic technologies 207 8.2 Application of external information in the baseband processor 209 8.2.1 Doppler assistance in acquisition 210 8.2.2 Code phase assistance in acquisition 214 8.2.3 Doppler assistance in tracking 214 8.2.4 Navigation data assistance 216 8.3 Application of external information in the navigation processor 217 8.3.1 TTFF improvement: snapshot positioning 217 8.3.2 Accuracy improvement: RTK positioning 220 8.3.2.1 The catch: antennas 220 8.3.2.2 Network RTK implementation: virtual reference station RTK system 221 8.4 External information content 225 8.4.1 Group 1: assistance data 225 8.4.2 Group 2: additional parameters 226 8.4.3 Group 3: differential corrections 227 8.5 Pseudolites 227 8.5.1 Pseudolite applications 227 8.5.2 Indoor positioning with carrier phase 232 8.5.3 Repeaters 233 References 235
Table of xi 9 Positioning without data link: from BGPS to PPP 238 9.1 Advantages of positioning without a data link 238 9.2 BGPS: instant positioning without network 241 9.2.1 Advantages of BGPS 241 9.2.1.1 Instant positioning 241 9.2.1.2 Power savings 241 9.2.1.3 Less interruption during cellular operation 242 9.2.1.4 High sensitivity 242 9.2.2 History of the approach 242 9.2.3 BGPS in a nutshell 243 9.2.4 Formalization 245 9.2.5 Algorithm criteria 250 9.2.6 Required a-priori information 252 9.2.7 Time resolution in real time 253 9.2.7.1 Task example 253 9.2.7.2 Heuristic approach to search strategy 254 9.2.8 Preliminary position estimation methods 254 9.2.9 Instant positioning implementation in a device 255 9.3 Precise positioning without reference station 258 9.3.1 From a network to the global network 258 9.3.1.1 Global correction information for mobile devices 258 9.3.1.2 Free global corrections 259 9.3.1.3 Orbit prediction 259 9.3.2 Embedded algorithms 263 9.3.2.1 Satellite ephemeris interpolation procedure inside mobile device 263 9.3.2.2 Precise error models 264 9.3.2.3 Filtering 265 9.3.2.4 The catch 266 9.4 Applications 267 9.4.1 Fleet management 268 9.4.2 Bird tracking 269 9.4.3 Positioning with pilot signals 270 References 272 10 Trends, opportunities, and prospects 274 10.1 From Cold War competition to a business model 274 10.2 Would you go for a multi-mighty receiver? 275 10.3 From SDR to SDR we go 278 10.4 SA off, AGPS on, mass market open 281 10.5 Convergence of mobile and geodetic applications 283
Table of xii 10.6 Synergy of the Internet and GNSS 284 10.6.1 Integration of a mobile device into the Internet 284 10.6.2 The Internet as correction provider 285 10.6.3 The Internet as data link 285 10.6.4 Improvement in GLONASS accuracy 285 10.7 Towards a new GNSS paradigm 286 10.7.1 Online updates and upgrades 287 10.7.2 Programmable personality change 287 10.7.3 Full set of online corrections 287 10.7.4 Application of cloud computing technology 288 10.7.5 Third-party tools and services 288 10.7.6 One for all and all for one 288 10.7.7 Offline operation 289 10.7.7.1 Network position calculation 289 10.7.7.2 AGPS 289 10.7.7.3 BGPS 289 References 289 Part IV Testing mobile devices 11 Testing equipment and procedures 293 11.1 Testing equipment 293 11.1.1 Multi-channel simulator 293 11.1.2 RPS: record and playback systems 295 11.2 Device life cycle 297 11.2.1 Research and development 298 11.2.2 Design 298 11.2.3 Certification 299 11.2.4 Production 299 11.2.5 Consumer testing 300 11.3 Test examples 301 11.3.1 General tests 301 11.3.2 AGPS tests 302 11.3.3 Multi-GNSS test specifics 304 11.4 Case study: new paradigm SDR simulator 305 References 310 Index 311