Method and apparatus for validating a position in a satellite positioning system using range-rate measurements

Method and apparatus for validating an initial position in a satellite positioning system using range-rate measurements is described. In one example, range-rate measurements are obtained at the remote receiver with respect to a plurality of satellites. Expected range-rates are computed with respect to the plurality of satellites using the initial position. Single differences are computed using the range-rate measurements. Expected single differences are computed using the expected range-rates. Single difference residuals are computed between the single differences and the expected single differences. The single difference residuals are compared to a threshold. The initial position may be deemed valid if the absolute value of each of the single difference residuals is less than or equal to the threshold. A valid initial position may be used to fix the pseudorange integers.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to satellite positioning systems and, more particularly, to a method and apparatus for validating a position in a satellite positioning system using range-rate measurements.

2. Description of the Background Art

Satellite Positioning System (SPS) receivers use measurements from several satellites to compute position. SPS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provide the distance from the receiver to each of the satellites that are in view of the receiver. Exemplary satellite positioning systems include the Global Positioning System (GPS), the European GALILEO system, and the Russian GLONASS system.

In GPS, each signal available for commercial use utilizes a direct sequence spreading signal defined by a unique pseudo-random noise (PN) code (referred to as the coarse acquisition (C/A) code) having a 1.023 MHz spread rate. Each PN code bi-phase modulates a 1575.42 MHz carrier signal (referred to as the L1 carrier) and uniquely identifies a particular satellite. The PN code sequence length is 1023 chips, corresponding to a one millisecond time period. One cycle of 1023 chips is called a PN frame or epoch.

GPS receivers determine the time delays between transmission and reception of the signals by comparing time shifts between the received PN code signal sequence and internally generated PN signal sequences. These measured time delays are referred to as “sub-millisecond pseudoranges,” since they are known modulo the 1 millisecond PN frame boundaries. If the data bit edges are identified for a particular satellite, then the pseudorange is known modulo the data bit period, for example, 20 ms in the current GPS system. Different satellite navigation systems, and future changes in the GPS system may give different data bit periods. In general, if a pseudorange is known modulo N ms, then we refer to it as a “fractional pseudorange”. By resolving the integer number of milliseconds associated with each delay to each satellite, then one has true, unambiguous, pseudoranges. A set of four pseudoranges together with knowledge of absolute times of transmission of the GPS signals and satellite positions in relation to these absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission (or reception) are needed in order to determine the positions of the GPS satellites at the times of transmission and hence to compute the position of the GPS receiver.

Accordingly, each of the GPS satellites broadcasts a model of satellite orbit and clock data known as the satellite navigation message. The satellite navigation message is a 50 bit-per-second (bps) data stream that is modulo-2 added to the PN code with bit boundaries aligned with the beginning of a PN frame. There are exactly 20 PN frames per data bit period (20 milliseconds). The satellite navigation message includes satellite-positioning data, known as “ephemeris” data, which identifies the satellites and their orbits, as well as absolute time information (also referred to herein as “GPS system time”) associated with the satellite signal. The GPS system time information is in the form of a second of the week signal, referred to as time-of-week (TOW). This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite.

GPS satellites move at approximately 3.9 km/s, and thus the range of the satellite, observed from the earth, changes at a rate of at most ±800 m/s. Absolute timing errors result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Absolute timing errors of much more than 10 ms will result in large position errors, and so typical GPS receivers have required absolute time to approximately 10 milliseconds accuracy or better.

Another time parameter closely associated with GPS positioning is the sub-millisecond offset in the time reference used to measure the sub-millisecond pseudorange. This offset affects all the measurements equally, and for this reason it is known as the “common mode error”. The common mode error should not be confused with the absolute time error. As discussed above, an absolute time error of 1 millisecond leads to range errors of up to 0.8 meters while an absolute time error of 1 microsecond would cause an almost unobservable range error of less than 1 millimeter. A common mode error of 1 microsecond, however, results in a pseudorange error of 1 microsecond multiplied by the speed of light (i.e., 300 meters). Common mode errors have a large effect on pseudorange computations, and it is, in practice, very difficult to calibrate the common mode error. As such, traditional GPS receivers treat the common mode error as an unknown that must be solved for, along with position, once a sufficient number of pseudoranges have been measured at a particular receiver.

Traditionally, the process of resolving the integer portions of the pseudoranges (“integer ambiguity resolution”) has traditionally required an initial estimate of receiver position that is close enough to the true receiver position for the integers to be uniquely defined. Notably, an initial position within 150 km of the true position will enable unambiguous resolution of the integers. In some cases, the only choice for an initial position estimate at the receiver is the most recently computed position, which is stored in a position cache. For example, the receiver may be unable to communicate with any external source capable of providing a position estimate (e.g., a cellular telephone network). However, if the receiver has traveled more than 150 kilometers from the last computed position, than the pseudorange integers will not be reliably resolved. If a position is computed using pseudoranges having incorrect integers, the position will be invalid.

Accordingly, there exists a need in the art for a method and apparatus for validating a position in a satellite position system.

SUMMARY OF THE INVENTION

Method and apparatus for locating position of a remote receiver is described. In one embodiment, fractional pseudoranges are measured from the remote receiver to a plurality of satellites. An initial position is obtained at the remote receiver. For example, a recently computed position stored in a position cache of the remote receiver may be selected as the initial position. A position of the remote receiver is computed using the fractional pseudoranges and the initial position. Range-rate measurements are obtained at the remote receiver with respect to the satellites. The computed position is validated using the range-rate measurements.

In another embodiment, fractional pseudoranges from the remote receiver to a plurality of satellites are measured. An initial position is obtained at the remote receiver. For example, a recently computed position stored in a position cache of the remote receiver may be selected as the initial position. Range-rate measurements are obtained at the remote receiver with respect to the plurality of satellites. The initial position is validated using the range-rate measurements. The position of the remote receiver is computed using the fractional pseudoranges and the initial position in response to the initial position being deemed valid. Notably, if the initial position is deemed valid, the initial position may be used to fix the integer portions of the fractional pseudoranges.

DETAILED DESCRIPTION OF THE INVENTION

A method and apparatus for validating a position in a satellite positioning system (SPS) using range-rate measurements is described. Those skilled in the art will appreciate that the invention may be used with various types of mobile or wireless devices that are “location-enabled,” such as cellular telephones, pagers, laptop computers, personal digital assistants (PDAs), and like type wireless devices known in the art. Generally, a location-enabled mobile device is facilitated by including in the device the capability of processing satellite positioning system (SPS) satellite signals.

FIG. 1is a block diagram depicting an exemplary embodiment of a position location system100. The system100comprises a remote receiver102and a server108. The remote receiver102is configured to receive satellite signals from a plurality of satellites112in a constellation of satellites. The remote receiver102processes the received signals to produce satellite measurement data (e.g., pseudoranges, range-rate measurements) with respect to the satellites112. In one embodiment, the remote receiver102receives assistance data from the server108. The remote receiver102may communicate with the server108via a wireless network110, a wired network111, or both. Notably, the remote receiver102may be configured for direct communication with the wired network111or for indirect communication through a computer113. The wireless network110may comprise any type of wireless network known in the art, such as a cellular telephone network. The wired network111may comprise any type of wired network known in the art, such as the Internet.

The remote receiver102may use the assistance data to aid in acquisition of the satellite signals and/or to compute position. The assistance data may include satellite position information (e.g., ephemeris data or other type of satellite orbit model), expected code phase, expected Doppler, a pseudorange model, and like type assistance data known in the art, as well as any combination of such data. In one embodiment, the remote receiver102computes its own position using the satellite measurement data and the assistance data. Such a configuration is similar to the industry standard “Mobile Station Based” mode, but differs from the standards in that no initial position is required from the server. The management of the initial position by the remote receiver is part of the current invention. In another embodiment, the remote receiver102sends the satellite measurement data to the server108and the server108computes position of the remote receiver (e.g., a mobile station assisted or MS-Assisted configuration).

Although the position location system100is shown as an Assisted GPS (A-GPS) system having a server, it is to be understood that the remote receiver102may operate autonomously without receiving assistance data from the server108. That is, in another embodiment, there is no communication between the remote receiver102and the server108and the remote receiver102does not receive assistance data. Instead, the remote receiver102receives satellite position information by decoding the satellite signals to recover satellite navigation data using a well known decoding process. The remote receiver102then computes its own position using the satellite measurement data and the satellite navigation data.

In one embodiment, the remote receiver102comprises a satellite signal receiver104, a wireless transceiver106, a processor122, support circuits124, a communications transceiver107, and a memory120. The satellite signal receiver104receives satellite signals from the satellites112using an antenna116. The satellite signal receiver104may comprise a conventional A-GPS receiver. An exemplary A-GPS receiver is described in commonly-assigned U.S. Pat. No. 6,453,237, issued Sep. 17, 2002, which is incorporated by reference herein in its entirety. The wireless transceiver106receives wireless signals from the wireless communication network110via an antenna118. The communications transceiver107may comprise a modem or the like for direct communication with the wired network111, or may comprise a serial transceiver or the like for communicating with the computer113. Although the remote receiver102is shown as having both a wireless transceiver and a communications transceiver, those skilled in the art will appreciate that the remote receiver102may be configured with only the wireless transceiver106or only the communications transceiver107. The satellite signal receiver104, the wireless transceiver106, and the communications transceiver107may be controlled by the processor122. For purposes of clarity by example, the remote receiver102is shown as an assisted-SPS receiver. Those skilled in the art will appreciate, however, that the invention described herein may be used in a conventional autonomous SPS receiver (e.g., a receiver without a wireless transceiver or a communications transceiver).

The processor122may comprise a microprocessor, instruction-set processor (e.g., a microcontroller), or like type processing element known in the art. The processor122is coupled to the memory120and the support circuits124. The memory120may be random access memory, read only memory, removable storage, hard disc storage, or any combination of such memory devices. The memory120may be used to store a cache of recently computed positions (“position cache130”). Various processes and methods described herein may be implemented via software stored in the memory120for execution by the processor122. Alternatively, such processes and methods may be implemented using dedicated hardware, such as an application specific integrated circuit (ASIC), or a combination of hardware and software. The support circuits124include conventional cache, power supplies, clock circuits, data registers, I/O circuitry, and the like to facilitate operation of the remote receiver102.

Satellite navigation data, such as ephemeris for at least the satellites112, may be collected by a network of tracking stations (“reference network114”). The reference network114may include several tracking stations that collect satellite navigation data from all the satellites in the constellation, or a few tracking stations, or a single tracking station that only collects satellite navigation data for a particular region of the world. An exemplary system for collecting and distributing ephemeris is described in commonly-assigned U.S. Pat. No. 6,411,892, issued Jun. 25, 2002, which is incorporated by reference herein in its entirety. The reference network114may provide the collected satellite navigation data to the server108.

FIG. 2is a flow diagram depicting an exemplary embodiment of a method200for locating position of a remote receiver in accordance with the invention. The method200begins at step202. At step204, fractional pseudoranges are measured from the remote receiver102to a plurality of satellites (the satellites112). In one embodiment, fractional pseudoranges are obtained by measuring sub-millisecond pseudoranges at the remote receiver102. In another embodiment, fractional pseudoranges are obtained by synchronizing to the navigation data bit edges (e.g., in GPS, the navigation data bit edges occur every 20 milliseconds). By identifying the navigation data bit edges, the pseudoranges may be determined modulo the navigation data bit period (e.g., modulo 20 milliseconds in GPS to provide sub-20 millisecond pseudoranges). In yet another embodiment, fractional pseudoranges are obtained from sub-ms pseudoranges for some satellites, and modulo the data bit period for other satellites. At step206, an initial position of the remote receiver102is obtained. For example, the remote receiver102may store one or more recently computed positions in the memory120(e.g., the position cache130). The most recent of such positions may be selected as an initial position. At step208, range-rate measurements are obtained at the remote receiver102to validate the initial position obtained at step206. Exemplary processes for validating a position using range-rate measurements are described below with respect toFIGS. 3 and 4.

At step210, a determination is made as to whether the initial position is valid. The validation process performed at step210is used to determine if the initial position is within 150 km of the actual position of the remote receiver (e.g., one half an epoch of a PN code). If so, the initial position may be used to fix the integer portions of the fractional pseudoranges. If not, the initial position cannot be used to unambiguously fix the integer portions of the fractional pseudoranges. Thus, if at step210the initial position is deemed to be valid, the method200proceeds to step212. At step212, the pseudorange integers are resolved using the initial position obtained at step206. If the initial position is deemed to be invalid at step210, the method200proceeds to step214. At step214, the pseudorange integers are resolved without using the initial position. An exemplary integer ambiguity resolution process that may be performed without the need on an initial position is described in commonly-assign U.S. Pat. No. 6,734,821, issued May 11, 2004, which is incorporated by reference herein in its entirety. However, as described in U.S. Pat. No. 6,734,821, in order to resolve the integers without an initial position to within 150 kilometers, more than four fractional pseudorange measurements are required. In contrast, the integers may be fixed using the initial position at step212using only three or four pseudoranges. In some cases, the remote receiver102may not be capable of receiving more than four satellite signals to compute pseudoranges (e.g., low signal-to-noise ratio environments). Thus, it is advantageous to resolve the pseudorange integers using the initial position, if possible, at step212.

At step216, position of the remote receiver102may be computed using the full pseudoranges and a navigation model in a well-known manner. Notably, in the general satellite navigation problem, there are nine unknowns:Three position unknowns: x, y, zThree velocity unknowns: {dot over (x)}, {dot over (y)}, żThree clock unknowns: tC, tS, fC
where tCis the common mode timing error (usually a sub-millisecond value in GPS), tSis the absolute time tag error, and fCis the frequency error in a local oscillator within the remote receiver102. One or more of the variables may be known or estimated based on a-priori information (e.g., tSmay known if the remote receiver102is calibrated to precise GPS time). One or more of the unknown variables may be solved for the pseudoranges and satellite orbit/clock data (e.g., ephemeris) in a well-known manner.

FIG. 5is a flow diagram depicting another exemplary embodiment of a method500for locating position of a remote receiver in accordance with the invention. The method500begins at step502. At step504, fractional pseudoranges are measured from the remote receiver102to a plurality of satellites (e.g., sub-millisecond pseudoranges, modulo-20 millisecond pseudoranges). At step506, an initial position of the remote receiver102is obtained (e.g., a position from a position cache). At step508, the pseudorange integers are resolved using the initial position. At step510, position of the remote receiver102is computed using the full pseudoranges and a navigation model as described above. At step512, range-rate measurements are obtained at the remote receiver102to validate the position computed at step510. Exemplary processes for validating a position using range-rate measurements are described below with respect toFIGS. 3 and 4. At step514, a determination is made as to whether the computed position is valid. If so, the method500ends at step518. Otherwise, the method500proceeds to step516. At step516, the pseudorange integers are resolved without using the initial position and the position of the remote receiver102is re-computed using the pseudoranges. The method500then ends at step518.

FIG. 3is a flow diagram depicting an exemplary embodiment of a method300for validating a position at a remote receiver in accordance with the invention. The method300may be performed at step208of the position location method200ofFIG. 2to validate an initial position and at step512of the position location method ofFIG. 5to validate a computed position. The method300begins at step302. At step304, range-rate measurements are obtained at the remote receiver102with respect to the satellites112. The range-rate for a given satellite j is denoted as {dot over (ρ)}j. In one embodiment of the invention, the range-rate measurements may be obtained by obtaining Doppler measurements with respect to the satellites112. Doppler measurements may be made by the satellite signal receiver104in a well-known manner. Alternatively, the range-rate measurements may be obtained by differencing sets of fractional pseudoranges measured at two different times (i.e., by computing the rate-of-change of pseudoranges or the “pseudorange rate”).

At step306, expected range rates are computed using a position obtained at step305. For example, the position obtained at step305may be the initial position obtained at step206inFIG. 2or the computed position obtained at step510inFIG. 5. The expected range rates may be computed by differencing sets of expected pseudoranges to the satellites112based on the obtained position at two different times. The expected range-rate for a given satellite j, computed at an initial position Pi, is denoted as {dot over (ρ)}ji. At step308, a reference satellite is selected from the satellites112to be used in single-difference computations. In one embodiment, the satellite with the largest signal-to-noise ratio is selected as the reference satellite. The subscript 0 is used to denote a reference range-rate measurement and a reference expected range-rate. Thus, the reference range-rate measurement is denoted as {dot over (ρ)}0, and the reference expected range-rate is denoted as {dot over (ρ)}0i.

At step310, single differences are computed between the range-rate measurement of the reference satellite and the remaining range-rate measurements. The single difference term is denoted by the delta symbol (Δ) and is used below to signify the difference between {dot over (ρ)}j, which is the jth range-rate measurement, and {dot over (ρ)}0, which is the range-rate measurement for the reference satellite. Thus, the measured range-rate single difference for the jth satellite may be expressed as:
Δ{dot over (ρ)}j={dot over (ρ)}j−{dot over (ρ)}0.
At step312, single differences are computed between the expected range-rate of the reference satellite and the remaining expected range-rates. The expected range-rate single difference for the jth satellite may be expressed as:
Δ{dot over (ρ)}ji={dot over (ρ)}ji−{dot over (ρ)}0i.

At step314, single-difference residuals are computed. The single difference residual for the jth satellite (dj) may be expressed as:
dj=Δ{dot over (ρ)}j−Δ{dot over (ρ)}ji
At step316, each single difference residual is compared to a threshold value and a determination is made as to whether each of the single difference residuals satisfies the threshold. In one embodiment, the absolute value of each single difference residual (having units of meters per second) is compared to a threshold. For example, a threshold of 20 meters per second (m/s) may be established, which corresponds to an approximate 100 km difference between actual position and the initial position. If the absolute value of a selected number (e.g., at least one) of the single difference residuals is greater than the threshold (e.g., 20 m/s), then the position is deemed invalid. Conversely, if the absolute value of a selected number (e.g., all) of single difference residuals is less than the threshold, then the position is deemed valid. Also, there may be an unexpected bias in each range-rate measurement if the remote receiver is moving. A threshold value of 20 m/s corresponds to a speed of approximately 72 km/h. Thus, if the speed of the remote receiver102is unknown by more than 72 km/h, then the results of the test performed at step316will be ambiguous (e.g., the initial position may be valid, but a false alarm is generated due to the unknown speed of the remote receiver102.) In this case the problem is solved by re-computing speed using the range-rate measurements until speed is known to better than 20 m/s. It is to be understood that other threshold values may be chosen that are less or more restrictive than 20 m/s.

If the single difference residuals satisfy the threshold at step316, the method300proceeds to step318, where the position is flagged as being valid. If the single difference residuals fail the threshold, the method300proceeds to step320, where the position is flagged as being invalid. The method300ends at step322.

FIG. 4is a flow diagram depicting another exemplary embodiment of a method400for validating a position at a remote receiver in accordance with the invention. The method400may be performed at step208of the position location method200ofFIG. 2to validate an initial position and at step512of the position location method500ofFIG. 5to validate a computed position. The method400begins at step402. At step404, range-rate measurements are obtained at the remote receiver102with respect to the satellites112. As described above, the range rates may be obtained by obtaining Doppler measurements or by measuring the pseudorange rate. At step410, expected range-rates are computed using a position obtained at step406and clock error data obtained at step408. For example, the position obtained at step406may be the initial position obtained at step206inFIG. 2or the computed position obtained at step510inFIG. 5. The clock error data obtained at step408includes the relative clock error difference between the clock frequency in the satellite signal receiver104and the clock frequency in the satellites112. The clock error data may be known at the remote receiver102from a previously computed valid position and velocity.

At step412, range-rate residuals are computed by differencing the expected range-rates computed at step410and the measured range-rates obtained at step404. Since the clock error is known, the single difference computation performed in the method300ofFIG. 3is not necessary. At step414, each range-rate residual is compared to a threshold value and a determination is made as to whether each of the range-rate residuals satisfies the threshold. In one embodiment, the absolute value of each range-rate residual (having units of meters per second) is compared to a threshold. If the absolute value of a selected number (e.g., at least one) of the range-rate residuals is greater than the threshold, then the position is deemed invalid. Conversely, if the absolute value of a selected number (e.g., all) of range-rate residuals is less than the threshold, then the position is deemed valid. If the range-rate residuals satisfy the threshold at step414, the method400proceeds to step416, where the position is flagged as being valid. Otherwise, the method400proceeds to step418, where the position is flagged as being invalid. The method400ends at step420.

In the preceding discussion, the invention has been described with reference to application upon the United States Global Positioning System (GPS). It should be evident, however, that these methods are equally applicable to similar satellite systems, and in particular, the Russian GLONASS system, the European GALILEO system, combinations of these systems with one another, and combinations of these systems and other satellites providing similar signals, such as the wide area augmentation system (WAAS) and SBAS that provide GPS-like signals. The term “GPS” used herein includes such alternative satellite positioning systems, including the Russian GLONASS system, the European GALILEO system, the WAAS system, and the SBAS system, as well as combinations thereof.