Digital NAVSTAR receiver
BACKGROUND OF THE INVENTION 
     This invention relates to receivers for the Navstar satellite navigation system. 
     Navstar is a satellite navigation system which is planned to give continuous worldwide all-weather coverage, providing highly accurate, three-dimensional position and velocity information. 
     The complete Navstar system is planned to consist of 18 satellites arranged in nearly circular orbits with radii of 26,600 km, and an inclination to the earth&#39;s equatorial plane of 55 degrees. Each satellite transmits two navigation signals, designated L1 and L2 and centred at 1575 and 1228 MHz respectively. 
     Both signals convey ranging information by means of modulations which are locked in time to atomic standards. The forms of these modulations (which are known as pseudorandom codes because they appear random, but are nevertheless well defined) are unique to each satellite. 
     By measuring the phases of the received codes against a clock in the receiver, together with the Doppler shifts of the radio frequency carriers, a user can calculate the range and range rate to a particular satellite by monitoring four satellites (FIG. 1). By decoding data about their motions which are also modulated on to the transmitted signals, the user may solve equations (FIG. 2) to determine his three-dimensional position and velocity and also apply corrections to his clock, making it conform to satellite time. 
     Alternatively, if he is constrained to move on the surface of the earth or is at known altitude, he may make two-dimensional measurements using three satellites. The software controlling the receiver must choose from the satellites in view the subset which gives the most favourable geometry for the navigational calculations. 
     Two pseudorandom codes are in fact transmitted by each satellite. The first of these is used to aid acquisition of the satellite signals and to provide coarse navigation, and hence is called the Coarse/Acquisition (C/A) code. The second has a 10-times higher modulation rate which yields the full navigational accuracy of the system, and is designated the Precision (P) code. 
     A basic Navstar receiver typically contains a low-noise amplifier and down-converter to a convenient IF, followed by one or more code and carrier tracking channels, each capable of tracking the transmissions from any satellite. There is also associated range and range-rate measurement circuits. 
     The purpose of the code tracking loop is to keep a code generator in the receiver in step with a received pseudorandom sequence, and hence provide information on the range to the satellite being tracked. 
     To obtain a position and velocity estimation, a receiver must be locked to the transmissions from a number of satellites. Consider the case of a complete three-dimensional estimation for which the required number is four, as depicted in FIG. 1. Four measurements of &#34;pseudo-range&#34; are made by locking code tracking loops to the received signals and then timing the occurrence of certain states of the code generators within the loops with the aid of the receiver&#39;s clock. The measurements are of &#34;pseudo-range&#34; rather than true range because of the (as yet) undetermined receiver clock offset. 
     Similarly, by measuring the frequencies of the carrier tracking loop voltage-controlled oscillators over gating times determined by the receiver clock, four measurements of &#34;pseudo-range rate&#34; are obtained. These are in error from the true range rates because of the clock&#39;s frequency error. All these measurements, together with data from each satellite which provides information about satellite motion, then enable a navigational solution to be obtained. This relies on the fact that four observations are required to solve for four unknowns. 
     SUMMARY OF THE INVENTION 
     According to the present invention there is provided a receiver for a Navstar satellite navigation system including amplification and down conversion to i.f. frequencies to produce quadrature signals, analogue-to-digital converters to digitise separately the quadrature signals, local digital code generating means, means for correlating the digitised quadrature signals separately with the same locally generated digital codes, channel signal processing means to which the outputs of the correlation means are applied, the processing means being arranged to control the code and carrier tracking of the receiver, and correction means responsive to control signals generated in the processing means to effect phase rotation of the baseband signal phasor represented by the digitised quadrature signals to effect Doppler tracking in the receiver loop, the correction means including means for generating digital signals representing sin ωT and cos ωT, where ωT is the required phase rotation angle, means for multiplying each of the quadrature signals by the sin ωT and cos ωT signals separately and means for summing the multiplied signals according to the algorithm 
     
         I.sup.1 =I cosωT+Q sinωT 
    
     
         Q.sup.1 =Q cosωT-I sinωT 
    
     where I and Q are the digitised quadrature signals. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the drawings: 
     FIG. 1 illustrates the NAVSTAR satellite navigation system, 
     FIG. 2 gives the equations required to be solved by a user of the NAVSTAR system, 
     FIG. 3 illustrates a generalised NAVSTAR receiver architecture, 
     FIG. 4 illustrates the effect of Doppler shift, 
     FIG. 5 illustrates a phase rotation circuit, and 
     FIG. 6 illustrates a numerically controlled oscillator. 
    
    
     FIG. 3 shows a generalised Navstar receiver architecture. Signal is taken in at L-band and passed through successive stages of amplification and down-conversion at r.f., i.f. and zero i.f. frequencies. At some point in the chain, the signal will have to go through an analogue to digital interface, to allow information extraction by a digital processor. If the code and carrier loops are closed in software, this processor would also provide the necessary feedback control signals. 
     There are a number of possible positions at which code and carrier (Doppler) injection can take place: at i.f. baseband analogue, or baseband digital. Beyond the injection point in the receiver chain, the circuit becomes dedicated to the reception of signals from a particular satellite. Hence, for reception of transmissions from several satellites, the circuitry after this point has to be duplicated by the number of satellites intended, or alternatively, be time-shared (cycled or multiplexed) between the same number. Therefore, in order to reduce circuit complexity, the injection point should be pushed as far back in the chain as possible. The furthest point that this process can be effected is by performing both code correlation and Doppler correction at digital baseband. 
     Other considerations can also be put forward to favour a baseband solution. By performing code correlation at baseband, true multipliers can be used instead of mixers, thus avoiding the problem of mixer leakages. The stability and Q-factor of the filters required to define the pre-correlation bandwidth would demand quite stringent specifications at i.f. The problem is considerably eased by performing low-pass filtering at baseband. Also, the need to use multiple transfer loops in the synthesiser to implement i.f. Doppler injection can be avoided. 
     The possibility of providing digital Doppler correction at baseband is highly desirable as this will permit the use of a single fixed frequency down-conversion to zero i.f. followed by a single pair of A/D converters, irrespective of the number of receiver channels required. 
     In order to represent the signal phasor at baseband, In-phase (I) and Quadrature (Q) channels are necessary with the I and Q channels denoting the real and imaginary components of the phasor. Any Doppler shift will cause the phasor to rotate and so produce a Doppler loss if filtering is implemented by accumulation of successive phasor samples. This effect is shown in FIG. 4. The rotation must therefore be removed or considerably reduced before appreciable accumulation may take place. 
     The signal vector may be expressed in exponential form thus: 
     
         S=Ae.sup.j(ωNT+φ) 
    
     N=0,1,2 . . . 
     where A is the signal amplitude, ω is the Doppler frequency, T the sample interval, and φ is an arbitrary angle. 
     In order to remove the phase rotation, the signal vector must be multiplied by a counter-rotating unit vector thus: 
     
         S&#39;=Ae.sup.j(ωNT+φ).e.sup.-jωNT =Ae.sup.jφ 
    
     The phasor will now appear to be stationary and may be accumulated in time without loss. 
     The practical implementation of the counter-rotation function on the I and Q channels may be easily appreciated by expressing the multiplication in real and imaginary parts thus: ##EQU1## 
     The transformation is effected by the circuit arrangement shown in FIG. 5. The digitised quadrature signals I &amp; Q, representing the real and imaginary components of the phasor, are first fed to respective correlators 50a, 50b where they are correlated with locally generated code signals. The correlated signals are then subjected to partial accumulation in accumulators 51a, 51b to reduce the data rate before feeding to the phase rotation circuitry. The channel processor (not shown) calculates the rotation frequency to be applied to correct the Doppler loss in the received signal. This rotation frequency is fed to a numerically controlled oscillator (NCO) 52 which derives a phase rotation angle ωT required to effect the necessary phase rotation of the signal vector. The NCO is conveniently of the form shown in FIG. 6 and comprises a clocked shift register 61 acting as an accumulator to which is fed a digital word, say ≈21 bits (representing a positive or a negative rotation frequency). The accumulator has a feedback summed with the input. The phase rotation angle is represented by a shorter M-bit digital word, say 6 bits) taken from an intermediate stage of the accumulator. The word length required will be determined by the maximum phase noise that may be tolerated from the rotation operation. The resultant phase noise will be given by evaluation of the rms quantisation noise. If 6 bits are used a phase quantisation of 0.098 radians will result with an associated rms phase noise, σ.sub.φ, of: 
     
         σ.sub.φ.sup.2 =0.098.sup.2 /12 
    
     giving σ 100  =0.028 rad. rms. 
     This value will typically be well below the thermal noise expected in Navstar phase tracking loops. 
     The frequency range and resolution of the NCO must be adequate to cover the complete expected Doppler range in steps small enough to prevent significant phase errors accumulating between NCO updates. A Doppler range of ±10 kHz will be more than adequate as this will encompass the full satellite Doppler range of ≈±4 kHz together with a user velocity range of ±Mach 3.8. In considering the frequency resolution of the device it may be assumed that the NCO will be updated at an effective rate of approximately twice the loop bandwidth. Thus for a narrow bandwidth case with an update rate of about 1 Hz a frequency resolution of 0.01 Hz will permit a worst case phase error of 0.06 radians to accrue. This is consistent with the phase noise given above. The number of bits required to control the NCO is therefore defined as: 
     
         log.sub.2 (20.10.sup.3 /0.01)≈21 bits. 
    
     The NCO must also be clocked at a sufficiently high rate to prevent jitter on the phase ramp output occurring. This jitter is produced as a consequence of the oscillator only producing a finite number of output samples per output cycle. The problem is therefore worst at the highest output frequency. In order to reduce this effect to the level of the phase quantisation, therefore, approximately 64 output samples per output cycle will be required. This corresponds to a clocking rate of 640 kHz. 
     Positioning of the phase rotator after some accumulation of the correlator output is acceptable provided that no appreciable Doppler loss occurs during that accumulation time. The loss may be easily evaluated by examining the accumulator frequency response, F(ω), thus: ##EQU2## For a maximum 1 dB loss therefore, at the maximum Doppler frequency of 10 kHz, N may be no greater than 547. Putting the phase rotator after this amount of accumulation would result in the throughput rate of the device being reduced from 20 MHz to approximately 40 kHz. Further accumulation may then be used to reduce the output data rate to a sufficiently low value for handling by a microprocessor. This would be in the order of 1 kHz. There is however one further aspect of the configuration to be examined, that is, the required I and Q word-lengths. 
     The number of bits required for the I and Q digitisations will be application dependent. If a 2 dB loss can be tolerated then single bit conversion will be adequate. However if 2 bits are used this loss will be reduced to 0.6 dB. These two cases assume that the signal to noise ratio is negative. As progression is made through the accumulation stages this will not always be the case and more bits will become necessary. 
     The point at which phase rotation is effected therefore will depend on the implementation of the device. A 2 bit rotator operating at 20 MHz may be placed directly before or after the correlator. Alternatively a slower but greater word length rotator may be used after a limited amount of post correlation accumulation. 
     The phase rotator 53 comprises logic multipliers 54 and summers 55. Each of the digitised I &amp; Q signals is separately multiplied by cosωT and sinωT, which are themselves derived from a read-only-memory (ROM) 56 to which the NCO output word is applied. The multiplier outputs I cosωT and Q sinωT are summed to give a corrected vector I 1 , likewise Q cosωT and I sinωT are summed to give Q 1 . I 1  and Q 1  are then subjected to further, post phase rotation accumulation in accumulators 57a, 57b before being input to the channel processor (not shown). The primary function of the channel processor is to maintain track of the code and carrier phases. 
     Estimates of code position error may be made simply by differencing early and late correlation samples. These are derived by performing I 2  +Q 2  operations on early and late correlation outputs. It may be noted that in a digital implementation channel balance will no longer be a problem. The code position error estimates may then be applied to a software loop filter before being used to update the code generator (not shown), hence closing the code tracking loop. 
     Carrier phase estimates may be made by using a Costas I.Q. technique on the prompt correlation samples. The carrier loop will then be closed in a similar manner to the code loop. Carrier frequency estimates may also be made by performing an operation on time sequential I,Q pairs as shown below: ##EQU3## This error function may be used to assist initial carrier phase acquisition and may also be employed to give frequency estimates when severe jamming precludes use of the carrier phase tracking loop. 
     This configuration allows the addition of more receiver channels simply by the addition of extra code generators, N.C.O&#39;s and PROMS. The same A/D module and channel processor may be used for the extra channels. A separate A/D conversion module will, however, be required if L1 and L2 are to be received simultaneously. 
     For a lower performance receiver channel the adaptive threshold 2 bit A/D converters may be replaced with single bit units. The correlator need only be a switched early/late type and so only requiring a single pair of I and Q outputs. 
     If simultaneous operation on a number of satellites, or on different signal segments of the same satellite is required, a number of the serial correlation blocks can be used in parallel.