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 _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
