CROSS REFERENCE TO RELATED APPLICATIONSThis application is a divisional patent application of and claims priority to co-pending U.S. patent application Ser. No. 10/838,517 filed May 4, 2004. U.S. patent application Ser. No. 10/838,517 is a continuation-in-part of the following U.S. patent applications:
(1) U.S. patent application Ser. No. 10/295,332, filed Nov. 15, 2002, which is a continuation of U.S. patent application Ser. No. 09/990,479, filed Nov. 21, 2001 (now U.S. Pat. No. 6,487,499), which is a continuation of U.S. patent application Ser. No. 09/553,930, filed Apr. 21, 2000 (now U.S. Pat. No. 6,453,237), which claims priority to U.S. provisional patent application No. 60/130,882, filed Apr. 23, 1999;
(2) U.S. patent application Ser. No. 10/359,468, filed Feb. 5, 2003, which is a continuation of U.S. patent application Ser. No. 09/989,625, filed Nov. 20, 2001 (now U.S. Pat. No. 6,587,789), which is a divisional of U.S. patent application Ser. No. 09/615,105, filed Jul. 13, 2000 (now U.S. Pat. No. 6,411,892);
(3) U.S. patent application Ser. No. 10/665,703, filed Sep. 19, 2003, which is a divisional of U.S. patent application Ser. No. 09/900,499, filed Jul. 6, 2001 (now U.S. Pat. No. 6,704,348), which is a continuation-in-part of U.S. patent application Ser. No. 09/861,086, filed May 18, 2001 (now U.S. Pat. No. 6,606,346);
(4) U.S. patent application Ser. No. 09/993,335, filed Nov. 6, 2001.
Each of the aforementioned patent applications, patents, and provisional application are incorporated by reference herein in their entireties.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to signal correlators for digital signal receivers and, more particularly, to a method and apparatus processing satellite positioning system signals in a mobile receiver.
2. Description of the Background Art
Global Positioning System (GPS) receivers use measurements from several satellites to compute position. GPS 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.
More specifically, each GPS 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 performing a series of correlations between the incoming signals and internally generated PN signal sequences (also referred to as reference codes or PN reference codes). For each incoming signal, the correlation process can be lengthy, as both the time delay and the exact frequency of the signal are unknown. To test for the presence of a signal, the receiver is tuned to a particular frequency, and the incoming signal is correlated with the PN reference code having a particular code shift corresponding to a time delay. If no signal is detected, the PN reference code is shifted and the correlation is repeated for the next possible time delay. To find a given signal, receivers traditionally conduct a two dimensional search, checking each delay possibility over a range of frequencies. In addition, each individual correlation is typically performed over one or more milliseconds in order to allow sufficient signal averaging to distinguish the signal from the noise. Because many thousands frequency and time delay possibilities are checked, the overall acquisition process can take tens of seconds.
The measured time delays produced by the correlation process are referred to as “sub-millisecond pseudoranges”, since they are known modulo the 1 millisecond PN frame boundaries. By resolving the integer number of milliseconds associated with each measured time delay, 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 time” or “time-of-day”) associated with the satellite signal. The absolute 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.
In some GPS applications, the signal strengths of the satellite signals are so low that either the received signals cannot be processed, or the time required to process the signals is excessive. Detecting attenuated signals requires each correlation to be performed over a relatively long period of time. For example integration may be performed over a few seconds, as opposed to the 1-10 millisecond period used in traditional GPS receivers. The two dimensional sequential search process employed by traditional receivers becomes impractical at such long integration times, because the overall search time increases by a factor of 100 or more. Moreover, the pseudoranges measured by the process may be inaccurate, since the receiver performs the correlations at a coarse spacing, such as one-half chip, for example.
To accelerate the search process, GPS designers add additional correlators to the receiver so that multiple time delay possibilities can be checked simultaneously. Typically, each correlator that is added requires a separate code mixer and signal accumulator. For a given sensitivity level, this decreases search times in proportion to the number of correlators. To achieve the sensitivity and acquisition time demanded in low signal-to-noise ratio environments, the design might have to incorporate many thousands of correlators. This addition is typically prohibitively complex and expensive for a consumer class device.
Therefore, there exists a need in the art for improved, low cost processing of satellite positioning system signals in a mobile receiver.
SUMMARY OF THE INVENTIONA method and apparatus for processing a satellite positioning system signal is described. In one embodiment, a timing reference related to a satellite positioning system time of day is obtained from a wireless communication signal received by a mobile receiver. A bias in a local clock of the mobile receiver with respect to a frame timing of a repeating code broadcast by the satellite is compensated for in response to the timing reference. An expected code delay window is obtained for the satellite positioning system signal at the mobile receiver. The satellite positioning system signal is correlated with a reference code within the expected code delay window. The timing reference allows the mobile receiver to substantially compensate for the local clock bias associated with correlator circuitry used to measure code delays to satellite positioning signals. In one embodiment, the timing reference is combined with expected pseudorange data to determine the expected code delay window over which the satellite signals are correlated. In another embodiment, the timing reference is further compensated to account for the distance of the mobile receiver from a wireless base station.
In another embodiment, an expected code delay window is obtained at the mobile receiver. The mobile receiver selects a sampling resolution in response to a size of the expected code delay window. The satellite positioning system signal is sampled at the selected sampling resolution. The sampled satellite positioning system signal is correlated with a reference code. In one embodiment, a higher sampling resolution is selected when the size of the code delay window satisfies a threshold, which enables more accurate code delay measurements.
BRIEF DESCRIPTION OF DRAWINGSSo that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
FIG. 1 is a block diagram depicting an exemplary embodiment of a position location system;
FIG. 2 is a block diagram depicting an exemplary embodiment of a mobile receiver constructed in accordance with the invention;
FIG. 3 is a block diagram depicting an exemplary embodiment of a GPS receiver constructed in accordance with the invention;
FIG. 4 is a block diagram depicting an exemplary embodiment of correlation circuitry constructed in accordance with the invention;
FIG. 5 is a graph illustrating an exemplary embodiment of a correlation response for an entire PN frame; and
FIG. 6 is a flow diagram depicting an exemplary embodiment of a method for processing a satellite positioning system signal in accordance with the invention.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION OF THE INVENTIONA method and apparatus for processing a satellite positioning system signal in a mobile receiver 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. 1 is a block diagram depicting an exemplary embodiment of aposition location system100. Thesystem100 comprises amobile receiver102 in communication with aserver108 via awireless communication network110. Themobile receiver102 is configured for communication with theserver108 over a communication link between anantenna118 and abase station109 of thewireless communication network110. Thewireless communication network110 may comprise a cellular communication network having a plurality of base stations or cell sites, including thebase station109. Theserver108 may be disposed in a serving mobile location center (SMLC) of thewireless communication network110. Themobile receiver102 is configured to receive satellite signals from a plurality ofsatellites112 via anantenna116. Themobile receiver102 processes the received satellite signals to produce satellite measurement data (e.g., pseudoranges, Doppler measurements).
Satellite navigation data, such as ephemeris for at least thesatellites112, may be collected by a network of tracking stations (“reference network114”). Thereference network114 may 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. Thereference network114 may provide the collected satellite navigation data to theserver108. Upon request, theserver108 may transmit satellite trajectory data (e.g., ephemeris, almanac, or some other satellite trajectory model) to themobile receiver102. Alternatively, themobile receiver102 may receive satellite trajectory data (e.g., ephemeris, almanac, or some other satellite trajectory model) via a communications network115 (e.g., a computer network, such as the Internet). Notably, the satellite trajectory data may comprise a long term satellite trajectory model, as described in commonly-assigned U.S. Pat. No. 6,560,534, issued May 6, 2003, which is incorporated by reference herein in its entirety.
In one embodiment, themobile receiver102 sends the satellite measurement data to theserver108 along with a time-tag. Theserver108 receives satellite navigation data for at least thesatellites112 from thereference network114. Theserver108 locates position of themobile receiver102 using the satellite measurement data and the satellite navigation data (referred to as the mobile station assisted or “MS-assisted” configuration). In another embodiment, themobile receiver102 obtains satellite trajectory data from either theserver108 or thecommunications network115. Themobile receiver102 locates its own position using the satellite measurement data and the trajectory data (referred to as the mobile station based or “MS-based” configuration). In yet another embodiment, themobile receiver102 may locate its own position by decoding satellite navigation message from the satellite signals, rather than receiving the satellite trajectory data from an external source (referred to as the autonomous configuration).
In any configuration, themobile receiver102 may use satellite signal acquisition assistance data (“acquisition assistance data”) to assist in acquiring satellite signals and obtaining satellite measurement data. Acquisition assistance data may be computed using satellite trajectory data (e.g., ephemeris or other satellite trajectory model) and an approximate position of themobile receiver102. An approximate position of themobile receiver102 may be obtained using various position estimation techniques known in the art, including use of transitions between base stations of thewireless communication network110, use of a last known location of themobile receiver102, use of a location of thebase station109 in communication with themobile receiver102, use of a location of thewireless communication network110 as identified by a network ID, or use of a location of a cell site of thewireless communication network110 in which themobile receiver102 is operating as identified by a cell ID.
The acquisition assistance data includes expected pseudorange data. In one embodiment of the invention, the acquisition assistance data includes expected pseudoranges from thesatellites112 to an assumed position of the mobile receiver102 (approximate position) at an assumed time-of-day. The expected pseudoranges may be computed using the satellite trajectory data. The details of such computations are well known in the art and, for purposes of clarity, are not repeated herein. The expected pseudoranges may be computed by theserver108 and transmitted to themobile receiver102 upon request. Alternatively, if themobile receiver102 has obtained satellite trajectory data, themobile receiver102 may compute the expected pseudoranges.
In one embodiment, the expected pseudoranges are derived from a model that is valid over specified period of time (“pseudorange model”). Themobile receiver102 may apply a time-of-day to the pseudorange model to extract appropriate expected pseudorange parameters. Exemplary processes for forming pseudorange models as acquisition assistance data are described in commonly-assigned U.S. Pat. No. 6,453,237, issued Sep. 17, 2002, which is incorporated by reference herein in its entirety. A pseudorange model may be formed by theserver108 and transmitted to themobile receiver102 upon request. Alternatively, if themobile receiver102 has obtained satellite trajectory data, themobile receiver102 may form the pseudorange model.
In one embodiment, the acquisition assistance data may be formatted as described in ETSI TS 101 527 (3GPP TS 4.31), which is shown below in Table 1. Notably, the acquisition assistance data defined in 3GPP TS 4.31 may include a satellite vehicle identifier (SVID), zeroth and first order Doppler terms, a Doppler uncertainty, an expected code phase (e.g., sub-millisecond pseudorange), an integer code phase, a code phase search window, and expected azimuth and elevation data. The range of possible values and associated resolutions are shown for each of the parameters.
| TABLE 1 |
|
| Parameter | Range | Resolution |
|
| SVID/PRNID | 1-64 (0-63) | n/a |
| Doppler (0thorder term) | −5,120 Hz to 5,117.5 Hz | 2.5 | Hz |
| Doppler (1storder term) | −1-0.5 | n/a |
| Doppler Uncertainty | 12.5 Hz-200 Hz | n/a |
| [2−n(200) Hz, n = 0-4] |
| Code Phase | 0-1022chips | 1 | chip |
| Integer Code Phase | 0-19 | 1 | C/A |
| | | period |
| GPS Bit number | 0-3 | n/a |
| Code Phase Search | 1-192 chips | n/a |
| Window |
| Azimuth | 0-348.75 deg | 11.25 | deg |
| Elevation | 0-78.75 deg | 11.25 | deg |
|
Theserver108 illustratively comprises an input/output (I/O)interface104, a central processing unit (CPU)124,support circuits106, and amemory120. TheCPU124 is coupled to thememory120 and thesupport circuits106. Thememory120 may be random access memory, read only memory, removable storage, hard disc storage, or any combination of such memory devices. Thesupport circuits106 include conventional cache, power supplies, clock circuits, data registers, I/O interfaces, and the like to facilitate operation of theserver108. The I/O interface104 is configured to receive satellite navigation data from thereference network114. The I/O interface104 is also configured for communication with thewireless communication network110. Various processes and methods described herein may be implemented usingsoftware122 stored in thememory120 for execution by theCPU124. Alternatively, theserver108 may implement such processes and methods in hardware or a combination of software and hardware, including any number of processors independently executing various programs and dedicated hardware, such as application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and the like.
Thebase station109 is configured to broadcast a time synchronization signal to enable themobile receiver102 to synchronize to thebase station109 as a first step in establishing communication with thewireless communication network110. The time synchronization signal includes a timing message that is related to GPS time. The timing message may be related absolutely to GPS time (e.g., the timing message may be a system time message) or may be related to a sub-millisecond portion of GPS time (e.g., the timing message may be a frame number and information relating the frame number to GPS time). In either case, information from the time synchronization signal may be used to establish a timing reference for themobile receiver102.
For example, thebase station109 may employ a separate synchronization channel for broadcasting a time message that contains the system time relative to timing markers in the synchronization channel. The system time may be equivalent to GPS time or may have some known relationship to GPS time. Themobile receiver102 may derive the system time from the time synchronization signal and determine a timing reference related to GPS time. The timing reference may be used to calibrate clock circuits within themobile receiver102, or may be used to establish a time offset between such clock circuits and GPS time. In one embodiment, the timing reference is further compensated to account for the distance of themobile receiver102 from thebase station109. This compensation makes use of a measurement of the round trip signal delay betweenbase station109 and themobile receiver102. In this manner, themobile receiver102 may be synchronized to GPS time.
An exemplary cellular communication network that employs such a timing synchronization signal is the North American CDMA (code division multiple access) standard (IS-95). The IS-95 system employs a separate 26.67 millisecond synchronization channel that is spread using a PN sequence of 215 chips. Additionally, the synchronization channel is modulated with a particular Walsh code, allowing it to be separated from paging and traffic channels using different Walsh codes. The synchronization channel carries a message containing a time of day relative to the frame boundaries of the synchronization channel (“CDMA system time”). The CDMA system time is precisely related to GPS time. In one embodiment, to accurately determine GPS time from the CDMA system time, the CDMA time obtained from the synchronization channel is adjusted to remove an offset that is added by the delay in the transmission of the CDMA system time from thebase station109 to themobile receiver102. This adjustment is made by measuring the round-trip delay for a signal being transmitted from themobile receiver102 to thebase station109 and back. The synchronization channel structure for the IS-95 CDMA system is well known in the art. For purposes of clarity by example, aspects of the invention are described with respect to an IS-95 CDMA system. It is to be understood, however, that the invention may be used with other types of synchronized cellular communication networks that provide time synchronization signals, such as CDMA-2000, W-CDMA, and the like.
The present invention may also be used with non-synchronized cellular communication systems that include a mechanism for relating a non-synchronized system time to GPS time, such as global system for mobile communication (GSM), universal mobile telecommunications system (UMTS), North American time division multiple access (TDMA) (e.g., IS-136), and personal digital cellular (PDC) networks. For example, in a GSM system, the time synchronization signal comprises a synchronization burst periodically transmitted by thebase station109 and a timing message that provides a GSM time stamp associated with the synchronization burst. In some GSM networks, GSM time is not synchronized to GPS time. However, such networks may include location measurement units (LMUs). As is well known in the art, an LMU includes a GPS receiver, which is used to receive and decode time information (TOW) from the satellites in view of one or more base stations. The LMU then computes an offset value between GPS time and the time as known by the base station(s) that are near the LMU (“air-interface timing”). The offset is provided to the base station(s) for use in relating the air-interface timing to GPS time. Notably, thebase station109 may transmit an offset between its air-interface timing and GPS time to themobile receiver102. For example, the offset may be supplied to themobile receiver102 as part of an acquisition assistance data exchange as defined in 3GPP TS 4.31.
As described below, the invention may synchronize to the frame timing of the PN codes broadcast by the GPS satellites using the timing reference derived from a time synchronization signal of a wireless network. This allows themobile receiver102 to substantially compensate for the local clock bias associated with the correlator circuitry used to measure the code delays. Then, using expected pseudorange data, themobile receiver102 may derive an expected code delay window over which the satellite signals may be correlated. In this manner, the invention substantially reduces the time required to detect the satellite signals, as well as increases the accuracy of the satellite measurement data.
FIG. 2 is a block diagram depicting an exemplary embodiment of themobile receiver102 ofFIG. 1. Themobile receiver102 illustratively comprises aGPS receiver202, awireless transceiver204, aprocessor206, amemory210, and supportcircuits208. TheGPS receiver202 processes satellite signals received by theantenna116. An exemplary embodiment of theGPS receiver202 is described below with respect toFIG. 3. Thewireless transceiver204 processes a wireless signal (e.g., a cellular signal) received by theantenna118. TheGPS receiver202 and thewireless transceiver204 are controlled by theprocessor206. Themobile receiver102 may include amodem212 or other type of communications transceiver for receiving data (e.g., satellite trajectory data) from a separate communications link, such as the Internet.
Theprocessor206 may comprise a microprocessor, instruction-set processor (e.g., a microcontroller), or like type processing element known in the art. Theprocessor206 is coupled to thememory210 and thesupport circuits208. Thememory210 may be random access memory, read only memory, removable storage, hard disc storage, or any combination of such memory devices. Thesupport circuits208 include conventional cache, power supplies, clock circuits, data registers, I/O interfaces, and the like to facilitate operation of themobile receiver102. Various processes and methods described herein may be implemented usingsoftware211 stored in thememory210 for execution by theprocessor206. Alternatively, themobile receiver102 may implement such processes and methods in hardware or a combination of software and hardware, including any number of processors independently executing various programs and dedicated hardware, such as ASICs, FPGAs, and the like.
Notably, in an IS-95 CDMA compatible environment, thewireless transceiver204 detects a pilot channel of a nearby base station (e.g., thebase station109 ofFIG. 1) and then proceeds to decode a synchronization channel broadcast by the base station. Thewireless transceiver204 achieves synchronization to the framing of the synchronization channel and receives a time message containing a time of day relative to the frame boundaries. Since the time of day derived from the synchronization channel is related to GPS time used by the GPS satellites, theprocessor206 may derive a timing reference related to GPS time. The timing reference may be further compensated for the round-trip delay of a signal communicated between thewireless transceiver204 and thebase station109. Theprocessor206 provides the timing reference to theGPS receiver202 as a reference signal. In a GSM compatible environment, themobile receiver102 receives a time offset from thebase station109 that relates the air-interface timing of thebase station109 to GPS time. Thewireless transceiver204 achieves synchronization to the framing of the GSM signal and receives a GSM time message containing a time of day relative to the frame boundaries. Theprocessor206 derives a timing reference related to GPS time using the time offset between the air-interface timing and GPS time. Theprocessor206 provides the timing reference to theGPS receiver202 as a reference signal. In either the CDMA or GSM environments, theGPS receiver202 may use the reference signal to precisely track GPS time, typically to within a few microseconds.
FIG. 3 is a block diagram depicting an exemplary embodiment of theGPS receiver202 ofFIG. 2. TheGPS receiver202 illustratively comprises afront end302, an analog-to-digital (A/D)converter304, a receiver interface205, and a set ofprocessing channels3061through306N(collectively referred to as processing channels306), where N is an integer. For purposes of clarity by example, only theprocessing channel3061is shown in detail. Those skilled in the art will appreciate that theprocessing channels3062through306Nare identical to theprocessing channel3061.
GPS signals are received by theantenna116. Thefront end302 filters, amplifies, and frequency shifts the GPS signals in a well-known manner for digitization by the A/D converter304. Outputs of the A/D converter304 are respectively coupled to each of theprocessing channels306. Thereceiver interface305 includes a bus configured to communicate with external circuitry (e.g., the processor206), and a bus configured to communicate with each of theprocessing channels306.
Each of theprocessing channels306 comprises atuner308, a carrier numerically controlled oscillator (NCO)310, adecimation circuit312, acode NCO314,correlator circuitry316, aPN code generator318,accumulation circuitry320, correlation resultsmemory322, andcontrol logic324. Each of theprocessing channels306 may be used to process a signal from a particular satellite. Thetuner308 is driven by thecarrier NCO310 to digitally tune a particular satellite signal. Thetuner308 may serve two purposes. First, thetuner308 may remove any intermediate frequency component remaining after processing by thefront end302. Second, thetuner308 may compensate for any frequency shift resulting from satellite motion, user motion, and reference frequency errors. Thetuner308 outputs baseband signal data comprises an in-phase component (I) and a quadrature component (Q).
Thedecimation circuit312 processes the I and Q data from thetuner308 to produce a series of complex signal samples with I and Q components in accordance with a sampling rate determined by thecode NCO314. In general, the sampling rate of thedecimation circuit312 may be selected to produce P samples per chip of the satellite signal PN code, where P is an integer greater than zero. In this manner, theGPS receiver202 may operate in multiple modes of resolution. For example, in a standard resolution mode, thedecimation circuit312 may produce digital signal samples have two samples per PN code chip (i.e., the samples are spaced at ½ of a PN code chip or P=2). In a high-resolution mode, thedecimation circuit312 may produce digital signal samples having five samples per PN code chip (i.e., the samples are spaced at ⅕ of a PN code chip or P=5). Those skilled in the art will appreciate that other values for the sample spacing may be employed and that theGPS receiver202 may operate in more than two modes of resolution.
Thecorrelator circuitry316 processes the I and Q samples from thedecimation circuit312. Thecorrelator circuitry316 correlates the I and Q signals with an appropriate PN code generated by thePN code generator318 for the particular satellite signal. An exemplary embodiment of thecorrelator circuitry316 is described below with respect toFIG. 4. The I and Q correlation results are accumulated with other I and Q correlation results by theaccumulation circuitry320 and are stored in the correlation resultsmemory322. The accumulation process is referred to as signal integration and is used to improve signal-to-noise ratio of the correlation results. Notably, theaccumulation circuitry320 may accumulate I and Q correlation results for a time period associated with one or more epochs of the PN code. For example, the I and Q correlation results may be accumulated over a one millisecond interval (i.e., one PN code epoch) or over a multiple millisecond interval (e.g., 10 PN code epochs or 10 milliseconds). This process is referred to as coherent integration and the associated time period is referred to as a coherent integration interval.
The coherent integration interval is limited by several factors, including uncompensated Doppler shift, 180 degree phase transitions caused by the navigation data bits, and phase shifts induced by motion of themobile receiver102. These factors introduce slow, but seemingly random phase variations into the signals. Over many tens of milliseconds, these phase changes cause destructive interference that defeats the purpose of coherent integration. Thus, to achieve long averaging intervals, theaccumulation circuitry320 may perform a secondary step of magnitude accumulation (also referred to as non-coherent integration).
Thecarrier NCO310, thecode NCO314, thecorrelator circuitry316, and theaccumulation circuitry320 are controlled by thecontrol logic324. Thecontrol logic324 may receive various configuration parameters via the receiver andchannel interfaces305 and326 (e.g., parameters generated by a processing device, such as theprocessor206 in the mobile receiver102). For example, the configuration parameters may include one or more of the desired tuning frequency of thecarrier NCO310, the desired mode of resolution for the decimation circuit312 (e.g., standard resolution mode or high-resolution mode), the desired coherent and non-coherent integration periods, and the desired timing reference and code delay window data for the correlator circuitry. Alternatively, one or more of such configuration parameters may be generated by thecontrol logic324. Thecontrol logic324 may implement the desired mode of resolution through control of thecode NCO314. For a detailed understanding of theGPS receiver202 and the components discussed above, the reader is referred to commonly-assigned U.S. Pat. No. 6,704,348, issued Mar. 9, 2004, which is incorporated by reference herein in its entirety.
FIG. 4 is a block diagram depicting an exemplary embodiment of thecorrelator circuitry316 ofFIG. 3. In one embodiment, thecorrelator circuitry316 comprises anadder404, a correlator clock406 (also referred to as a “local clock”), a codedelay control circuit405, async tracking circuit407, and a set ofcorrelators4021through402K(collectively referred to as correlators402), where K is an integer greater than zero. Each of thecorrelators402 is configured to receive the I and Q samples from thedecimation circuit312. Each of thecorrelators402 is configured to produce a correlation between the input I and Q signals and a PN reference code. The PN reference code is successively delayed in time amongst the correlators402 (i.e., the incoming samples are correlated with K replicas of the PN code). The code delay of the PN code for each of thecorrelators402 is controlled by the codedelay control circuit405. The codedelay control circuit405 controls the code delay for each of thecorrelators402 using a clock signal from thecorrelator clock406 and expected pseudorange data.
In one embodiment, thesync tracking circuit407 receives a reference signal that provides a timing reference related to GPS time (e.g., a reference signal derived from a time synchronization signal of a cellular network). As described above, the reference signal may be used to precisely track GPS time, typically to within a few microseconds. Thecorrelator clock406 may comprise a free-running (i.e., non-synchronized) clock. Thesync tracking circuit407 keeps track of the offset (error) between the reference signal and the timing of thecorrelator clock406. Thesync tracking circuit407 supplies an offset signal to the codedelay control circuit405. In this manner, the codedelay control circuit405 can account for any error in the timing of thecorrelator clock406. In another embodiment, thecorrelator clock406 may comprise a steerable clock circuit. Rather than employing thesync tracking circuit407, the timing of thecorrelator clock406 may be directly controlled using the reference signal. In general, a bias in thecorrelator clock406 with respect to the frame timing of the satellite PN codes is compensated for using the reference signal.
With the compensation of local clock bias, the codedelay control circuit405 may correctly center an expected code search window in order to detect the incoming signal. The expected code search window is formed using the expected pseudorange data. Notably, a sub-millisecond portion of the expected pseudorange data relates to the expected code phase offset at which the PN reference code and the incoming signal will be aligned. As is well known in the art, the particular one of thecorrelators402 having the input signal and PN reference code aligned will have a high correlation output with respect to allother correlators402. Theadder404 sums I and Q correlation results, which are supplied to theaccumulation circuitry320.
FIG. 5 is agraph500 illustrating anexemplary correlation response501 over a PN frame. Anaxis502 represent code chips, and anaxis504 represents signal strength. Points on thechip axis502 are spaced at an interval equal to the PN code chip length divided by the number of samples per chip (P). Thecorrelation response501 represents a sequence of correlation points506 at every possible time delay (also referred to as a convolution). The number of correlation points506 in thecorrelation response501 is a function of the number of samples per chip. For example, if P=2, then thecorrelation response501 includes 2046 correlation points. As is apparent from thegraph500, as the samples per chip increase (i.e., the resolution increases), the number of correlation points506 in thecorrelation response501 increases (e.g., by a factor of 1023 for every integer increase in P).
Thecorrelation response501 illustratively includes a peak508 at atime delay510. Thetime delay510 corresponds to the time delay of the PN reference code that results in the greatest alignment with the incoming signal samples. As is apparent from thegraph500, the more samples per chip (i.e., the higher the resolution), the more accurate the time delay measurement becomes. For example, a resolution of two samples per chip provides a sample spacing509 of approximately 500 nanoseconds, which corresponds to a range difference of 150 meters. A resolution of five samples per chip provides a sample spacing509 of approximately 200 nanoseconds, which corresponds to a range difference of 60 meters. Thus, it is clear that an increase in resolution provides for a more accurate delay measurement and hence a more accurate pseudorange measurement.
Referring toFIGS. 4 and 5, to detect thepeak508, thecorrelators402 must process a sufficient number of code delays in the vicinity of thepeak508, illustrated by thecode delay window512. For example, thecorrelators402 may compute a full convolution such that all possible code delays are processed. If there are two samples per chip, and a full convolution is to be computed at once, then 2046 correlators are required for each of the I and Q signals (4092 total correlators). If the sample spacing is increased to five samples per chip, then 5,115 correlators are required for each of the I and Q signals (10,230 total correlators) to compute a full convolution at once. Power consumption and circuit size restrictions may make a correlator circuit having 10,230 or even 4092 correlators per channel impractical.
If thecode delay window512 is known before correlation begins, then thecorrelators402 may compute only the correlations within thecode delay window512. As described below, the invention advantageously employs an expected code delay window and a timing reference related to GPS time to time the correlation process such that thecorrelators402 compute only the correlations within thecode delay window512. In this manner, since only a subset of the full convolution is computed at once for each processed code epoch, either the number ofcorrelators402 may be reduced or the sampling resolution may be increased, as desired, depending upon the accuracy, power consumption, and circuit size constraints.
FIG. 6 is a flow diagram depicting an exemplary embodiment of amethod600 for processing a satellite positioning system signal in accordance with the invention. Themethod600 begins atstep602. Atstep604, external aiding data is received at themobile receiver102. The external aiding data includes information that may be used to derive a timing reference related to GPS time and expected code delay windows for satellites of interest. For example, the external aiding data may include a time synchronization signal broadcast by a base station of a wireless communication network, as well as acquisition assistance data provided by an external source (e.g., a server). Alternatively, the external aiding data may include a time synchronization signal broadcast by a base station of a wireless communication network, as well as satellite trajectory data (e.g., ephemeris) provided by either an external source or by the satellites. As described above, the satellite trajectory data may be used to compute acquisition assistance data given an estimated position of the mobile receiver. Whether the acquisition data is computed or received from an external source, the acquisition assistance data includes expected pseudorange data (e.g., expected pseudoranges, expected code phases, pseudorange models, and the like). The expected pseudorange data may be used to establish expected code delay windows for satellite signals of interest.
Atoptional step606, themobile receiver102 may select a resolution mode. In one embodiment, themobile receiver102 may select a resolution mode for a particular channel of the GPS receiver based on the size of an expected code delay window with respect to a predefined threshold. The predefined threshold may be determined in accordance with hardware limitations (e.g., the number of correlators per channel in the GPS receiver). The resolution mode may be selected on a channel-by-channel basis. For example, if a given expected code delay window is less than 110 chips, than a particular channel in the GPS receiver may be configured in a high-resolution mode (e.g., 110 chips at five I samples and five Q samples per chip). Otherwise, the particular channel may be configured in a normal resolution mode.
Atstep608, satellite signals are received and sampled by themobile receiver102. The satellite signals are sampled at a sampling resolution set by themobile receiver102. Atstep610, a timing reference is derived from a time synchronization signal in the external aiding data. Atstep612, a correlator clock bias within themobile receiver102 is compensated for using the timing reference. Without the timing reference, the timing of the correlator circuitry within themobile receiver102 is arbitrary relative to the timing of the satellite PN codes, which yields an unknown local clock bias. Since the timing reference is related to GPS time, the correlator clock bias may be estimated or the correlator clock may be substantially synchronized to the frame timing of the satellite PN codes. In this manner, an uncertainty component of the measured time delay caused by an unknown relative timing of the correlator circuitry is substantially reduced or eliminated. It is to be understood, however, that the timing reference may not be completely accurate. To achieve the best accuracy, the delay between themobile receiver102 and thebase station109 may be taken into account, as discussed above (e.g., a round-trip travel time between themobile receiver102 and thebase station109 may be measured when deriving the timing reference). A remaining uncertainty component of the measured time delay is related to the unknown pseudorange and any error in the timing reference with respect to GPS time.
Atstep614, expected code delay windows for satellites of interest are derived from the external aiding data. The expected code delay windows account for the uncertainty component of the measured time delay related to the unknown pseudorange. Notably, the expected code delay window is based on an expected pseudorange for each satellite of interest. Atstep616, each satellite signal of interest is correlated with the appropriate PN reference code within the appropriate expected code delay window derived atstep614. Since the correlator clock bias is compensated, and expected code delay windows have be determined, themobile receiver102 may correlate over substantially less than a full epoch of the PN code. As discussed above, this allows themobile receiver102 to employ less correlators and/or increase the sampling resolution. Atstep618, the correlation results produced atstep616 may be analyzed to measure sub-millisecond pseudoranges to the satellites of interest. The sub-millisecond pseudoranges may be used to locate position of themobile receiver102 in a well known manner. Themethod600 ends atstep620.
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.
While the foregoing is directed to illustrative embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.