Satellite navigation receiver for relative positioning with bias estimation

A tracking module processes the determined correlations to track a carrier of the received composite signal for estimation of a change in phase over a time period between a receiver antenna and one or more satellite transmitters that transmit the received signal as the receiver changes position with respect to an initial position during the time period. A relative position estimator estimates the relative position of the navigation receiver with respect to an initial position over the time period time by time-differencing of the phase measurements of the one or more tracked carrier signals. Bias estimators can estimate or compensate for errors in initial position and temporal changes in receiver clock and tropospheric delay.

FIELD OF THE DISCLOSURE

This disclosure relates to a satellite navigation receiver for relative positioning with bias estimation.

BACKGROUND

In some prior art, a satellite navigation receiver may use relative positioning techniques to estimate the position of receiver. Initial bias in the position of the receiver can degrade the accuracy of both a relative positioning engine and an absolute positioning engine. For example, in some prior art, a satellite navigation receiver may be unable to derive an accurate absolute position estimate from a relative positioning engine without a known initial position or initial position bias compensation. In certain prior art, relative positioning engines may lack the capability to estimate or compensate for bias in position estimates associated with atmospheric (e.g. tropospheric) delay between a satellite and a receiver, or bias between a satellite clock and a receiver clock.

Carrier-phase-based time differencing can provide highly precise position results. However, in certain prior art, carrier-phase-based time differencing can only be used for limited time periods because error growth over longer time periods tends to degrade accuracy of the position results. Within limited time periods, the following assumptions to position estimation can apply: (a) some atmospheric error sources cancel by virtue of the time differencing; (b) the satellite orbit and clock errors vanish; and (c) some changes in the set of visible satellites over time can be ignored. Carrier-phase-based time differencing presents challenging technical problems over time periods greater than the limited time periods because atmospheric and clock errors are not easily modeled or estimated, and tracking changes in visible satellites over time is complex.

Accordingly, there is a need for a satellite navigation receiver with bias estimation or compensation for a relative position estimate that is independent of convergence of a precise position solution and able to operate over arbitrarily long time intervals without suffering from large position drift.

SUMMARY

In one embodiment, a satellite navigation receiver comprises a receiver module (e.g., receiver front-end module) for receiving a set of one or more carrier signals from satellite transmitters. The receiver or a measurement module is configured to determine correlations of each carrier signal in the set to a local reference carrier signal or signals. The receiver or a tracking module is arranged to process the determined correlations to track one or more carrier signals for estimation of respective changes in phase measurements over time between a receiver antenna and one or more satellite transmitters that transmit the received signal as the receiver changes position with respect to an initial position. A relative position estimator estimates the change in position of the navigation receiver with respect to the initial position over the time period time by time-differencing of the phase measurements of the one or more tracked carrier signals. The relative position estimator models or estimates one or more biases selected from the group comprising: a bias in the initial position (e.g., initial position bias) of the receiver, a receiver clock bias with respect to a reference time of one or more satellite clocks (e.g., temporal change in receiver clock bias over time with respect to the reference time), or atmospheric propagation delay bias between a receiver and a respective satellite (e.g., a temporal change in atmospheric propagation delay bias over time between the receiver and the respective satellite). In one embodiment, the receiver or relative position estimator can compensate for one or more of the biases to provide a compensated relative position of the receiver (e.g., or to derive an absolute position in certain embodiments).

DETAILED DESCRIPTION

In accordance with one embodiment,FIG. 1Adiscloses a system or receiver11(e.g., satellite navigation receiver) capable of reception of received signals that comprise one or more carrier signals (e.g., a first carrier (L1), a second carrier (L2) and a third carrier (L5) of Global Positioning System (GPS)) transmitted by satellites. The received signal is transmitted from one or more satellites, such as a navigation satellite, or such as a Galileo-compatible navigation satellite, (Russian Global Navigation Satellite System) GLONASS satellite, or Global Positioning System (GPS) satellite. The satellites have known orbital positions versus time that can be used to estimate the position between an antenna17of the receiver11and each satellite based on the propagation time of one or more received signals between the four or more satellites and the antenna17of the receiver11.

As used in this document, “CD” shall refer to code and “CR” shall refer to the carrier of the received signal or a digital representation of one or more samples of the received signal. The code comprises a modulating code (e.g., pseudo-random noise code modulated with information) that modulates the carrier. “I” shall refer to an in-phase signal, whereas “Q” shall refer to a quadrature phase signal.

In any of the above referenced drawings of this document, any arrow or line that connects any blocks, components, modules, multiplexers, memory, data storage, accumulators, data processors, electronic components, oscillators, signal generators, or other electronic or software modules may comprise one or more of the following items: a physical path of electrical signals, a physical path of an electromagnetic signal, a logical path for data, one or more data buses, a circuit board trace, a transmission line; a link, call, communication, or data message between software modules, programs, data, or components; or transmission or reception of data messages, software instructions, modules, subroutines or components.

In one embodiment, the system, method and receiver (e.g.,11or111) disclosed in this document may comprise a computer-implemented system, method or receiver in which one or more data processors (e.g.,159) process, store, retrieve, and otherwise manipulate data via data buses (e.g.,157) and one or more data storage devices (e.g., accumulators or memory, such as155) as described in this document and the accompanying drawings. As used in this document, “configured to, adapted to, or arranged to” mean that the data processor or receiver (e.g.,11or111) is programmed with suitable software instructions, software modules, executable code, data libraries, and/or requisite data to execute any referenced functions, mathematical operations, logical operations, calculations, determinations, processes, methods, algorithms, subroutines, or programs that are associated with one or more blocks set forth inFIG. 1A,FIG. 1Band/or any other drawing in this disclosure. Alternately, separately from or cumulatively with the above definition, “configured to, adapted to, or arranged to” can mean that the receiver (e.g.,11or111) comprises one or more components described herein as software modules, equivalent electronic hardware modules, or both to execute any referenced functions, mathematical operations, calculations, determinations, processes, methods, algorithms, subroutine.

Precise point positioning (PPP) means the use of precise satellite orbit and clock corrections provided wirelessly via correction data, rather than normal satellite broadcast information (ephemeris data) that is encoded on the received satellite signals, to determine a relative position or absolute position of a mobile user satellite navigation receiver. PPP uses correction data that is applicable to a wide geographic area or based on a network of reference satellite receiver stations via a correction wireless device. PPP may be used without one or more local reference satellite receiver stations to provide local differential corrections (e.g., real time kinematic or RTK corrections) to the mobile receiver via a correction wireless device. Although the resulting positions can be accurate within a few centimeters using state-of-the-art algorithms, conventional precise point positioning can take a long convergence time of up to tens of minutes to determine the ambiguity integer or floating ambiguity value to achieve the purported (e.g., advertised) steady-state accuracy; hence, such long convergence time is typically a limiting factor in the applicability of PPP. Here, the method and receiver of this disclosure does not aim to improve the convergence time of PPP. However, the receiver or method of this disclosure comprises a relative position estimator that can achieve steady-state level precision for relative position prior to or independent of convergence or determination of an ambiguity integer or accurate floating ambiguity value of any associated precise position estimator of the receiver.

In accordance with the embodiment ofFIG. 1A, the receiver11comprises a receiver front-end module10coupled to an electronic data processing system129. Further, a correction wireless device44(e.g., transceiver or receiver) may provide correction data or differential correction data to enhance accuracy of the position estimates provided or estimated by the receiver11.

In one embodiment, the receiver front-end module10comprises a radio frequency (RF) front end12coupled to an analog-to-digital converter14. The receiver front-end module10or the RF front end12receives a set of carrier signals from one or more satellite transmitters on satellites. The analog-to-digital converter14converts the set of carrier signals into digital signals, such as digital baseband signals or digital intermediate frequency signals for processing by the electronic data processing system129.

In one embodiment, the electronic data processing system129comprises a baseband processing module18(e.g., baseband/intermediate frequency processing module) and a navigation positioning estimator30. For example, the baseband processing module18and the navigation positioning estimator30may be stored in a data storage device155.

In one configuration, the baseband processing module18comprises a carrier phase measurement module151, a code phase measurement module153, or both (e.g., measurement module161). The carrier phase measurement module151facilitates the measurement of carrier phase of one or more carrier signals received by the receiver11. Similarly, the code phase measurement module153supports the measurement of code phase of one or more code signals that modulate the carrier signals received by the receiver11.

The navigation positioning estimator30can use the carrier phase measurements, the code phase measurements or both to estimate the range between the receiver (11or111) and one or more satellites, or the position (e.g., three dimensional coordinates) of the receiver with respect to one or more satellites (e.g., four or more satellites). The code phase measurements or carrier phase measurements can be converted from propagation times, between each satellite and the receiver (11or111) that is within reception range of the receiver, to distances by dividing the propagation time by the speed of light, for example.

In the electronic data processing system129, the data storage device155is coupled to a data bus157. An electronic data processor159may communicate with the data storage device155and the correction wireless device44via the data bus157. As used throughout the document the data processor (e.g.,159) may comprise one or more of the following: an electronic data processor, a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), digital signal processor (DSP), a programmable logic device, an arithmetic logic unit, or another electronic data processing device. The data storage device155may comprise electronic memory, registers, shift registers, volatile electronic memory, a magnetic storage device, an optical storage device, or any other device for storing data.

The receiver ofFIG. 1Bis similar to the receiver ofFIG. 1A, except the receiver ofFIG. 1Bshows illustrative details of one embodiment of the baseband processing module18and the navigation positioning estimator30. Like reference numbers indicate like elements or features inFIG. 1AandFIG. 1B.

In accordance with one embodiment,FIG. 1Billustrates a receiver111that comprises an analog receiver portion13coupled to a digital receiver portion15. The analog receiver portion13comprises an antenna17, and a receiver front-end module10. The receiver111receives a received signal that comprises one or more carrier signals. The digital receiver portion15includes that portion of the receiver that processes data after the analog-to-digital conversion by the analog-to-digital converter14(ADC or ND converter). For example, the digital receiver portion15can comprise a receiver data processing system29. The receiver data processing system29is analogous to the electronic data processing system129ofFIG. 1A, which comprises an electronic data processor159, a data storage device155(e.g., electronic memory) and a data bus157for communication between the electronic data processor159and the data storage device155, where software instructions and data are stored in the data storage device155and executed by the data processor to implement any of the blocks, components or modules (e.g., electronic modules, software modules, or both) illustrated inFIG. 1AandFIG. 1B. The receiver (11,111) may comprise a location-determining receiver for: (a) determining a position (e.g., relative position or change in relative position from an initial time to an observation time, or absolute position) of a receiver antenna17(e.g., as the receiver moves over time), (b) a range-determining receiver for determining a range or distance between the receiver antenna17and a satellite (e.g., satellite antenna) or (c) determining ranges between the receiver antenna17and one or more satellites. Each position may be defined as a point or coordinates in two or three dimensions at a given time. The estimated position of the receiver (11,111) may represent a change in position over time or an absolute position of the receiver with respect to reference coordinates or real world coordinates.

In one embodiment, a receiver front-end module10and the radio frequency (RF) front end12receives the received signal at antenna17. In one embodiment, the RF front end12comprises an amplifier, a down-conversion mixer, and a local oscillator, although other configurations are possible. For example, the amplifier comprises radio frequency (RF) or microwave amplifier (e.g., low noise amplifier) that is coupled to the antenna17for receiving the received signal that is transmitted from one or more satellites. The amplifier provides an amplified signal to the down-conversion mixer as a first input. The local oscillator provides a signal to the down-conversion mixer as a second input. The down-conversion mixer moves or lowers the signal spectrum of the received signal from RF to an intermediate frequency (IF) or baseband frequency. The down-conversion system may include one or more mixing, amplifying, and filtering stages.

The output of the down-conversion mixer or the output of the RF front end12is coupled to an analog-to-digital converter14(ADC). The ADC14converts the analog intermediate frequency signal or analog baseband signal to a digital signal. The digital signal comprises one or more digital samples that are available at a sampling rate. Each sample has a finite quantization level and each sample is capable of being processed by an electronic data processing system (129,29) or digital receiver portion15.

In one embodiment, the output of the receiver front-end module10is inputted to an optional digital interface16. The optional digital interface16is indicated as optional by the dashed lines that represent the block ofFIG. 1B. The optional digital interface16may comprise buffer memory that temporarily stores the output of the analog-to-digital converter14for processing by the digital receiver portion15or a digital filter that filters one or more down-converted carrier signals. For example, the digital filter may comprise a band-pass filter that provides a filtered L1 carrier signal, a filtered L2 carrier signal, and filtered L5 carrier signal.

The digital signal outputted by the ADC14is fed into the baseband processing module18or the carrier wipe-off module23. In one embodiment, the carrier wipe-off module23converts the digital samples of digital signal to an exact baseband digital signal representation by removing the residual CR frequency. The carrier signal generator28(e.g., numerically controlled oscillator (NCO) module) provides a local estimation of CR phase to each digital sample, which is used to remove the residual CR frequency and phase in the sample. In one embodiment, the carrier wipe-off module23outputs I and Q components of the digital signal for input into a set of correlators20.

An output of the carrier wipe-off module23is fed into a bank or set of correlators20or correlator modules. In one embodiment, there is at least one correlator20or correlator module per received channel or each carrier of the received signal, where each satellite within a set of satellites may transmit at least one channel or carrier. In one embodiment, the set of correlators20may comprise a code wipe-off portion and an integration-and-dump module. In one embodiment, the set of correlators20and the code signal generator24(e.g., code numerically controlled oscillator) comprises a code wipe-off module.

In one embodiment, the set or bank of correlators20has multiple outputs that are used to synchronize the local CD phase, CR frequency, and CR phase estimation with the received samples. For example, each correlator20comprises one or more of the following modules: a CD wipe-off portion, one or more integration-and-dump modules, one or more multipliers or mixers.

As used in this document, a module may comprise hardware, software, or both. In one embodiment, each correlator20maximizes a correlation between the received signal with a locally generated code by synchronizing the locally generated CD phase with the CD phase in digital sample or digital signal. Further, multiple locally generated CD signals (e.g., early, prompt and late CD signals) are used to form a corresponding CD misalignment signal using various discriminator functions.

A code signal generator24(e.g., numerically controlled oscillator) generates a locally generated replica of a pseudo random noise code, a pseudo noise (PN) code sequence, or the like. The code signal generator24may be associated with a shift register or another device to provide multiple outputs that are offset in time or phase with respect to each other. For example, the code signal generator24has an early output, a prompt output and a late output that are provided to the set of correlators20. “E,” “P,” and “L” shall mean early, prompt and late, respectively. The early output provides an early PN code that is advanced against the current estimated code phase by a known time period (e.g., one chip); the prompt output provides a prompt PN code that reflects the current estimated code phase; the late output provides a late PN code that is delayed in time with respect to the prompt PN code by a known time period (e.g., one chip). If correlations are available between the received signal and the early, prompt and late variants of the locally generated replica of the received signal, the receiver (11or111) may adjust the phase and time delay (e.g., via shift registers) of the locally generated replica in an attempt to maximize correlation, for example.

In one embodiment, the code signal generator24may comprise any generator for generating a spread spectrum code, spread spectrum sequence, binary sequences, Gold codes, PN code, a pseudo-random noise code sequence, or a PN code that is similar to a spread spectrum code, spread spectrum sequence, binary sequences, Gold codes, pseudo-random noise code, pseudo-random noise code sequence, or a PN code transmitted by a transmitter of a satellite for reception by the receiver (11or111) as the received signal (e.g., one or more carrier signals modulated with the PN code). In another embodiment, the code signal generator24may be formed of series of shift registers that are loaded with an initial starting code sequence, where the shift registers have various selectable or controllable taps for providing feedback and reiterative values as the output.

In some embodiments, the three versions (E, P, L) of PN code by the code signal generator24can interact with the two versions (I, Q) of the received signals of each carrier to produce various permutations of local replica signals to generate different correlations through the integration-and-dump module. A bank of correlations, which is outputted by the correlators20, is used for decoding, demodulating, CD and CR phase tracking.

The carrier tracking module26and code tracking module22are collectively referred to as the tracking module25. The tracking module25supports measurement of the CR frequency, CR phase, and CD phase (e.g., individually or collectively, measurement data) of the received signals to control one or more locally generated reference signals with respect to corresponding received signals (derived from the composite received signal) to maximize correlation of the corresponding received signals to the respective locally generated reference signals. In one embodiment, there are multiple received signals because the receiver (11,111) receives four received signals from at least four different satellite transmitters to estimate the position of the receiver antenna17. For example, the code tracking module22or carrier tracking module26can generate measurement data that the data processor or receiver uses to control an adjustable time delay (e.g., route data through known number or sequence of shift registers), or engage in other data processing of one or more digital signals associated with a locally generated reference signal with respect to the received signal to maximize correlation of each received signal to the corresponding locally generated reference signal.

In one embodiment, the carrier tracking module22may comprise one or more of the following: a CR measurement module (e.g., similar to carrier measurement module161), a CR phase counter, a frequency detector, and a phase detector. For example, the CR phase counter counts both the number of integer cycles plus the fractional cycles of the received CR during a known time period and a phase detector that measures the fractional CR phase of the received CR at an instantaneous time or sampling interval within the known time period to synchronize the receiver's CR phase with the observed or measured CR phase of the received signal.

In certain embodiments, the code tracking module22is arranged for generating a control signal, a clock signal, or shifting an adjustable time delay of the locally generated reference CD signal with respect to the digital received signal in response based on maximizing correlation of the received signal to the locally generated reference code signal.

In one embodiment, the tracking module25and corresponding code signal generator24(e.g., code NCO) and carrier signal generator28(e.g., carrier NCO) are collectively adapted to shift an adjustable time delay of one or more locally generated reference signals with respect to the digital received composite signal (or its CD and CR components) in response to control data, measurement data, or both provided by the tracking loop signal processor of the tracking module25based on maximizing correlation of the received composite signal (or its code and carrier components) to the locally generated reference signal.

A carrier tracking module26facilitates alignment of the phase of the locally generated replica of the CR to the received signal. The carrier tracking module26provides control data or a control signal to a carrier numerically controlled oscillator (NCO) module to adjust the locally generated replica signal of the CR produced by carrier NCO module. In one embodiment, the carrier NCO module provides the locally generated replica of the carrier to the carrier wipe-off module23. The carrier NCO module may receive an input reference clock signal and output an adjusted clock signal or another control signal for generating the locally generated CR frequency that accurately aligns with the CR phase or the residual carrier phase of received sample.

The code tracking module22facilitates alignment of the phase of the locally generated PN replica with respect to the received sample. The code tracking module22provides control data or a control signal to adjust a code numerically controlled oscillator (NCO) module, where the code NCO module controls the chipping rate of the code signal generator24. The code tracking module22, which normally comprises a delay locked loop (DLL), generates a control signal to tune or adjust the chipping rate of code NCO module.

The data demodulator41provides satellite navigation data for estimating a range (e.g., distance between a satellite and the antenna17) or a position (e.g., in two or three dimensional coordinates) of phase center of the antenna17. The satellite navigation data or other signal information may comprise one or more of the following information that modulates the baseband waveform of the received signal: date, satellite navigation system time, satellite status, orbital data, ephemeris data, almanac, satellite location, and satellite identifier. The data demodulator41may use phase shift keying, phase demodulation, pulse width demodulation, amplitude demodulation, quadrature amplitude demodulation, or other demodulation technique that is consistent with the modulation by the modulator at the satellite transmitter.

In one embodiment, the data demodulator41outputs a demodulated signal or demodulated encoded data, such as a demodulated digital signal with a quadrature phase component and in-phase component at baseband. The data may comprise one or more following information such as date, satellite navigation system time, satellite status, orbital data, ephemeris data, almanac, satellite location, and satellite identifier.

In one embodiment, the measurement module161(e.g., carrier signal generator28, code signal generator24or both) estimates the propagation time between transmission of a satellite signal from a certain satellite to the receiver antenna17and converts the propagation time into a distance or range proportional to the speed of light. The measurement module161(e.g., carrier signal generator28, code signal generator24, or both) determines a range, pseudo-range or estimated range between the receiver antenna17and four or more satellites with a reliable signal quality or signal strength based upon one or more of the following: (a) the measured CD phase of each received signal, and (b) the measured CR phase of each received signal. In one embodiment, the measurement module161, the navigation positioning estimator30, or the precise position estimator38may resolve ambiguities in the measured CR phase of the received signal by searching for a solution that is consistent with one or more of the following: (1) a position estimated from decoding the code portion of the signal, (2) known reference position of the receiver antenna17, and (3) differential correction data applicable to the received signal. Further, the measurement module161may be associated with a wireless receiver (e.g., satellite receiver, mobile transceiver, or cellular transceiver) that receives navigation correction data from a reference satellite navigation receiver to reduce or eliminate sources of bias or error (e.g., certain clock errors or propagation errors) in the CR phase measurements.

In one embodiment, the navigation positioning estimator30determines the position estimate of the receiver antenna17based on the measured CR phases, estimated ranges of the measurement module161and demodulated data. For example, the navigation positioning estimator30or the navigation positioning estimator30may use ranges from four or more satellites to determine the position, velocity, or acceleration of the antenna17of the receiver in two or three dimensions.

In the digital receiver portion15, the receiver (11or111) or its data processing system (29or129) may comprise hardware and software instructions. For example, in one illustrative embodiment the hardware comprises a data processor that communicates to a data storage device (e.g.,155), which stores software instructions, via one or more data buses (e.g.,157).

The data processor (e.g.,159) may be coupled to the data storage device (e.g.,155) via one or more data buses (e.g.,157), which support communication between the data processor and the data storage device (e.g.,155). As used herein the, data processor may refer to one or more components or modules of the digital receiver portion15, including by not limited to any of the following: the carrier wipe-off module23, the code wipe-off module, the integration-and-dump module, correlator20, code signal generator24, carrier signal generator28, code tracking module22, carrier tracking module26, measurement module161, data demodulator41, and navigation positioning estimator30.

In general, the digital receiver portion15comprises computer or an electronic data processing system29that comprises an electronic data processor, digital logic circuits, multiplexers, multipliers, digital filters, integrators, delay circuits, oscillator, signal generator, PN code sequence generator, registers, shift registers, logic gates, or other hardware. The electronic data processing system (e.g.,129,29) may support storage, retrieval and execution of software instructions stored in a data storage device (e.g.,155).

In one embodiment, the navigation positioning estimator30estimates a position of the receiver antenna17or the receiver (11or111) based on communication of data between the baseband processing module18and the navigation positioning estimator30. In one embodiment, the navigation positioning estimator30comprises one or more of the following: a relative position estimator32and a precise position estimator38. The relative position estimator32may estimate the position or change in position (e.g., relative position) of the mobile receiver (or its antenna17) with respect to an initial reference position, or may derive an estimated absolute position from the relative position. Meanwhile, the optional precise position estimator38may estimate the absolute position of the mobile receiver (or its antenna17). In one example, the precise position estimator38comprises a precise point position (PPP) estimator, a wide area differential global navigation satellite system (GNSS) position estimator, where the precise position estimator38receives correction data from a correction wireless device44(e.g., receiver or transceiver capable of communication with a base station or a wireless satellite communications device).

In alternate embodiments, the precise position estimator can provide one or more of the following data to the relative position estimator32: (1) an absolute position of the mobile receiver (or its antenna17), (2) a reference trajectory (or reference points) of the mobile receiver (11or111), or (3) bias-related parameters (e.g., then-current, bias-related parameters for storage in or retrieval from the data storage device155) associated with previous or current precise point position estimates, where bias-related parameters relate to initial position bias of the relative position estimate, atmospheric delay bias, or receiver clock bias.

In one configuration, a controller40may communicate data with the relative position estimator32, the precise position estimator38, or both. For example, the controller40may send command data to initialize or reinitialize the relative position estimator32, the precise position estimator38, or both. The controller40may also provide an initial reference position from a known landmark or last position of the mobile receiver (11or111). For instance, the controller40may retrieve the initial reference position from a data storage device155, such as non-volatile electronic memory. The position quality estimator42may determine a position quality estimate or quality indicator of a relative position determined by the relative position estimator32and of the precise point position determined by the precise position estimator38.

In one embodiment, the relative position estimator32comprises an initial bias estimator34, a time-varying tropospheric estimator36, and a receiver clock bias estimator27. In one configuration, the relative position estimator32or any of the bias estimators may comprise a Kalman filter, a least squares estimator, a weighted least squares estimator, or a predictive filter.

There are two positions of primary interest that result from the position estimation process of the navigation positioning estimator30: the absolute position and the relative position. First, the absolute position, xt, which is directly comparable to xref,t, can be estimated by the precise position estimator38or recovered or determined by the relative position estimator34. The absolute position at time t is defines as

xt⁢=def⁢xref,t⁢⁢0+xbias,t⁢⁢0+Δ⁢⁢xt,t⁢⁢0=xref,t⁢+xbias,t⁢⁢0+Δ⁢⁢x^t,t⁢⁢0.
Second, the relative position, {circumflex over (x)}t, which is a position that can accurately track the net change in position from time t0 but is not necessarily close to xt. The relative position is defined at time t as

x^t⁢=def⁢xref,t⁢⁢0+Δ⁢⁢xt,t⁢⁢0=xref,t+Δ⁢⁢x^t,t⁢⁢0.
In the context of PPP, the reference trajectory convergence time can be long with large initial errors, meaning that both the terms xbias,t0and Δ{circumflex over (x)}t,t0are non-negligible and must be estimated accordingly. To solve or fully utilize the above equations in the determination or estimation of an absolute or relative position estimate, the navigation positioning estimator30or the data processor (which may comprise a predictive filter) must estimate various states (e.g., nine states): (1) relative position Δ{circumflex over (x)}t,t0(e.g., three states), (2), relative clock Δt,t0(e.g., one state), (3) current tropospheric delay Tt(e.g., one state), (4), initial position xbias,t0(e.g., three states), and (5) initial tropospheric delay Tt0(e.g., one state). Conceptually, the four initial states are constants while the remaining five states are time-varying. For example, the initial position bias is a constant and the reference trajectory delta position offset is a time-varying function.

In one embodiment, the atmospheric bias estimator36can estimate atmospheric delay bias (e.g., tropospheric delay bias). For example, the atmospheric bias estimator36can estimate the temporal change in atmospheric delay bias (e.g., tropospheric delay bias) over time associated with a propagation path for the satellite signal between a particular satellite and a receiver (11or111). For instance, the atmospheric bias estimator36for estimating atmospheric delay bias comprises an atmospheric bias compensator for compensating for the estimated atmospheric delay bias between the receiver and a respective satellite.

In one embodiment, the optional receiver clock bias estimator27can estimate the receiver clock bias over time between the receiver and a respective satellite with respect to a reference time (e.g., Global Positioning System time or GNSS time) or one or more satellite times. For example, the optional receiver clock bias estimator27can estimate the temporal change in receiver clock bias over time between the receiver and a respective satellite with respect to a reference time (e.g., Global Positioning System time or GNSS time) or one or more satellite times. The optional receiver clock bias estimator27can compensate for the estimated receiver clock bias. In the navigation positioning estimator30, the relative position estimator32may carry out any of the bias compensation for the initial position bias, the atmospheric delay bias and the receiver clock bias in the range domain or the position domain by adjusting the range or position based on phase measurements with an offset or bias compensation.

For certain configurations of the optional precise position estimator38ofFIG. 1B, there may be an integer ambiguity in the measured or observed number of wavelengths of the carrier signal that are between the receiver (11or111) and each satellite; the receiver (11or111) or carrier phase measurement module151may resolve the integer ambiguities over a convergence period. At the start of a convergence period on the integer ambiguity solution or floating ambiguity value by the precise position estimator38, the ambiguity may be subject to a high variance or error than is required for precise carrier phase navigation, which is typically within a few centimeters of accuracy. However, the relative position estimator32can provide accurate relative position estimates that are independent of the convergence of or the ambiguity resolution of carrier phase measurements of the optional precise position estimator38because the solution is independent of the ambiguity terms by virtue of the time differencing. As long as a cycle slip detector (e.g., detector21ofFIG. 1B) is able to identify a cycle slip for the relative position estimator32and to adjust to the entrance and exit of visible satellites within suitable reception range of the receiver, the relative position estimator34can provide accurate and precise relative position estimates from initialization and over a long time period (e.g., many epochs or many hours from an initial time, such as initialization of the relative position estimator32). An epoch means a specific instant in time of a navigation satellite system or the time interval during which the mobile receiver11measures the carrier phase or carrier phases of one or more satellites.

The precise position estimator38uses correction data received by the correction wireless device44, where the correction data includes satellite clock and orbit corrections. The relative position estimator32can use the same correction data to correct carrier phase measurements to facilitate accurate time-differenced relative positions, even where the time differencing extends over a long time period of many hours or epochs. Without appropriate correction data that contains satellite clock and orbit corrections, the satellite clock errors can grow too quickly or without sufficient control to support time-differencing over long time periods. However, here the relative position estimator32is capable of determining temporal satellite clock error changes from the correction data to support accurate and precise time-differencing over long time periods of hours or many epochs. For example, correction data, such as network-based clock corrections can be applied when they are available making this approach workable in practice.

FIG. 2Ais a flow chart of a first embodiment of a method for operating a satellite receiver with bias estimation or compensation. As used throughout this document, the receiver refers to a satellite navigation receiver, a GNSS receiver, or mobile receiver or a rover. The method ofFIG. 1begins in step S101.

In step S101, a satellite navigation receiver (e.g., receiver or mobile receiver) or a receiver front-end module10receives a set of one or more carrier signals from satellite transmitters. For example, the receiver (11or111) receives one or more carrier signals at the mobile receiver and converts each received signal into a digital received signal.

In step S108, the receiver (11or111), a plurality of correlators20or a measurement module161determines correlations (e.g., in-phase correlations and quadrature correlations) of each received signal or each carrier signal in the set to a local reference signal. For example, the receiver, a plurality of correlators20or a measurement module161determines correlations of each received signal (e.g., carrier signal and ranging codes) to local reference carrier signals and local reference ranging codes. In step S108, the baseband processing module18or a set of correlators20can determine correlations (e.g., in-phase correlations and quadrature correlations) of the digital received signals (e.g., carrier signals and ranging codes) to local reference carrier signals and local reference ranging codes for each satellite within reliable reception range of the mobile receiver (11,111).

In step S110, the receiver (11,111) or a tracking module25is arranged to process the determined correlations to track one or more carrier signals for estimation of respective changes in phase measurements over time between a receiver antenna17and one or more satellite transmitters that transmit the received signal (e.g., one or more carrier signals modulated with one or more PN codes) as the receiver (11,111) changes position with respect to an initial position. In one example for carrying out step S110, the baseband processing module18, the tracking module25or the carrier tracking module26processes the determined correlations to track a carrier of the received signal for estimation of changes in the phase measurements over a time period between a receiver antenna17and one or more satellite transmitters that transmit the received signal as the receiver changes position with respect to an initial position.

In another example for carrying out step S110, the baseband processing module18, the tracking module25or the carrier tracking module26processes the determined correlations to track respective carrier signals (e.g., L1, L2 and L5 signals) of the received signal for each satellite for estimation of changes in phase measurements over a time period between a receiver antenna17and one or more satellite transmitters that transmit the received signal as the receiver changes position with respect to an initial position.

In step S112, the receiver (11or111) or the relative position estimator32estimates the relative position of the navigation receiver (11or111) with respect to an initial position that corresponds to the changes in phase over the time period time by time-differencing of phase measurements of the one or more tracked carrier signals. For example, the relative position estimator32or the navigation positioning estimator30estimates the relative position of the navigation receiver (11or111) by time-differencing of phase measurements of the one or more tracked carrier signals such that

x^t⁢=def⁢xref,t⁢⁢0+Δ⁢⁢xt,t⁢⁢0
where: {circumflex over (x)}tis the relative position at time t; xref,t0is the initial (reference) position at time t0; and Δxt,t0is the position change from time t0 to time t. In one embodiment, the precise position estimator38provides the initial reference position, xref,t0at time t0, to the relative position estimator32or navigation positioning engine. In other embodiments, the precise position estimator38can provide correction data (e.g., received by the correction wireless device44) or bias-related data that can be used by one or more of the following to estimate or compensate for bias in the relative position: initial position bias estimator34, atmospheric bias estimator36, or receiver clock bias estimator27. For example, certain bias-related data (e.g., tropospheric bias data) previously determined by the precise position estimator38(e.g., for an earlier epoch) may be stored in data storage device155because it remains valid for subsequent initializations or uses of the receiver within a maximum time period (e.g., later epochs after the earlier epoch until the particular bias-related data goes stale). An epoch means a specific instant in time of a navigation satellite system or the time interval during which the mobile receiver11measures the carrier phase or carrier phases of one or more satellites.

The relative position estimator32and the relative position estimated by the relative position estimator32do not require the precise position estimator38to reach convergence for the ambiguity solution of integer wavelengths of each carrier signal between the receiver antenna17and respective satellite transmitter. Instead, within the relative position estimator32, any ambiguity term in the integer wavelengths of the carrier signal cancels out of the phase time-differencing observation equations which are used in determination of the relative position. Accordingly, the relative position estimator32can provide accurate and precise relative position estimates immediately or shortly after initialization (and independent of ambiguity resolution of the precise point estimator38).

In one embodiment, in step S201the receiver or relative position estimator32models or estimates one or more biases selected from the group comprising: a bias (e.g., initial position bias) in the initial position of the receiver, a temporal change in receiver clock bias (over time) with respect to a reference time (e.g., satellite system time), or a temporal change in atmospheric propagation delay bias (over time) between a receiver and a respective satellite with respect to a reference time. Step S201may comprise one or more of the following steps: step S200, step S202and step S204. Optional steps or procedures are indicated by dashed lines inFIG. 2A.

In certain embodiments, in step S201, or steps S200, S202and S204, the navigation positioning estimator30, the relative position estimator or the data processing system may estimate one or more biases in the relative position based on an observed change in carrier phase of the receiver with respect to an initial time and an observation time in accordance with the following equation (“Equation 1”):
Δ{tilde over (φ)}t,t0i=−etiTΔxt,t0−Δet,t0iTxt0+Δt,t0+MtiTt−Mt0iTt0+Δε{tilde over (φ)},t,t0i, where:Δ{tilde over (φ)}t,t0iis a time-difference of carrier phase measurements or observations between the mobile receiver and the satellite transmitter of satellite i at times t and t0 (t>t0);etiis the receiver to satellite line-of-sight vector, etiTis the transpose of eti, and Δet,t0iTis the change in the transpose of the receiver to satellite line-of-sight vector from time t0 to time t;Δxt,t0is the change in relative position from the initial time, t0, to the observation time, t;xt0represents the position at time t0, which is a constant;Δt,t0is the (temporal) change in receiver clock bias from time t0 to time t;Mtiis the elevation mapping function (e.g., general or wet mapping function) at time t that maps zenith tropospheric delay to a line-of-sight delay between the mobile receiver and the satellite i;Ttis the residual zenith tropospheric delay at time t;Mt0iis the elevation mapping function (e.g., general or wet mapping function) at time t0;Tt0is the residual zenith tropospheric delay at t0; andΔε{tilde over (φ)},t,t0iis the difference in carrier-phase observation noise and other unmodeled errors between times t and t0.

In Equation 1, Δt,t0=Δdτt,t0+ΔBφ,t,t0, where Δt,t0is the difference in receiver clock error at times t and t0, and Δdτt,t0is the receiver satellite clock error that is solely associated with the receiver and satellite clock error terms excluding any frequency-dependent carrier phase bias between the receiver and satellite at times t and t0, and ΔBφ,t,t0is the error or difference in receiver and satellite carrier phase bias from an initial time t0 to an observation time t for a given satellite. ΔBφ,t,t0=Bφ,t−Bφ,t0, where ΔBφ,t,t0is the error or difference in receiver and satellite carrier phase bias from an initial time t0 to an observation time t for a given satellite, where Bφ,tis the receiver and satellite carrier phase bias at time t, and Bφ,t0is the receiver and satellite carrier phase bias at observation time t0.

In an alternate embodiment, Equation 1 can be modified for the combined use of two different GNSS system satellites, such as GPS and GLONASS satellites, or GPS and Galileo satellites, as follows:
Δ{circumflex over (φ)}t,t0i=−etiTΔ{circumflex over (x)}t,t0−Δet,t0iTxbias,t0+Δt,t0+Δdτt,t0GLN+MtiTt−Mt0iTt0+Δε{circumflex over (φ)},t,t0i;where dτtGLNis the inter-system time bias between two GNSS systems (e.g., GPS and GLONASS systems) at any time t; andΔdτt,t0GLNis a time-differenced inter-system time bias between two GNSS systems (e.g., GPS and GLONASS systems) at times t and t0.The inter-system time bias, dτtGLN, represents an additional state that is necessary to support different satellite constellations, like GPS and GLONASS. dτtGLNis a timing offset to account for the time system differences (e.g., an clock time differences) between different GNSS systems. Here, GPS is treated as the primary constellation and GLONASS satellites are used with reference to the GPS system time. At any time t the difference between GPS and GLONASS system time is given by a term dτtGLNthat is not a constant.

In one embodiment where two different types of system (GNSS) satellites are used, the precise position estimator38might also optionally provide information about the inter-system clock bias changes with time, which may be used to propagate or predict the term Δdτt,t0forward in time. This means simply that Δt+Δ,t,t0≈Δt,t0+(dτref,t+Δt−dτref,t) If present, the same predictive approach may be used for the system time bias states such as Δdτt,t0GLNmentioned above. That is, Δdτt+Δt,t0GLN≈Δdτt,t0GLN+(dτref,t+ΔtGLN−dτref,tGLN).

Reference trajectory means a time series of one or more reference positions. The reference trajectory can be provided by the precise position estimator38, although in other embodiments other data sources (e.g., other position estimators) of a time series of reference positions could be used. Each reference position (or its corresponding bias-related data) of the receiver or precise position estimator38at time zero or t0 (e.g., xref,t0), or a reference position at another time (e.g., xref,t) can aid, augment or enhance the accuracy of the relative position estimator32. For example, the relative position estimator32may align, fuse or tie the relative position estimate to the precise position estimate with or without weighting of the respective relative and precise position estimates, when available or after convergence upon an integer ambiguity solution. The reference position or reference trajectory may be based on the output of a precise position estimator38that is available at t0 or another time as an input to the relative position estimator32.

In step S200, the receiver (11or111) or relative position estimator32models or estimates an initial position bias in the position of the receiver. The initial position bias (xbias,t0) is at the initial time, or at the time of initialization, of the relative position estimator32of the receiver (11or111). In one embodiment, the relative position estimator32comprises a predictive filter. Accordingly, in executing step S200the relative position estimator can determine the initial position bias, indirectly via a predictive filter, such as a Kalman filter or a modified Kalman filter. Because observability of states (of the predictive filter or Kalman filter) may be problematic in practice, one embodiment includes artificial or constraint measurements that tie the relative position estimator32to the precise point estimator38. The purpose of the position constraint measurements is to ensure the absolute position state of the relative position estimator32matches loosely, to a specified degree, the absolute position state from the precise position estimator38(xbias,t0+Δ{circumflex over (x)}t,t0≈0).

In step S202, the receiver (11or111) or relative position estimator32models or estimates one or more of the following: (1) the atmospheric propagation delay bias (e.g., tropospheric propagation delay bias) over time associated with a signal propagation path between a receiver and a respective satellite, or (2) the temporal change in atmospheric propagation delay bias (e.g., tropospheric propagation delay bias) over time associated with a signal propagation path between a receiver and a respective satellite. For example, in step S202, the time-varying tropospheric estimator36, the relative position estimator32, or the navigation position estimator30estimates a temporal change in atmospheric or tropospheric error over a time interval of multiple epochs or an arbitrarily long term to provide the compensated relative position. In certain embodiments, the time interval (or arbitrarily long term) may range from approximately fifteen minutes to virtually any number of hours or continuous hours. In one embodiment, the tropospheric delay bias may be modeled as an initial static bias component and a time-varying component, although other models of atmospheric delay bias are possible.

Step S202may be carried out in accordance with various techniques that may be applied individually or cumulatively. Under a first technique for carrying out step S202, the atmospheric bias estimator36estimates atmospheric delay or atmospheric delay bias based on or equal to tropospheric zenith delay Ttand initial tropospheric zenith delay Tt0multiplied by the respective mapping functions (e.g., wet mapping functions or elevation mapping functions).

Under a second technique, the atmospheric bias estimator36utilizes constraint measurements that tie the relative position estimator's estimate of tropospheric delay to that of the precise position estimator38so that with a given error variance Tt−Tref,t≈0. As previously noted, the precise position estimator38may provide then-current estimates of bias-related data, such as atmospheric delay bias or tropospheric delay bias (e.g., static or time-varying components), to the relative position estimator34, or its atmospheric bias estimator36.

Under a third technique for carrying out step S202, the atmospheric bias estimator36determines or estimates a temporal change in tropospheric delay bias over a time period (e.g., between an initial time and an observation time) between the receiver and each satellite (within view or reliable reception range) based on current (e.g., wet) tropospheric delay Ttand initial (e.g., wet) tropospheric delay Tt0and mapping (e.g., wet mapping) functions.

Under a fourth technique for carrying out step S202, the atmospheric bias estimator36or navigation positioning estimator30uses a constraint approach to estimate the tropospheric delay (or associated temporal change in tropospheric delay over time) to ensure some consistency with the estimates of the absolute estimator (e.g., precise position estimator38) with the relative position estimator34described in this disclosure (Tt≈Tref,t). That is, the precise position estimator38can provide bias-related data on the atmospheric delay, such as Tref,tto be used (e.g., as guidance for Tt) by the relative position estimator34or the atmospheric bias estimator36. Tropospheric delay is often difficult to estimate accurately in practice, such that the above constraint can be supportive of accurate position estimation.

The foregoing constraint measurements have the benefit of driving the relative position of the relative position estimator32towards the accurate, steady-state PPP solution of the precise position estimator38. The relative position estimator32might also optionally provide additional measurement corrections not easily computed or estimated by the relative position estimator32, such as an azimuthal dependent correction to the tropospheric delay.

As indicated above, the time varying tropospheric estimator36accounts for the current tropospheric delay (time t) as well as the tropospheric delay at the initial time (t0). For example, the compensator36can estimate two terms, Tt0and Ttthat represent zenith tropospheric delays at t0 and t, respectively. In an alternate embodiment, equivalently the time varying tropospheric estimator36may estimate Tt0and Tdtwhere Tdt:=Tt−Tt0, which is the temporal change in tropospheric delay.

In general for step S202, the navigation positioning estimator30or atmospheric (delay) bias estimator36determines or estimates the tropospheric delay related terms, such as residual zenith tropospheric delay terms (e.g., residual zenith tropospheric delay terms), Ttand Tt0. Elevation mapping function terms (e.g., elevation wet mapping function), Mti, Mt0i, are established in accordance with a model that depends upon correction data, or delay factor data such as the position of the receiver, the respective position (e.g., azimuth or elevation angle) of the satellite i with respect to the receiver, and atmospheric conditions at the time of day in which the carrier signal propagates, among other things. In GPS, tropospheric delay tends to affect the L1 signal frequency and the L2 signal frequency equally. The delay depends upon the tropospheric refractive index, which varies based on local atmospheric temperature, local atmospheric pressure, and local relative humidity in the propagation path between the particular satellite and the receiver. The elevation mapping function or wet mapping function takes into consideration the impact of water vapor on the refractive index.

The atmospheric delay in the carrier signal or refractive index may vary as a function of the height of the receiver (11or111), such as height above sea level, and the elevation angle between the receiver and satellite. For example, Mti=M(Eti), where Etiis the elevation angle from the receiver to satellite (i) at observation time t and where M(⋅) is the general elevation mapping function that maps zenith tropospheric delay to the line-of-sight, including applicable wet and dry components of the mapping function in accordance with the applicable model of the atmospheric delay or tropospheric refractive index.

In one embodiment, the atmospheric (delay) bias estimator36determines atmospheric delay or tropospheric delay parameters, Ttand Tt0; the atmospheric (delay) bias estimator36or relative position estimator32can compensate for the propagation delay between each satellite i and the corresponding receiver,11or111, (e.g., mobile receiver or rover) such that the relative position estimator32provides a compensated position that compensates for the that portion of the observed time-differenced carrier phase measurement that is associated with atmospheric propagation delay. That is, that portion of Δ{tilde over (φ)}t,t0i, the time-differenced carrier phase measurement, that is associated with tropospheric delay parameters Ttand Tt0for a particular satellite i.

In step S204, the receiver or relative position estimator32models or estimates one or more of the following: (1) receiver clock bias (over time) with respect to a reference time or one or more satellite clocks, and (2) a temporal change in receiver clock bias (over time) with respect to a reference time or one or more satellite clocks. In one embodiment, the receiver clock bias estimator27may absorb a frequency-dependent time error that comprises a receiver and satellite carrier phase bias in the estimate of receiver clock bias. As previously referenced in conjunction with Equation 1, the receiver and satellite carrier phase bias can be expressed as:

ΔBφ,t,t0=Bφ,t−Bφ,t0where ΔBφ,t,t0is the error or difference in receiver and satellite carrier phase bias from an initial time t0 to an observation time t for a given satellite, where Bφ,tis the receiver and satellite carrier phase bias at time t, and Bφ,t0is the receiver and satellite carrier phase bias at observation time t0.

The relative position estimator34or the receiver clock bias estimator27can absorb the error in the receiver and satellite carrier phase bias into the receiver clock bias estimate as follows:

Δt,t0=Δdτt,t0+ΔBφ,t,t0, where Δt,t0is the difference in receiver clock error at times t and t0, and Δdτt,t0is the receiver satellite clock error that is solely associated with the receiver and satellite clock error terms excluding any frequency-dependent carrier phase bias between the receiver and satellite at times t and t0, and ΔBφ,t,t0is the error or difference in receiver and satellite carrier phase bias from an initial time t0 to an observation time t for a given satellite.

In step S204, the navigation positioning estimator30or receiver clock bias estimator27determines or estimates the clock bias term Δt,t0(or alternately, Δdτt,t0, where Δt,t0is not available) with respect to a receiver and corresponding satellite i. The receiver clock bias estimator27or relative position estimator32can compensate for the clock bias or clock error between each satellite i and the corresponding receiver (e.g., mobile receiver or rover) such that the relative position estimator32provides a compensated position that compensates for that portion of the observed time-differenced carrier phase measurement that is associated with clock bias with respect to a particular satellite or a satellite system time reference (e.g., Global Positioning System (GPS)) time. That is, that portion of Δ{tilde over (φ)}t,t0i, the time-differenced carrier phase measurement, that is associated with clock bias term Δt,t0for a particular satellite i.

In step S206, the receiver or relative position estimator32can compensate for one or more of the biases to provide a compensated relative position of the receiver (e.g., or to derive an absolute position in certain embodiments). For example, the estimated position or compensated relative position of the receiver reflects the position of the receiver antenna or the phase center of the receiver antenna17in accordance with Equation 1.

FIG. 2Bis a flow chart of a second embodiment for operating a satellite receiver with bias estimation or compensation. The method ofFIG. 2Bprovides an illustrative example of executing step S101with a series of possible steps, procedures or sub-steps. The method ofFIG. 2Bbegins in step S100(ofFIG. 2A).

In step S100, a down-converter, an RF front end12or a receiver front-end module10down-converts a received signal comprising one or more carrier signals to an intermediate frequency signal or baseband signal. In one embodiment, the received signal may comprise a Global Positioning System (GPS) received signal that comprises a first carrier signal (e.g., L1 carrier signal), a second carrier signal (e.g., L2 carrier signal) and an optional third carrier signal (e.g., L5 carrier signal) for each satellite transmitter that transmits the received signal and is within reliable communications range of the mobile receiver. In other embodiments, the received signal may comprise any global navigation satellite system signal that is received from one or more satellites, such as a (Global Navigation Satellite System) GLONASS, Galileo or another global navigation satellite system. The down-converted signal comprises an analog intermediate frequency signal or a baseband received signal that is lower in frequency than the received signal, but that still contains the same encoded information as the received signal.

In step S102, the analog-to-digital converter14or the receiver front-end module10converts the down-converted received signal to a digital received signal. For example, the digital received signal is at a baseband frequency or an intermediate frequency.

In step S104, the baseband processing module18or the carrier signal generator28generates a local reference carrier signal for mixing with or wiping off a carrier signal within the digital received signal. For example, the baseband processing module18or the carrier signal generator28may generate local reference carrier signals for mixing with or wiping off respective carrier signals (e.g., L1, L2, and L5 carrier signals) within the digital received signal for each satellite.

In step S106, the baseband processing module18or the code signal generator24generates one or more local reference ranging codes for mixing with or wiping off a code signal within the digital received signal. For example, the baseband processing module18or the code signal generator24may generate local reference ranging code signals for mixing with or wiping off respective ranging code signals (e.g., L1, L2, and L5 carrier signals) within the digital received signal for each satellite.

After step S101or S106, the method ofFIG. 2Bmay continue with step S108ofFIG. 2A, for instance.

FIG. 3is a flow chart of a third embodiment of a method for operating a satellite receiver with bias estimation or bias compensation. The method ofFIG. 3is similar to the method ofFIG. 2A, except the method ofFIG. 3adds step S208. Like reference numbers inFIG. 2AandFIG. 3indicate like steps, or procedures.

In step S208, the navigation positioning estimator30or the relative position estimator32estimates or recovers the absolute position from the estimated relative position by accumulating the initial position, the initial position bias and the position change over a time period (e.g., from time t0 to time t).

Step S208can be carried out in accordance with various techniques, which may be applied separately or cumulatively. Under a first technique for carrying out step S208, the relative position estimator32can recover or estimate the absolute position xtby accumulating the initial position, the initial position bias, and position change terms as

xt⁢=def⁢xref,t⁢⁢0+xbias,t⁢⁢0+Δ⁢⁢xt,t⁢⁢0=x^t⁢+xbias,t⁢⁢0,
where xtis the absolute position at time t, xref,t0is the initial position at time t0 (e.g., provided as a reference initial position consistent with the reference trajectory of the PPP estimator38), where Δxt,t0is the position change (or relative position vector) from time t0 to time t, and where {circumflex over (x)}tis the estimated relative position (at time t).

Under a second technique, a precise position estimator38determines a precise position estimate based on carrier phase measurements of the received carrier signal. Further, the precise position estimator38runs simultaneously with the relative position estimator32and the precise position estimator38determines a reference trajectory or reference points consistent with the receiver path over a time period.

Under a third technique for executing step S208, the relative position at time t is estimated by the relative position estimator32, where the relative position, {circumflex over (x)}tat time t is defined as

x^t⁢=def⁢xref,t⁢⁢0+Δ⁢⁢xt,t⁢⁢0=xref,t+Δ⁢⁢x^t,t⁢⁢0,
where:xref,t0is the position of a path of the mobile receiver along a reference trajectory at time t0;xref,tis the position of a path of the mobile receiver along a reference trajectory at time t;Δxt,t0is the change in position (or relative position vector) from the initial time, t0, to the observation time, t; and Δ{circumflex over (x)}t,t0is the change in reference trajectory position offset from the initial time, t0, to the observation time, t.

FIG. 4is a flow chart of a fourth embodiment of a method for operating a satellite receiver with bias estimation or bias compensation. The method ofFIG. 4is similar to the method ofFIG. 2A, except the method ofFIG. 4adds step S116and step S118. Like reference numbers inFIG. 2andFIG. 4indicate like steps, or procedures.

In step S116, a baseband processing module18, a digital receiver portion15, or a cycle slip detector21detects a cycle slip in the tracking of the received carrier signal.

In step S118, the continuity module45, the digital receiver portion15, or the relative position estimator32supports a relative position estimation framework that allows relative navigation over a time interval exceeding multiple epochs or an arbitrarily long time interval by establishing a series of chained relative position vectors (or chained relative positions) from a next initial position that is established or coextensive with a last known relative position of the relative position estimator32prior to detection of the cycle slip or an appearance of a new satellite. The previous definitions of epoch and the time interval, which were previously set forth in this document, apply equally here.

In one embodiment, in step S118, the continuity module45, the navigation positioning estimator30, or the data processing system maintains the accuracy of the relative position in the face of cycle slips and transitions in satellites that are within reception range of the receiver. Naturally over time satellites go below the horizon or fall out of view, and likewise new satellites come into view or reliable reception range. The continuity module45allows the receiver to track transitions between different satellites in view and to adjust errors accordingly.

Step S118may be carried out in accordance with various techniques, which may be applied individually or cumulatively. Under a first technique, in one embodiment of step S118, the continuity module45, the navigation positioning estimator30or the data processing system adjusts carrier phase measurements (e.g., in the range domain or position domain) by a chaining correction factor based on an estimated position change (vector) dot-product multiplied by the transpose of the receiver to satellite line-of-sight vector (e.g., etiTis the transpose of the receiver to satellite line-of-site vector) for a corresponding satellite.

Under a second technique, the continuity module45, the navigation positioning estimator30or the relative position estimator32comprises a mechanism or software instructions for updating the reference initial position xref,t0to a new reference initial positionxref,t0′at time t0′>t0 such that

x_ref,t⁢⁢0′⁢=def⁢xref,t⁢⁢0+Δ⁢⁢xt⁢⁢0′,t⁢⁢0,
where time t0′ is a transition time associated with the last known relative position for the series of a chained relative position vectors, where xref,t0is the reference initial position at time t0, and where Δxt0′,t0; is the position change (or relative position vector) from time t0 to time t0′. Further, the continuity module45, the navigation positioning estimator30or the relative position estimator32adjusts observation equations to account for changes in the reference initial position at time t0 by subtracting the vector dot product, −etiTΔ{circumflex over (x)}t0′,t0, from carrier measurements such that the initial position bias at t0, xbias,t0, retains its original meaning in subsequent relative position vectors (or subsequent relative positions) after the initial relative position vector (associated with the reference initial position, at time t0, and an estimated relative position at time t). Accordingly, continuity module45, the navigation positioning estimator30, or the relative position estimator32can subsequently recover the estimated relative position as {circumflex over (x)}t=xref,t0′+Δ{circumflex over (x)}t,t0′, where {circumflex over (x)}tis the estimated relative position from time 0 to t, wherexref,t0′is the measured initial position at time t0′, where Δ{circumflex over (x)}t,t0′is the estimated position change from time t0′ to time t, where −etiis the receiver to satellite line-of-sight vector, and etiTis the transpose of the receiver to satellite line-of-site vector.

Under a third technique, the navigation positioning estimator30, or relative position estimator32recovers its absolute position as xt={circumflex over (x)}t+xbias,t0, where xtis the relative position at time t, where {circumflex over (x)}tis the estimated relative position {circumflex over (x)}tfrom at time t, and where xbias,t0is the initial position bias at t0. As indicated previously, the first second, and third techniques for executing step S118can be applied together, separately, or in any combination with each other.

FIG. 5is a flow chart of a fifth embodiment of a method for operating a satellite receiver with initial bias estimation or compensation. The method ofFIG. 5is similar to the method ofFIG. 2A, except the method ofFIG. 5further comprises step S209. Like reference numbers inFIG. 2AandFIG. 5indicate like steps, or procedures.

In step S209, the data processor, precise position estimator38, or navigation positioning estimator30provides, determines or obtains a reference trajectory (e.g., or reference points on the trajectory) to aid and enhance the accuracy of the relative position estimate. For example, the precise position estimator38or another data source provides a reference trajectory, or reference position points consistent with the reference trajectory, to aid and enhance the accuracy of the relative position estimate.

In an alternate embodiment of step S209, the data processor, controller40or navigation positioning estimator30evaluates or constrains at least one of the initial position, the initial position bias, the observed change in relative position, or the estimated relative position with respect to the determined reference trajectory or determined reference points consistent with the determined reference trajectory.

In one configuration, the precise position estimator38provides an absolute position estimate, a reference trajectory, or bias-related data in accordance with the following equation (“Equation 2”):
φti=rti+c(dτt−dTti)+Qti−Iti+λNi+Ati−ati+Wti−wti+Bφ,t−bφ,ti+εφ,ti, whereφtiis the carrier-phase measurements;rtiis the range from receiver antenna to satellite antenna;c is the speed-of-lightdτt, dTtiis the receiver and satellite clock error, respectively;Qtiis tropospheric range delay;Itiis the ionospheric range delay (e.g., frequency dependent atmospheric delay);Niis carrier-phase integer ambiguity;Ati, atiis the receiver and satellite combined antenna phase center offset and variation, respectively;Wti, wtiis the receiver and satellite antenna phase center wind-up, respectively;Bφ,t, bφ,tiis the receiver and satellite carrier phase bias (frequency dependent), respectivelyεφ,ti, ερ,tiis the carrier-phase observation noise and other unmodeled errors (e.g. multipath), respectively.

In another configuration, the precise position estimator38provides an absolute position estimate, a reference trajectory, or bias-related data in accordance with the following equation (“Equation 3”), which uses known satellite positions associated with orbital information and tropospheric delay models:
{tilde over (φ)}ti=−etiTxt+dτt+M(Eti)Tt+Bφ,t−bφ,ti+{tilde over (λ)}Ñi+ε{tilde over (φ)},ti, where{tilde over (φ)}tiare the carrier phase observations or measurements;xtis the receiver position; rti=xtSVi−xtbased on satellite vehicle position xtSViof satellite i at time t, rtiis the line-of-site vector between the satellite and receiver at time t;etiis the receiver to satellite line-of-sight vector, eti=rti/∥rti∥;Ttis the residual zenith tropospheric delay;Etiis the elevation angle from the receiver to satellite;M(⋅) is the elevation mapping function (e.g., elevation wet mapping function) that maps zenith tropospheric delay to the line-of-sight;{tilde over (λ)} is the wavelength of the ionosphere-free observation combination;Ñiis the carrier-phase integer ambiguity for the ionospheric free measurement combination; andε{tilde over (φ)},tiis the carrier-phase observation noise and other unmodeled errors for the ionosphere-free observation combination.

If the PPP position estimates are estimated by the precise position point estimator38, such as in accordance with Equation 2 or Equation 3 in step S209, the relative position estimator34can determine a relative position estimate that is linearized about the above PPP position estimates in the following Equation 4:
Δ{circumflex over (φ)}t,t0i=−etiTΔ{circumflex over (x)}t,t0−Δet,t0iTxbias,t0+Δt,t0+MtiTt−Mt0iTt0+Δε{circumflex over (φ)},t,t0i, where
Δ{tilde over (φ)}t,t0i+etiT(xref,t−xref,t0)+Δet,t0iTxref,t0=Δ{circumflex over (φ)}t,t0i;
Δ{circumflex over (φ)}t,t0iis a time-difference of carrier phase measurements or observations between the mobile receiver and the satellite transmitter of satellite i at times t and t0 (t>t0) that is linearized about the reference trajectory of the precise position estimator34;
etiis the receiver to satellite line-of-sight vector, etiTis the transpose of eti, and Δet,t0iTis the change in the transpose of the receiver to satellite line-of-sight vector from time t0 to time t;
Δ{circumflex over (x)}t,t0is the reference trajectory delta-position offset, which is a position offset with respect to the reference trajectory;
Δt,t0is the difference in receiver clock error at times t and t0;
Mtiis the elevation mapping function (e.g., general or wet mapping function) at time t that maps zenith tropospheric delay to a line-of-sight delay between the mobile receiver and the satellite i;
Ttis the residual zenith tropospheric delay at time t;
Mt0iis the elevation mapping function (e.g., general or wet mapping function) at time t0;
Tt0is the residual zenith tropospheric delay at t0;
Δε{tilde over (φ)},t,t0iis the difference in carrier-phase observation noise and other unmodeled errors between times t and t0;
xbias,t0is the bias of reference trajectory estimate at time t0;
xref,t0is the position along the reference trajectory at time t0,
is the position along the reference trajectory at time t,
xt0=xref,t0+xbias,t0, where xt0is the position at time t0, where xref,t0is the position along the reference trajectory at time t0, and where xbias,t0is the initial position bias of the reference trajectory at time t0;
Δxt,t0=(xref,t−xref,t0)+Δ{circumflex over (x)}t,t0, where Δxt,t0is a change in position or the delta-position from time t0 to time t;
{tilde over (Δ)}φt,t0iis a time difference of the carrier phase measurements or observations between the mobile receiver and the satellite transmitter of satellite i at times t and t0, as Previously defined in conjunction with Equation 1.

FIG. 6is a flow chart of a sixth embodiment of a method for operating a satellite receiver with initial bias compensation. The method ofFIG. 6is similar to the method ofFIG. 2A, except the method ofFIG. 6further comprises step S210. Like reference numbers inFIG. 2AandFIG. 6indicate like steps, or procedures.

In step S210, the navigation positioning estimator30or the precise position estimator38aids or enhances the relative position estimate of the relative position estimator32by providing an a priori estimate or predefined estimate by the precision position estimator of one or more of the following to the relative position estimator32: absolute position, atmospheric propagation delay (e.g., tropospheric bias), and receiver clock bias. For example, the precise position estimator38, controller40, or navigation positioning estimator30can provide a priori estimate or predefined estimates, or bias-related data to the initial position bias estimator34, the atmospheric bias estimator36, or the receiver clock bias estimator27.

Step S210may be carried out in accordance with various techniques, which may be applied separately or cumulatively. Under a first technique, a precise position estimator38or a navigation positioning estimator30provides predefined or a priori estimates of one or more of the following: absolute position (xref,t), atmospheric delay bias or tropospheric delay bias (Tref,t), receiver clock delay bias (dτref,t) to aid in determining a relative position estimate or compensated relative position estimate of the relative position estimator32.

Under second technique, a precise position estimator38or a navigation positioning estimator30utilizes constraints or constraint measurements that tie the relative position estimator32to the precision position estimator over time so that with a given error variance xbias,t0+Δ{circumflex over (x)}t,t0≈0. In one embodiment, the measurement-domain relationship between the residual of the time differenced phase equation of the relative position (e.g., Equation 1) and the absolute position can be expressed as Δ{circumflex over (φ)}t,t0i=Δ{tilde over (φ)}t,t0i+etiTΔxref,t,t0.

FIG. 7is a flow chart of a sixth embodiment of a method for operating a satellite receiver with initial bias compensation. The method ofFIG. 7is similar to the method ofFIG. 2A, except the method ofFIG. 7further comprises step S212. Like reference numbers inFIG. 2AandFIG. 7indicate like steps, or procedures.

In step S212, the navigation positioning estimator30or the relative position estimator32estimates a correction for application to the precise point estimate of the precise position estimator38. For example, the controller40may correct the precise point estimate with the correction from the relative position estimator32where the precise position estimator38has not yet converged on a position solution by resolution of an integer ambiguity in the carrier phase, or where the position quality evaluator42determines that the precise point estimate is inconsistent with the relative position estimate of the relative position estimator34from an initial time t0 to the observation time t.

In an alternate embodiment that may optionally supplement or augment any other embodiment set forth in this document, a tracking module25or code tracking module22for tracking code of the received carrier signals estimates a change in code phase or a pseudo range between a receiver antenna and satellite transmitter for each satellite that transmits the received signal as the receiver changes its position over time. In the alternate embodiment, the relative position estimator32using the observed change in pseudo range to estimate a change in position of the receiver or using the change in position based on carrier phase. Because the carrier phase provides a more precise estimate, the relative position estimator32or the navigation positioning engine may use code phase to facilitate a search for an integer ambiguity solution of the carrier phase for the precise position point estimator38, or to provide additional information on bias estimation, such as the receiver clock bias or atmospheric bias estimator36or estimation of the atmospheric bias terms Ttand Tt0:
Δ{tilde over (ρ)}t,t0i=−etiTΔxt,t0−Δet,t0iTxt0+Δt,t0+MtiTt−Mt0iTt0+Δε{tilde over (ρ)},t,t0iΔ{tilde over (ρ)}t,t0iis a time-difference of ranging code phase measurements or observations between the mobile receiver and the satellite transmitter of satellite i at times t and t0 (t>t0);etiTis the transpose of the receiver to satellite line-of-site vector;Δet,t0iTis the change in the transpose of the receiver to satellite line of site vector from the initial time to the observation time, t;Δxt,t0is the change in relative position from the initial time, t0, to the observation time, t;xt0represents the position at time t0, which is a constant;Δt,t0is difference in receiver clock error at times t and t0;Mtiis the so-called elevation wet mapping function at time t that maps zenith tropospheric delay to a line-of-sight delay between the mobile receiver and the satellite i;Ttis the residual zenith tropospheric delay at time t;Mt0iis the so-called elevation wet mapping function at time t0 that maps zenith tropospheric delay to a line-of-sight delay between the mobile receiver and the satellite i;Tt0is the residual zenith tropospheric delay at t0; andΔε{tilde over (ρ)},t,t0iis the difference in ranging code phase observation noise and other unmodeled errors between times t and t0.

In one embodiment, the navigation positioning estimator32or the position quality evaluator42may use measurement editing to eliminate erroneous or outlying carrier phase measurements. In practice, erroneous carrier phase, pseudorange, constraint or other augmentation measurements might be erroneous. In order to minimize the impact of such outliers, one can include residual editing techniques well known to those versed in the art of navigation and estimation theory.

The system and method described in this document can be implemented efficiently with a simultaneous use of an existing PPP estimator38. For example, many of the calculated or estimated values or states of the PPP estimator38can be re-used by the relative position estimator32to make the implementation of the described estimator quite efficient with scant overhead or additional data processing throughput. Moreover, it is possible to export this data in a communication message and practice the relative position estimator32outside of the receiver (11,111) in a separate server, computer or data processing system.

In one embodiment, the method and system uses PPP clock and orbit error corrections on the carrier phase measurements, allows for rising/setting satellites, and supports proper handling of cycle slips to enable operation of the relative position estimator on arbitrarily long time periods with no long initialization period typically associated with PPP estimators.