implementation of a software- based gps receiver anthony j. corbin dr. in soo ahn thursday, june 25,...
Post on 15-Jan-2016
216 views
TRANSCRIPT
![Page 1: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/1.jpg)
Implementation of a Software-based GPS Receiver
Anthony J. CorbinDr. In Soo Ahn
Friday, April 21, 2023
![Page 2: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/2.jpg)
Overview Progress Flowcharts
Acquisition Tracking Position Calculation
Software Organization Changes to Project Objectives Results
DLL/PLL Tracking Position
Updated Schedule
![Page 3: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/3.jpg)
Progress MATLAB GPS software [1] has been ported
to C++ This includes:
Coordinate conversion Tracking loop Acquisition algorithms
DSP design approach was abandoned due to technical issues which will be discussed later.
C++ code can accurately find a position from stored sample data.
![Page 4: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/4.jpg)
Coarse Acquisition Coarse acquisition searches around the
intermediate frequency in the range +/- 10 KHz with a step of 500 Hz
Frequency Domain Correlation
FFTL1 C/A Code
Generator
+/- 10 KHz500 Hz Step
FFT
conj
IFFT SNR > Threshold?
Acquired Satellite
Yes
No
![Page 5: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/5.jpg)
Fine Acquisition Uses the frequency estimate from Coarse
Acquisition to obtain a better estimate The overall functionality is very similar to
Coarse Acquisition
10 L1 C/A Code Samples 2^(n+1)Length FFT Size
Zero AppendL1 C/A Code Generator
FFT
FFT conj
IFFT MAX Index
Sampling Frequency/FFT Size
Carrier Estimate
![Page 6: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/6.jpg)
Tracking
I
Q
Carrier Frequency
Phase Remainder
L1 Code Remainder
Chipping Length Generator
P
E
L
Signal
I_P
I_L
I_E
Q_P
Q_L
Q_E
Code Discriminator
Carrier Discriminator
![Page 7: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/7.jpg)
Delay-Locked Loop [1]
![Page 8: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/8.jpg)
Position Calculation
Ephemeris Data
Pseudoranges
Satellite Positions
.
.
.
.
.
....
....
....
1 111
1
1
1
1
1
1 tc
tc
XZZYYXXSATRCV
SATRCVSATRCVSATRCV
Solve using QR Factorization
Update Receiver Position
![Page 9: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/9.jpg)
Functional Software Diagram
Acquire
Track
Satellite
Satellites
.
.
.
.
Timestamp
Size
Sample
Samples
.
.
.
.
010101
Timestamp
Position
Position
Positioning
.
.
.
.
Acquired Satellites
Pseudoranging
Acquisition
Ephemeris Data Collection
Position Vectorization
![Page 10: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/10.jpg)
Changes to Project Objectives Finding the satellite positions requires an accurate time…requiring
collection of at least subframes 1-3 of the ephemeris data The equation below shows the number of multiplications per
second required to track one satellite. This does not include C/A code generation, carrier demodulation, or the overhead involved with sampling.
The DSP considered is clocked at 225 MHz which is simply not fast enough.
sMultipliesMillionms
alignmentsarmsSamples/2.98
3*2*16368
![Page 11: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/11.jpg)
USB GPS Dongle USB 2.0 Interface Simple software
interface
![Page 12: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/12.jpg)
C/A Code Tracking The graphs to the
right show the code error output from the delay-locked loop.
The parameters have been selected in such a way that the loop converges very quickly.
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
5
0 20 40 60 80 100 120 140 160 180 200
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
![Page 13: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/13.jpg)
Carrier Tracking Carrier error is shown
on the right with respect.
In this example, the frequency of the carrier appears to be drifting further below the intermediate frequency.
This is an illustration of the Doppler Effect.
-60
-50
-40
-30
-20
-10
0
10
20
30
0 5000 10000 15000 20000 25000 30000
![Page 14: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/14.jpg)
Navigation Data
-6000
-4000
-2000
0
2000
4000
6000
0 5000 10000 15000 20000 25000 30000
The figures to the right show resolved 50 Hz navigation data.
The top graph shows 32s of data, while the bottom graph shows 3s.
-6000
-4000
-2000
0
2000
4000
6000
0 500 1000 1500 2000 2500 3000
![Page 15: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/15.jpg)
Position Results
51.81 m
![Page 16: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/16.jpg)
Position Results
104.4 m
![Page 17: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/17.jpg)
Current Display The display
currently uses a console window.
A GUI could be written in any language.
![Page 18: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/18.jpg)
Speed Currently the C++
code requires under a minute (per satellite) to read a full 36 s of satellite data.
Compare this with the Matlab code which takes 6 minutes per satellite.
0
1
2
3
4
5
6
7
C++ Matlab
Tim
e (M
inu
tes)
Tracking
![Page 19: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/19.jpg)
Intel Threading Building Blocks
Intel’s TBB is a library for creating threaded programs
Platform independent Relatively easy to use
![Page 20: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/20.jpg)
Real-time Functionality
Taking a direct approach to implementing real-time functionality appears to be extremely difficult (possibly impossible) given current hardware limitations.
However, a possibility exists, which may feasibly yield results.
![Page 21: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/21.jpg)
Real-time Functionality
Collect 36s of data with a timestamp.
Extract ephemeris data and calculate
initial position.
Collect a small data sample with a
timestamp.
Use the current carrier estimate to perform a
frequency domain correlation with 1 ms of
the small sample
Using the entire small sample estimate the
current carrier frequency and save it.
Estimate pseudoranges.
Estimate new satellite position
given the difference in the
time stamps.
Estimate Position
![Page 22: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/22.jpg)
Updated Schedule
Week Activity 1/23-1/26 GPS Acquisition Software 1/27-2/2 Develop C++ Tracking Algorithm 2/3-2/9 Develop C++ Tracking Algorithm 2/10-2/16 Develop software to calculate position 2/17-2/23 Documentation and software design 2/24-3/1 Redevelop software with updated design using lessons
learned from initial development 3/2-3/8 Continue redevelopment 3/9-3/15 Debug and document redesign 3/16-3/22 Continue debugging and documenting 3/23-3/29 Design display 3/30-4/5 Develop and test display 4/6-4/12 Develop and test display 4/13-4/19 System debugging and documentation 4/20-4/26 System debugging and documentation 4/27-5/3 System debugging and documentation
![Page 23: Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015](https://reader035.vdocument.in/reader035/viewer/2022062804/56649d585503460f94a3747a/html5/thumbnails/23.jpg)
References [1] Kai Borre, Dennis M. Akos, Nicolaj
Bertelsen, Peter Rinder, and Soren Holdt Jensent, Software-Defined GPS and Galileo Receiver : A Single-Frequency Approach. Birkhauser: Boston, 2007, pp. 29, 83, 105.
[2] SiGe, SE4110L-EK1 Evaluation Board User Guide.
[3] SiGe, SE4110L Datasheet.