Abstract:
Global positioning systems (GPSs) estimate positions of vehicles based on signals from earth-orbiting satellite transmitters. For accuracy and reliability reasons, these systems have traditionally not be used for critical phases of aircraft navigation and guidance, such as aircraft landings. However, recent years have seen the development of ground-augmented GPS systems for use in automatic landing systems. These augmented systems rely on broadcast correction data to correct positions estimates, or solutions, and thus provide more accurate position solutions. Unfortunately, the conventional methods of measuring accuracy in these augmented systems cannot adequately cope with loss of correction data or satellite signals and thus lead to more aborted landings than acceptable. Accordingly, the inventor devised a ground-augmented GPS system that incorporates a better method for determining the accuracy of its position solution. One exemplary embodiment determines a main position solution and one or more position subsolutions, with the main solution using all broadcast correction data and each subsolution using a respective subset of the correction data. Differences or separations between the main position solution and the subsolution are then used to determine accuracy, or protection, limits for the main position solution. Another embodiment uses Kalman filters to incorporate vehicle motion data into the calculation of the main solution and the subsolutions, enabling the determination of protection limits during periods lost GPS or correction data.

Description:
TECHNICAL FIELD  
         [0001]    The present invention concerns the problem of improving reliability of radio navigation and guidance systems, particularly ground-augmented or differential global positioning systems.  
         BACKGROUND OF THE INVENTION  
         [0002]    A global positioning system (GPS) measures the three-dimensional, global position of a radio receiver, using the distances between the radio receiver and a number of earth-orbiting satellite transmitters. The receiver, usually mounted to a vehicle such as a commercial passenger aircraft, receives signals from the satellite transmitters. Each signal indicates both the position of its transmitter and its transmission time, enabling the receiver, equipped with its own clock, to approximate signal transit times and to estimate the distances to the transmitters. A processor coupled to the receiver uses at least four of these distances, known as pseudoranges, to approximate or estimate the position of the receiver and the associated vehicle. The accuracy of these estimates, or position solutions, depends on a number of factors, for example, changing atmospheric conditions and performance of individual satellite transmitters.  
           [0003]    In commercial aircraft navigation and guidance, global positioning systems (GPSs) have traditionally been used only for determining position of an aircraft during non-critical portions of a flight, that is, between takeoff and landing. However, in recent years, researchers have started extending GPSs for use during landings.  
           [0004]    These extended systems have taken the form of ground-augmented or differential global positioning systems which typically include two to four ground-based GPS receivers and a ground-based differential correction processor (DCP) and a correction-data transmitter, all located around an aircraft landing area. (These systems are sometimes called GPS-based Local-Area-Augmentation Systems, or GPS-based LAASs.) The ground-based GPS receivers, each with a known position, work as normal GPS receivers in determining respective sets of pseudoranges based on signals from at least four earth-orbiting satellite transmitters. These pseudoranges are fed to the ground-based DCP, which uses them and the known positions of the ground receivers to determine correction data. The correction-data transmitter then transmits to aircraft approaching the landing area. These approaching aircraft use the correction data to correct position estimates of on-board GPS receivers, providing better position solutions than possible using their on-board GPS receivers alone.  
           [0005]    These corrected position solutions are then compared to a reference landing path to determine course deviations necessary to ensure the aircraft follows the reference landing path. The course deviations are input to an autopilot system which guides the aircraft during automatic landings. For the autopilot system to function within safety limits set by the Federal Aviation Administration, the position estimates are required to stay within minimum accuracy limits known as vertical and horizontal alert limits. Failure to stay within accuracy limits causes issuance of an alert, signaling a pilot to abort the automatic landing and to restart the landing process.  
           [0006]    Unfortunately, conventional methods of determining the accuracy of the corrected position estimates lack the ability to cope with loss of satellite signal receptions or correction data stemming from ionospheric effects, unintentional jamming, satellite failures, or fading of correction-data transmissions. As a result, systems using these methods are prone to more aborted landing attempts than acceptable.  
           [0007]    Accordingly, there is a need for better ways of determining accuracy in ground-augmented or differential global positioning systems.  
         SUMMARY OF THE INVENTION  
         [0008]    To address this and other needs, the inventor devised a ground-augmented (or differential) navigation and guidance system that incorporates a unique method for determining the accuracy of its position solution. In a first exemplary embodiment, the system includes a receiver for receiving signals from several satellite transmitters and a processor for determining a main position solution and one or more position subsolutions. The main position solution incorporates a set of pseudoranges corrected using all available correction data from a ground transmitter, and each subsolution based on a subset of the available correction data. Differences or separations between the main position solution and the subsolution are then used to determine accuracy or protection limits for the main position solution.  
           [0009]    In a second exemplary embodiment, the navigation system further includes inertial sensors, for example, accelerometers and gyroscopes, for providing vehicle motion data to the processor. The processor uses Kalman filters to determine the main position solution, subsolutions, protection limits, and course deviations from the motion data as well as past and present values of the satellite and/or correction-data signals.  
           [0010]    Adding motion data further improves reliability, because the processor can compute protection limits during brief periods when there is insufficient data for computing the position solution. In a sense, the Kalman filters and the motion data enable the processor to build up “momentum” for coasting through periods of lost GPS or differential correction information.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a block diagram of a first exemplary navigation and guidance system  100  incorporating the present invention.  
         [0012]    [0012]FIG. 2 is a flow chart illustrating a first exemplary method of operating the system of FIG. 1 according to the present invention.  
         [0013]    [0013]FIG. 3 is a block diagram of a second exemplary navigation and guidance system  300  incorporating the present invention.  
         [0014]    [0014]FIG. 4 is a flow chart showing an exemplary method of operating the system of FIG. 3 according to the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0015]    The following detailed description, which references and incorporates FIGS.  1 - 4 , describes and illustrates specific embodiments of the invention. These embodiments, offered not to limit but only to exemplify and teach the concepts of the invention, are shown and described in sufficient detail to enable those skilled in the art to implement or practice the invention. Thus, where appropriate to avoid obscuring the invention, the description may omit certain information known to those of skill in the art.  
         [0016]    As used herein, the term “pseudorange” includes smoothed pseudoranges and carrier-propagated pseudoranges. Also, the term “pseudorange corrections” includes corrections to smoothed pseudoranges and corrections to carrier-propagated pseudoranges. Carrier-propagated pseudoranges are pseudoranges that are updated using only carrier measurments, not code measurments. The exemplary embodiments use smoothed pseudoranges; however, other embodiments substitute carrier propagated pseudoranges using differential carrier corrections.  
         [0017]    First Exemplary Embodiment  
         [0018]    [0018]FIG. 1 shows a differential radio navigation system  100  incorporating teachings of the present invention. The system includes several moving transmitters  1 -N, several GPS ground receivers  1 -M, a differential-correction processor (DCP)  110 , a ground-correction transmitter  120 , a GPS vehicle receiver  130 , a landing unit  140 , and an autopilot system  150 . Vehicle receiver  130 , landing unit  140 , and autopilot system  150  are mounted to an aircraft or other vehicle (not shown.)  
         [0019]    Transmitters  1 -N, in the exemplary embodiment, are a subset of the NAVSTAR GPS constellation of satellite transmitters, with each transmitter visible from respective antennas of ground receivers  1 -M and vehicle receiver  130 . Transmitters  1 -N broadcast N respective signals indicating respective transmitter positions and signal transmission times to ground (or local-area) receivers  1 -M and to vehicle receiver  130 , which use the signals to determine respective pseudoranges for the ground receivers and the vehicle receiver.  
         [0020]    Although the satellites transmit their positions in World Geodetic System of 1984 (WGS-84) coordinates, a Cartesian earth-centered earth-fixed system, the exemplary embodiment determines the position solutions in a local reference frame RLV, which is level with the north-east coordinate plane and tangential to the Earth. This frame choice has a first direction (R) parallel to a given landing runway, a second direction (L) lateral, or cross-track, to the first direction, and a third direction (V) vertical relative to first and second directions. However, frame choice is not critical, since it is well-understood how to transform coordinates from one frame to another.  
         [0021]    Differential correction processor  110  receives the pseudoranges from the GPS ground receivers and determines correction data, which correction-data transmitter  130  transmits to a correction-data receiver  142 , within landing unit  140 . Landing unit  140  also includes a processor  144  and a memory  146 . Memory  146  stores one or more software modules  146   a  which govern operation of processor  144  in accord with the present invention. (The invention is not limited to any form, type, or number of receivers, transmitters, processors, or memory.)  
         [0022]    Processor  144  uses the correction data from transmitter  120  and the pseudoranges from vehicle receiver  130  to determine a main position solution and one or more position subsolutions. The main position solution is differentially corrected using all the correction data, and the position subsolutions are differentially corrected based on subsets of the correction data. Processor  144  uses the main solution and the subsolutions to compute vertical and lateral (or horizontal) protection limits, which it compares to vertical and lateral alert limits. The exemplary embodiment uses alert limits for a particular weather minimum, such as Category I, II, or III as defined by the Federal Aviation Administration. (For more details on these limits, see RTCA publication D0-245, which is incorporated herein by reference.) If either protection limit falls outside its respective alert limit, the processor signals an integrity failure to the cockpit of the aircraft.  
         [0023]    Additionally, the processor uses the main position solution to calculate and output angular and/or linear course deviations or corrections relative a reference path to autopilot system  150 . System  150  in turn generates signals for actuators (not shown), to correct the flight path of the aircraft.  
         [0024]    More particularly, FIG. 2 shows an exemplary flow chart  200 , illustrating operation of system  100  and especially processor  144  in accord with software modules or computer programs  146   a.  Flow chart  200  includes blocks  202 - 222 , which are executed serially or in parallel in the exemplary embodiment. Some embodiments organize the exemplary process using a greater or lesser number of blocks. Other embodiments implement the blocks as two or more specific interconnected hardware modules with related control and data signals communicated between and through the modules. Thus, the exemplary process flow is applicable to software, firmware, and hardware implementations. In most, if not all instances, the process sequence can be varied from the order shown and described.  
         [0025]    At block  202 , exemplary operation begins with processor  144  obtaining a set of N pseudoranges from GPS vehicle receiver  130  and correction data from correction-data receiver  142 . The correction data can take any form that facilitates or enables the processor to correct or adjust one or more of the N pseudoranges. For example, in one embodiment, this data includes (N×M) pseudoranges and the known positions of the M ground receivers, allowing processor  144  to compute its own differential corrections for the N pseudoranges of the vehicle receiver.  
         [0026]    In the exemplary embodiment, correction-data transmitter  120  transmits correction data, twice per second, for each of the N satellite transmitters, with each set of correction data taking the form shown in the following table:  
                                                                     Data Content   Bits   Range   Resolution                                Ranging Source   8   1-255       1           Issue of Data   8   0-255       1       Pseudorange Correction   16    +/−327.67   m   0.01   m       Correction Rate   16    +/−32.767   m/s   0.001   m/s       σ pr     —   gnd   8   0-5.08   m   0.02   m       B 1     8   +/−6.35   m   0.05   m       B 2     8   +/−6.35   m   0.05   m       .   .   .       .       .   .   .       .       .   .   .       .       B M     8   +/−6.35   m   0.05   m                  
 
         [0027]    Of specific interest to the exemplary embodiment are the psuedorange correction, the B values (B 1 -B M ), and σ pr     —     gnd . The psuedorange correction of the n-th satellite transmitter is defined as the average of the differential psuedorange corrections for the M ground receivers, or mathematically as  
               δρ   n     =       1   M            ∑   1   M          δρ     n   ,   m                   (   1   )                               
 
         [0028]    where δρ n  denotes the differential correction for the n-th satellite transmitter, M denotes the number of ground receivers, and δρ n,m  denotes the differential pseudorange correction for the n-th satellite transmitter at the m-th ground receiver. The B values for the n-th satellite transmitter are defined as  
               B     n   ,   k       =       δρ   n     -       1     M   -   1              ∑     m   ≠   k     M          δρ     n   ,   m                     (   2   )                               
 
         [0029]    where B n, k  denotes the k-th B value for the n-satellite; the summation is over all M except for m=k; and k ranges from 1 to M. σ pr     —     gnd  denotes the Gaussian distribution that overbounds the error in the broadcast correction and depends on the elevation of the satellite, observed signal-to-noise ratio (S/N 0 ), and convergence status.  
         [0030]    In block  204 , the processor defines M+1 different N-element correction vectors δρ 0 -δρ M , based on the full set of N differential corrections for each ground receiver M. The full set of N differential corrections are derived from the M different B values for each of the N satellites. δρ 0 , the main correction vector, is defined as  
         δρ 0 =[δρ 1 , δρ 2 , . . . , δρ N ] T   (3)  
         [0031]    where each element δρ n  denotes a uniform or nonuniform weighted average of the differential corrections from all the ground receivers 1 to M for the n-th satellite transmitter. δρ m  (for m=1 to M) is defined as  
         δρ m =[δρ 1, m , δρ 2, m , . . . , δρ N, m ] T   (4)  
         [0032]    where element δρ n, m  is defined as a uniform or non-uniform weighted average of all but the m-th differential correction for the n-th satellite. Thus, each element δρ n, m  excludes correction information from the m-th ground receiver. Mathematically, this is expressed as  
               δρ     n   ,   k       =       1     M   -   1              ∑     m   ≠   k     M            c   k          δρ     n   ,   m                     (   5   )                               
 
         [0033]    where n denotes the n-th satellite and ranges from 1 to N; k ranges from 1 to M; and c k  denotes a respective weight, which in the exemplary embodiment is unity.  
         [0034]    Block  206  entails forming an N-element measurement vector ρ meas  of pseudoranges from vehicle receiver  130  and “linearizes” it around an initial estimate of the position solution and an initial receiver clock offset estimate. The linearized measurement vector, denoted Δρ meas , is defined according to  
         Δρ meas =ρ meas −ρ est   (6)  
         [0035]    where ρ est  is an N-element vector of the estimated pseudoranges derived from the initial position estimate and the initial clock offset estimate. After linearizing the vehicle pseudoranges around the initial estimate to determine Δρ meas , the processor applies the correction vectors δρ 0 -δρ M  to determine a set of M+1 N-element corrected measurement (or pseudorange) vectors Δρ 0   meas -Δρ M   meas . More precisely, Δρ 0   meas , the main corrected measurement vector including correction information from all M ground receivers, is defined as  
         Δρ meas   0 =Δρ meas +δρ 0   (7)  
         [0036]    and Δρ m   meas  is defined as  
         Δρ meas   m =Δρ meas +δρ m   (8)  
         [0037]    where N-element correction vectors δρ 0  and δρ m  follow the definitions of Eqns 3, 4, and 5.  
         [0038]    In block  208 , the processor determines a main position solution Δr 0 , using the main corrected measurement vector Δρ 0   meas . The processor may use any technique for solving a system of overdetermined algebraic equations, for example, weighted or non-weighted least-squares estimation. “Overdetermined” refers to the presence of redundant pseudoranges. The solution Δr 0 , defined as the main position solution because it incorporates the correction information from all M ground receivers, is defined as  
         Δ r   0   =S   0 Δρ meas   0   (9)  
         [0039]    where S 0  is a 4×N weighted or non-weighted least-squares solution matrix.  
         [0040]    Block  210  entails calculating several corrected subsolutions Δr 1 , Δr 2 , . . . Δr M , each based on a respective subset of the M differential corrections. In the exemplary embodiment, each subset includes only M−1 differential corrections, with the m-th subset excluding the correction data based on the m-th ground receiver. Thus, the m-th subsolution includes an average correction based on all but the m-th differential correction. The preference for excluding one ground reference receiver stems from the low likelihood that more than one of these receivers will ever fail or otherwise present an abnormal correction circumstance to the landing unit. However, if desirable, other embodiments can exclude corrections from more than one ground receiver. Similar to the main solution Δr 0 , the m-th subsolution Δr m  is defined as  
         Δ r   m   =S   m Δρ meas   m   (10)  
         [0041]    where S m  is a weighted or non-weighted 4×N least-square subsolution matrix.  
         [0042]    In the exemplary embodiment, the main solution Δr 0  and the subsolutions Δr 1 -Δr M  are four-element vector quantities with three elements representing respective runway, lateral, and vertical coordinates and a fourth element cΔt representing the distance related to the receiver clock offset, where c is the speed of light, and Δt is the receiver clock offset. The center of the runway-lateral-vertical (RLV) frame is the initial position estimate. (However, other initial position estimates can also be chosen.) Thus, the three RLV coordinates actually represent a position relative the initial position estimate because of the linearization of the governing equations around the initial estimate. Hence, to obtain an absolute position solution, the RLV coordinates must be added to the corresponding coordinates of the initial position estimate. However, as used herein, position solution broadly connotes any relative position or absolute position solution.  
         [0043]    In block  212 , the processor computes lateral separations b L1 -b LM  and vertical separations b V1 -b VM  based on respective mathematical distances between the main position solution Δr 0  and the respective subsolutions Δr 1 -Δr M . The exemplary embodiment defines separations b L1 -b LM  as the respective lateral distance between the main solution Δr 0  and respective subsolutions Δr 1 -Δr M . In the lateral direction relative the aircraft glide path, the distance b Lm  between subsolution Δr m  and main solution Δr 0  is  
           b   Lm ={square root}{square root over ((Δ r   0 ( L )−Δ r   m ( L )) 2 )}  (11)  
         [0044]    where (L) denotes lateral components of the position solutions. Similarly, the exemplary embodiment defines the vertical separations b V1 -b VM  as the actual vertical distances between the main solution Δr 0  and respective subsolutions Δr 1 -Δr M . In the vertical plane relative the aircraft glide path, the distance b Vm  between subsolution Δr m  and main solution Δr 0  is  
           b   Vm ={square root}{square root over ((Δ r   0 ( V )−Δ r   m ( V )) 2 )}  (12)  
         [0045]    where the V denotes the vertical component of the main solution and the m-th subsolution. Operation then proceeds to block  214 .  
         [0046]    Block  214  entails determining lateral and vertical error parameters, A L1 -A LM  A V1 -A VM , based on the noise-induced errors in respective subsolutions Δr 1 -Δr M . The noise-induced errors force each subsolution away from the actual position of vehicle receiver  130 .  
         [0047]    In determining the error parameters, the processor first calculates error covariance matrices P 1 -P M  describing the statistics of the noise-induced errors for corresponding subsolutions Δr 1 -Δr M . The m-th error covariance matrix P m  is defined as  
           P   m   =E[δr   m   δr   m   T ]  (13)  
         [0048]    where δr m  represents the effect of noise on the m-th subsolution and is defined as  
         δ r   m   =S   m   w,   (14)  
         [0049]    where w is the M-dimensional measurement noise vector. E[ww T ] is defined as  
               E        [     ww   T     ]       =       σ     pr   -   air     2     +       M     M   -   1            σ     pr   -   gnd     2                 (   15   )                               
 
         [0050]    where σ 2   pr     —     air  depends on the aircraft and σ 2   pr     —     gnd  is defined in the correction data from correction-data transmitter  120 .  
         [0051]    In the exemplary embodiment, processor  144  calculates matrices P 1 -P M  from  
           P   m   =S   m   E[ww   T   ]S   m   T   (16)  
         [0052]    The exemplary implementation assumes the errors are zero-mean with Gaussian distribution. Thus, the subsolution errors are confined to corresponding ellipsoidal volumes in the RLV coordinate system. Each point within the region corresponds to a different possible error, with the center corresponding to zero error and the maximum error at either end.  
         [0053]    After determining the covariance matrices, the processor determines the variances of the lateral and vertical errors. These variances are available from the diagonals of the covariance matrices P 1 -P M . The variances define the spreads of the errors around the average errors, and thus control the magnitudes of the maximum lateral and vertical errors between the m-th subsolution Δr m  and the actual position. With the variances, the processor computes the lateral and vertical error parameters A L1 -A LM  and A V1 -A VM  using  
           A   Vm   ={square root}{square root over (VAR Vm )}   Q   −1 ( P   MD )  (17)  
           A   Lm   ={square root}{square root over (VAR Lm )}   Q   −1 ( P   MD )  (18)  
         [0054]    where VAR Lm  and VAR Vm  denote the lateral and vertical variances from the m-th covariance matrix; P MD  is a given probability of missed detection; and Q −1  denotes the inverse of  
               Q        (   x   )       =       1       2      π                ∫   x   ∝                 -       t   2     2                 t                   (   19   )                               
 
         [0055]    the well-known normalized cumulative distribution function. Some embodiments use missed-detection probabilites promulgated by the Federal Aviation Adminstration in RTCA publication DO-245.  
         [0056]    In block  216 , the processor determines a lateral and a vertical protection limit, using one or more of the lateral and vertical solution separations b L1 -b LM  and b V1 -b VM  and one or more of the lateral and vertical subsolution error parameters A L1 -A LM  and A V1 -A VM . In the exemplary embodiment, the process determines the lateral protection limit (LPL) according to  
           LPL= max{ LPL   H0   , LPL   H1 }  (20)  
         [0057]    where max denotes the maximum of the quantities in the brackets; LPL H0  is defined as  
               LPL   H0     =         VAR   L0              Q     -   1            (       P   ffMD     2     )                 (   21   )                               
 
         [0058]    and LPL H1  is defined as  
           LPL   H1 =max{ b   Lm   +A   Lm } over m=1, M  (22)  
         [0059]    VAR L0 , the lateral variance of the error in the main position solution, is determined from the error covariance matrix for the main position solution. P ffMD  is a probability of fault-free missed detection, such as that defined in RTCA publication DO-245. Similarly, the exemplary embodiment determines the vertical protection limit (VPL) according to  
           VPL =max{ VPL   H0   , VPL   H1 }  (23)  
         [0060]    where VPL H0  is given by  
               VPL   H0     =         VAR   V0              Q     -   1            (       P   ffMD     2     )                 (   24   )                               
 
         [0061]    and VPL H1  is given by  
           VPL   H1 =max{ b   Vm   +A   Vm } over m=1, M  (25)  
         [0062]    VAR V0 , the vertical variance of the error in the main position solution, is determined from the error covariance matrix for the main position solution.  
         [0063]    Having determined the lateral and vertical protection limits, processor  144  executes block  218  which entails comparing them to respective predetermined lateral and vertical alarm limits LAL and VAL. If either the lateral protection limit or the vertical protection limits exceeds its alarm limit, the processor signals the aircraft cockpit, alerting the pilot or other predetermined system that the lateral or vertical protection limits is out of bounds. Optionally, if the actual lateral or vertical separations between the m-th solution Δr m  and the main position solution Δr 0  exceeds a threshold based on a selected probability of false detection, the processor sets a failure flag indicating a ground-receiver fault. However, in conventional LAAS, this failure detection is handled by the differential correction processor.  
         [0064]    At block  220 , after calculating the protection limits, the processor computes angular and/or linear course deviations based on the main position solution and the reference path to autopilot system  150 . And, at block  222 , the autopilot system automatically corrects or adjusts the glide path of the aircraft.  
         [0065]    After executing block  220 , the processor returns to block  202  to get new data from the vehicle receiver and new correction data to generate a new position solution, protection limits, and course deviations.  
         [0066]    In sum, the first embodiment applies a unique solution-separation technique for determining protection limits of a differentially corrected position solution. Although the first embodiment explicitly operates only on present GPS measurement and correction data, in so-called “snapshot” fashion, its chief advantage is its unique suitability for Kalman filter implementations. Through the use of Kalman filters, the processor incorporates not only present measurement and correction data, but also past measurement and correction data into the integrity monitoring process. Moreover, Kalman filters enable the processor to incorporate inertial sensor data into the calculation of the position solutions and protection limits, as evidenced in the second embodiment.  
         [0067]    Second Exemplary Embodiment  
         [0068]    [0068]FIG. 3 shows a radio navigation system  300  which extends radio navigation system  100  of FIG. 1 with the addition of inertial reference unit  160  for providing inertial data to processor  144 . The resulting combination constitutes a hybrid navigation system. In the exemplary embodiment, inertial reference unit  160 , mounted to the aircraft (not shown), includes three accelerometers  162   a - 162   c  for measuring acceleration in three dimensions and three gyroscopes  164   a - 164   c  for measuring angular orientation, or attitude, relative a reference plane. Inertial reference unit  160  also includes inertial processor  166  which determines an inertial position solution r i , as for example a three-element vector in an earth-fixed reference frame.  
         [0069]    Inertial processor  166 , in the exemplary embodiment, also converts the acceleration data into raw acceleration vector a raw  and attitude data into raw angular velocity vector ω raw . The exemplary angular velocity vector defines the rotation of the body frame (fixed to the aircraft) in three dimensions, and the exemplary inertial acceleration defines the three components of acceleration in body frame coordinates. Inertial processor  166  also determines a transformation matrix C for transforming body frame coordinates to local vertical frame L, a three-element rotation vector ω IE  which describes rotation of the earth-based inertial frame I transformed to L frame, and rotation vector ω EL  which describes rotation of the earth-fixed frame E versus inertial frame I transformed to L frame. The details of this inertial processing are well known in the art.  
         [0070]    At the heart of the exemplary Kalman filter implementation are the hybrid state vectors ΔX 0 -ΔX M , each of which has (20+N) error states. ΔX 0  incorporates all of the differential corrections from the M ground receivers and ΔX m  excludes the m-th differential correction from the m-th ground receiver. More specifically, the m-th state vector ΔX m  is defined as  
         Δ X   m   T   =[ψ, Δv, Δr   m   , Δrtc, Δvfc, Δω   0   , Δa   0 , ν x , ν y   , g   z   , Δe   N ]  (26)  
         [0071]    where  
         [0072]    Ψ          Three-element attitude error vector;  
         [0073]    Δv          Three-element velocity error vector;  
         [0074]    Δr          Three-element hybrid position solution excluding m-th differential correction;  
         [0075]    Δrtc          One-element receiver clock phase error expressed as a distance (analogous to cΔt in first embodiment);  
         [0076]    Δvfc          One-element receiver clock frequency error expressed as a velocity;  
         [0077]    Δω 0            Three-element vector of gyro biases modeled as first-order Markov processes with 100 hour-time constant;  
         [0078]    Δa 0            Three-element vector of accelerometer biases modeled as first-order Markov processes with 100-hour time constant; and  
         [0079]    ν x            gravity deflection in east direction of north-east coordinate plane;  
         [0080]    ν y            gravity deflection in north direction of north-east coordinate plane;  
         [0081]    g z            gravity anomaly in z direction relative the north-east coordinate plane;  
         [0082]    Δe N            N-element smoothing-error state vector which compensates for correlation of the correction data that results from carrier smoothing.  
         [0083]    (For clarity, the “m” subscripts are not shown on each state variable in ΔX m .) Thus, hybrid state vector ΔX 0 -ΔX M  include respective position solutions Δr 0 -Δr M , where the subscript again defines the excluded differential correction data. Note that Δr in the this embodiment includes only three spatial components, whereas in the first embodiment, it included three spatial components and cΔt, the distance associated with the receiver clock offset. The state vector ΔX identifies this variable as Δrtc. The exemplary embodiment orders the (20+N) state variables as shown; however, other greater or lesser numbers of state variables and other variable sequences are equally feasible.  
         [0084]    [0084]FIG. 4 shows a flow chart  400  which illustrates the important operative aspects of the exemplary hybrid navigation system. The flow chart, similar to that in FIG. 2, includes process blocks  402 - 424 . These blocks can not only be ordered, but are equally applicable to hardware, firmware, and software implementation. In some embodiments, the processor cycles through this process loop every 1-10 seconds.  
         [0085]    In particular, the operation begins at block  402  when the processor retrieves inertial, vehicle receiver, and correction data. The exemplary embodiment retrieves the following inertial data from inertial reference unit  160 :  
         [0086]    inertial position solution r 1 ,  
         [0087]    raw acceleration vector a raw ,  
         [0088]    raw angular velocity vector ω raw   
         [0089]    transformation matrix C,  
         [0090]    rotation vector ω IE , and  
         [0091]    rotation vector ω EL .  
         [0092]    Other embodiments use other forms of equivalent raw or processed inertial data, such as estimated or predicted inertial data.  
         [0093]    After retrieving this inertial data, the processor models the inertial error dynamics based on motion of the aircraft. This occurs within the context of a linearized inertial error model, which is referenced to local vertical coordinate frame L. This inertial error model defines an attitude error vector ψ, a velocity error vector Δv, and a hybrid position solution Δr, each stemming from the solution of the following three differential equations:  
         ψ= CΔω   IB +ψ×(ω IE +ω EL )  (27) 
         [0094]    [0094]                 Δ                   v   .       =       ψ   ×     Ca   raw       +     C                 Δ                   a   IB       +       (       2        ω   IE       +     ω   EL       )     ×   Δ                 v     +     G                 Δ                 r     +     Δ                 g                            (   28   )                               
 Δ {dot over (r)}=Δv+ω   EL   ×Δr   (29)  
         [0095]    where  
         [0096]    Δω 0            Gyro biases modeled as first order Markov processes with a 100 hour time constant;  
         [0097]    Δω IB            Δω 0 +scale factor and misalignment errors;  
         [0098]    Δa 0            Accelerometer biases modeled as first order Markov processes with a 100 hour time constant;  
         [0099]    Δa IB            Δa 0 +scale factor and misalignment errors;  
         [0100]    Δg          Gravity deflections and anomaly (v x g, v y g, Δg z )  
         [0101]    G is a 3×3 matrix defined as  
             G   =     [             -     g        (   0   )         /     R     [   1   ]             0       0           0           -     g        (   0   )         /     R     [   1   ]             0           0       0         2          g        (   0   )       /     R     [   2   ]                 ]             (   30   )                               
 
         [0102]    where R denotes the radius of the earth, and g(0) denotes gravity at zero height. The superscripts [1] and [2] identify the specific terms affecting accuracy. In particular, [1] identifies the two gravity terms responsible for Schuler feedback, and [2] identifies the gravity term responsible for the vertical feedback.  
         [0103]    In block  402 , the processor also retrieves psuedoranges from vehicle receiver  130  and correction data from receiver  144 . After retrieving the psuedoranges and correction data, the processor determines the number of pseudoranges N and the number of differential corrections M, before proceeding to block  404 .  
         [0104]    In block  404 , the processor defines M+1 different N-element correction vectors δρ 0 -δρ M , based on the full set of N differential corrections for each ground receiver M. The full set of N differential corrections are derived from the M different B values and the average differential correction (from the correction-data tranmitter) for each of the N satellites. δρ 0 , the main correction vector, is defined as  
         δρ 0 =[δρ 1 , δρ 2 , . . . , δρ N ] T   (31)  
         [0105]    where each element δρ n  denotes a uniform or nonuniform weighted average of the differential corrections from all the ground receivers 1-M for the n-th satellite transmitter. δρ m  (for m=1 to M) is defined as  
         δρ m =[δρ 1, m , δρ 2, m , . . . , δρ N, m ] T   (32)  
         [0106]    where element δρ n, m  is defined as a uniform or non-uniform weighted average of all but the m-th differential correction for the n-th satellite. Thus, as in the first embodiment, each element δρ n, m  excludes correction information from the m-th ground receiver.  
         [0107]    At block  406 , the processor applies the correction vectors δρ 0 -δρ M  to determine a set of (M+1) N-element corrected measurement (or pseudorange) vectors Δρ 0   meas (k)-Δρ M   meas (k) linearized around the initial or previous position estimate. This first entails determining (M+1) N-element pseudorange residual vectors Δρ 0 (k)-Δρ M (k), with the m-th pseudorange residual Δρ m (k) defined as  
         Δρ meas   m ( k )=ρ meas ( k )−ρ est   m ( k )  (33)  
         [0108]    In this equation, ρ meas  are the actual pseudorange measurements and ρ m   est (k) are the estimated pseudoranges based on the previous m-th absolute hybrid subsolution r m (k) and the receiver clock offset Δrtc m , with the subscript m denoting exclusion of the m-th pseudorange corrections from the vector. r m (k), the m-th absolute hybrid subsolution, is defined as  
           r   m ( k )= r   i ( k )+Δ r   m   E ( k )  (34)  
         [0109]    where the supercript E denotes that the relative hybrid position solution Δr m  has been transformed from the L frame to the earth-fixed frame for addition to the inertial position solution r 1 . In short, ρ m   est (k) means an N-vector of pseudoranges which would yield r m (k) as a position solution. Moreover, since ρ m   est (k) depends on the inertial position solution r 1  and the measured pseudoranges ρ m   meas , Δρ m   meas (k) includes both inertial and pseudorange information.  
         [0110]    Defining the pseudorange residual relative the previous solution establishes a dynamic reference trajectory for the solutions. Kalman filters that rely on this kind of iteratively updated residual are known as extended Kalman filters. After linearizing the vectors around the ρ m   est (k), the processor applies the correction vectors to each of the pseudorange residuals. Δρ 0   meas , the main corrected measurement vector including correction information from all M ground receivers, is defined as  
         Δρ meas   0 =Δρ meas   0 +δρ 0   (35)  
         [0111]     and Δρ m   meas  is defined as  
         Δρ meas   m =Δρ meas   m +δρ m   (36)  
         [0112]     where N-element correction vectors δρ 0  and δρ m  follow the definitions of equations 3, 4, and 5.  
         [0113]    Blocks  408  and  410  respectively entail computing the main solution Δr 0 (k) and subsolution Δr 1 (k)-Δr M (k). In the Kalman implementation, these solutions depend on the Kalman gain vectors. Thus, as part of the computations for these solutions, the processor first determines Kalman gain vectors g 0   n (k)-g M   n (k) (one for each of the N satellites) for updating all the states of corresponding hybrid state vectors ΔX 0 -ΔX M . Updating these state vectors also updates corresponding solution Δr 0 (k) and subsolutions Δr 1 (k)-Δr M (k). The m-th Kalman gain vector g m   n (k) is defined as  
                 g   n   m          (   k   )       =           P   m          (   k   )                       h   n             h   n   T            P   m          (   k   )            h   n       +   r               (   37   )                               
 
         [0114]    In this relation, P m (k) is the error covariance matrix for the m-th receiver, and h n  is a 1×(20+N) measurement matrix, which selects the combinations of error states incorporated in the m-th measurement. h n  is defined as  
           h   n   T =[0 3  0 3   −U   n  1 0 0 3  0 3  0  h   e ]  (38)  
         [0115]    where 0 3  is a three-element zero vector, and U n  is a 3-element line-of-sight, or unit direction, vector pointing from the m-th ground receiver to the n-th satellite. (The components of the line-of-sight vector are called direction cosines, in classical navigation geometry.) h e  is an N-element vector, such as (0, 0, . . . , 1, . . . , 0), which selects the associated smoothing error states that are involved in the GPS measurement, with all elements except the n-th one set to zero. The dimensions of h depend on the number of states in the Kalman filter. r is the carrier measurement noise variance and is defined as  
               r   =         σ     cr   -   rec     2     M     +     σ     cr   -   air     2              
          for                 the                 main                 filter                 and             (   39   )                 r   =         σ     cr   -   rec     2       M   -   1       +     σ     cr   -   air     2              
          for                 the                   subfilters   .               (   40   )                               
 
         [0116]    In the Kalman gain equation, n ranges from 1 to N for each m=1 to M. This “n-loop” portion for determining the Kalman gain shows that this Kalman filter implementation follows a measurement-by-measurement approach, rather than a batch-processing approach. Although the two approaches are mathematically equivalent, the measure-by-measurement approach reduces the number of processor operations required for the Kalman filter calculations.  
         [0117]    With the Kalman gain vectors, the processor can now update hybrid state vectors ΔX 0 -ΔX M  and thereby determine the position solutions Δr 0 (k)-Δr M (k), as blocks blocks  408  and  410  indicate. The recursive updates follow:  
         Δ X   0 ( k )=Δ X   0 ( k )+ g   n   0 ( k )[Δρ n   0 ( k )− h   n   T   ΔX   0 ( k )]  (41)  
         Δ X   m ( k )=Δ X   m ( k )+ g   n   m ( k )[Δρ n   m ( k )− h   n   T   ΔX   m ( k )]  (42)  
         [0118]    where Δρ n   m (k) are sequentially updated measurement vectors, with Δρ 1   m (k)=Δρ m   meas (k). The update stems from the change in r m (k) in each iteration, for n=1 to N.  
         [0119]    After updating the hybrid state vectors ΔX 0 -ΔX M , which include corresponding solutions Δr 0 (k)-Δr M (k), the processor determines the lateral and vertical separations, error parameters, and protection limits. As FIG. 4 shows this entails executing blocks  412 ,  414 , and  416 .  
         [0120]    More particularly, in block  412 , the processor computes lateral separations b L1 (k)-b LM (k) and vertical separations b V1 (k)-b VM (k). The exemplary embodiment defines separations b L1 (k)-b LM (k) as  
           b   Lm ( k )={square root}{square root over ((Δ r   0 ( L )−Δ r   m ( L )) 2 )}  (43)  
         [0121]    where (L) denotes lateral components of the position solutions and for convenience the temporal notation for the solution components has been omitted. Similarly, the exemplary embodiment defines the vertical separations b V1 (k)-b VM (k) as  
           b   Vm ( k )={square root}{square root over ((Δ r   0 ( V )−Δ r   m ( V )) 2 )}  (44)  
         [0122]    where the (V) denotes the vertical component of the main solution and the m-th subsolution and again the temporal notation has been omitted for convenience. Operation then proceeds to block  414 .  
         [0123]    In block  414 , the processor determines the lateral and vertical error parameters A L1 (k)-A LM (k) and A V1 (k)-A VM (k) from error covariance matrices P 1 (k)-P M (k). The lateral and vertical parameters are defined as  
           A   Lm ( k )={square root}{square root over ( VAR   Lm ( k ))} Q   −1 ( P   MD )  (45)  
           A   Vm ( k )={square root}{square root over ( VAR   Vm ( k ))} Q   −1 ( P   MD )  (46)  
         [0124]    where VAR Lm  and VAR Vm  denote the lateral and vertical variances from the m-th covariance matrix; P MD  is a given probability of missed detection; and Q −1  denotes the inverse of the well-known normalized cumulative distribution function Q(x). The error covariance matrices P 1 (k)-P M (k), which define the statistics, including the lateral and vertical variances, of the corresponding subsolution errors, follow the recursive relation  
           P   m ( k )= P   m ( k )− g   n   m ( k ) h   n   T   P   m ( k )  (47)  
         [0125]    where m ranges from 1 to M.  
         [0126]    Then, in block  416 , the processor uses the separation and the error parameters to compute the lateral and vertical protection limits LPL(k) and VPL(k) according to  
           LPL ( k )=max{ LPL   H0 ( k ), LPL   H1 ( k )}  (48)  
           VPL ( k )=max{ VPL   H0 ( k ),  VPL   H1 ( k )}  (49)  
         [0127]    which, except for the iterative notation, follow the same form and definitions as used in the first embodiment at Eqns. 20-25. However, because of the recursive derivation of the solutions Δr 0 -Δr M , and more particularly, the error covariance matrices P 1 (k)-P M (k), the protection limits incorporate not only inertial data but also present and past GPS measurement and correction data.  
         [0128]    Having determined the lateral and vertical protection limits, processor  144  executes block  418  which entails comparing them to respective predetermined lateral and vertical alarm limits LAL and VAL. If either the lateral protection limit or the vertical protection limits exceeds its alarm limit, the processor signals the aircraft cockpit, alerting the pilot of the integrity failure. Optionally, if the actual lateral or vertical separations between the m-th solution Δr m  and the main position solution Δr 0  exceeds a threshold based on a selected probability of false detection, the processor sets a failure flag indicating a ground-receiver fault.  
         [0129]    At block  420 , the processor computes angular and/or linear course deviations based on the main position solution and the reference path to autopilot system  140 . In response, the autopilot system automatically corrects or adjust the glide path of the aircraft as indicated in block  422 .  
         [0130]    To complete the k-th iteration, the processor projects, or propagates, forward one iteration as indicated in step  424 . This entails determining the next, or k+1 th , hybrid state vectors ΔX 0 (k+1) through ΔX M (k+1) using  
         Δ X   m ( k+ 1)=Φ( k )Δ X   m ( k )  (50)  
         [0131]    and estimating the k+1 th  error covariance matrices P 0 (k+1) through P M (k+1) using  
           P   m (k+1)=Φ( k ) P   m ( k )Φ( k ) T   +Q   mm ( k )  (51)  
         [0132]    In these relations, Φ(k) is the state transition matrix relating the k-th hybrid state vector to the next (k+1)-th estimate, according to the inertial dynamics defined by the linearized inertial error model of equations 27-29. And, Q mm (k) is the noise covariance matrix given by  
           Q   mm ( k )= E[v ( k ) v ( k ) T ]  (52)  
         [0133]    where v(k) is the process noise vector which defines the noise in the inertial measurements.  
         [0134]    In implementations which use carrier smoothing, the differential corrections will be strongly correlated and thus contradict a conventional Kalman filtering assumption that the observations, that is, measurement data such as the differential corrections, be uncorrelated. Thus, to compensate for the correlation that exists in these implementations, the exemplary embodiment extends the 20-state error vector with N additional error states Δe n  which estimate the smoothing error, that is, the error resulting from use of carrier smoothing. The smoothing filter is equivalent to a signal block that provides the correct pseudorange with carrier noise only summed with the smoothing error Δe n  obtained by filtering white noise through a first order linear filter with a 100 second time constant. One complication is that there are M+1 independent noise contributions, one from each of the M ground receivers and one from the correction-data receiver in the landing unit. Under normal conditions all M noise contributions have been filtered long enough (about 200 seconds) to assure convergence before they are used in the Kalman filters. The process noise q e  added to the smoothing error states should correspond to the received σ pr     —     grd .  
         [0135]    The exemplary embodiment derives the process noise q e  as follows:  
               Δ                   e        (     k   +   1     )         =              -     T   τ            Δ                   e        (   k   )         +   w             (   53   )                               
 
         [0136]    The variance update is (q e =E[w 2 ])  
                 p   e          (     k   +   1     )       =                -   2          T   τ                p   e          (   k   )         +     q   e               (   54   )                               
 
         [0137]    In stationary (or slowly changing) conditions p e (k+1)≈p e (k), so that the process noise q e  is given by  
               q   e     =       (     1   -     e       -   2          T   τ           )          p   e               (   55   )                               
 
         [0138]    For the main filter, the noise variance is  
           p   e =σ pr     —     gnd   2 +σ pr     —     air   2   (56)  
         [0139]    And, for the subfilters, the noise variance is  
               p   e     =         M     M   -   1            σ     pr   -   gnd     2       +     σ     pr   -   air     2               (   57   )                               
 
         [0140]    When satellites are temporarily lost by the landing unit because of masking during maneuvers or interference, the exemplary embodiment restarts the smoothing filters. Generally, it will take up to 200 seconds before the satellite has converged in a standard LAAS. The filters of the exemplary embodiment will use the inertially propagated information and the other satellite measurements to restore the original accuracy. This mechanism will work regardless of how many satellites are lost. If all satellites are temporarily lost, the restoration is based entirely on inertially propagated information. Moreover, the integrity of guidance signal remains valid throughout this period.  
         [0141]    After completing the update indicated at block  424 , the process returns to block  402  to repeat the entire process loop shown in FIG. 4.  
         [0142]    In sum, the second embodiment provides a simple Kalman-filter extension of the first embodiment, which incorporates not only inertial data but also present and past GPS measurement and correction data into the position solution and protection limit calculations. The past data effectively substitutes for any unavailable pseudorange measurement data that would otherwise prevent calculation of the protection limit, enabling the processor to compute the protection limit without interruption.  
         [0143]    Moreover, the correction-data exclusion mechanism in the subfilters ensures that at least one subfilter, that is, subsolution, remains immune to failures or outages of ground receivers. Even if the failure occurs over a long time, the subfilter still provides a true reference for integrity monitoring. And, the incorporation of inertial data into the Kalman filters allows the landing unit to operate or coast through most, if not all, stemming from insufficient satellite or correction data.  
       Conclusion  
       [0144]    In furtherance of the art, the inventor has presented unique ground-augmented radio navigation systems and methods which address reliability and continuity shortcomings of conventional ground-augmented GPS navigation and guidance systems. In particular, one embodiment computes a position solution based on GPS satellites and uses correction data from ground receivers to develop one or more position subsolutions. Separations or differences between the position solution and subsolutions and subsolution error variances are used to determine accuracy or protection limits. Another embodiment follows a similar methodology using Kalman filtering techniques to incorporate past and present inertial data and correction date into the solution and subsolution computations, thereby facilitating continued reliance on the system during loss of satellite or correction data.  
         [0145]    Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. In particular, those in the art will recognize that a single processor could perform all the operations for implementing the invention or that multiple processors could share these operations. Moreover, the method itself could be divided over distinct functional unit other than those used for illustration here. Of course, other changes in form and detail are also within the spirit and scope of the invention as defined in the following claims.