Autocorrelation

advertisement
Autocorrelation of GPS Signals
Now, we will take a look at how a GPS receiver determines the distance to a satellite.
Each satellite generates codes that are generated by two 10-bit shift registers and are
modulo-2 added to form the C/A code. The first code is common to all satellites and is
1023 bits long. The second one is different for each satellite and is formed by combining
the contents of two bins in the second shift register and is also 1023 bits long. These two
Gold codes are modulo-2 added together and a unique 1023 bit C/A code is generated for
each satellite. These are commonly referred to as pseudorandom noise (PRN) sequence,
and PRN number 5 is shown in Figure 1.
Figure Error! No text of specified style in document..1 PRN 5 code
The receivers use this code to compute the replica code offset in the following way. Each
receiver transmits a unique PRN code, and a receiver has in its memory what each of
these codes looks like. The receiver essentially shifts the code that it has in its memory
until it matches up with the one it received from the satellite. This is done by using the
autocorrelation function of the received signal and the time shifted replica in the receiver.
When the two codes match up, there will be a correlation spike, and from this the receiver
knows the clock offset from the number of chips it shifted the replica code by. Figure 2
shows two examples of the output of two autocorrelation processes. The top graph is
what happens when you take the autocorrelation function of two different PRN numbers.
The lower graph shows the clear correlation spike that was obtained by taking the
autocorrelation function of PRN 5 shifted by 350 chips. From the correlation spike it
knows the time it took the code to travel from the satellite to the receiver, therefore it
know the distance. In reality, it is not that easy. There are clock errors associated both
with the satellite and the receiver, and there is the problem with noise.
1
0.5
0
-0.5
-1
0
100
200
300
400
500
600
700
800
900
1000
0
100
200
300
400
500
Chips
600
700
800
900
1000
1
0.5
0
-0.5
-1
Figure 2 Two cases of Correlation PRN
Top: PRN 5 correlated with PRN 2
Bottom: PRN 5 correlated with PRN 5 shifted 350 bits
Noise in the code lock loop contributes to false correlation spikes. In the ideal case with
no noise, when the correct code is correlated with a time-shifted version of itself, it will
produce a correlation spike. This will be sensed as a voltage spike in the electronics. In
the software for each receiver is a voltage level that distinguishes a correlation spike from
a false positive from noise readings. Everything above that level would be a correlation,
and everything below it would be ignored.
The next example adds some noise to the correlation process to better simulate a real
world process. The top graph of Figure 3 is the sum of 7 of the PRN codes while the
middle one is the sum of 7 PRNs in addition to the noise. Notice how the power level of
all of the signals in the first graph is below the noise floor. The last graph is the
autocorrelation of PRN5 with the sum of the PRNs and the noise. Notice how there is
still a correlation peak at 350 chips, but there are some other peaks caused by the noise;
most notably a little before 350 chips and right after 600 chips. Depending on where the
correlation threshold level is this might be a problem. In this case the noise level is
twenty times higher than the individual signal levels, and the correlation peak can still be
determined from the graph.
Figure 3 Autocorrelation Example with Noise
Top: Sum of 7 PRNs
Middle: Sum of 7 PRNs plus Noise
Bottom: Autocorrelation of the sum of 7 PRNs plus noise with PRN 5 shifted 350 chips
The last example in this section shows what sever jamming can do to the autocorrelation
process. The same three graphs are presented once again, but this time, the noise level is
right at the tracking threshold of the receiver. The threshold level for the jammer to
signal ratio (J/S) is around 40. You can see that the maximum correlation peak is no
longer at 350 chips where it should be. Instead, there are several correlation peaks at or
above the real one.
Figure 4 Autocorrelation Example with Severe Noise
Top: Sum of 7 PRNs
Middle: Sum of 7 PRNs plus Noise
Bottom: Autocorrelation of the sum of 7 PRNs plus noise with PRN 5 shifted 350 chips
It does not matter what kind of signal is causing the interference, the receiver just takes it
as noise. In the next section, a pseudolite is transmitting on a PRN that is unknown to the
receiver. In that case, the receiver acts as you would expect with in band interference.
Download