Overview | Release Notes | Support | Documents | References | Porting to BB | To Do | Statistics | SDR Receiver
RTKLIB: SDR (Software Defined Radio) Receiver Module

Objective

- Low-cost (<$100) single-frequancy RTK system with multi-GNSS including GPS, GLOASS, Galileo, QZSS (and Compass)
- Robust and stable carrier tracking assisted by INS and OCXO for urban environment RTK
- Multipath suppression by optimization of correlator function and code tracking loop


GNSS Signal Specifications 2010/12/3

K= -7,...,+6, ENC: encryption, FEC: forward error correction, 1/2: 1/2 convolutional coding, RS: Reed Solomon
System Carrier
Frequency
(MHz)
Signal Band
Width
(MHz)
I/Q Minimum
Rcv Power
(dBW)
Modulation Spreading Code Navigation Data Notes
Primary
(chips)
Second
(chips)
Mcps Period ENC Data Rate
(sps)
Rate
(bps)
FEC
GPS
[1][2][3]
1575.42 L1C/A 2.046 Q -158.5 BPSK (1) 1,023 - 1.023 1ms - NAV 50 50 - -
 L1P(Y) 20.46 I -161.5 BPSK (10) 1week - 10.23  1week (Y) NAV 50 50 - -
L1M ? ? ? BOC (10,5) ? ? 5.115  ? Y ? ? ? ? Block IIR-M-
L1C-D 30.69 I -163.0 BOC (1,1) 10,230 - 1.023 10ms - CNAV-2 100 50 1/2 Block III-
L1C-P 30.69 I -158.25 TMBOC (6,1,1/11) 10,230 1,800 1.023 18s - - - - - Block III-
1227.60 L2C/A 2.046 Q -160.0 BPSK (1) 1,023 - 1.023 1ms - (NAV) (50) (50) - Block IIR-M-
L2P(Y) 20.46 I -164.5/-161.5 BPSK (10) 1week - 10.23 1week (Y) (NAV) (50) (50) - -
L2M ? ? ? BOC (10,5) ? ? 5.115 ? Y ? ? ? ? Block IIR-M-
L2C 2.046 Q/I -160.0 BPSK (1) 10,230 - 0.5115 20ms - (CNAV) (50) (25) 1/2 chip-by-chip time mux,
Block IIR-M-
767,250 - 0.5115 1.5s - - - - -
1176.45 L5-I 20.46 I -157.9/-157.0 BPSK (10) 10,230 10 10.23 10ms - CNAV 100 50 1/2 Block IIF-
L5-Q 20.46 Q -157.9/-157.0 BPSK (10) 10,230 20 10.23 20ms - - - - - Block IIF-
GLONASS
[4]
1602.00+
0.5625K
L1C/A  1.022 I -161.0 BPSK 511 - 0.511 1ms - NAV 50 50 - -
L1P 10.22 Q ? BPSK 5,110,000 - 5.11 1s (Y) NAV 50 50 - -
1246.00+
0.4375K
L2C/A  1.022 I -167.0 BPSK 511 - 0.511 1ms - NAV 50 50 - -
L2P  10.22 Q ? BPSK 5,110,000 - 5.11 1s (Y) NAV 50 50 - -
 1204.704+
0.423K
L3C/A 8.19 I ? BPSK ? - 4.095 ? ? ? ? ? ? GLONASS-K-
L3P 8.19 Q ? BPSK ? - 4.095 ? ? ? ? ? ? GLONASS-K-
Galileo
[5]
1575.42 E1-A 35.805 Q ? BOC (15,2.5) ? ? 2.5575 ? Y G/NAV ? ? ? PRS
E1-B 24.552 I -157.0 CBOC (6,1,1/11) 4,092 - 1.023 4ms - I/NAV 250 125 1/2 OS, SoL, CS
E1-C 24.552 Q CBOC (6,1,1/11) 4,092 25 1.023 100ms - - - - - -
1191.795 E5 51.15 I -155.0 8-PSK (10) 10,230 100 10.23 100ms - - - - - AltBOC (E5a+E5b)
1176.45 E5a-I 20.46 I -155.0 BPSK (10) 10,230 20 10.23 20ms - F/NAV 50 25 1/2 OS, CS
E5a-Q 20.46 Q BPSK (10) 10,230 100 10.23 100ms - - - - - -
1207.14 E5b-I 20.46 I -155.0 BPSK (10) 10,230 4 10.23 4ms - I/NAV 250 125 1/2 OS, SoL, CS
E5b-Q 20.46 Q BPSK (10) 10,230 100 10.23 100ms - - - - - -
1278.75 E6-A ? Q ? BOC (10,5) ? ? 5.115 ? Y G/NAV ? ? ? PRS
E6-B 40.92 I -155.0 BPSK (5) 5,115 - 5.115 1ms Y C/NAV 1,000 ? ? CS
E6-C 40.92 I BPSK (5) 5,115 100 5.115 100ms Y - - - - -
QZSS
[6]
1575.42 L1C/A 2.046 Q -158.5 BPSK (1) 1,023 - 1.023 1ms - NAV 50 50 - -
L1C-D 4.096 I -163.0 BOC (1,1) 10,230 - 1.023 10ms - CNAV-2 100 50 1/2 -
L1C-P 4.096 Q -158.25 BOC (1,1) 10.230 1,800 1.023 18s - - - - - -
L1-SAIF 2.046 I -161.0 BPSK (1) 1,023 - 1.023 1ms - L1-SAIF 500 250 1/2 -
1227.60 L2C 2.046 I -160.0 BPSK (1) 10,230 - 0.5115 20ms - CNAV 50 50 1/2 chip-by-chip time mux
767,250 - 0.5115 1.5s - - - - -
1176.45 L5-I 20.46 I -157.9 BPSK (10) 10,230 10 10.23 10ms - CNAV 50 25 1/2 -
L5-Q 20.46 Q -157.9 BPSK (10) 10,230 20 10.23 20ms - - - - - -
1278.75 LEX 42.0 I -155.7 BPSK (5) 10,230 - 2.5575 4ms - LEX 2,000 1,744 RS  chip-by-chip time mux
1,048,575 - 2.5575 410ms - - - - -
SBAS
[7]
1575.42 L1 2.046 I -161.0 BPSK (1) 1,023 - 1.023 1ms - SBAS 500 250 1/2 -
1176.45 L5 20.46 I ? BPSK (10) 10,230 - 10.23 10ms - SBAS 500 250 1/2 WAAS

References
[1] IS-GPS-200E, Navstar GPS Space Segment/Navigation User Interfaces, June 8, 2010
[2] IS-GPS-705A, Navstar GPS Space Segment/User Segment L5 Interfacecs, June 8, 2010
[3] IS-GPS-800A, Navstar GPS Space Segment/User Segment L1C Interface, June 8, 2010
[4] GLONASS-ICD edition 5.1, Global Navigation Satellite System GLONASS Interface Control Document Navigation, radiosignal in bands L1, L2, 2008
[5] OS SIS ICD Issure 1.1, European GNSS (Galileo) Open Service Signal In Space Interface Control Document, September, 2010
[6] IS-QZSS ver.1.1, Quasi-Zenith Satellite System Navigation Service Interface Specification for QZSS, July 31, 2009
[7] RTCA/DO-229C, Mininum Operational Performance Standards for Global Positioning System/Wide Area Augumentation System Airborne Equipment, November 28, 2001


System Configuration

TBD


Prototype Implementation

TBD


RF-Frontend

RF-Frontend IC

IC Provider Frequency (MHz)   IF Filter
BW (MHz)
Gain
(dB)
LNA NF
(dB)
ADC
(bits)
VCC
(V)
Notes 
RF IF
MAX2741 MAXIM 1575.42 3.78 2 80 4.7 I/Q 2/3 3 -
MAX2769 MAXIM 1550-1610 - 2.5-18 96 1.4/2.7 I/Q 1/2/3 2.7-3.3 -
MAX2112 MAXIM 925-2175 -  4-40 73-88  8-9 I/Q 3 3.3 75ohm input
GP2010 zarlink 1575.42 4.309 2.046 - 9 2 3-5 -
GP2015 zarlink 1575.42 4.309 2.046 - 9 2 3-5 -
SE4120L SiGe 1575.42 4.092  2.2/4.4 18 1.7  I/Q 2 2.7-3.6 -
MRFIC1505 freescale 1575.42 4.092 - 105  2.0 - 2.7-3.3 -

USB I/F

Cypress EZ-USB FX2LP

RF-Frontend Board/Module

USRP (Ettus Reseach)
SiGe GN3S Sampler v2 (GNSS@Colorado Center for Astrodynamics Research)
Primo (NSL)
Selecta (NSL)


Acquisition

FFT/IFFT/CONV perfomance

Sampling
Rate 
Integ
Time 
# of
Samples
FFTW 3.2.2 *1 Intel MKL *1 CUFFT (CUDA 3.2) *1
 FFT IFFT CONV FFT IFFT CONV  FFT IFFT CONV
38.192MHz 1ms 38192 0.069ms         0.409ms    
2ms 76384 0.139ms         0.813ms    
4ms 152768 0.284ms         1.630ms    
8ms 305536 0.800ms         3.276ms    
16ms 611072 1.810ms         7.206ms    
16.368MHz 1ms 16368 0.039ms         0.184ms    
2ms 32736 0.060ms         0.349ms    
4ms 65472 0.121ms         0.697ms    
8ms 130944 0.239ms         1.393ms    
16ms 261888 0.676ms         2.800ms    
8.184MHz 1ms 8184 0.020ms         0.093ms    
2ms 16368 0.039ms         0.184ms    
4ms 32736 0.060ms         0.346ms    
8ms 65472 0.121ms         0.697ms    
16ms 130944 0.240ms         1.396ms    

*1 Single Precision, *2 Operation: FFT=fft(data), IFFT=ifft(data), CONV=abs(ifft(fft(data) .* conj(code))).^2
CPU: i7 930 2.8GHz, RAM 6GB, Windows 7 64bit, GPU: NVIDIA GeForce GTX470

other FFT links:Intel IPP,Kiss FFT


Correlator 2010/10/31

Performance Evaluation of Software Correlator

Operation = multiply carrier I/Q + mutiply codes E/P/L + Coherent Ingeration

Sampling
Rate 
Integ
Time 
# of
Samples
with SSE2/no LUT *2   with SSE2 *1  without SSE2 *1  
 Time Rate  Time  Rate   Time Rate 
38.192MHz 1ms 38192 0.069ms 553.1Msps 0.108ms 353.2Msps 0.409ms 93.3Msps
2ms 76384 0.139ms 549.6Msps 0.217ms 352.4Msps 0.813ms 94.0Msps
4ms 152768 0.284ms 537.0Msps 0.434ms 352.3Msps 1.630ms 93.7Msps
8ms 305536 0.800ms 382.0Msps 0.873ms 349.9Msps 3.276ms 93.3Msps
16ms 611072 1.810ms 337.6Msps 2.468ms 247.6Msps 7.206ms 84.8Msps
16.368MHz 1ms 16368 0.039ms 419.3Msps 0.055ms 296.3Msps 0.184ms 89.0Msps
2ms 32736 0.060ms 547.2Msps 0.093ms 352.6Msps 0.349ms 93.9Msps
4ms 65472 0.121ms 541.1Msps 0.188ms 348.1Msps 0.697ms 93.9Msps
8ms 130944 0.239ms 547.9Msps 0.374ms 350.3Msps 1.393ms 94.0Msps
16ms 261888 0.676ms 387.5Msps 0.748ms 349.9Msps 2.800ms 93.5Msps
8.184MHz 1ms 8184 0.020ms 411.1Msps  0.028ms 287.7Msps 0.093ms 88.0Msps
2ms 16368 0.039ms 420.7Msps 0.055ms 296.3Msps 0.184ms 89.1Msps
4ms 32736 0.060ms 546.0Msps 0.093ms 351.9Msps 0.346ms 94.6Msps
8ms 65472 0.121ms 539.9Msps 0.188ms 347.8Msps 0.697ms 93.9Msps
16ms 130944 0.240ms 546.6Msps 0.374ms 350.5Msps 1.396ms 93.8Msps
Core i7 930 (2.8GHz), Single Thread, Windows 7 64bit, MSC 9.0 (64bit), Correlator Codes: *1 correlator_0.1.zip, *2 correlator_0.2.zip

Carrier Tracking

TBD


Code Tracking

TBD


Navigation Data Decoder

Viterbi algorithm
Viterbi Decorder Software Generator


Other Usefull Links

OpenSourceGPS
SDR-GPS
fastgps
OSQZSS
DGC: Danish GPS Center
IFEN SX-NSR Software Receiver


Copyright (C) 2007-2010 by T.TAKASU, All rights reserved.