PART3 » History » Version 48

JANVIER, Thibault, 03/23/2016 08:50 AM

1 46 JANVIER, Thibault
h1. PART 5 : Implementation and results.
2 2 COLIN, Tony
3 20 COLIN, Tony
{{toc}}
4 2 COLIN, Tony
5 47 JANVIER, Thibault
This part is dedicated to explain and illustrate the main steps that have been done in order to retrieve a navigation signal and to compute the position of the receiver from the pseudo-range measurements of 4 satellites. [[PART|PART 2]], [[PART2|PART 3]] and [[PART41|PART 4]] provided a theoretical background on GPS signals, the main blocks of a GPS receiver and methods to compute the position using the navigation data. Now, it is time to put this theoretical knowledge into practice.
6 47 JANVIER, Thibault
As lots of VIs have been created, a UML diagram has been drawn to illustrate the structure of the overall code. For each main step that will be described, a link to the UML diagram will be provided, the different VIs to be taken into consideration will be listed, a few key points regarding the implementation will be clarified and the results will be displayed.
7 2 COLIN, Tony
8 2 COLIN, Tony
---
9 2 COLIN, Tony
10 4 COLIN, Tony
h2. 1 - Starting point.
11 2 COLIN, Tony
12 34 COLIN, Tony
h3. a - Receiver scheme and milestones.
13 1 COLIN, Tony
14 34 COLIN, Tony
.......
15 34 COLIN, Tony
16 34 COLIN, Tony
h3. b - Quid about LabVIEW.
17 34 COLIN, Tony
18 48 JANVIER, Thibault
Labview is a modular dataflow programming language that relies on block diagrams interconnected with each other. Each block diagram represents a node, a function that can be run as soon as its inputs are available. Then, it computes outputs used as inputs by other nodes. Any created program can be reused as a node in a higher-level program, hence the modularity of Labview. While running a program, each input can be controlled thanks to a user interface known as a “front panel”. Likewise, every output can be monitored and displayed using the front panel. As a matter of fact, the front panel is closely linked to the program called the “block diagram”. Indeed, every primary input of the block diagram are defined and controlled via the front panel.
19 34 COLIN, Tony
.......
20 34 COLIN, Tony
21 34 COLIN, Tony
Input : GPS signal of sampling frequency 38.192 MHz at intermediate frequency 9.55 MHz from CD *[1]* under GNSS_signal_records/GPSdata-DiscreteComponents-fs38_192-if9_55.bin
22 34 COLIN, Tony
23 34 COLIN, Tony
h3. c - Local C/A code generation.
24 34 COLIN, Tony
25 43 COLIN, Tony
The files involved are :
26 43 COLIN, Tony
- _CA_Code.vi_
27 43 COLIN, Tony
- _CA_generatorG1.vi_
28 43 COLIN, Tony
- _CA_generatorG2.vi_
29 4 COLIN, Tony
30 4 COLIN, Tony
---
31 4 COLIN, Tony
32 4 COLIN, Tony
h2. 2 - Acquisition.
33 1 COLIN, Tony
34 43 COLIN, Tony
*See the UML Diagram of Section 2 under :* attachment:"Acquisition.png"
35 43 COLIN, Tony
36 43 COLIN, Tony
The files involved are :
37 44 COLIN, Tony
- _Main_Acquisition.vi_ : attachment:"SnapAcquisition.PNG"
38 44 COLIN, Tony
- _Acquisition_subVI.vi_ : attachment:"SnapAcquisitionSub.png"
39 43 COLIN, Tony
- _CA_Code.vi_
40 43 COLIN, Tony
41 37 JANVIER, Thibault
Justification acquisition method in terms of accuracy and time execution
42 37 JANVIER, Thibault
Justification of the step of 500Hz
43 37 JANVIER, Thibault
Methods to avoid the data bit transition while running acquisition
44 37 JANVIER, Thibault
Frequency refine is needed for the PLL of the tracking to converge
45 37 JANVIER, Thibault
Definition of the threshold and how it is implemented
46 37 JANVIER, Thibault
47 37 JANVIER, Thibault
48 4 COLIN, Tony
h3. .......
49 4 COLIN, Tony
50 4 COLIN, Tony
...........
51 4 COLIN, Tony
52 4 COLIN, Tony
---
53 4 COLIN, Tony
54 4 COLIN, Tony
h2. 3 - Tracking.
55 1 COLIN, Tony
56 45 JANVIER, Thibault
Justification of the DLL discriminator
57 45 JANVIER, Thibault
Correction of the blocksize to read as a function of the doppler shift
58 45 JANVIER, Thibault
59 43 COLIN, Tony
*See the UML Diagram of Section 2 under :* attachment:"Track.png"
60 43 COLIN, Tony
61 43 COLIN, Tony
The files involved are :
62 44 COLIN, Tony
- _Main_Carrier_Tracking.vi_ : attachment:"SnapTracking.png"
63 44 COLIN, Tony
- _CalcLoopCoeff.vi_ : attachment:"SnapCalcLoopCoeff.PNG"
64 43 COLIN, Tony
65 4 COLIN, Tony
h3. .......
66 4 COLIN, Tony
67 4 COLIN, Tony
...........
68 4 COLIN, Tony
69 35 COLIN, Tony
p=. !TrackingMin.PNG!
70 35 COLIN, Tony
71 4 COLIN, Tony
---
72 4 COLIN, Tony
73 4 COLIN, Tony
h2. 4 - Navigation Data decoding.
74 4 COLIN, Tony
75 13 COLIN, Tony
*See the UML Diagram of Section 4 under :* attachment:"NavigationData.PNG".
76 10 COLIN, Tony
77 29 COLIN, Tony
h3. a - Delimiting subframes.
78 1 COLIN, Tony
79 29 COLIN, Tony
The files involved are :
80 29 COLIN, Tony
- _FindPreamble.vi_
81 44 COLIN, Tony
- _TestFindPreamble.vi_ : attachment:"SnapTestFindPreamble.PNG"
82 29 COLIN, Tony
- _GenerateFrame.vi_
83 44 COLIN, Tony
- _ParityCheck.vi_ : attachment:"SnapParityCheck.PNG"
84 1 COLIN, Tony
85 1 COLIN, Tony
p=. !Preamble1.PNG! !Preamble2.PNG!
86 23 COLIN, Tony
87 26 COLIN, Tony
p((((. *Figure 5. :* Cross-correlation between navigation frame and local preamble. *Figure 5. :* Subframes with index of delimitation.
88 29 COLIN, Tony
89 23 COLIN, Tony
h3. b- Decoding ephemeris and information within the frame.
90 29 COLIN, Tony
91 29 COLIN, Tony
The files involved are :
92 29 COLIN, Tony
- _Ephemeris.vi_
93 44 COLIN, Tony
- _BinaryArrayToDecimal.vi_ : attachment:"SnapBinaryArrayToDecimal.PNG"
94 44 COLIN, Tony
- _twosComp2dec.vi_ : attachment:"SnapTwosComp2dec.PNG"
95 44 COLIN, Tony
- _ParityCheck.vi__ : attachment:"SnapParityCheck.PNG"
96 4 COLIN, Tony
- _TestEphemeris.vi_
97 4 COLIN, Tony
98 1 COLIN, Tony
---
99 4 COLIN, Tony
100 43 COLIN, Tony
h2. 5 - Elementary blocks for localization.
101 10 COLIN, Tony
102 14 COLIN, Tony
*See the UML Diagram of Section 5 under :* attachment:"Localization.PNG"
103 4 COLIN, Tony
104 31 COLIN, Tony
h3. a - Satellite position.
105 1 COLIN, Tony
106 31 COLIN, Tony
The files involved are :
107 31 COLIN, Tony
- _SatellitePosition.vi_
108 44 COLIN, Tony
- _TestSatellitePosition.vi_ : attachment:"SnapTest_satellite_position.PNG"
109 44 COLIN, Tony
- _Check_time.vi_ : attachment:"SnapCheckTime.PNG"
110 23 COLIN, Tony
111 31 COLIN, Tony
p=. !SatPos.PNG!
112 8 COLIN, Tony
*Figure 5. :* Interface with ephemeris as input and illustration of the satellite position.
113 32 COLIN, Tony
114 1 COLIN, Tony
h3. b - Pseudoranges.
115 32 COLIN, Tony
116 32 COLIN, Tony
The file involved is :
117 8 COLIN, Tony
_PseudorangesComputation.vi_
118 33 COLIN, Tony
119 1 COLIN, Tony
h3. c - Least Square solution for position determination.
120 33 COLIN, Tony
121 33 COLIN, Tony
The files involved are :
122 33 COLIN, Tony
- _LeastSquarePosition.vi_
123 44 COLIN, Tony
- _SatelliteRotationECEF.vi_ : attachment:"SnapSatelliteRotationECEF.PNG"
124 44 COLIN, Tony
- _toTopocentric.vi_ : attachment:"SnaptoTopocentric.PNG"
125 44 COLIN, Tony
- _CartesianToGeodetic.vi_ : attachment:"SnapCartesianToGeodetic.PNG"
126 1 COLIN, Tony
- _TroposphericCorrection.vi_
127 1 COLIN, Tony
128 43 COLIN, Tony
h2. 6 - Receiver position computation.
129 43 COLIN, Tony
130 43 COLIN, Tony
*See the UML Diagram of Section 6 under :* attachment:"Receiver.PNG"
131 43 COLIN, Tony
132 43 COLIN, Tony
The files involved are :
133 43 COLIN, Tony
- _ComputeReceiverPosition.vi_
134 43 COLIN, Tony
- _NavigationProcess.vi_
135 44 COLIN, Tony
- _CartesianToGeodeticForUTM.vi_ : attachment:"SnapCartesianToGeodeticForUTM.PNG"
136 43 COLIN, Tony
- _CartesianToUTM.vi_
137 43 COLIN, Tony
138 43 COLIN, Tony
h2. 7 - Complete UML Diagram of the receiver.
139 2 COLIN, Tony
140 41 COLIN, Tony
*The UML diagram with real size is available under :* attachment:"UMLDiagram.png"
141 6 COLIN, Tony
142 40 COLIN, Tony
Here is a small overview of the structure :
143 40 COLIN, Tony
144 40 COLIN, Tony
p=. !UMLDoverview.PNG!
145 40 COLIN, Tony
146 2 COLIN, Tony
---
147 3 COLIN, Tony
148 3 COLIN, Tony
*References :* 
149 3 COLIN, Tony
*[1]* K. Borre, D. M. Akos, N. Bertelsen, P. Rinder, S. H. Jensen, A software-defined GPS and GALILEO receiver