Abstract:
A system and method for generating a navigation solution in high interference and dynamic environments using Global Positioning System (GPS) and inertial measurement unit (IMU) data is described. The system configuration is a multi-satellite tracking loop structure obtained by closing each satellite&#39;s tracking loop through a single, multi-state navigation filter. This generates a robust navigation solution that can track GPS signals in a lower signal to noise ratio than can the standard GPS tightly coupled tracking loops. The system contains an Advanced Tightly Coupled (ATC) tracking processor which accepts early, late, and on-time I and Q data from the GPS signal tracker and outputs vehicle to satellite range, range rate and range acceleration residual measurements to a navigation Kalman filter. The ATC includes nonlinear discriminators which transform I and Q data into linear residual measurements corrupted by unbiased, additive, and white noise. It also includes an amplitude estimator configured to operate in rapidly changing, high power noise; a measurement noise variance estimator; and a linear residual smoothing filter for input to the navigation filter.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The invention relates to a new method of combining GPS and inertial navigation system (INS) sensor measurements for the purpose of navigating in the presence of interfering signals.  
         [0003]     2. Description of the Related Art  
         [0004]     The Global Positioning System has revolutionized navigation. Prior to the twentieth century, land and sea navigation was performed using angle measurements to celestial bodies, magnetic compass measurements, and time measurements from an accurate clock to determine longitude. At the beginning of the twentieth century, the first airplane flight foreshadowed the need for more accurate navigation systems. Radio and inertial navigation systems soon supplanted the old methods.  
         [0005]     Terrestrial navigation systems were developed during World War II. Loran, which stands for long range navigation system, determines position by measuring the time of arrival differences between at least three time-synchronized transmitters at known locations. Loran, still in use today, can determine two-dimensional position to an accuracy of 250 meters.  
         [0006]     Satellite navigation system development occurred shortly after the launch of the Russian Sputnik satellite in the late fifties. The Johns Hopkins University Applied Physics Laboratory developed the first navigation satellite system for the Navy, called Transit, which became operational in the early 60s. A navigator measured the Doppler shift of two tones broadcast from the satellites. From this, a stationary navigator&#39;s horizontal position could be calculated to within 25 meters.  
         [0007]     The GPS concept was developed in the early 1970s as a joint military service project and the first satellite was launched in 1978. GPS satellites transmit time synchronized signals in the L frequency band (approximately 1.5 GHz) using atomic clocks. The signals are BPSK modulated by a spread spectrum ranging code and navigation message. The code, known to the user, is unique for each satellite. The navigation message contains data on satellite ephemeris and clock errors, atmospheric corrections, and general satellite almanac data.  
         [0008]     A GPS navigator determines position with time-of-arrival measurements. The navigator correlates a replica of each satellite&#39;s code with the received satellite&#39;s signal. Accurate knowledge of the code transmit time from each satellite and the receive time at the navigator will determine pseudoranges, ranges which contain an offset because of navigator clock error. Four satellites are the minimum required for determination of a vehicle&#39;s three dimensional position and clock offset.  
         [0009]     An inertial navigation system, INS, incorporates gyros and accelerometers mounted along three orthogonal axes to measure vehicle angular rates and specific force respectively. An INS measures short term vehicle dynamics and is, therefore, a perfect companion to GPS to achieve high dynamic and high accuracy vehicle navigation.  
         [0010]     The following paragraphs describe existing methods to improve accuracy when GPS signals are corrupted by external interference and/or intentional jamming signals. The interference and jamming are assumed to be broadband Gaussian white noise.  
         [0011]     Standard GPS receivers employ tracking loops to generate pseudorange and delta pseudorange measurements for each satellite. The GPS signal at the vehicle&#39;s antenna is amplified, down converted, and digitized prior to entering the tracking loops. It is a composite signal, containing information from all visible satellites.  
         [0012]     In each satellite tracking loop, the incoming carrier signal is mixed with a replica of the carrier to produce in-phase (I) and quadature-phase (Q) signals with a small phase error. These Is and Qs are transformed into an explicit phase error signal, integrated, subsampled, filtered and fed to a numerically controlled oscillator to generate the replica carrier signal. This process is referred to as the carrier tracking loop.  
         [0013]     An inner loop correlates the Is and Qs with on time, one half chip early, and one half chip late replica codes for the specific satellite being tracked. The Is and Qs are now only a function of the code correlation and phase error. These are transformed into an explicit pseudorange error signal, integrated, subsampled, filtered, and fed to a numerically controlled oscillator to clock the satellite replica code. This inner loop is referred to as the code tracking loop.  
         [0014]     A major tracking loop design tradeoff is the ability to handle high vehicle dynamics and to also track through high interfering noise. One way of solving this problem is to aid the carrier tracking loop with an Inertial Navigation Unit (IMU) and let the carrier loop aid the code loop. The IMU will remove short term dynamics from the tracking loop and thus allow the loop bandwidth to be reduced. Lowering the bandwidth results in greater noise suppression.  
         [0015]     The output of each satellite&#39;s tracking loop includes pseudorange and delta pseudorange measurements. These, along with satellite ephemeris and IMU measurements, are input to a navigation filter which estimates vehicle position, velocity, attitude, user clock parameters, and IMU error terms. In real-time systems, the navigation filter usually runs at a 1 Hz rate. It sends estimates to the IMU strapdown navigator, which corrects the IMU specific force and angular rate measurements and then integrates them to obtain high frequency trajectory estimates. The velocity estimates are projected along each satellite&#39;s line of sight for tracking loop aiding. This configuration is called a tightly coupled system.  
         [0016]     Standard GPS carrier and code tracking loops, with aiding from a medium grade IMU, normally break lock at jamming to signal ratios of 47 and 57 dB respectively. For high dynamic vehicles, these maximum jamming ratios can be achieved by aiding the tracking loops with IMU data as described above.  
         [0017]     Recently, jamming to signal ratios above 60 dB have been attained by closing the tracking loops through the navigation filter. This multi-satellite tracking loop structure is derived from the maximum likelihood estimate of the pseudorange error given the composite GPS signal at the input to the tracking processor. In this configuration, position and velocity estimates from the strapdown navigator are projected along each satellite&#39;s line of sight to generate range and range rate estimates to each satellite. These drive numerically controlled oscillators whose outputs are mixed with the digitized I and Q data, processed, and input to the navigation filter as residual (measurement—estimated measurement) estimates for each satellite. The navigation filter outputs vehicle trajectory and IMU error estimates to the strapdown navigator to close the multi-satellite tracking loop.  
         [0018]     Because every GPS satellite tracking loop includes the navigation filter, each satellite is integrated with the IMU and other tracked satellites. In this mode the satellites aid each other, and with the IMU, generate a more robust navigation solution.  
         [0019]     Several researchers have used the multi-satellite tracking loop technique with limited success to achieve tracking in the presence of relatively strong jamming. One prior art attempt at solving this problem sends the Is and Qs directly into prefilters to estimate residual errors for the navigation filter. Since the Is and Qs contain the sine and cosine functions of the phase error, these can become ambiguous quickly because the phase error will reach 2 pi radians for a range error of only 19 cm (wavelength of the GPS L1 signal frequency of 1.575 GHz). The prefilters also require knowledge of the satellite navigation data bit and require linearization of the prefilter measurement matrix about a nominal or noisy estimate.  
         [0020]     Another prior art system sends the Is and Qs through nonlinear transformations to remove the navigation data bit and separate the pseudorange error and the phase error. However, the resulting measurements that are input to prefilters become biased for high jamming to signal ratios and are corrupted by non-additive noise.  
         [0021]     Yet another prior art system transforms the Is and Qs to remove the dependence on both the navigation data bit and phase error. The resulting measurement is a nonlinear function of only the pseudorange error corrupted by biased additive noise.  
       SUMMARY  
       [0022]     These and other problems are solved by an Advanced Tightly Coupled (ATC) multi-satellite tracking system for high dynamic vehicle navigation in a high noise environment. Nonlinear transformations of I and Q tracker measurements are developed to yield linear measurements of pseudorange and carrier phase errors corrupted by white, additive, and unbiased noise. The system&#39;s design parameters are provided by application of linear estimation theory, allowing it to be easily integrated into existing navigation filter designs.  
         [0023]     In one embodiment, during real-time operation, the system can handle jamming to signal interference ratios greater than 60 dB. In one embodiment, the system adapts to changing levels of interference and can operate without knowledge of the GPS navigation data bit. After initial GPS signal acquisition, it is possible to transition into the Advanced Tight Coupling mode, although standard tracking loops can still be employed at low jamming to signal ratios.  
         [0024]     In one embodiment of the ATC multi-satellite tracking system, the navigation filter outputs vehicle trajectory estimates along with IMU and user clock error estimates. In one embodiment, a standard extended Kalman filter is used to implement the navigation filter. In a real-time system, the greater the number of filter states the less time will be available for the ATC tracking processor to function. In one embodiment, the navigation filter includes 24 states, and provides processing in less than one tenth of a second.  
         [0025]     The navigation filter&#39;s trajectory and IMU error estimates are used by the strapdown navigation equations to correct the IMU measurements and propagate the vehicle&#39;s state between the one second navigation filter&#39;s outputs. Satellite ephemeris data, which has been obtained from the navigation message, is combined with the vehicle&#39;s position and velocity estimates to determine range and range rate estimates to each satellite. These estimates drive carrier and code numerically controlled oscillators (NCO) to generate replica carrier and code signals.  
         [0026]     The replica signals are mixed with the GPS carrier and code signals in a phase de-rotation and correlation process to produce in-phase (I) and quadra-phase (Q) measurements. These measurements are nonlinear functions of the range measurement error and ambiguous carrier phase error. The carrier phase ambiguity refers to the unknown number of whole cycles from the satellite to the vehicle. The ATC tracking processor estimates residual measurements for the navigation filter from the I and Q data.  
         [0027]     The I and Q measurements are functions of amplitude, navigation data bit, correlation function, and sine and cosine, respectively, of the phase error. The correlation function is a known function of the range error, and the noise on the Is and Qs is white, additive, unbiased, and Gaussian.  
         [0028]     In one embodiment of the ATC tracking processor, the Is and Qs are first smoothed for a period of time. In one embodiment, such time period corresponds to the amount of time that the navigation data bit is expected to be constant (e.g., approximately 20 milliseconds). The smoothed Is and Qs are then passed through two nonlinear transformations configured according to their linearity and additive noise properties. Since the nonlinear transformations tend to increase the measurement noise relative to the Is and Qs, it is desirable to smooth the Is and Qs before applying the transformation.  
         [0029]     The range residual transformation, made up of the early and late Is and Qs, produces a measurement that is a linear function of range residual error. The range rate residual transformation, made up of the prompt Is and Qs, produces a measurement that is a linear function of range rate residual error, however, the square of the correlation function remains as a multiplier. Both transformed measurements are also multiplied by the square of the I and Q amplitude. The noise on each is additive, zero mean, and white with a variance given by a deterministic equation dominated by the variance of the I and Q noise. To describe these transformed measurements and their noise statistics, the I and Q amplitude and noise variance are estimated.  
         [0030]     The range and range rate transformed measurements, typically generated, for example, at a 20 millisecond rate, are processed in order to obtain residual error estimates at desired intervals for the navigation filter. In one embodiment, the residual error estimates are provided at approximately one second intervals. In one embodiment, a three-state phase error estimator processes the measurements. Since total phase scales to range through the carrier signal wavelength, knowledge of the phase error yields the desired residual measurements for the navigation filter.  
         [0031]     The phase error states (phase, phase rate, and phase acceleration) are propagated assuming that the phase acceleration is constant. This results in a linear dynamic equation with a constant transition matrix. There are four measurements for each satellite, range and range rate for L1 and L2 signals. The range measurement matrix is a constant scaled by the I and Q amplitude, whereas the range rate measurement matrix is also scaled by the correlation function. Since this is a relatively slowly varying function, it is assumed constant over the one second processing interval. As previously stated, the measurement noise matrix in low signal to noise environments is dominated by the I and Q noise variance.  
         [0032]     Given the above dynamics and measurement process, a linear, minimum variance, unbiased estimator can be realized using a Kalman filter. The primary approximation is due to the measurement noise, which is unbiased, additive, and white but not Gaussian. In one embodiment, the measurement noise variance in the filter is increased to account for this.  
         [0033]     The constant, linear state transition and the linear, and approximately constant measurement relations, allow the phase error estimator to handle relatively large magnitude swings in the measurements in the presence of relatively high noise. It is the ability to estimate the statistics of the noise that allows the parameters in the phase error estimator to be adjusted properly.  
         [0034]     The amplitude on the Is and Qs can rapidly change due to variations in antenna gain, radio frequency signal processing (amplifiers, mixers, filters), and the automatic gain control amplifier, which maintains a constant input to the analog to digital converter. A measurement of the amplitude can be obtained from the early and late Is and Qs, but it becomes noisy as the signal to noise ratio decreases. However, the satellite signal amplitude at the GPS antenna input is constant over a reasonable length of time.  
         [0035]     In one embodiment, a one state, one measurement, Kalman filter is designed for the L1 and L2 signals for each satellite. The approximately constant satellite signal amplitude at the antenna is the state to be estimated. The measurements are the noisy I and Q amplitudes calculated from the early and late Is and Qs. The measurements are related to the state by the total system gain from the antenna to the analog to digital converter. The total system gain is approximately known from design parameters and can be improved in real-time by calibration and temperature compensation.  
         [0036]     When the interference noise is low, the I and Q amplitude measurement is projected back through the system gain to estimate the constant satellite signal amplitude. Then, when the noise increases, the satellite signal amplitude estimate is projected forward through the system gain to estimate the I and Q amplitude. This process produces an approximately nonrandom multiplier for the range and range rate residual error measurements during periods of high signal interference. This helps the phase error estimator perform properly in a relatively high noise environment.  
         [0037]     The noise variance on the Is and Qs is computed in part by assuming that each satellite&#39;s processing channel has one correlator sufficiently away from the code that it contains only noise. Since the noise is either from the radio signal processing channel or from external interference, it is the same for all satellites. However, each satellite&#39;s code is a pseudo random sequence, which when correlated with the input noise, produces uncorrelated noise between the satellites with equal variance. In one embodiment, a running average filter is used to compute the noise variance using the noise correlator signals from all satellite channels. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0038]     The various features and advantages of the invention will be apparent from the disclosure herein as illustrated in the accompanying drawings.  
         [0039]      FIG. 1  is a block diagram of a system for coupling GPS and inertial navigation sensors.  
         [0040]      FIG. 2  is block diagram showing one embodiment of a tracking processor. 
     
    
     DETAILED DESCRIPTION  
       [0041]      FIG. 1  is a block diagram showing multi-satellite tracking system  100 . In the system  100 , satellite navigation signals are received by an antenna  101  and provided to a Radio Frequency Down Converter (RFDC)  102 . Downconverted signals from the RFDC  102  are provided to a phase de-rotation and correlation block  103 . De-rotated and correlated signals from block  103  are provided to an ATC tracking processor  104 . The ATC tracking processor  104  provides residuals of range, range rate and range acceleration to a 24-state navigation Kalman filter  105 . Navigation state errors from the Kalman filter  105  are provided to a strapdown navigation processor block  106 . Navigation data from an Inertial Measurement Unit (IMU)  107  are provided to the strapdown navigation processor block  106 . The strapdown navigation processor block  106  provides corrected navigation state information to a projection block  108  and propagated state information to the Kalman filter  105 . Satellite Position, Velocity, and Acceleration (PVA) data are provided from a PVA block  109  to the projection block  108  and to the Kalman filter  105 . The projection block  108  projects the navigation data onto the satellite line of sight and provides the projected data to a Numerical Controlled Oscillator (NCO) block  110 . The NCO block  110  provides code and carrier NCO signals to the phase de-rotation and correlation block  103 , thereby closing the code and carrier tracking loops.  
         [0042]      FIG. 2  is a block diagram of the ATC tracking processor  104 . In the tracking processor  104 , a tracker  201  provides early and late Is and Qs to an amplitude estimator  211 . The tracker  201  also provides data to one or more discriminators  212 . The amplitude estimator  211  provides satellite signal amplitude estimates to one or more residual estimators  213 . Residuals and variances are provided to a navigation filter  210 . The navigation filter  210  computes estimates for vehicle position, velocity, attitude, clock, accelerometer bias, accelerometer scale factor, gyro bias, and gyro scale factor.  
         [0043]     In the system  100 , all satellite signals and IMU measurements are combined in a single process to estimate the vehicle trajectory and associated system error parameters. This structure follows from a maximum likelihood estimator of GPS signal parameters.  
         [0044]     The navigation filter  210  estimates vehicle position, velocity, attitude, clock and IMU error parameters and the like at a relatively low rate. In one embodiment, the navigation filter  210  provides estimates at intervals of one second. The IMU vehicle angular rate and specific force measurements are compensated and adjusted using the estimated error parameters. The measurements are then integrated by the strapdown equations in the strapdown navigation processor block  106  to obtain vehicle position, velocity, and attitude estimates at a relatively higher rate (e.g., 100 Hz).  
         [0045]     These estimates are projected along each satellite&#39;s line of sight to obtain range and range rate estimates, which are used to drive the carrier and code NCOs  110 . The carrier NCO output is mixed with the GPS signal phase, resulting in a phase error, θ e . The code NCO  110  drives the code generator. The generator&#39;s output is correlated with the incoming GPS code, resulting in a correlation magnitude between zero and one.  
         [0046]     This process generates the following I and Q functions for each satellite at the relatively higher rate (e.g., at a 1 KHz rate), for prompt (P), early (E), and late (L) signals: 
 
 I   P   =A d R (ρ e )cos(θ e )+η P  
 
 Q   P   =A d R (ρ e )sin(θ e )+ε P  
 
 I   E   =A d R (ρ e   −b/ 2)cos(θ e )+η E  
 
 Q   E   =A d R (ρ e   −b/ 2)sin(θ e )+ε E  
 
 I   L   =A d R (ρ e   +b/ 2)cos(θ e )+η L  
 
 Q   L   =A d R (ρ e   +b/ 2)sin(θ e )+ε L  
 
 where: 
        R(ρ e )=max[1−(|ρ e|/b),  0],     b=code chip in meters (=29.3 m for P code),     A=amplitude, different for L1 and L2,     d=BPSK navigation data bit, constant for 20 ms,     ρ e =residual (measurement−estimate) range error, meters,     θ e   =L 1residual phase error, radians−different for L2     η,ε=additive, white, Gaussian noise, zero-mean, variance σ I,Q   2 .        
 
         [0054]     The additive, white, zero-mean, Gaussian noise is assumed to be uncorrelated (approximately) between Is and Qs at the same time.  
         [0055]     In the tracking processor  201 , the early and late Is and Qs are smoothed for a desired time period (e.g., 20 ms in one embodiment) while the data bit is assumed to be constant and assuming that ρ e  and θ e  are relatively constant over that interval. The result has the same form as the above equations but with the noise variance changed to 
 
σ ELS =σ IQ /√{square root over (20)}
 
         [0056]     In one embodiment, the prompt Is and Qs are smoothed for 10 ms each in a 20 ms interval to yield: 
 
 I   P   , Q   P   , I   PO   , Q   PO  with noise variance σ PS =σ IQ /√{square root over (10)}
 
         [0057]     To close the tracking loop through the navigation filter  210 , the range and range rate residuals are computed by the residual estimators  213  and provided to the navigation filter  210 . In one embodiment, the estimates are provided to the navigation filter  210  at approximately 1 Hz intervals. These residuals are estimated from the smoothed Is and Qs by first transforming them into measurements of ρ e  and Δθ e  and then applying a Kalman filter to process the measurements to obtain the 1 Hz navigation filter residual estimates.  
         [0058]     The ATC multi-satellite tracking system can estimate the vehicle&#39;s trajectory using inertial and GPS measurements in the presence of broadband jamming noise. If the Is and Qs were directly employed as measurements to estimate residuals for the navigation filter, the phase error would render them ambiguous when it exceeded 2π radians. This corresponds to a maximum range residual of 0.19 meters (the wavelength of L1), which would easily be exceeded in the presence of any significant jamming noise. The following nonlinear transformations generate ρ e  and Δθ e  measurements that are not ambiguous for large tracking errors.  
         [0059]     Range residual measurements for L1 are given by:  
                     Y   R     =       I   E   2     +     Q   E   2     -     I             ⁢   L               ⁢   2       -     Q             ⁢   L               ⁢   2                     =           A   2     ⁡     (     2   ⁢       ρ   e     /   b       )       +     ξ   ⁢           ⁢   for   ⁢           ⁢          ρ   e              ≤     b   /   2                     (   1   )                   E   ⁢           ⁢     (   ξ   )       =   0     ⁢     
     ⁢       E   ⁢           ⁢     (     ξ   2     )       =       8   ⁢     σ   ELS   4       +     4   ⁢     A   2     ⁢     σ   ELS   2     ⁢   F   ⁢           ⁢     (     ρ   e     )           ⁢     
     ⁢       F   ⁢           ⁢     (     ρ   e     )       =       2   ⁢       ρ   e   2     /     b   2         +     1   /   2                 (   2   )             
 
         [0060]     Since ½≦F(ρ e )≦1, a relatively conservative estimate is F(ρ e )=1  
         [0061]     Range rate residual measurements for L1 are given by:  
               Y   RR     =         I   P     ⁢     Q   PO       -       I   PO     ⁢     Q   P                     =         A   2     ⁢       R   2     ⁡     (     ρ   e     )       ⁢           ⁢   sin   ⁢           ⁢     (       θ   eo     -     θ   e       )       +   γ               
 
         [0062]     For a small θ e  change over half an I, Q smoothing interval, Δt/2 
 
Y RR ≈−A 2 R 2 (ρ e ){dot over (θ e )}(Δt/2)+γ  (3) 
 
 E (γ)=0 
 
 E (γ 2 )=2σ PS   4 +2 A   2    R   2 (ρ e )σ PS   2    (4) 
 
for |ρ e   |≦b/ 2, 0.25 ≦R   2 (ρ e )≦1. 
 
         [0063]     A similar measurement set is generated for the GPS L2 carrier signal, resulting in a total of four measurements at each smoothing time interval.  
         [0064]     The above measurements, Y R  and Y RR , have desirable properties relative to estimating satellite residual errors for input to the navigation filter.  
         [0065]     In a noiseless environment:  
                     Residual   ⁢           ⁢   range   ⁢           ⁢   error     =       true   ⁢           ⁢   range     -     estimated   ⁢           ⁢   range                   =       ρ   e     =       (       λ   /   2     ⁢   π     )     ⁢           ⁢     θ   e                       (   5   )             
 
 where λ is the L1 carrier wavelength and θ e  is the L1 carrier phase error. 
 
         [0066]     Further, in the noiseless environment:  
                     Residual   ⁢           ⁢   range   ⁢           ⁢   rate   ⁢           ⁢   error     =             true   ⁢           ⁢   range   ⁢           ⁢   rate     -               estimated   ⁢           ⁢   range   ⁢           ⁢   rate                       =         ρ   e     .     =       (       λ   /   2     ⁢   π     )     ⁢           ⁢       θ   e     .                       (   6   )             
 
         [0067]     The measurements Y R  and Y RR  are linear in ρ e  and {dot over (θ e )} respectively with coefficients that are functions of the I and Q amplitude, A. The dependence of Y RR  on R(ρ e ) is discussed below. The measurement noise terms, ξ and γ, are additive, unbiased, and white. Although they are non-gaussian, they can still be processed with a Kalman filter by slightly increasing the noise standard deviation.  
         [0068]     The negative aspect of the nonlinear measurement transformations is that they significantly increase the measurement noise. For this reason, it is desirable to smooth the Is and Qs before they are transformed. The GPS navigation data bit rate of 50 Hz limits the smoothing interval to 20 ms for GPS systems.  
         [0069]     When broadband jamming noise is present, the I and Q amplitude, A, can be relatively accurately estimated by an offline process. If the navigation filter could be run at 50 Hz instead of 1 Hz, then solving equations (1), (3) and (6) for ρ e  and {dot over (ρ)} e  yields residual error estimates that could be directly input to the navigation filter with appropriately modified measurement noise variances given by equations (2) and (4). The navigation filter&#39;s previous estimate of σ e can be used to determine R(σ e ) in equations (3) and (4).  
         [0070]     When the navigation filter is run at 1 Hz, which is its normal rate in an embedded processor, the 1 Hz measurement residuals are typically estimated from the 50 Hz measurements given by equations (1) and (3). This estimation can be performed by a Kalman filter which employs a relatively constant phase error acceleration model for its dynamics.  
         [0071]     The L1 phase error estimator has states: 
 
X=[θ e  θ{dot over (θ)} e  {dot over ({dot over (θ)})} e ] T  
 
 where: 
        θ e =measured phase−navigation estimated phase for the GPS L1 frequency.        
 
         [0073]     The state model is: 
 
{dot over ({dot over (θ)})} e =constant 
 
         [0074]     The dynamics equation is therefore: 
 
 X ( t   i )= F·X ( t   i−1 ) 
 
 where: 
        F=Identity(3,3) and     F(1,2)=F(2,3)=Δt, F(1,3)=Δt 2 /2     Δt=t i −t i−1          
 
         [0078]     Since both L1 and L2 signals are assumed available, ionospheric error and error rate terms can be added to the state vector, X e . These errors are observable because of the sign reversal in the code and carrier phase measurements. However, in a high jamming environment, ionospheric errors typically cannot easily be separated from the total phase measurements during this filter&#39;s one second processing time.  
         [0079]     The measurement vector is given by: 
 
 Y ( t   i )=[ Y   R ( f   1 )  Y   RR ( f   1 )  Y   R ( f   2 )  Y   RR ( f   2 )] T  
 
 where: 
        Y R  and Y RR  are defined by equations (1) and (3), and     f 1  and f 2  represent GPS L1 (1575.42 MHz) and L2 (1227.6 MHz).        
 
         [0082]     The measurement equation is: 
 
 Y ( t   i )= H·X ( t   i )+Γ( t   i ) 
 
 where: 
 
Γ( t   i )=[ξ 1  γ 1  ξ 2  γ 2 ] T , the first and second noise pairs correspond to L1 and L2, 
 
 H =Zeros(4,3), and 
 
 H (1,1)=(2  A   1   2   /b )·(λ/2π), 
 
 H (2,2)=− A   1    2   R   2 ({circumflex over (ρ)} e )·Δ t/ 2 
 
 H (3,1)=(2  A   2   2   /b )·(λ/2π), 
 
 H (4,2)=− A   2   2   R   2 ({circumflex over (ρ)} e )·Δ t/ 2·( f   2   /f   1 ), 
        A 1  and A 2  correspond to I and Q amplitudes for L1 and L2 channels respectively, and {circumflex over (ρ)} e  represents the present best estimate of ρ e          
 
         [0084]     The measurement noise variance is given by 
 
 R ( t   i )= E (ΓΓ T ) 
 
 where: 
        R is diagonal since the noise terms are not correlated with each other,     R(1,1), R(3,3)=equation (2) for L1 and L2 respectively, and     R(2,2), R(4,4)=equation (4) for L1 and L2 respectively.        
 
         [0088]     To completely determine the measurement process, the following values are estimated in blocks  211  and  213  as described below. 
        σ IQ   2 =variance of the additive noise on the Is and Qs     A 1  and A 2 =I and Q amplitudes for L1 and L2        
 
         [0091]     The operation of the phase error estimator for each satellite is described in the following paragraphs.  
         [0092]     At discrete time intervals (e.g., one second intervals in one embodiment), the navigation filter generates new estimates of the vehicle trajectory and IMU errors, which through the strapdown equations, run each of the satellite&#39;s NCOs. This causes the phase error states defined above to change. Therefore, the phase error estimator must be reinitialized after each navigation filter cycle.  
         [0093]     The best estimate of the initial phase error states is zero. Thus: 
 
 {overscore (X)} ( t   0 )=[0 0 0] T  
 
         [0094]     The initial covariance matrix (diagonal), is determined by the maximum expected phase, phase rate, and phase acceleration errors at start of each one second interval. 
 
 {overscore (P)} ( t   0 )= E ( {overscore (X)} ( t   0 ) {overscore (X)} ( t   0 ) T ) 
 
         [0095]     After initialization, the measurements are processed at time t i , i=0, . . . , 49 (number of 20 ms measurements in a one second interval)  
         [0096]     The estimated measurement vector is given by: 
 
 Y {overscore (( t )} i )= H·{overscore (X)}(   t   i ) 
 
         [0097]     Before processing, each measurement is tested using the following algorithm, where k res  is an input parameter usually between three and ten. 
 
 E   res =sqrt[diag( H·{overscore (P)}·H   T   +R )]
 
for i=1,4 
 
if | Y ( t   i )− {overscore (Y)} ( t   i )≧ k   res   ·E   rers  
        H(i,i)=0 Do not process the i th  measurement     end     end        
 
         [0101]     All measurements passing the above test, H(i,i)≠0, are processed by the following filter equations: 
 
 K ( t   i )= P  {overscore (( t )} i )· H   T   ·[H·{overscore (P)} ( t   i )· H   T   +R ] −1    Kalman filter gain matrix 
 
 {circumflex over (X)} ( t   i )= X {overscore (( t )} i )+ K ( t   i )·[ Y ( t   i )− Y {overscore (( t )} i )]  Generate new estimates 
 
 {circumflex over (P)} ( t   i )=[ I−K ( t   i )· H]·P {overscore (( t )} i )   Update Error Covariance matrix 
 
         [0102]     In the above equation, I is the identity matrix.  
         [0103]     The system then checks for the end of the one second estimator processing interval as follows:  
         [0104]     If t i &lt;1 second 
        Update estimate and covariance to next processing time 
 
 X {overscore (( t )} i+1 )= F·{circumflex over (X)} ( t   i ) 
 
 {overscore (P)} ( t   i+1 )= F·P {circumflex over (( t )} i )· F   T   +Q  
    Q(3×3)—represents state noise (usually set to zero to assure maximum smoothing of the measurement noise. 
 
 i+ 1 
    Process the next measurement        
 
         [0108]     If t i =one second, then for each satellite, generate range and range rate residual measurements and accuracies for input to the navigation filter as follows: 
 
 DR =(λ/2π)· {circumflex over (X)} (1), σ DR   2 =(λ/2π) 2   ·{circumflex over (P)} (1,1) 
 
 DRR =(λ/2π)· {circumflex over (X)} (2), σ DRR   2 =(λ/2π) 2   ·{circumflex over (P)} (2,2) 
 
         [0109]     It is not necessary to account for the correlation between {circumflex over (X)}(1) and  {circumflex over (X)} (2) because it is almost always less than 0.2  
         [0110]     In one embodiment, each phase error estimator  213  is restarted after the navigation filter  210  has completed processing. There is some data loss with this process. Since the navigation filter  210  takes some finite time to run, the phase error estimators  213  have to operate in what remains of the one second interval after the navigation filter has stopped. Also, since the satellite signals 20 ms data bit boundaries do not arrive at the same time, not all of the phase error estimators  213  complete their last 20 ms processing before the navigation filter is ready to receive the inputs from the estimators  213 .  
         [0111]     In order to completely define the measurements and their associated accuracies given by equations (1) through (4), it is useful to compute an estimate of the I and Q amplitudes and noise variance. The amplitude measurement in the amplitude estimator  211  is given by  
               A   M   2     =         (       I   E     +     I   L       )     2     +       (       Q   E     +     Q   L       )     2     -     4   ·     σ   ELS   2                     =         A   2     +     β   ⁢           ⁢   for   ⁢           ⁢          ρ   e              ≤     b   /   2                 
 
 where 
 
 E (β)=0 
 
 E (β 2 )=σ AM   2 =8·σ ELS   2 (2·σ ELS   2   +A   2 ) 
 
         [0112]     When there are no significant signals interfering, either intentionally or unintentionally, with the GPS signal, the noise variance, σ ELS   2 , is relatively low and a relatively good estimate of the amplitude can be made by smoothing A M   2  over relatively short periods of time. However, broadband signal interference will increase the noise and, through the automatic gain control (AGC) amplifier, cause variations in the amplitude. Smoothing the measurement in this situation is typically not a viable option. The increased noise requires longer smoothing times but the amplitude variations limit smoothing times. One way to get around this situation is to identify something in the process that is relatively constant so that long term smoothing can be used.  
         [0113]     It is assumed that for most of the visible satellites, the satellite signal amplitude at the GPS antenna remains relatively constant during periods of broadband jamming. If the antenna and RF chain are calibrated and temperature compensated, the gain from the input to the GPS antenna through the RF chain (amplifiers, bandpass filters, mixers, AGC amplifier) will be known to within several dB. A one-state Kalman estimator for the GPS L1 frequency can be configured as follows:  
         [0114]     State: 
 
a 2 =satellite signal amplitude squared, assumed constant 
 
         [0115]     State Model: 
 
 a   i+1   2   =a   i   2   +q   i    E ( q   i )=0,  E ( q   i   2 )= QE   i  
 
         [0116]     The state noise with variance, QE, is included to account for some variations in satellite signal amplitudes as the vehicle moves and satellite orbits change. It can also be used to account for some unknown gain variations in the antenna and RF chain.  
         [0117]     The amplitude measurement is expressed as  
               A   M   2     =       A     i   +   1     2     +     β     i   +   1                     =         G     i   +   1     2     ·     a     i   +   1     2       +     β     i   +   1                   
         E   ⁢           ⁢     (     β     i   +   1     2     )       =       σ   AM   2     =     RE     i   +   1             
        Where G is the total gain from the GPS antenna, through the RF chain, to I and Q generation. Typically G is known to less than 2 dB.        
 
         [0119]     In one embodiment, the amplitude squared estimator  211  runs concurrently with the phase error estimator  213 , but it is not reinitialized at one second intervals. Measurements are processed at 20 ms time intervals.  
         [0120]     The initial measurement is used to generate the first estimate, which must be in low noise. 
 
 {overscore (a     2     )}(   t   i )= A   M   2   /G   i   2  
 
         [0121]     The initial covariance is given by: 
 
 {overscore (PE)} ( t   i )= RE   i   G   i   4  
 
         [0122]     The Kalman filter gain matrix is given by: 
 
 KE ( t   i )= {overscore (P)}E ( t   i )· G   i   2   ·[{overscore (P)}E ( t   i )· G   i   4   +RE   i ] −1  
 
         [0123]     New estimated are computed from: 
 
 {circumflex over (a     2     )}(   t   i )= a   2 {overscore (( t )} i )+ KE ( t   i )·[ A   M ( t   i )− G   i   2   ·a   2 {overscore (( t )} i )]
 
         [0124]     The new error covariance matrix is given by: 
 
 {circumflex over (P)}E ( t   i )=[1 −KE ( t   i )· G   i    2   ]·P{overscore (E()}   t   i ) 
 
         [0125]     The updated estimate and covariance at the next processing time is: 
 
 a   2 {overscore (( t )} i+1 )= {circumflex over (a     2     )}(   t   i ) 
 
 {overscore (P)}E ( t   i+1 )= {circumflex over (P)}E ( t   i )+ QE   i  
 
         [0126]     The amplitude estimator  211  continues processing measurements at each 20 ms timing cycle. A separate estimator is required for each satellite L1 and L2 signal.  
         [0127]     The amplitude estimator  211  handles broadband interference noise. During periods of low noise, the amplitude measurement is projected back through the system gain to estimate the satellite signal amplitude. Then when the interference noise increases, the estimated satellite signal amplitude is projected forward through the system gain to estimate the I and Q amplitude. In this situation, the noisy I and Q amplitude measurement is smoothed using the constant satellite amplitude projected through the system gain.  
         [0128]     GPS receivers typically have at least three correlators per satellite (early, prompt, and late) to aid in tracking each satellite&#39;s code. It is assumed that one additional correlator is available for I and Q noise estimation. In this correlator, the GPS signals are multiplied by the satellite&#39;s reference code which is offset by a significant time difference from the actual signal code. The correlator, therefore, outputs primarily noise.  
         [0129]     Since all satellite signals at a specified frequency arrive at the correlators through the same, or similar, RF channel, their composite signal is corrupted by a single additive noise term. But because each satellite code is a different pseudo-random noise sequence, the correlation process causes the resulting I and Q noise sequences for different satellite channels to be approximately uncorrelated. Therefore, the I and Q noise variance can be estimated by averaging over time and across several satellite channels.  
         [0130]     The noise is assumed to be zero mean, white, and Gaussian. Thus the only parameter to be estimated is the variance.  
         [0131]     At time t j  the I and Q noise variance computed from M satellite channels is  
           σ   IQ   2     ⁡     (     t   j     )       =       (     1   /   M     )     ⁢       ∑     i   =   1     M     ⁢           ⁢     (         η   2     ⁡     (     i   ,   j     )       +       ɛ   2     ⁡     (     i   ,   j     )         )             
 
 where 
        η(i,j), ε(i,j) represents noise on the Is and Qs     for the i th  satellite at time t j          
 
         [0134]     The noise estimate over N time points is  
         σ   IQ   2     =       (     1   /   N     )     ⁢       ∑     j   =   1     N     ⁢       σ   IQ   2     ⁡     (     t   j     )               
 
         [0135]     A running average filter that approximates the above is 
 
σ IQ   2 =α·σ IQ   2 +(1−α)·σ IQ   2 ( t   j ) where (1−α)=1 /N  
 
         [0136]     The smoothing parameter, α, can be adjusted depending on the expected dynamics of the I and Q additive noise.  
         [0137]     In one embodiment, the linearity of the discriminator measurements and the smoothing filter, and the configuration of the amplitude estimator allow the ATC to handle relatively large magnitude swings in the measurements due to noise. In one embodiment, the ATC can estimate the statistics of the noise that allows the parameters in the ATC to be adjusted properly. The system adapts to changing levels of interference and can operate without knowledge of the GPS navigation data bit. Since its design parameters are provided by application of linear estimation theory, the ATC can easily be integrated into existing navigation filter designs.  
         [0138]     Although described in terms of specific embodiments, the scope of the invention is limited only by the allowed claims.