[0023]Described herein are systems and techniques for directly estimating depleted or residual ionosphere delay and using the estimate for navigation in an aircraft. Before describing such systems and related techniques, some introductory concepts and terminology are explained.

[0024]Reference is sometimes made herein to systems and techniques which include filters. It should be appreciated, however, that in some embodiments filters are not required. For example, in one embodiment, a User Ionosphere Vertical Error (UIVE) value is derived from GIVE grid point data interpolation and user measurement error estimation. The UIVE value is then used to select a historically best set of IGDs for phase ambiguity estimation. Thus, in such an embodiment, the UIVE estimate is made and when it is determined that the UIVE estimate is at an acceptable value (or within an acceptable range of values) based upon historic data, that UIVE estimate is used to select the ambiguity estimate and no filter is required to provide the ambiguity estimate.

[0025]It should also be appreciated that in those systems and techniques which do utilize a filter, reference is sometimes made herein to particular types of filters or particular filtering techniques. For example, reference is sometimes made herein to the use of Kalman filters. It should be understood that reference to a specific type of filter (e.g. a Kalman filter) is not intended to be. and should not be, construed as limiting. Rather, such references are made merely to provide clarity in the description and to promote understanding of the broad concepts, systems and techniques disclosed herein.

[0026]It should thus be appreciated that references to Kalman filters are but one specific example of the inclusion of filters in general and that the general concepts, systems and techniques described herein which include filters are not limited to use with Kalman filters. After reading the description provided herein, those of ordinary skill in the art will understand how to select a particular type of filter to fulfill the needs and requirements of a particular application and those of ordinary skill in the art will also appreciate how to select particular filter characteristics to be used in a particular application.

[0027]Referring now to FIG. 1, a global positioning system (GPS) 10 includes a plurality of, here N, GPS satellites 12a-12N, a base station 14 (these are also plural), and a GPS user receiver 16. Satellites 12a-12N, which are in line-of-sight (LOS) with base station 14 and user receiver 16, communicate with the base station 14 and the receiver 16. Additionally, base station 14 is in communication with the user receiver 16. (The base stations and receiver may communicate through a geosynchronous satellite).

[0028]In general, GPS satellites circle Earth every 12 hours (twice per day). Receiver 16 may be disposed on a fixed platform or a moving platform (e.g., a vehicle such as an aircraft including, but not limited to, a civilian or a military aircraft). Thus, receiver 16 may be stationary or mobile. In either case, over a period of time, the position of receiver 16 changes relative to the position of each of the satellites 12a-12N.

[0029]The locations of GPS satellites 12a-12N are used as reference points to assist signal processing in order to determine the location of the user receiver 16. The satellites 12a-12N are a subset of a total of “M” GPS satellites (where N

[0030]There are two types of PRN codes. One code is called a Coarse Acquisition (C/A) code and one code is called a Precise (P) code. The C/A code, intended for civilian use, modulates the L1 carrier at a rate of 1.023 MHz and repeats every 1023 bits. The P code, intended for military use, repeats on a seven-day cycle and modulates both the L1 and L2 carriers at a 10.23 MHz rate. When the P code is encrypted, it is called the “Y” code. Additionally, the Nav message is a low frequency signal added to the PRN codes that gives information about the satellite's orbit, clock corrections and other system status information.

[0031]Satellites 12a-12N may include other existing satellite navigation systems satellites, such as, for example, Wide Area Augmentation System (WAAS) satellites developed by the Federal Aviation Administration (FAA) and the Department of Transportation (DOT) or Galileo satellite radio navigation system satellites, an initiative launched by the European Union and the European Space Agency. Without loss of generality, the system 10 may incorporate GPS codes, or codes of other satellite navigation system signals, if available, e.g., an integrated GPS-Galileo user receiver.

[0032]Some satellites that broadcast correction data for the Wide Area Augmentation System (WAAS) may be in geostationary orbits above the equator. WAAS uses a network of ground-based stations that compare their precisely known location with locations calculated from GPS satellite signals. Differences found can be used to create correction data that is broadcast from WAAS satellites. WAAS can help correct for error caused by distortion of GPS signals as they pass through the ionosphere as well as clock and orbital variations associated with individual GPS satellites.

[0033]Base station 14 includes a stationary receiver located at an accurately surveyed point. Base station 14 receives the GPS satellite ranging signals from each of the satellites 12a-12N. As each GPS satellite ranging signal is received by base station 14 and user receiver 16, the satellite signals may be adversely affected by passing through ionosphere depletion (or other distortion) zones. The base stations assemble all their corrected ranging data to all visible satellites and estimate the ionosphere delays over an area or a volume of space in the form of grid points (ionosphere grid points, or IGPs) and uplink them to the user receiver through a geosynchronous satellite. The difference of the ionosphere delay at the user receiver between the one predicted by the grid points and the true delay of the user is defined as the residual ionosphere delay, and the residual may or may not include the depletion.

[0034]Receiver 16 searches within a search space region based upon the base-station-location data and acquires simultaneously one or more of the satellite codes (i.e., PRN codes) from the satellites 12a-12N in view of user receiver 16. Additionally, user receiver 16 may acquire simultaneously all of the satellite ranging codes from all of the satellites in view of the user receiver 16 in order to coherently combine, such as summing, received satellite codes and to detect therefrom a probable location of user receiver 16. User receiver 16 combines, or sums, a power output of each of received GPS ranging signals at each of the plurality of grid point locations within the predetermined geographic area, to determine a maximum power output value.

[0035]As mentioned above, the satellite signals may be adversely affected by ionosphere conditions. In particular, near the equator, the existence of depletion zones adversely affects the ability of receiver 16 to determine a position with a required or desired degree of accuracy. In this case, receiver 16 includes a depletion estimation processor that continuously estimates ionospheric delay during flight for each measured satellite regardless of bubble or scintillation distortion. By continuously estimating ionospheric delay during flight for each measured satellite regardless of bubble/scintillation, receiver 16 is able to determine a location with a required or desired degree of accuracy. As will become apparent from the description hereinbelow, receiver 16 continuously tracks/estimates ionospheric delay and phase ambiguity during flight and follows depletion/scintillation for each visible satellite with an optimal filter. One of satellites 12a-12N with which receiver 16 are not presently communicating, but with which receiver 16 will be communicating due to change in a position of receiver 16 and/or a change in satellite position, can be initialized using existing user position data.

[0036]Referring now to FIG. 2, a GPS receiver 30 which continuously estimates ionospheric delay during flight for each measured satellite regardless of bubble/scintillation includes a depletion detector 32 which receives code range (CR) and phase measurement signals 34 from satellites 12a-12N. It should be appreciated that to promote clarity in the drawing and text, only a single a set of measurements (PRN1), are shown in FIG. 2. Those of ordinary skill in the art will appreciate of course that receiver 16 receives and processes N such measurements (i.e., PRN1 through PRNN), in a manner known as multi-PRN processing. Additionally, depletion detector 32 receives range rate and Doppler measurements 36. Depletion detector receives the signals 34, 36 provided thereto and looks at the time progress of the measurements. The onset and ending of depletion can be detected by sensing sudden drop and rise, respectively, of the scalar measurement (i.e., the linear combination of code range, phase and IGP prediction).

[0037]Output signals from depletion detector 32 and ionosphere grid point (IGP) values 38 uploaded from a ground station (e.g., ground station 14 in FIG. 1) are combined in a combiner 40 to provide a series of values to a time averaging processor 42. Time averaging processor 42 averages the phase ambiguity, which is a linear combination of code range, phase measurement, and IGP prediction provided thereto over time. If depletion detector 32 identifies any depletion, then processor 42 may decide to disregard the measurement or re-start the averaging. As noted above, IGP values are used by the receiver to estimate the baseline ionosphere delay to each satellite without the corruption of the depletion, which is temporary (i.e., it appears and disappears over time).

[0038]The output of time averaging processor 42 is fed to a phase ambiguity processor 44 to generate initialization phase ambiguity data, which is stored in initialization storage 46. A time in the range of about 10 minutes to about 120 minutes is typically required to generate initialization values. Initialization values are then provided to a smoothing filter 50.

[0039]In one embodiment, smoothing filter 50 is provided as three-state Kalman filter with the three states corresponding to ionospheric residual delay, ionospheric residual delay rate and phase ambiguity. While Kalman filters are known to be particularly effective for smoothing oscillations, it should, of course, be appreciated that any type smoothing filter can also be used.

[0040]Filter 50 provides a filter estimate 51 to a combiner 48 which combines filter estimates with IGP values 38 and provides the result to a phase ambiguity and ionospheric delay processor 52. Phase ambiguity and ionospheric delay processor 52 processes the filter estimates and baseline delay from IGP prediction to estimate total ionosphere delay and true phase (ambiguity and phase measurement), which together give an accurate range estimate to each GPS satellite.

[0041]Output signals 53 (corresponding to signals PRN1-PRNN) from the corresponding phase ambiguity and ionospheric delay processors 52 (with only one phase ambiguity and ionospheric delay processor 52 being shown for clarity) are provided to a receiver autonomous integrity monitor (RAIM)/position computation and smoothing processor 54. It should be appreciated that RAIM/position computation and smoothing processor 54 receives all of the signals PRN1-PRNN (i.e., one signal from each of the N satellites). RAIM/position computation and smoothing processor 54 processes each of the signals (e.g., performs triangulation computation) to provide an output signal 55 corresponding to a position (location) of the receiver 30. RAIM is well understood by those skilled in the art. In general, RAIM takes out bad satellites in the formulation of the NAV position solution, i.e., it provides further filtering of corrupted measurements due to depletion or other reasons. Thus, with multiple satellites, a user position is estimated and smoothed with a filter 50 and user position is constantly smoothed and predicted by RAIM/position computation and smoothing processor 54, which is used when a measurement gap occurs due to scintillation or signal fading.

[0042]RAIM/position computation and smoothing processor 54 also provides signals 58 (corresponding to signals PRN1-PRNN) to a Code Range (CR)/Phase pseudo truth processor 60. CR/Phase pseudo truth processor also receives orbit data 62. If the receiver loses its measurement inputs (e.g., due to scintillation) then values from CR/Phase pseudo truth processor 60 can be used to re-initialize filter 50 immediately after measurements resume. By combining position prediction and orbit data in a pseudo truth processor, pseudo truth of code range and phase (range to satellite) values can be obtained. These values can be used to initialize the phase ambiguity element of filter 50 state vector when measurement resumes. Thus, ionospheric delay estimation can begin immediately without waiting for a long averaging process, such as the slower averaging process used in prior art systems. The pseudo truth processor 60 can also be used to check filter error and bound the error. Optionally, the pseudo truth processor can also be coupled to the depletion detector 32.

[0043]Also optionally, a local area augmentation system (LAAS) may be used to provide very accurate position data 64 to CR/Phase pseudo truth processor 60 to provide initialization information to filter 50 via the CR/Phase pseudo truth processor 60. This technique allows bypassing the averaging process used in prior art systems and allows ionospheric delay estimate to begin at the airport before takeoff. The LAAS position data is used in lieu of the position data from the RAIM/position smoothing processor 52.

[0044]Techniques for initialization of filter 50 are next described. The ionosphere delay problem may be expressed mathematically as:

p−φm=®′+2I [0045] where [0046] p=code pseudorange [0047] φm=phase measurement transformed to distance [0048] φ′=phase ambiguity transformed to distance [0049] I=ionosphere delay.

[0050]The quantities on the right side above are unknown but with I changing constantly and the phase ambiguity staying constant in time. This fact of different temporal characteristics of the two unknown quantities results in a powerful estimation algorithm, as implemented in the present invention and described below.

[0051]To minimize the amplitude of the quantity that we are estimating, we break the delay into the IGP estimate and the residual error (delta I) as shown below:

p−φm−φ′+ε(p−φ)=2(I+κI)

[0052]where

[0053]p=code pseudo range

[0054]φ′=phase ambiguity=constant until cycle slip

[0055]φm=measured phase converted to range=phase modulo λ+integrated Doppler

[0056]IS=interoplation estimate from IGP's

[0057]δI=residual error of the IGP's.

[0058]The aim is to estimate delta I and the phase ambiguity. The estimate can be done with a simple Kalman filter as shown below.

z k = measurement = p k - φ k - 2 I x k = state = ( δ I k δ I k Y ′ φ k ′ ) Φ = state transition = ( 1 dt 0 0 1 0 0 0 1 ) z k = H · x k + ɛ H = ( 2 , 0 , 1 ) R = measurement variance = σ 2 ( p - φ ) = σ 2 ( p ) + σ 2 ( φ ) Q = dynamic noise = ( q 1 0 0 0 q 2 0 0 0 q 3 ) x ^ k = Φ x _ k - 1 P ^ k = Φ P _ k - 1 Φ T + Q K k = P ^ k H T ( H P ^ k H T + R ) - 1 x _ k = x ^ k + K k ( z k - H x ^ k ) P _ k = P ^ k - K k H P ^ k

[0059]where “̂” denotes prediction and “” denotes smoothed estimate.

[0060]In a first initialization technique, the Kalman filter state initialization can be accomplished using a prior art technique of eliminating depletion-affected measurements. Although this technique can be somewhat time-consuming (e.g., typically in the range of about 10 minutes to about 120 minutes), since the initialization is done only once, the system can take time and weed out depletion affected measurements and do averaging over a long time to obtain a good estimate of the initial phase ambiguity from the IGPs. Then, the initial filter state is:

x _ 1 ≈ ( 0 0 φ 0 ′ )

[0061]A second initialization technique may be done at an airport. Since the aircraft is stationary and its GPS antenna position at the gate can be known precisely, the phase ambiguity can be calculated which becomes the initialization state of the Kalman filter.

[0062]In a third initialization technique, initialization for the satellite rising above the horizon to come in view of the user can be done either from the current position of the aircraft or using the first technique described above.

[0063]The Kalman filter can also be constructed on the rates as follows.

{dot over (p)}−{dot over (φ)}=2δİ+ε [0064] where [0065] φ=Doppler [0066] {dot over (p)}=can be obtained from differencing the two consecutive frames.

[0067]Thus, we have:

δ I . k = 0.5 ( p k - p k - 1 dt - φ . k + φ . k - 1 2 ) for k 0 δ I . 0 = 0 δ I . k dt = 0.5 ( p k - p k - 1 - ( φ . k + φ . k - 1 ) dt 2 ) δ I k = ∑ j = 0 k δ I . k dt + I 0 [0068] where [0069] I0=initial calibration.

[0070]To perform the above estimate optimally, the following Kalman filter is established.

z k = measurement = 0.5 ( p k - p k - 1 dt - φ . k + φ . k - 1 2 ) x k = state = ( δ I k δ I . k ) Φ = state transition = ( 1 dt 0 1 ) z k = H · x k + ɛ H = ( 0 , 1 ) R = measurement variance = 0.25 ( 2 σ 2 ( p ) dt 2 + 0.5 σ 2 ( φ . ) ) Q = dynamic noise = ( q 1 0 0 q 2 ) x ^ k = Φ x _ k - 1 P ^ k = Φ P _ k - 1 Φ T + Q K k = P ^ k H T ( H P ^ k H T + R ) - 1 x _ k = x ^ k + K k ( z k - H x ^ k ) P _ k = P ^ k - K k H P ^ k

where “̂” denotes prediction and “” denotes smoothed estimate.

[0071]It should be appreciated that FIG. 2 illustrates an exemplary embodiment of the concepts described herein. Furthermore, in embodiments in which a three-state Kalman filter is used, the initialization of the Kalman filter can be accomplished using one of the techniques described above. It should, however, be appreciated that initialization techniques other than those described below may also be used.

[0072]Referring now to FIGS. 3A and 3B, simulation results for estimating depleted ionosphere delay and using the estimate for navigation are shown. The system assumptions were: (1) code pseudo range error RMS=5 m (excluding Ionospheric delay); (2) phase measurement error RMS= 1/10th of wavelength=0.2 picoradians (prad); (3) measurement sampling time (frame rate)=20 msec; (4) initial range to satellite=24000 km; (5) range rate=−3 km/sec; (6) range acceleration=100 m/sec/sec; (7) ionosphere delay (scintillation)=5.1 nsec delay amplitude with 17 min period+slight downward trend; (8) phase ambiguity=125052631 of wavelength; (9) L1 single frequency; and (10) initial fifty (50) frame averaging of the measurements (z) for the ambiguous phase initialization.

[0073]As is evident from inspection of FIGS. 3A and 3B, the system and technique described herein provides better accuracy against the noisy measurements. The RMS error of the Kalman filter is only 0.04 m when the measurement noise RMS is 5 m as indicated by the second graph.

[0074]FIG. 4 is a flow diagram showing the processing performed to estimate depleted ionosphere delay and use the estimate for navigation.

[0075]The rectangular elements (typified by element 70 in FIG. 4) are herein denoted “processing blocks” and may represent computer software instructions or groups of instructions. It should be noted that the flow diagram of FIG. 4 represents one embodiment of the design and variations in such a diagram, which generally follow the process outlined are considered to be within the scope of the concepts described and claimed herein.

[0076]Alternatively, the processing and decision blocks represent operations that may be performed by functionally equivalent circuits such as a digital signal processor circuit or an application specific integrated circuit (ASIC) of a field programmable gate array (FPGA). The flow diagrams do not depict the syntax of any particular programming language. Rather, the flow diagrams illustrate the functional information one of ordinary skill in the art requires to fabricate circuits or to generate computer software to perform the processing required of the particular apparatus. It should be noted that many routine program elements, such as initialization of loops and variables and the use of temporary variables are not shown. It will be appreciated by those of ordinary skill in the art that unless otherwise indicated herein, the particular sequence described is illustrative only and can be varied without departing from the spirit of the concepts described and/or claimed herein. Thus, unless otherwise stated, the processes described below are unordered, meaning that (when possible) the sequences shown in FIG. 4 can be performed in any convenient or desirable order.

ALTERNATE EMBODIMENTS

[0077]As shown in FIG. 5, user autonomous navigation when the ground data are bad (DO NOT USE FLAG positive) or when in depletion (DEPLETION FLAG positive) may be accomplished by freezing the phase ambiguity estimation obtained from the phase ambiguity average with IGP module 510, which averages a combination of the user measurements and the ground IGPs. The user is autonomous from the ground during this time. Here, when a phase lock slip occurs (detected in slip detector 520), the embodiment shown here uses the ionosphere delay estimate from the prior time to compute the phase ambiguity in phase ambiguity selection processor 530 without waiting for the new averaging process output.

[0078]As in FIG. 2, the receiver 500 of FIG. 5 has a depletion detector 540 that receives code range (CR) and phase measurement signals 545 from satellites 12a-12N (not shown). As before, only a single a set of measurements (PRN1), are shown for clarity of illustration. Depletion detector 540 receives the code range and phase measurements and the slip detection information from slip detector 520. In an exemplary embodiment, depletion detector 540 determines the onset and ending of depletion in a manner similar to that employed in depletion detector 32 of FIG. 2.

[0079]Output signals from depletion detector540 and ground ionosphere estimates (for example, but not limited to, IGPs) 550 are provided to time averaging processor 555. Time averaging processor 555 averages the phase ambiguity, which is a linear combination of code range, phase measurement, and IGP prediction provided thereto over time. If depletion detector 540 identifies any depletion (which is signaled by raising the Do Not Use flag for any measurement where depletion is detected), then processor 555 may decide to disregard the measurement or re-start the averaging.

[0080]The output of time averaging processor 555 is fed to a phase ambiguity processor 557 to generate phase ambiguity data, which is sent to phase ambiguity selection processor 530. Phase ambiguity is detected according to:

PhaseAmbiguity=avg[PR1(t)−CP1(t)−2*I′(t)]

wherein: [0081] PR1(t)=pseudo range measurement for PRN1; [0082] CP1(t)=carrier phase measurement for PRN1; [0083] I′=delay estimate from IGPs; and [0084] avg[ ]=time average during the depletion/slip free period.

[0085]It should be appreciated that in one embodiment, the minimum averaging time is in the range of about 0 minutes to about 15 minutes.

[0086]Phase ambiguity may also be expressed as:

PhaseAmbiguity=avg[PPR(t)−CP1(t)]

immediately after slip until the IGP averaging function described above becomes available, where PPR=predicted pseudo range.

[0087]The selected phase ambiguity value is then provided to ionospheric tracker 560. Note that the phase ambiguity averaging and ionospheric tracker loops run continuously. The ionosphere tracker tracks the ionospheric delay. In one exemplary embodiment, ionosphere tracker 560 may include a filter having a characteristic transfer function described as:

Z(t)=(PR1(t)−CP1(t)−PhaseAmbiguity)/2=input to tracker

where all phases are range transformed. I(t), the ionospheric delay as a function of time, is then expressed as:

I(t)=w1(t)*Z(t)+w2(t)*[I(t−dt)+CP1(t)−CP1(t−dt)]w1+w2=1

where w1(t) and w2(t) are the filter weighting functions over time.

[0088]As noted above, at initialization or after a cycle slip, predicted pseudo range (PPR) from pseudo truth block 565 is used to compute phase ambiguity. When the phase ambiguity from averaging becomes available after slip (or after warm up), the averaging output from phase ambiguity processor 557 is used.

[0089]Output bounding module 570 bounds the user ionospheric delay estimate I from ionospheric tracker 560 as follows:

Ground Estimate−T1 T1 (T1=5)

(PPR−PR1)−T2 PPR−PR1)+T2 (T2=8)

wherein

[0090]PPR=predicted pseudo range;

[0091]PR1=pseudo range measurement for PRN1;

[0092]T1=threshold 1

[0093]T2=threshold 2.

[0094]Data selector 580 determines which ionospheric delay information to use. If the number of satellites with depletion flag off is greater than or equal to (>=) the minimum number of satellites needed (referred to herein as T3), then data selector 580 only uses the Ground Estimates from the IGPs. If the number of satellites with depletion flag off is less than T3 (i.e., not enough satellites are available), data selector 580 will use only the PRNs with depletion flag off plus the solutions from ionospheric tracker 560 until T3 is satisfied. Ionospheric tracker 560 solution ranking is according to smallest ABS(I) and elevation angle. If more than enough satellites are available, RAIM 54 performs chi square consistency testing among the satellites used.

[0095]Pseudo truth block 565 maintains the predicted pseudo range based on user position and orbit data for each viewed satellite. The predicted pseudo range is expected to be depletion free.

[0096]In another alternate embodiment, the user's autonomous mode is further expanded, i.e., the user is expected to be autonomous most of the time unless a more accurate ground update occurs as described below. As shown in receiver 600 of FIG. 6, the additional information from the ground (the Grid Ionosphere Vertical Error [GIVE]), which is an estimate of the accuracy of the Ionosphere Grid Delay [IGD]) is used to determine the ground ionosphere estimates from the IGPs in a ground ionosphere estimate module 610 before applying them to a phase ambiguity estimation in the phase ambiguity in IGP processor 615. More specifically, the User Ionosphere Vertical Error (UIVE), derived from the GIVE grid point data interpolation and the user measurement error estimation (the two can be combined via root-sum-squared technique, for example), is used by data selection module 620 to select the one historically best set of IGDs for the phase ambiguity estimation with the condition that there is no depletion detected (Depletion Flag negative) during approximately plus or minus 5 to 10 minutes around the time of the IGD uplink. The formula used for the ambiguity estimation is:

ΦAMB=pr−cp−2Ig [0097] where [0098] pr=pseudo range measurement [0099] cp=carrier phase measurement [0100] Ig=estimate (interpolation) of user delay from four surrounding IGDs.

[0101]The UIVE is obtained from four surrounding GIVE grid points in the same way as the Ig. Thus, the UIVE is the figure of merit in applying the IGDs to the phase ambiguity estimate.

[0102]in this exemplary embodiment, measurement averaging is not necessary and the best phase ambiguity and its corresponding lowest UIVE are stored in memory 625 until a lower UIVE arrives from the ground update, at which time the phase ambiguity is updated and the memory is updated with the new data set. Meanwhile, the current best phase ambiguity is always used to estimate the user ionosphere delay (ionosphere estimate module 630) using the formula:

I = pr - cp - Φ AMB 2 [0103] where [0104] I=user ionosphere delay.

[0105]Furthermore, the application of the new best phase ambiguity to the user ionosphere delay computation can be time delayed (typically about 5-10 minutes) to allow for the depletion detector's detection latency. During this time delay (the waiting period), the old phase ambiguity estimate is used. If depletion is detected during this waiting period, then the new phase ambiguity is discarded in favor of the old one.

[0106]The phase ambiguity selection function 625 remains essentially the same as that discussed above: it stores the current user delay estimate and re-computes the phase ambiguity with the new pseudo range and phase measurements immediately after the cycle slip with as per the following formula:

ΦAMB=pr−cp−2Iold [0107] where [0108] pr=pseudo range measurement after slip [0109] cp=carrier phase measurement after slip [0110] Iold=user delay prior to slip.

[0111]This phase ambiguity is used until the new and better estimate arrives from the phase ambiguity with IGP processor 615.

[0112]Having described preferred embodiments that serve to illustrate various concepts, structures and techniques, which are the subject of this patent, it will now become apparent to those of ordinary skill in the art that other embodiments incorporating these concepts, structures and techniques may be used. Accordingly, it is submitted that that scope of the patent should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the following claims.