A Software Defined GPS and Galileo Receiver

Data Processing for Positioning (GPS and Galileo Receiver) Part 1

Navigation Data Recovery The output from the tracking loop is the value of the in-phase arm of the tracking block truncated to the values 1 and -1. Theoretically we could obtain a bit value every ms. However, we deal with noisy and weak signals, so a mean value for 20 ms is computed and truncated […]

Data Processing for Positioning (GPS and Galileo Receiver) Part 2

Computation of Satellite Position This section connects Earth-centered and Earth-fixed (ECEF) coordinates X, Y , Z to a satellite position described in space by Keplerian orbit elements. First we recall the orbit elementslisted in Figure 8.5. The six Keplerian orbit elements constitute an important description of the orbit, so they are repeated in schematic form […]

Data Processing for Positioning (GPS and Galileo Receiver) Part 3

Pseudorange Estimation Pseudorange estimations can be divided into two sets of computations. The first computational method is to find the initial set of pseudoranges, and the second computational method is to keep track of the pseudoranges after the first set is estimated. Two computational methods are described below. The Initial Set of Pseudoranges To find […]

Data Processing for Positioning (GPS and Galileo Receiver) Part 4

Using the Least-Squares Method A least-squares problem is given as a systemwith no solution. A has m rows and n columns, withthere are more observations than free parametersThe best choice, we will call itis the one that minimizes the length of the error vectorIf we measure this length in the usual way, so thatis the […]

Data Processing for Positioning (GPS and Galileo Receiver) Part 5

Universal Transverse Mercator Mapping The geographical coordinateslocate a point on the reference ellipsoid. For many practical purposes it is useful to have a coordinate representation in the two-dimensional plane. The mapping of an ellipsoid into a plane may be done by a conformal mapping. Conformity leaves the shape of small figures while distances must be […]

MATLAB Code (GPS and Galileo Receiver) Part 1

Structure of the Code The generic one-channel receiver is shown in Figure 5.1. The actual data flow and the MATLAB functions used by the software receiver are depicted in Figure A.1. Below we mention a short description of the single structures of the receiver and the variables that conduct the behavior of the software receiver. […]

MATLAB Code (GPS and Galileo Receiver) Part 2

Tracking Function This function tracks the GPS signals allocated to each channel; see Figure A.3. The function takes the following parameters: a block of the recorded signal from the front end, structure channel, sine, cosine, and C/A code tables. The function processes the block of the samples and returns two structures: tracking results track Results […]

GNSS Signal Simulation (GPS and Galileo Receiver) Part 1

When implementing the signal processing parts of the GPS receiver, it is necessary to have some data available for testing their functionality. The final goal is to have a GPS receiver working in real time on data obtained from a GPS antenna through an RF front end and an ADC. In the phase of developing […]

GNSS Signal Simulation (GPS and Galileo Receiver) Part 2

Galileo Signal Generator In order to further study the Galileo signals, we have implemented a simple signal simulator in Simulink. Figure B.5 shows the Simulink model of the Galileo signal simulator. The present version is made of standard Simulink blocks, and it does not have any custom blocks (called subsystems in Simulink). The gray blocks […]