software defined gps receiver sam price advisor: dr. in soo ahn
Post on 19-Dec-2015
216 views
TRANSCRIPT
Why use a software defined GPS receiver?
Test and implement algorithms Implement on multiple platforms Reduce cost of hardware Software upgrades Reduce development time
Signal properties
L1 1575.42 MHz• Navigation Messages• Coarse-Acquisition (C/A) code• Encrypted Precision P(Y) code
L2 1227.60 MHz• P(Y) code• Military applications
Signal information
Navigation messages• Ephemeris information• Time of day• 50Hz
C/A code• Unique to each satellite• 1.023MHz• Orthogonal
0 100 200 300 400 500 600 700 800 900 1000
-1
0
1
0 100 200 300 400 500 600 700 800 900 1000
-1
0
1
0 100 200 300 400 500 600 700 800 900 1000
-1
0
1
BPSK
Binary phase-shift keying
Carrier wave
Data signal
Output
Previous project by Tony Corbin
Sample
Buffer
Acquisition
Tracking
Decode
Calculate position
•Sampler 30 seconds•Buffer 600MB•Acquisition: 50 seconds /20ms
•Tracking:3½ Min/30 sec
•Provide a single position update.
Tracking algorithm
D(t) Cos(F t) Cos(F t) = ½ D(t)Cos(0) + ½ D(t) cos(2F t)
CA(t) N(t) Cos(F t)
D(t) = CA(t) N(t)
0 200 400 600 800 1000 1200 1400 1600 1800 2000-1.5
-1
-0.5
0
0.5
1
1.5
0 200 400 600 800 1000 1200 1400 1600 1800 2000-1.5
-1
-0.5
0
0.5
1
1.5
Signal
Carrier Frequency Off
Cos(A)Cos(A) = ½ Cos(0)+ ½ Cos(2A)
Tracking algorithm
38 40 42 44 46 48 50 52
0
10
20
30
40
50
60
70
80
90
Early
Prompt
Late
10 15 20 25
-2-101
10 15 20 25
-2-101
10 15 20 25
-2-101
10 15 20 25
-2-101
E
P
L
Tracking algorithm
1 1 -1 -1-1Reference C/A code
1 1 -1 -1-1PromptData
1 11 -1 -1-1EarlyData
Late -1-1 1 1 -1-1
Data
High level overview of design
FineFine
FineTracking/
Decoding
SamplerBuffer
CourseCourseCourseCourseCourseCourseCoarseAcquisition
FineFine
FineFine Acquisition
Acquisition
Position Updates
Current real-time open source software
OSGPS• C• Multiple
drivers• Linux
GPS-SDR• C++• USRP• Linux • Mac
Current project• C++• GN3S v1• Windows
Comparison to previous project
Feature Previous project Current project
Continuous updates No 1 second updates
Buffer size 600 MB 30 MB
Tracking time 210 sec / 30 sec 22 sec / 30 sec
Hot start Yes Yes
Maximum data set 40 sec 40 min
Sampling frequency 300Hz off Calibrated
Conclusions Successfully implemented real-time
software defined GPS receiver Implemented on windows 60m average position error Approximately 1 second position updates 50% average CPU usage Warm start implemented
Future recommendations.
Investigate improvements of acquisition, and tracking on GPU / FPGA
Optimize acquisition stage Analysis of multipath effects Weak signal tracking Purchase of USRP2
• Control sampling rate• preprocess data on FPGA• Reuse for other communication projects.
References
Borre, Kai et.al. Software-Defined Gps and Galileo Receiver. Basel: Birkhhäuser, 2007.
Tsui, James. Fundamentals of Global Positioning System Receivers. Hoboken: John Wiley & Sons Inc, 2005.