GPS and GLONASS Vector Tracking for Navigation in Challenging Signal Environments
Tanner Watts, Scott Martin, and David Bevly GPS and Vehicle Dynamics Lab – Auburn University October 29, 2019 2
GPS Applications (GAVLAB)
Truck Platooning Good GPS Signal Environment Autonomous Vehicles
Precise Timing
UAVs 3
Challenging Signal Environments
• Navigation demand increasing in the following areas:
• Cites/Urban Areas
• Forests/Dense Canopies
• Blockages (signal attenuation)
• Reflections (multipath) 4
Contested Signal Environments
• Signal environment may experience interference
• Jamming . Transmits “noise” signals to receiver . Effectively blocks out GPS
• Spoofing . Transmits fake GPS signals to receiver . Tricks or may control the receiver 5
Contested Signal Environments
• These interference devices are becoming more accessible GPS Jammers
GPS Simulators 6
Traditional GPS Receiver Signals processed individually: • Known as Scalar Tracking • Delay Lock Loop (DLL) for Code • Phase Lock Loop (PLL) for Carrier 7
Traditional GPS Receiver • Feedback loops fail in the presence of significant noise
• Especially at high dynamics Attenuated or Distorted Satellite Signal 8
Vector Tracking Receiver
• Process signals together through the navigation solution
• Channels track each other’s signals together
• 2-6 dB improvement
• Requires scalar tracking initially 9
Vector Tracking Receiver
Vector Delay Lock Loop (VDLL)
• Code tracking coupled to position navigation
• DLL discriminators inputted into estimator
• Code frequencies commanded by predicted pseudoranges 10
Vector Tracking Receiver
Vector Frequency Lock Loop (VFLL)
• Doppler tracking coupled to velocity navigation
• FLL discriminators inputted into estimator
• Dopplers commanded by predicted pseudorange- rates 11
James Spilker’s Vector Delay Lock Loop
Individual Navigation Tracking Processor Loops
Feedback Measurement to Tracking Predictions Loops 12
GLONASS
• GNSS owned and operated by Russian Federation
• GLONASS L1 Signal: ▫ L1 BPSK modulated satellite signal ▫ 50 kcps PRN code (half of GPS) ▫ 50 bps data message (same as GPS) ▫ FDMA over CDMA
• Vector tracking can also be applied to this signal 13
GLONASS Recording Capability
IFEN SX3: . Records both GPS and GLONASS L1
. Separate front-ends IFEN SX3 Front-End . 20 MHz sampling rate, 50 MHz bandwidth for each front-end
. Same clock (TCXO)
. Allows for easy data synchronization 14
GLONASS Recording Capability
Time Estimation: TOD = mod TOW, 86400 s + 3 h 18 s
TOD = GLONASS Time of Day s − − τ IFEN SX3 Front-End TOW = GPS Time of Week (s) 3-hour difference = GLONASS offset from UTC > 1 s between Greenwich, UK and Moscow, Russia Estimateτ 1 clock bias, 1 clock drift, andμ the time offset 15
GLONASS Recording Capability
Time Estimation: TOD = mod TOW, 86400 s + 3 h 18 s
TOD = GLONASS Time of Day s − − τ IFEN SX3 Front-End TOW = GPS Time of Week (s)
= GLONASS offset from UTC > 1 s
Estimateτ 1 clock bias, 1 clock drift, andμ the time GLONASS Time accounts offset for leap seconds, UTC does not 16
GLONASS Recording Capability
Time Estimation: TOD = mod TOW, 86400 s + 3 h 18 s
TOD = GLONASS Time of Day s − − τ IFEN SX3 Front-End TOW = GPS Time of Week (s)
= GLONASS offset from UTC > 1 s
Estimateτ 1 clock bias, 1 clock drift, andμ the time offset 17
GPS and GLONASS Positioning
24-hour sky plot over Auburn, AL • Enhanced satellite geometry . Overcome environment blockages . Better estimation of PVT
• Frequency diversity . Jamming protection
• Constellation diversity . Spoofing protection 18
GPS and GLONASS Positioning
24-hour sky plot over Auburn, AL • Defense sector stays away from combining GPS and GLONASS
• Most commercial receivers take advantage of both systems . Scalar processing . Federated estimation 19
GPS and GLONASS Vector Tracking
• Vector Delay/Frequency Lock Loop (VDFLL)
• Centralized Extended Kalman Filter (EKF)
• All tracking commands defined solely by PVT solution 20
Navigation Processor
State Vector: • ECEF Position (m) • ECEF Velocity (m/s) • Receiver Clock Bias (m/s) • Time Offset (m) • Receiver Clock Drift (m/s)
0 0 0 0 0 0 0 𝑥𝑥�𝑘𝑘+1 0 0 0 0 0 0 0 0 𝑥𝑥�𝑘𝑘+1 𝑥𝑥�̇𝑘𝑘+1 𝟏𝟏0 𝑻𝑻0 0 0 0 0 0 𝑥𝑥�̇𝑘𝑘+1 𝑦𝑦�𝑘𝑘+1 0 𝟏𝟏0 0 0 0 0 0 0 𝑦𝑦�𝑘𝑘+1 = 0 0 0 0 0 Model: �𝑘𝑘+1 0 0 𝟏𝟏 𝑻𝑻 �𝑘𝑘+1 𝑦𝑦̇ 𝟏𝟏 𝑦𝑦̇ 𝑘𝑘+1 0 0 0 0 0 0 0 0 𝑘𝑘+1 𝑧𝑧̂ 0 0 0 0 𝟏𝟏0 𝑻𝑻0 0 𝑧𝑧̂ 𝑧𝑧̂𝑘𝑘̇ +1 0 0 0 0 0 𝟏𝟏0 0 0 𝑧𝑧̂𝑘𝑘̇ +1 Mitigates noise sharing in VDFLL 𝑏𝑏�𝑘𝑘+1 0 0 0 0 0 0 𝟏𝟏0 0 𝑻𝑻 𝑏𝑏�𝑘𝑘+1 τ�𝑘𝑘+1 𝟏𝟏 τ�𝑘𝑘+1 𝟏𝟏 𝑏𝑏�̇𝑘𝑘+1 𝑏𝑏�̇𝑘𝑘+1 21
Measurement Observation
0 0 0 0 0 1𝐺𝐺𝐺𝐺𝐺𝐺 δρ 𝒙𝒙𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝒚𝒚𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝒛𝒛𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂 0 𝒂𝒂 0 𝒂𝒂 0 ⋮ 𝟏𝟏 0 0 Δ𝑥𝑥�𝑘𝑘+1 𝑛𝑛𝐺𝐺𝐺𝐺𝐺𝐺 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ δρ 𝒏𝒏0 𝒏𝒏0 𝒏𝒏0 0⋮ 0⋮ ⋮ 𝒂𝒂𝒙𝒙 𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂𝒚𝒚 𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂𝒛𝒛 𝑮𝑮𝑮𝑮𝑮𝑮 Δ𝑥𝑥�̇𝑘𝑘+1 1𝐺𝐺𝐺𝐺𝐺𝐺 𝒙𝒙𝟏𝟏 𝒚𝒚𝟏𝟏 𝒛𝒛𝟏𝟏 δρ̇ 𝒂𝒂 𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂 𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂 𝑮𝑮𝑮𝑮𝑮𝑮 𝟏𝟏 𝑘𝑘+1 GPS Channels 0 0 0 0 0 Δ𝑦𝑦� = 𝟏𝟏 ⋮ ⋮ ⋮ ⋮ 𝑘𝑘+1 𝐺𝐺𝐺𝐺𝐺𝐺 ⋮ 𝒙𝒙𝒏𝒏0𝑮𝑮𝑮𝑮𝑮𝑮 ⋮ 𝒚𝒚𝒏𝒏0𝑮𝑮𝑮𝑮𝑮𝑮 ⋮ 𝒛𝒛𝒏𝒏0𝑮𝑮𝑮𝑮𝑮𝑮 ⋮ ⋮ 0⋮ Δ𝑦𝑦�̇ GLONASS Channels δρ̇ 𝑛𝑛 𝒂𝒂 𝒂𝒂 𝒂𝒂 𝟏𝟏 Δ𝑧𝑧𝑘𝑘̂ +1 𝑛𝑛 1𝐺𝐺𝐿𝐿𝐿𝐿 𝒙𝒙𝟏𝟏𝑮𝑮𝑳𝑳𝑳𝑳 0 𝒚𝒚𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 0 𝒛𝒛𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 0 0 δρ 𝒂𝒂 𝒂𝒂 𝒂𝒂 𝟏𝟏 𝟏𝟏 ̂𝑘𝑘+1 ⋮ ⋮ ⋮ 0⋮ 0⋮ ⋮ Δ𝑧𝑧̇ 𝑚𝑚 ⋮ 0⋮ 0⋮ 0⋮ 𝑘𝑘+1 𝐺𝐺𝐺𝐺𝐺𝐺 𝒙𝒙𝒎𝒎𝑮𝑮𝑮𝑮𝑮𝑮 𝒚𝒚𝒎𝒎𝑮𝑮𝑮𝑮𝑮𝑮 𝒛𝒛𝒎𝒎𝑮𝑮𝑮𝑮𝑮𝑮 𝟏𝟏 Δ𝑏𝑏� 𝑚𝑚 𝒂𝒂 𝒙𝒙𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂 𝒚𝒚𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝒂𝒂 𝒛𝒛𝟏𝟏𝑮𝑮𝑮𝑮𝑮𝑮 𝟏𝟏 δρ 𝒂𝒂 𝒂𝒂 𝒂𝒂 𝑘𝑘+1 𝐺𝐺𝐿𝐿𝐿𝐿 0 0 𝟏𝟏 Δτ� δρ̇ 1 0 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ �𝑘𝑘+1 𝒎𝒎 𝒎𝒎 𝒎𝒎 Δ𝑏𝑏̇ ⋮ ⋮ 𝒂𝒂𝒙𝒙 𝑮𝑮𝑮𝑮𝑮𝑮 ⋮ 𝒂𝒂𝒚𝒚 𝑮𝑮𝑮𝑮𝑮𝑮 ⋮ 𝒂𝒂𝒛𝒛 𝑮𝑮𝑮𝑮𝑮𝑮 𝟏𝟏 𝑚𝑚𝐺𝐺𝐺𝐺𝐺𝐺 =δρ̇Pseudorange Error (Code Phase Error) , , = Receiver to Satellite Unit Vectors δρ = Doppler Error (Carrier Frequency Error) 𝑎𝑎𝑥𝑥 𝑎𝑎𝑦𝑦 𝑎𝑎𝑧𝑧 δρ̇ 22
Vector NCO Commands = ( , ) = ( , ) 𝛒𝛒� 𝒇𝒇 𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏𝐏 𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂 𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁 Code Frequency: = ρ�𝑘𝑘+1−ρ�𝑘𝑘 𝛒𝛒�̇ 𝒇𝒇 𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕𝐕 𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂𝐂 𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃 code chip chip = Chipping Rate𝑓𝑓 (cps) 𝑓𝑓 = Predicted− 𝑇𝑇λ Pseudorange (m) = PRN Chip Width (m/chip) 𝑓𝑓Tchip= Integration Period (s) ρ� λchip Carrier Frequency: = ρ�̇ 𝑘𝑘 carrier IF 𝐿𝐿� = Intermediate Frequency𝑓𝑓 (Hz)𝑓𝑓 [Must− λ account for FMDA in GLONASS] = Predicted Pseudorange Rate (m/s) = Carrier Wavelength (m/cyc) 𝑓𝑓IF ρ�̇ λL1 23
ECEF Transformation Matrix
• GPS and GLONASS both use ECEF coordinate frames
• GPS uses World Geodetic System 1984 (WGS84)
• GLONASS uses Parametry Zemli 1990 (PZ-90) . Have used many versions . Current version: PZ-90.11
• Officially, WGS84 and PZ-90.11 are the same . Within centimeters 24
ECEF Transformation Matrix 25
ECEF Transformation Matrix
• PZ-90.11 to WGS84 coordinate transformation developed empirically . Based on static data sets in Alabama and Iowa . Differential corrections not used
• Coordinate transformation is applied to GLONASS satellite positions
• Helps horizontal positioning 30 = WGS84 Position (m) = + 0 m 𝑇𝑇 𝑥𝑥 𝑦𝑦 𝑧𝑧 = PZ90.11 Position (m) 𝑥𝑥 𝑢𝑢 −0 𝑇𝑇 𝑦𝑦 𝑣𝑣 𝑢𝑢 𝑣𝑣 𝑤𝑤 𝑧𝑧 𝑤𝑤 26
Heavy Tree Foliage Results Combined and Ublox solutions maintain accurate positions on the bridge Exiting
Entering Moving Through
GPS VDFLL GLONASS VDFLL Combined VDFLL Ublox 27
Urban Canyon Results
Vehicle Lane
GPS VDFLL GLONASS VDFLL Combined VDFLL Combined Scalar Ublox 28
Urban Canyon Results
Exiting Urban Canyon Open Sky Environment
GPS VDFLL GLONASS VDFLL Combined VDFLL Ublox 29
Jamming Experiment
Jamming Map • GPS L1 jamming tests performed at Edwards Airforce Base
• September 2019
• GLONASS L1 not jammed
Receiver Trajectory =
𝑱𝑱⁄𝑺𝑺 𝟒𝟒𝟒𝟒 − 𝟔𝟔𝟔𝟔 𝐝𝐝𝐝𝐝 30
Jamming Experiment
10 GPS Satellites
5 GLONASS Satellites 31
Jamming Position Results
TURN AROUND
END START 32
Jamming Position Results GLONASS Fails
GPS Fails 33
Jamming C/No Results 4 of 5 GLONASS channels lose lock
10 of 10 GPS channels lose lock 34
Jamming C/No Results 1 GPS and 1 GLONASS channel lose lock 35
Jamming Scalar Results GPS and GLONASS Scalar Tracking Fails
Dead Reckoning by Model 36
Jamming Tracking Results 37
Conclusions
• Positioning performance improves when using both GPS and GLONASS ▫ With the PZ90.11 to WGS84 coordinate transformation ▫ Be mindful of GLONASS in bad signal environments
• Combining GPS and GLONASS into the VDFLL enhances receiver robustness
• Need differential data to improve coordinate transformation
• Analyze the algorithm in GPS and/or GLONASS spoofing environments 38
Some Future Work
• Characterize the estimated offset between GPS and GLONASS times ▫ Requires significantly longer data sets
• Potential for many things: ▫ Integrity checking ▫ Spoofing detection ▫ Receiver clock discipling ▫ Satellite clock analysis ▫ GNSS synchronization 39
References
• [1] James J. Spilker. Vector Delay Lock Loop Processing of Radiolocation Transmitter Signals, Stanford, CA, March 1995. US Patent 5,398,034.
• [2] J. Sennott and D. Senffner. Navigation Receiver with Coupled Signal-Tracking Channels, Bloomington, IL, August 1994. US Patent 5,343,209.
• [3] Kai Borre, Dennis Akos, Nicolaj Bertelsen, Peter Rinder, and Soren Holdt Jensen. A Software-Defined GPS and Galileo Receiver: A Single Frequency Approach. Birkhauser, 2007.
• [4] Matthew V. Lashley. Modeling and Performance Analysis of GPS Vector Tracking Algorithms. PhD Dissertation, Auburn University, December 2009.
• [5] Dennis M. Akos. A Software Radio Approach to Global Navigation Satellite System Receiver Design. PhD Dissertation, Ohio University, August 1997.
• [6] Chao-heh Cheng. Calculations for Positioning with the Global Navigation Satellite System. Master’s Thesis, Ohio University, August 1998.
• [7] Pratap Misra. Integrated Use of GPS and GLONASS: Transformation Between WGS84 and PZ-90. In Proceedings of ION GPS 1996, Kansas City, MO, September 1996, pp. 307-314.
• [8] Senlin Peng. Implementation of Real-Time Sofware Receiver for GPS or GLONASS L1 Signals. Master’s Thesis, Virginia Polytechnic Institute and State University, January 2010.
• [9] M. Zhodzishsky, S. Yudanov, V. Veitsel, and J. Ashjaee. Co-OP Tracking for Carrier Phase. In Proceedings of the 11th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS 1998), Nashville, TN, September 1998, pp. 653-664. 40
Thank You
Questions? 41
Fault Detection and Exclusion