[time-nuts] Checking the Frequency of a Rubidium Oscillator

Magnus Danielson magnus at rubidium.dyndns.org
Wed Nov 12 00:19:23 UTC 2008


Björn Gabrielsson skrev:
> On Tue, 2008-11-11 at 10:28 -0800, Lux, James P wrote:
>> A GPS receiver actually solves for the state vector of the receiver (including the local clock error) using the raw observables from the tracking loop (code phase).  The nav equations calculate (apparent) range and range rate from the known state vector of each satellite and the (estimated) state vector of the receiver.  Range rate is the doppler.
>>
>> The 1.xxx Megachip/second C/A code is 1023 bits long, so the classical approach is to step the receiver through all possible phases of the code, integrating at each one to see if it can detect the signal.  If your integration time is, say, 10 milliseconds, it takes 10 seconds to step through them all. Once the signal is detected, the PN tracking loop tracks that signal.
> 
> You also need to check different doppler bins. 500Hz bins are a classic
> choice.

To elaborate on that. The C/A code is 1023 chips long, at 1,023 
MChips/s which cause a cycle period of 1 ms. If you now consider 
sampling at 1 ms, the sampling rate is 1 kHz giving the Nyquist 
frequency of 500 Hz and thus 500 Hz doppler bins. For a earth bound GPS 
receiver, as extreme as 6 kHz doppler offsets can be seen on the 
carrier. The chipping rate shift is 1/1540 as low, so it can be almost 
neglected in comparision.

The traditional search is a two-dimensional search in doppler bins +/- 
6000 Hz in 500 Hz blocks and 0-1022 phase stages for each of 1-32 PRN 
codes. a search space totaling of 818400 combinations taking 818,4 s for 
a single integrator and 1/N for N integrators so roughly a minute or two 
for a now classic receiver of 8 to 12 channels. A more efficient 
algorithm is to sample the signal, FFT it and make the correlation in 
the frequency domain. It will crank out the phase and correlation 
amplitude for each PRN attempted with much less processing. This needs 
ot be performed for each doppler bin, but is certainly worthwhile the 
effort. Extending the search for all the WAAS/EGNOS sats is trivial and 
worthwhile.

Once doppler bin and phase has been achieved for each PRN, picking the 
top N correlations and initiate channels is a quick process. The 
correlation phase can be initiated into the channel together with a 
rought initial frequency guess from the doppler bin and phase locking is 
quickly achieved in a traditional correlation channel. Data channel 
phase locking is the next thing, but that hunt is quickly achieved. This 
  can be aided by having an existing total lock in which case even 
fundamental things such as bit phase on pseudo-code has a very limitied 
range between sats. A very rought idea of current position can give a 
correct model of full subcode phase.

A sat based receiver must handle higher doppler offsets due to its 
higher speed, but as long as the per channel mix-down carrier NCO can be 
set wide enought, and that search patterns include the needed range, it 
will not be much of a problem. Naturally, tracking PLLs needs to handle 
the higher dynamics. As the orbit is fairly stable, orbit predictions 
can be fed into loop for better performance as it allows tighter bandwidth.

The full benefit of code and carrier phase measurements should be used. 
Also, considering L2C is becomming more and more common, it should also 
be used. Preparation for L1C should also be done.

As for signal bandwidth, while the C/A chiping rate is 1,023 MChips/s, 
we can expect a 2,046 MHz range between the first nulls offset from the 
carrier. However, the traditional sats uses a full 20,46 MHz bandwidth 
since it also transmitts the P(Y) code. Buliding a receiver that uses 
the full bandwidth provides certain benefits, but standard off the shelf 
chips usually stays within 2,046 MHz. The front end design is basically 
the same thought, just 10 MHz higher bandwidth. For civilian receivers, 
only code-less tracking receivers usually have that bandwidht.

Modern GPS signals extend to a 24 MHz bandwidth. It is especially the 
M-code that mandates this shift. The M-code should be of no major 
interest for civilian receivers.

Sorry for the short write-up, but there is certainly more to tell about 
this.

Cheers,
Magnus



More information about the time-nuts mailing list