Title of Invention

AIDING IN A SATELITE POSITIONING SYSTEM

Abstract The invention relates to an aided Global Positioning System (GPS) subsystem within a wireless device. The wireless device includes a wireless processing section capable of receiving signals from a wireless network and a GPS subsystem having a radio frequency (RF) front-end capable of receiving a GPS satellite signal. The wireless processing section of the wireless device receives an external clock and determines the offset between the clock in the wireless processing section and that of the external clock. The GPS subsystem then receives the offset information from the wireless processing section, information related to the nominal frequency of the wireless processing section clock and the wireless processing section clock. Using this information and the GPS clock in the GPS subsystem, the GPS subsystem determines an acquiring signal, which is related to a frequency offset between the GPS clock and the network clock. The GPS subsystem then acquires GPS satellite signals in an acquiring unit though the use of the acquiring signal.
Full Text AIDING IN A SATELLITE POSITIONING SYSTEM
Inventors
Lionel Jacques GarIN
Leon Kuo-Liang Peng
Gengsheng Zhang
Nicolas PATRICK VANTALON
Background of the Invention
1. Cross Reference to Related Applications
[001] This application is a continuation of U.S. Patent Application Serial No.
10/155,614, filed May 22, 2002,titled Search Domain Reducing Frequency Transfer
in a Multi-mode Global Positioning System Used With Wireless Networks, which is a
continuation-in-part of U.S.patent Application Serial No. 09/795,871, filed February
28, 2001, titled Information Transfer in a Multi-mode Global Positioning System
Used with Wireless Networks, now U.S. Patent No. 6,427,120, which claims priority
under Section 119(e) to U.S. Provisional Application Serial No. 60/225,076, filed
August 14,2000,all of which are incorporated into this application by reference.
2. Field of Invention
[002] The invention relates to Satellite Positioning System (SPS) receivers, and in
particular to increasing the accuracy of SPS receivers by providing the receivers with
information to correct for the frequency offset between the oscillators of the receivers
and those of the satellites.
3. Related Art
[003] Satellite Positioning System (SPS) receivers, such as Global Positioning
System (GPS), also known as NAVSTAR, receivers, receive radio transmissions from
satellite-based radio navigation systems and use those received transmissions to
determine the location of the SPS receiver. The location of the SPS receiver may be
determined by applying the well-known concept of intersection if the distances from
the SPS receiver to three SPS satellites having known satellite locations.
[004] Generally, each satellite in a satellite-based radio navigation system broadcasts
a radio transmission, that contains its location information, and orbit information.
More specifically, each of the orbiting satellites in the GPS system contains four
highly accurate atomic clocks: two Cesium and two Rubidium. These clocks
provide precision timing pulses used to generate two unique binary codes (also known
as a pseudo random noise "PRN," or pseudo noise "PN" code) that are transmitted to
earth. The PN codes identify the specific satellite in the constellation. The satellite
also transmits a set of digitally coded ephemeris data that completely defines the
precise orbit of the satellite. The ephemeris data indicates where the satellite is at any
given time, and its location may be specified in terms of the satellite ground track in
precise latitude and longitude measurements. The information in the ephemeris data
is coded and transmitted from the satellite providing an accurate indication of the
exact position of the satellite above the earth at any given time.
[005] Although atomic clocks are very precise with a stability of about 1 to 2 parts
in 1013 over a period of one day, a slight error (generally known as clock drift) may
occur in the clocks over time resulting in satellite clock errors of about 8.64 to 17.28
ns per day with corresponding range errors of 2.59 to 5.18 meters. In order to
compensate for the error, the accuracy of the satellite atomic clocks are continuously
monitored from ground stations in the GPS control system and any detected errors
and drift in the clock of the satellites may be calculated and transmitted by the
satellites as part of a navigation message in the form of three coefficients of a second-
degree polynomial.
[006] In the case of GPS, there is nominally a constellation of 24 operational
satellites above the Earth. Bach satellite has individual PN codes, a nearly circular
orbit with an inclination of 55° to the equator with a height of 10,898 nautical miles
(20,200 kilometers) above Earth and an orbital period of approximately 12 hours.
Each GPS satellite transmits a microwave radio signal composed of two carrier
frequencies modulated by two digital codes and a navigation messages. The two
carrier frequencies are referred to as the "LI" and "L2" carriers and are transmitted at
1,572.42 megahertz (MHz) and 1,227.60 MHz, respectively. The two GPS codes are
called the coarse acquisition (C/A-code) and precision (P-code). Each code consists
of a stream of binary digits, zeros and ones, known as bits or "chips." Both the C/A-
code and P-code are generally referred to as a PN code because they look like random
noise-like signals. Presently, the C/A-code is modulated only on the LI carrier while
the P-code is modulated on both LI and L2 carriers.
[007] The C/A-code has a chipping rate of 1,023MHz because it is a stream of 1,023
binary digits that repeats itself every millisecond. Each satellite is assigned a unique
C/A-code, which enables a GPS receiver to identify which satellite is transmitting a
particular code. The C/A-code range measurement is relatively less precise when
compared to the P-code but it is also less complex and available to all users. The P-
code is mostly limited in use to the United States government and military.
[008] Each satellite also transmits a GPS navigation message that is a data stream
added to both the L1 and L2 carriers as binary bi-phase modulation at 50 kilo-bits per
second (kbps). The navigation message contains, along with other information, the
coordinates of the GPS satellites as a function of time, the satellite health status, the
satellite clock corrections, the satellite almanac, and atmospheric data. Each satellite
transmits its own navigation message with information on the other satellites, such as
the approximate location and health status.
[009] By receiving these radio signals emitted from the satellites;-a GPS receiver
may calculate its distance from the satellite by determining how long it took the GPS
receiver to receive the signal transmitted from the satellite. For example, a GPS
receiver could calculate its two-dimensional position (longitude and latitude or X and
Y) by determining its distance from three satellites. Similarly, the GPS receiver could
calculate its three-dimensional position (longitude, latitude and altitude or X, Y and
Z) by measuring its distance from four satellites.
[0010] Unfortunately, this approach assumes that the distances measured from the
GPS receiver to the satellites are very accurate and there is no bias error. In practice,
however, the distance measured between the GPS receiver and each satellite typically
has a constant unknown bias, because the GPS receiver clock (GPS-CLK) is usually
different from the GPS satellite clocks. In order to resolve this bias error one more
satellite transmission is typically needed to calculate the location of the GPS receiver.
[0011] Generally, to receive the signals transmitted by the satellites, the GPS-CLK of
the GPS receiver should be synchronized with that of the GPS satellites. Any errors
in the synchronization between the clocks will cause inaccuracies the measurement of
the location of the GPS receiver. Atomic clocks, like those found in the GPS
satellites, are very expensive typically costing a few thousand dollars for a Rubidium
clock and a few tens of thousands of dollars for a Cesium clock. They are therefore
not practical for use in typical consumer GPS receivers. Inexpensive, less accurate
clocks, such as, crystal clocks , are gengrally utilized in GPS receivers as GPS-CLKs.
However, unless the inaccuracy of the GPS-CLK is determined and corrected for,
synchronization with that of the atomic clocks of the satellites will be partially off and
the resulting distance measurement calculated by the GPS receiver will be partially
inaccurate. Thus, the error of the GPS-CLK is yet another unknown variable that
must be determined to accurately determine the location of the GPS receiver.
[0012] Besides accuracy, another problem associated with the error of the GPS-CLK
relative to the GPS satellite clocks is the resulting acquisition time for the GPS
receiver commonly known as the time to first fix (TTFF). For many applications,
such as E911, a GPS receiver must be able to provide a position solution in a short
period of time after the GPS receiver is powered on. Unfortunately, the GPS-CLK
can have large frequency drift during the first couple minutes after being powered on.
The large frequency drift can cause significant degradation on TTFF performance and
may even result in lack of navigation fix in weak signal environments.
[0013] In addition to the frequency drift in the GPS-CLK, there are a number of other
factors that can affect TTFF performance. Although there are a large number of GPS
satellites positioned above the earth"s atmosphere, it is not always possible for a GPS
receiver to receive accurate transmissions from th required numher of GPS satellites
necessary to calculate the position of the GPS receiver. Any number of problems may
prevent a GPS receiver from receiving the necessary number of signals, or from
receiving accurate signals because of transmission or receiver errors. These problems
can result in high TTFF times.
[0014] For example, a GPS receiver may not be able to receive the necessary number
of GPS transmissions due to physical obstructions in the atmosphere or on the earth.
Alternatively, even though a GPS receiver may be able to receive the necessary
signals, the signal could be inaccurate due to any of the following: (i) error in the
satellite clock; (ii) error in the receiver clock; (iii) error in computed satellite position;
(iv) atmospheric errors caused by the ionosphere or the troposphere; (v) multipath
errors caused by the receipt of reflective signals; (vi) receiver measuring errors and/or
(vii) selective errors, or man made errors. These inaccuracies could lead to TTFF
times that may be over thirty seconds because the GPS receiver needs to obtain the
ephemeris data from the GPS system itself, and the GPS receiver typically needs a
strong signal to acquire the ephemeris data reliably.
[0015] Since the inception of GPS, methods have been, and are still being, developed
to reduce errors and to enhance the accuracy of the GPS systems. Further, many
different methods are being implemented to provide alternative means for providing
the GPS receiver with information concerning unknown variables or inaccuracies in
the system such that it is not always required for the system to receive satellite
transmission signals from all the satellites or to receive accurate transmission data.
[0016J One technique that has been introduced to assist with overcoming errors in the
GPS system is differential GPS. With differential GPS, a receiver having a known
location receives the GPS signals and calculates its position from the received signals.
The calculated position is then compared to the actual known position of the receiver.
The differential between the known position and the calculated position can then be
used to calculate errors in the transmission signals. These errors can then be
transmitted to receivers in unknown locations ("mobile receivers") and used by the
mobile receivers to compute their own location with better accuracy.
[0017] Differential GPS is typically used to correct for errors other than receiver or
multipath errors. However, in a similar manner as differential GPS, correction data
may be sent to the GPS receiver to correct for receiver errors. For example, one
method that has been used to correct for errors in the GPS-CLK has been to send a
precision carrier frequency signal to the GPS receiver from a second source, such as a
base station. In this application, the GPS receiver is designed to receive the precision
carrier frequency signal and then calibrate and/or lock the GPS-CLK to that of the
precision carrier frequency. This method, however, typically involves the use of
additional complicated circuitry that first locks and/or calibrates the GPS-CLK to the
precision carrier frequency and then maintains dynamic synchronization between the
GPS-CLK and precision carrier frequency.
[0018] A need therefore exists for a method of compensating for errors created by the
drift of the GPS-CLK to increase positional accuracy and improve TTFF in a dynamic
manner without utilizing additional complex circuitry and without significantly
modifying the existing hardware.
Summary
[0019] The invention relates to aiding a Global Positioning System (GPS) subsystem
within a wireless device. The wireless device includes a wireless processing section
capable of receiving signals from a wireless network and a GPS subsystem having a
radio frequency (RF) front-end capable of receiving a GPS satellite signal. The
wireless processing section of the wireless device receives an external clock and
determines the offset between the clock in the wireless processing section and that of
the external clock. The GPS subsystem then receives the offset information from the
wireless processing section, information related to the nominal frequency of the
wireless processing section clock and the wireless processing section clock.. Using

this information and the GPS clock in the GPS subsystem, the GPS subsystem
determines an acquiring signal, which is related to a frequency offset between the
GPS clock and the network clock. The GPS subsystem then acquires GPS satellite
signals in an acquiring unit though the use of the acquiring signal.
[0020] Other systems, methods, features and advantages of the invention will be or
will become apparent to one with skill in the art upon examination of the following
figures and detailed description. It is intended that all such additional systems,
methods, features and advantages be included within this description, be within the
scope of the invention, and be protected by the accompanying claims.
Brief Description of the accompanying drawings.
[0021] The invention can be better understood with reference to the following figures.
The components in the figures are not necessarily to scale, emphasis instead being
placed upon illustrating the principles of the invention. In the figures, like reference
numerals designate corresponding parts throughout the different views.
[0022] FIG. 1 is an example implementation of a GPS system using a wireless device
having a GPS receiver located within the wireless device.
[0023] FIG. 2 is an example implementation of a block diagram of the wireless device
shown in FIG. 1.
[0024] FIG. 3 is general block diagram of an offset circuit within the GPS subsystem,,
shown in FIG. 2 for generating GPS-STD-OFFSET,
[0025] FIG. 4 illustrates a basic block diagram of the GPS subsystem of FIG. 2.
[0026] FIG. 5 is a block diagram of an example implementation of the GPS processor
section of FIG. 4.
[0027] FIG. 6 is a block diagram of an example implementation of the GPS frequency
source.
[0028] FIG. 7 is a simplified block diagram of an example implementation of the GPS
RF front-end utilizing direct conversion.
[0029] FIG. 8 illustrates a simple block diagram of an example implementation of the
acquiring unit.
[0030] FIG, 9 shows a block diagram for another example implementation of the RF
front-end and the acquisition unit, which is in signal communication with the RF
front-end via the ADC,
[0031] FIG. 10 shows a block diagram for yet another example implementation of the
RF front-end and the acquisition unit, which is in signal communication the RF front-
end via the ADC.
[0032] FIG. 11 shows a block diagram for an example implementation of the GPS
carrier and code generator.
[0033] FIG. 12 shows a block diagram of an example implementation of the GPS
clock processor.
[0034] FIG. 13 is a flow chart illustrating the process preformed by the GPS
subsystem.
Detailed Description
[0035) FIG. 1 is an example implementation of a GPS system 100 using a wireless
device 102 having a GPS receiver (not shown) located within the wireless device 102.
As shown in FIG. 1, during operation, the wireless device 102 is in signal
communication with a wireless network 104 via a basestation 106 and wireless
transmission path 108 and is in signal communication with at least one satellite of the
GPS satellite constellation 110 via signal communication path 112.
[0036] The wireless device 102 includes both a GPS receiver (not shown) and a
wireless processing section (not shown). The GPS receiver within the wireless device
102 may receive GPS signals from the GPS satellite constellation 110 via signal
communication path 112 and the wireless processing section of the wireless device
102 may receive wireless communication signals from the wireless network 104 via
signal communication path 108 and base station 106. In some implementations, the
wireless device 102 may also send wireless communication signals to the wireless
network 104 via signal communication path 108 and base station 106. The wireless
device 102 may be a wireless handset such as a cellular telephone (also known as a
cellphone, mobile telephone or mobile phone) or any other type of mobile device,
including, but not limited to, personal digital assistants (PDAs), pagers, computer,
two-way radio, trunked radio, specialized mobile radio (SMR) or any other device for
which it is desirable to determine location information. In the case of a cellular
telephone, the wireless device 102 may utilize a cellular transceiver that operates at
any radio frequency (RF) band utilizing any transmission schemes including but not
limited to CDMA, CDMA-2000, W-CDMA, TDMA, FDMA, GSM, UMTS, AMPS,
Bluetooth, Wi-Fi and/or any combination or extension of these transmission schemes
or similar schemes.
[0037] FIG. 2 is an example implementation of a block diagram of the wireless device
102 shown in FIG. 1. As seen in FIG. 2, the wireless device 102 includes both a
wireless processing section 200 and a GPS subsystem 202. The wireless processing
section 200 performs the processing functions for the wireless applications and may
include a wireless transceiver. For example, in the case of a cellular telephone, the
wireless device 102 would include a call processing section with a cellular
transceiver. The GPS subsystem includes a GPS receiver (not shown) for receiving
satellite transmissions 204 from satellites 205 and a GPS engine (not shown) that
performs the position computation functions for the wireless device 102. By
integrating the technology of the wireless device 102 with that of the GPS subsystem
202, the wireless device 102 provides two major service systems: that of a wireless
device, such as cellular telephone service, and that of the GPS receiver to provide
location information of the wireless device 102. It is appreciated by those skilled in
the art; that this integration provides for numerous advantages including meeting the
E911 requirements of the Federal Communication Commission (FCC).
[0038] Within the wireless device 102, or, alternatively, between the wireless device
102 and an external accessory device (not shown) to the wireless device 102,
communications between the wireless processing section 200 and GPS subsystem 202
take place. These communications allow signals to be transferred from the wireless
processing section 200 to GPS section 202, and may take place on a serial or parallel
communications link 206 (such as RS-232 serial communication link) and hardware
lines 208, but other connections may be also utilized if desired.
[0039] For example, in another example implementation, the wireless processing
section 200 and the GPS subsystem 202 may share the same digital processor (not
shown) and/or other circuitry, In such a case, the communication between the
wireless processing section 200 and the GPS subsystem 202 may be made by inter-
task communication, and certain data transfers, such as any time or frequency
transfers between the wireless processing section 200 and the GPS subsystem 202,
would not use hardware lines 208, but would be internal to the circuitry or,
potentially, no transfer would be required depending on the circuit design.
[0040] As illustrated by FIG. 2, the GPS satellites 205 transmit spread spectrum
signals 204 that are received at the wireless device 102. For purposes of illustration,
satellite 205 represents a constellation of satellites 205 in the GPS system. If the
wireless device 102 is capable of receiving strong enough signals 204, the GPS
subsystem 202 in the wireless device 102 can compute the position of the wireless
device 102 as is typically done in a standalone GPS system. Oftentimes, however, the
GPS subsystem 202 is not able to receive strong enough signals 204, or is not able to
receive signals 204 from enough available GPS satellites 205 to autonomously
compute the position of the wireless handset 102. This results in high time to first fix
(TTFF) values. The wireless devices 102 may still, however, be able to communicate
to the base station 106, Thus, the base station 106 can communicate information via
signals 108 to wireless device 102 that allow the wireless device 102 to improve its
TTFF and compute its location, or in certain applications (although not required for
the implementation of the invention) to communicate information from the wireless
device 102 to the base station 106, to allow a server (not shown) at the wireless
network 104, in signal communication with the base station 106, to compute the
position of the wireless device 102. When the base station 106 transmits information
to the wireless device 102 to allow the wireless device 102 to compute its position, it
is typically known as "aided GPS."
[0041] As further illustrated by FIG. 2, the base station 106 and both the wireless
processing section 200 and the GPS subsystem 202 of the wireless device 102 have
internal clocks that are produced by internal clock circuits. For illustrative purposes,
the clock of the wireless processing section 200. shall be referred to as the "WPS-
CLK" 210 and the clock of the GPS subsystem 202 shall be referred to as the "GPS-
CLK" 212. Typically, the WPS-CLK 210 and GPS-CLK 212 are inexpensive clocks
produced by crystal oscillators that are not highly accurate when compared to the
atomic clocks of the GPS satellites 205. Thus, to reduce the TTFF and accurately
calculate the position of the wireless device 102, the error in the GPS-CLK 212
should be accounted for. In contrast to the WPS-CLK 210:and GPS-CLK 212, the
base station 106 clock is a highly accurate. In the case of a CDMA wireless network,
the base station 106 clock would be synchronized with the atomic clocks of the GPS
satellites 205. For purposes of illustration, this base station 106 clock shall be"
referred to as the "BS-CLK" 214 or the "Standard Clock" (STD-CLK) 214. In
operation, the STD-CLK 214 is transmitted, via signal communication path 108, to
the wireless processing section 200 of wireless handset 102. As explained in more
detail below, the wireless processing section 200 of the wireless handset 102
calculates a first offset value (referred to as "STD-WPS-OFFSET") that corresponds
to the difference in frequency between the STD-CLK 214 and that WPS-CLK 210.
r
The STD-WPS-OFFSET is then communicated to the GPS subsystem 202, which
uses the STD-WPS-OFFSET, along with WPS-CLK 210 and GLS-CLK 212 to
estimate a second offset value (referred to as "GPS-STD-OFFSET") between the
GPS-CLK 212 and that of the STD-CLK 214. The GPS-STD-OFFSET is then
utilized by the GPS subsystem 202 to acquire the received GPS signals from the GPS
satellites 204.
[0042] FIG. 3 is general block diagram of an offset circuit 300 within the GPS
subsystem 202 shown in FIG. 2 for generating GPS-STD-OFFSET. The offset circuit.
300 may include an offset counter 302 and an offset combiner 304 in signal
communication with the offset counter 302. The offset circuit 300 is in signal
communication with a wireless sub-processor 306 located in the wireless processing
section 200. The wireless sub-processor 306 receives the STD-CLK 214 and WPS-
CLK 210, and in response produces a WPS initialization message that includes
information about the nominal frequency (referred to as "N-WPS-CLK") of the WPS-
CLK 210 and a WPS periodic message that includes information about the STD-
WPS-OFFSET. The N-WPS-CLK information is passed to the offset counter 302 via
first offset bus 308 and the STD-WPS-OFFSET is passed to the offset combiner 304
via the second offset bus 310. The offset counter 302 receives the N-WPS-CLK
information via first bus 308, GPS-CLK 212 and WPS-CLK 210. In response, the
offset counter 302 generates an offset signal (or message) that includes information
about the difference in frequency between WPS-CLK 210 and GPS-CLK 212
(referred to as "GPS-WPS-OFFSET") and passes that offset signal to the offset
combiner 304 via third offset bus 312. The offset combiner 304 then combines the
information for the STD-WPS-OFFSET and GPS-WPS-OFFSET and produces the
¦v
STD-GPS-OFFSET which is passed to the rest of the GPS subsystem 202 via
message bus (or signal path) 314.
[0043] FIG. 4 illustrates a basic block diagram of the GPS subsystem 202 of FIG. 2.
In FIG. 4, the GPS subsystem 202 includes the GPS-CLK 212 and a GPS processor
section 400 that receives at least one signal from the wireless processing section 200
via signal bus 402. The wireless processing section 200 receives communication data
from the wireless network 104 (FIG. 1) including STD-GLK 214 (FIG. 2): The
wireless processing section 200 then generates the STD-WPS-OFFSET message that
represents the frequency difference between the WPS-LO 210 and the STD-CLK 214.
The STD-WPS-OFFSET message is transferred to the GPS processor section 400 via
signal bus 402. The GPS processor section 400, in response to receiving the STD-
WPS-OFFSET and the GPS-CLK 212, generates a STD-GPS-OFFSET that assists in
the acquiring of the received GPS satellite signals when input into an acquiring unit
(not shown) within the GPS processor section 400.
[0044] FIG. 5 is a block diagram of an example implementation of the GPS processor
section 400 of FIG. 4. As shown in FIG. 5, the GPS processor section 400 may
include a radio frequency (RF) front-end 500, GPS clock processor 502, GPS code
and carrier generator 504, analog-to-digital converter (ADC) 506 and acquiring unit
508. A GPS frequency source 510 sends a frequency reference to the RF front-end
500, GPS code and carrier generator 504 and ADC 506. The RF front-end 500 may
be a standard GPS RF front-end. In operation, the RF front-end 500 receives the GPS
satellite signals and demodulates (also known as downconverting) them to remove the
carrier frequency from the data transmitted on the GPS satellite signals. The
demodulation is accomplished by mixing the received GPS satellite signals with the
GPS frequency source 510. The resulting demodulated GPS satellite signals are then
passed from the RF front-end 500 to the ADC 506. At the ADC 506, the demodulated
GPS satellite signals are typically digitized into a bit-stream of samples by a number
of well-known sampling techniques. The resultant bit-stream of samples is then
transferred to the acquiring unit 508. It is appreciated by one skilled in the art that the
GPS frequency source 510 may be a local oscillator (LO) (not shown) that includes a
voltage-controlled oscillator (VCO) (not shown) or voltage-controlled crystal
oscillator (VCXO) (not shown) in a phase-locked loop (PLL) (not shown) that is
locked to GPS-CLK 212 by many well known techniques.
[0045] The acquiring unit 508 receives the bit-stream of samples from the ADC 506
finishes demodulating the bit-stream of samples (if the RF front-end 500 only
downconverted the received satellite signals into an intermediate frequency "IF") and
decodes it by typically utilizing a bank of correlators (not shown) or a matched filter
(not shown). If the acquiring unit 508 downconverts the bit-stream of samples from
the IF frequency, the acquiring unit 508 may have a mixing stage that mixes a
Doppler corrected frequency signal from the GPS code and carrier generator 504 with
the bit-stream of samples. The result from the mixer would be a new bit-stream of
samples corrected for carrier Doppler shift.
[0046] The correlators or matched filter correlate the bit-stream of samples from the
ADC 506 with the different satellite codes PN codes. The acquiring unit 508
produces a detection signal when the corresponding PN code of a satellite is
correlated against the bit-stream samples of the received satellite signal.
[0047] The PN codes are produced by the GPS code and carrier generator 504. The
GPS code generator 504 may include a numerically controlled oscillator (NCO) (not
shown) that produces a PN code and other circuitry (not shown) that corrects for
Doppler shift both for the carrier and code. The GPS clock processor 502 is capable
of determining the STD-GPS-OFFSET. Once the STD-GPS-OFFSET has been
generated by the GPS clock processor 502, it is passed to the GPS code and carrier
generator 504. The GPS code and carrier generator 504 then combines the STD-GPS-
OFFSET with the corrections for Doppler shift and utilizes the combined result to
remove the IF carrier and produce the PN codes for the acquiring unit 508.
[0048] The GPS code and carrier generator 504 attempts to correct the effects of
Doppler shift in both the carrier and the code of the received satellite signal. In
general, satellite motion has an impact on the processing of the signals at the GPS
receiver because the input frequency shifts as a result of the Doppler effect. The
satellite motion causes a Doppler frequency shift on the carrier frequency and on the
coarse/acquisition (C/A) code. The angular velocity and speed of the satellite can be
calculated from the approximate radius of the satellite orbit and is approximately
1.458 x 10-4 radians/second and 3,874 meters/second. The Doppler frequency shift is
caused by the satellite velocity component toward the GPS receiver. Typically, the
maximum Doppler velocity occurs when the satellite is at the horizon position and
from the orbit speed the maximum Doppler velocity along the horizontal direction is
approximately 2,078 miles per hour. This speed is equivalent to a high-speed military
aircraft. Therefore, the Doppler frequency shift caused by a land vehicle is often very
small, even if the motion is directly toward the satellite to produce the highest
Doppler effect. For the L1 frequency, which is modulated by the C/A signal, the
maximum Doppler frequency shift is approximately 4.9 KHz. Therefore, for a
stationary observer, the maximum Doppler frequency shift is around ± 5 KHz. To
create a Doppler frequency shift of ± 5 KHz by the vehicle alone, the vehicle must
move toward the satellite at about 2,078 miies/hour. As such, if me GPS receiver is
used in a low-speed vehicle, the Doppler shift can be approximated as ± 5KHz.
[0049] FIG. 6 is a block diagram of an example implementation of the GPS frequency
source 510 of FIG. 5. The GPS frequency source 510 may include the GPS-CLK 212
and a PLL 600. It is appreciated that typically the GPS-CLK 212 may be produced by
a timing circuit (not shown) with a crystal oscillator 602. The PLL 600 may be
implemented by a number of approaches that are well known to one of ordinary skill
in the art. As an example, the basic components of the PLL 600 include a phase
detector (not shown), a loop filter (not shown) and a VCO (not shown) whose
frequency is controlled by an external voltage and that is locked on to frequency of
the GPS-CLK 212. In this example implementation, the GPS carrier and code
generator 504 and the GPS clock processor 502 use the GPS-CLK 212 as the base
reference and generate their own respective frequencies. The RF front-end 500 and
ADC 506 use the frequency from the PLL 600 because they are typically related in a
synchronous manner or use frequency values that are multiples of one another.
[0050] FIG. 7 is a simplified block diagram of an example implementation of the GPS
RF front-end 500 utilizing direct conversion. The RF front-end 500 may include an
antenna 700 and a mixer 702. The mixer 702 is in signal communication with the
PLL 600 and ADC 506. The mixer 702 is basically multiplier that demodulates (or
downconverts, i.e., removes the carrier frequency signal) a received satellite signal, on
signal path 704, by taking a product of the received satellite signal with the frequency
signal provided by the PLL 600. If the frequency of the received satellite signal
carrier 704 and the frequency of the PLL 600 are synchronous, i.e., are of the same
frequency, the output of the mixer is a direct current (DC) component signal with a
second order harmonic that may be filtered out with a low pass filter (not shown). As
an example, if the signal on signal path 704 is "x(t)cos(wt)" where "w" is the angular
frequency and "wt" is the time, and the PLL 600 produces a demodulation signal 606 of
"cos(wt)" that is fed into the mixer 702, the resulting output 708 of the mixer would
bex(t)cos2(wt) which equals x(t)/2 (l + cos(2wt)) or x(t)/2+cos(2wt)/2
[0051] If the frequency of the received satellite signal carrier 704 and the frequency
of the PLL 600 are not synchronous, then there is no DC component. As another
example, if the signal on the signal path 704 is "x(t)cos(wt)" and the PLL 600
produces a demodulation signal 606 "cos(w1t)" the resulting output 608 of the mixer
would be x(t)cos(wt) cos(w1t). If "w1"is close to w but off by a small amount "??"
the relationship may be represented as ? = ?1 ± ??. In this case, x(t)cos(?t) cos(?1t)
would equal x(t)cos(?t) cos(?t ±??t), This problem may be overcome by adjusting
the frequency of the PLL 600 to be synchronous with the satellite signal carrier
frequency. Adjusting for frequency at the PLL 600 does not, however, account for
Doppler shift, which also affects the perceived frequency of the received satellite
carrier signal in a dynamic fashion. Rather than correcting for frequency at the
demodulating stage at the RF-front end, the correction could be made at the acquiring
stage, i.e., at the acquiring unit 508, which would include the correction for Doppler
shift.
[0052] FIG. 8 illustrates a simple block diagram of an example implementation of the
acquiring unit 508. At the acquiring unit 508 the Doppler shift error and PLL 600 are
corrected by an adjustment in the GPS code and carrier generator 504 and in a change
in frequency generated by the PLL 600. The acquiring unit 508 may include a
plurality of correlators or matched filters. For simplicity, the acquiring unit 508 is
illustrated with one correlator 800, however it is appreciated by one skilled in the art
that numerous banks of correlators will most likely be present. In operation, the
acquiring unit 508 receives from the ADC 506 a bit-stream of samples possibly
corresponding to a received satellite signal. The acquiring unit 508 places the bit-
stream of samples into a bank of correlators or matched filters and receives a PN code
from the GPS code and carrier generator 504. The PN code is then shifted through
the bank of correlators and an output is produced that signifies when a satellite signal
has been received by the wireless device 102. Typically, the PN code received from
the GPS code and carrier generator 504 has been adjusted to compensate for any
Doppler shift for the respective satellites. However, in this situation the GPS code
and carrier generator 504 and the PLL 600 has also compensated for any frequency
errors in the GPS-CLK 212.
[0053] FIG. 9 shows a block diagram of another example implementation of the RF
front-end 900 and the acquisition unit 902, which is in signal communication with the
RF front-end 900 via the ADC 904. In this example, the RF front-end 900 is a multi-
stage receiver that first downconverts a received satellite signal at the antenna 906 to
an intermediate frequency (IF) signal 908, such as 96 KHz, via mixer 910 and then to
a baseband (i.e., demodulate to zero) signal 912 via mixer 914. The baseband signal
912 may then be passed through the ADC 904 to the acquisition unit 902. In the
acquisition unit 902, the ADC sample baseband signal is corrected for Doppler carrier
shift via mixer 916 and passed to a bank of correlators 918 or a matched filter (not
shown). The frequency sources 918 and 920 may be produced by frequency generator
922 that either multiplies or divides (in any one of many well known techniques) the
frequency signal produced by the PLL 924 which is locked to the GPS-CLK 212.
Similarly, the GSP carrier and code generator 926, which utilizes the GPS-CLK 212,
may produce signals 928 and 930 that compensate for the carrier Doppler shift and
drive the correlators 918 or matched filer (not shown).
[0054] FIG. 10 shows a block diagram for yet another example implementation of the
RF front-end 1000 and the acquisition unit 1002, which is in signal communication
the RF front-end 1000 via the ADC 1004. In this example the RF front-end 1000 only
has mixer stage. The received satellite signal is received at antenna 1006 and mixed
with an IF frequency 1008 at mixer 1010. The IF frequency 1008 is produced by
frequency generator 1012 and it mixes with the received satellite signal in mixer 1010
to downconvert the received satellite signal to an intermediate downconverted signal
1014 such as 96 KHz. The intermediate downconverted signal 1014 is passed through
the ADC 1004 to the acquisition unit 1002. The ADC 1004 digitizes the intermediate
downconverted signal in a bit-stream of samples and passes it to the acquisition unit
1002. At the acquisition unit 1002, the bit-stream of samples are feed into a second
mixer 1016 which mixes the samples with a carrier Doppler corrected signal 1018
which produces a downconverted bit-stream of samples that have been corrected for
carrier Doppler shift. The output of mixer 1016 is feed into a bank of correlators
1020 or matched filters and produces a detection signal if a satellite has been
acquired. As before, the frequency generator 1012 is related to the PLL frequency
1026 and both the PLL and GPS carrier and code generator 1022 are related to tlie
GPS-CLK212.
[0055] FIG. 11 shows a block diagram for an example implementation of the GPS
carrier and code generator 504. The GPS carrier and code generator 504 may include
a Doppler prediction model 1100, an offset combiner 1102, a NCO register 1104 and
a NCO 1106. In operation, the Doppler prediction model 1100 produces a number of
Doppler correction values that are combined with the STD-GPS-OFFSET. These
correction values are input into the NCO register 1104 that controls the NCO 1106.
The NCO 1106 then sends the Doppler corrected carrier signal and PN code to the
acquisition unit 508.
[0056] FIG. 12 shows a block diagram of an example implementation of the GPS
clock processor 502. The GPS clock processor 502 may include an offset counter
1200 and an offset combiner 1202. As an example, the offset counter 1200 may
receive a signal 1204 from the GPS-CLK 212 and at least one signal 1212 from the
Wireless processing section 200. The offset counter 1200 then produces an offset
signal that represents GPS-WPS-OFFSET. The offset signal may be transmitted as a
message via signal path 1206 to the offset combiner 1202. The offset combiner 1202
then combines the information from the offset signal received, via signal path 1206,
with a message received from the wireless processing section 200, via signal path
1208, that represents STD-WPS-OFFSET. The output of the offset combiner 1202 is
an offset signal 1210 that represents STD-GPS-OFFSET. This offset signal 1210 is
input into the combiner 1102 of FIG. 11.
[0057] As an example of operation, the offset counter 1200 is utilized to measure the
relative frequency offset between the WPS-CLK 210 and GPS-CLK 212. A gate
signal to the offset counter 1200 may be generated by the GPS-CLK 212 via signal
path 1204. The pulse width, which may also be referred to as gate time, is determined
by counting a fixed number of GPS-CLK 212 clock pulses. The offset counter 1200
also receives, via signal path 1212, the WPS-CLK 210. The offset counter 1200 then
counts the pulses from the WPS-CLK 210 clock during the gate time. In general, the
offset counter 1200 should count number WPS-CLK 210 clock pulses (the "predicted
count" or "count predicted") to be equal to the frequency of the WPS-CLK 210
multiplied by the gate time or in other words: count_ predicted = frequency x
gate_time.
[0058] For example, the offset counter 1200 should accumulate 25 million pulses
from a frequency source, such as an oscillator, with a hypothetical WPS-CLK 210
frequency of 25 MHz during a one-second interval. Therefore, a frequency offset
(freq offset) may be determined as the quantity of the actual count reading
(count reading) minus the count predicted, the quantity divided by product of the
WPS-CLK 210 frequency by the gate time. Written as a mathematical relationship
the frequency offset is: freq offset = (count reading - count predicted) / (frequency
x gate time).
[0059J It is appreciated by those of skill in the art, that in order to compute the
predicted count, one needs the nominal GPS-CLK 212 and WPS-CLK 210 clock
frequencies. The GPS-CLK 212 clock frequency is imposed via signal path 1204. To
avoid a compilation time parameter in the GPS subsystem 202 source code, the
wireless processing section 200 specifies the WPS-CLK 210 nominal frequency.
Typically this is done by sending a periodic frequency calibration message that
includes the WPS-CLK 210 nominal frequency parameter, N-WPS-CLK, from the
wireless processing section 200 to"the offset counter"1200 via signal path 1214. The
GPS clock processor 502 may then compute the relative frequency error without prior
knowledge of the WPS-CLK 210 clock characteristics.
[0060] To reduce the complexity of the offset counter 1200 hardware, the overall
counting range of the offset counter 1200 may be much smaller than the total counting
number, provided that the offset counter 1200 counts modulo its range, and its value
range is smaller than the total range of the offset counter 1200. For example, if the
total range is 5 parts per million (ppm), the WPS-CLK 210 frequency is 20 MHz, and
the gating time is 1 second, the offset counter 1200 range may be as small as 5e"6
times 20e6= 100.
[0061] The difference between the predicted count and the actual count reading is
utilized to compute the GPS-CLK 212 frequency offset as follows. First, the
difference between the predicted count and the actual count is not only due to the
WPS-CLK 210 frequency error (dfwps-lo), but also to the gate time error and offset
counter 1200 resolution. Supposing the offset counter 1200 gate time is t seconds that
is controlled by the GPS-CLK 212 clock, the error of gate time (dt) caused by the
GPS-CLK 212 clock frequency (dfgps-lo) is dt = dfgps-lo x t. Then, the freq offset =
dfwps-lo + dfgps-lo + counting error/(t xfwps-lo).
[0062] The value that the offset counter 1200 measures is (dfgps-lo + dfwPs-lo)-
Theoretically, the GPS-CLK 212 clock cannot be calibrated better than WPS-CLK
210 clock and extending the gate time may improve the measurement accuracy of
(dfgps-lo + dfwps-lo)- However, using too long a gate time is typically impractical.
Therefore, the minimum gate time is generally predetermined such that the relative
frequency offset estimate error is within the desired design limits.
[0063] FIG. 13 is a flow chart illustrating the process performed by the GPS
subsystem 200. The process begins 1300 by GPS clock processor 502, FIG. 5,
receiving 1302, FIG. 13, GPS-CLK, WPS-CLK and STD-WPS-OFFSET. Then the
GPS clock processor 502 determines the GPS-WPS-OFFSET and combines 1306 the
GPS-WPS-OFFSET with STD-WPS-OFFSET to generate STD-GPS-OFFSET. The
STD-GPS-OFFSET is then passed to the GPS carrier and code generator 504 where
the STD-GPS-OFFSET is combined 1308 with Doppler prediction to create a
correction signal. The correction signal is used to adjust 1310 the NCO in the GPS
carrier and code generator. The NCO output, is then feed 1312 into the acquisition
unit 508 and in response the acquisition unit acquires 1314 a received satellite signal
using the correction signal. The process then ends 1316.
[0064] The process in FIG. 14 may be performed by hardware or software. If in
hardware, the process may be performed by a controller (not shown) in either the
wireless processing section 200 or GPS processor section 400. The controller may
selectively be any general-purpose processor such as an Intel XXX86, Motorola
68XXX or PowerPC, or other equivalent or GPS and/or cellular specialized processor
capable of running software instructions (not shown) resident on the controller.
Alternatively, a GPS-specific circuit or oriented device may selectively also be
utilized. It is appreciated that the controller may also be selectively integrated into a
signal semiconductor chip such as an Application Specific Integrated Chip (ASIC) or
Reduced Instruction Set Computer (RISC), or may be implemented via a Digital
Signal Processor (DSP) chip.
[0065] If the process is performed by software, the software may reside in software
memory (not shown) in the wireless device 102 (either in the wireless processing
section 200 and/or GPS subsystem 202) or at a server on wireless 104. The software
in software memory may include an ordered listing of executable instructions for
implementing logical functions (i.e., "logic" that may be implement either in digital
form such as digital circuitry or source code or in analog form such as analog circuitry
or an analog source such an analog electrical, sound or video signal), may selectively
be embodied in any computer-readable (or signal-bearing;) medium for use by or in
connection with an instruction execution system, apparatus, or device, such as a
computer-based system, processor-containing system, or other system that may
selectively fetch the instructions from the instruction execution system, apparatus, or
device and execute the instructions. In the context of this document, a "computer-
readable medium" and/or "signal-bearing medium" is any means that may contain,
store, communicate, propagate, or transport the program for use by or in connection
with the instruction execution system, apparatus, or device. The computer readable
medium may selectively be, for example but not limited to, an electronic, magnetic,
optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or
propagation medium. More specific examples "a non-exhaustive list" of the
computer-readable medium would include the following: an electrical connection
"electronic" having one or more wires, a portable computer diskette (magnetic), a
RAM (electronic), a read-only memory "ROM" (electronic), an erasable
programmable read-only memory (EPROM or Flash memory) (electronic), an optical
fiber (optical), and a portable compact disc read-only memory "CDROM" (optical).
Note that the computer-readable medium may even be paper or another suitable
medium upon which the program is printed, as the program can be electronically
captured, via for instance optical scanning of the paper or other medium, then
compiled, interpreted or otherwise processed in a suitable manner if necessary, and
then stored in a computer memory.
[0066] As previously discussed, the GPS system of the invention may be incorporated
into any number of wireless mobile applications. Similarly, the GPS system can be
used in connection with any number of geo-location services that have the capability
to receive frequency information. Such GPS system can be used in connection with
mobile devices that operate in network aided mode or network based services modes,
or that operate in multi-mode, thereby having the ability to simultaneously switch
between standalone mode, network aided mode, network based services, or other
modes that allow the device to receive frequency information from the a secondary
source, such as a base station.
[0067] While various embodiments of the invention have been described, it will be
apparent to those of ordinary skill in the art that many more embodiments and
implementations are possible within the scope of this invention. Accordingly, the
invention is not to be restricted except in light of the attached claims and their
equivalents.
We Claim:
1. A method for improving signal acquisition in a global positioning system (GPS)
device, comprising: obtaining a base station clock frequency from a base station;
determining a first frequency difference between the base station clock frequency
and a call processing (CP) clock frequency of the GPS device; messaging the first
difference to a GPS section of the GPS device, the GPS section having a GPS
clock; calculating a second frequency clock difference between the CP clock and
the GPS clock; and generating a error frequency by adding the first difference to
the second difference.
Dated this 25th day of August 2005.
The invention relates to an aided Global Positioning System (GPS) subsystem within a
wireless device. The wireless device includes a wireless processing section capable of
receiving signals from a wireless network and a GPS subsystem having a radio frequency
(RF) front-end capable of receiving a GPS satellite signal. The wireless processing
section of the wireless device receives an external clock and determines the offset
between the clock in the wireless processing section and that of the external clock. The
GPS subsystem then receives the offset information from the wireless processing section,
information related to the nominal frequency of the wireless processing section clock and
the wireless processing section clock. Using this information and the GPS clock in the
GPS subsystem, the GPS subsystem determines an acquiring signal, which is related to a
frequency offset between the GPS clock and the network clock. The GPS subsystem then
acquires GPS satellite signals in an acauirine unit through the use of the acquiring signal.

Documents:

1830-kolnp-2004-granted-abstract.pdf

1830-kolnp-2004-granted-assignment.pdf

1830-kolnp-2004-granted-claims.pdf

1830-kolnp-2004-granted-correspondence.pdf

1830-kolnp-2004-granted-description (complete).pdf

1830-kolnp-2004-granted-drawings.pdf

1830-kolnp-2004-granted-form 1.pdf

1830-kolnp-2004-granted-form 13.pdf

1830-kolnp-2004-granted-form 18.pdf

1830-kolnp-2004-granted-form 2.pdf

1830-kolnp-2004-granted-form 3.pdf

1830-kolnp-2004-granted-form 5.pdf

1830-kolnp-2004-granted-gpa.pdf

1830-kolnp-2004-granted-letter patent.pdf

1830-kolnp-2004-granted-reply to examination report.pdf

1830-kolnp-2004-granted-specification.pdf


Patent Number 217437
Indian Patent Application Number 01830/KOLNP/2004
PG Journal Number 13/2008
Publication Date 28-Mar-2008
Grant Date 26-Mar-2008
Date of Filing 01-Dec-2004
Name of Patentee SIRF TECHNOLOGY INC.
Applicant Address 148 E, BROKAW ROAD SAN JOSE, CA 95112 USA.
Inventors:
# Inventor's Name Inventor's Address
1 GRAIN LIONEL-JACQUES 3475 GREER ROAD PALO ALTO CA 94303 USA.
2 PENG LION KUO-;OANMG 3388 TRUAN DRIOVE MOPUNTAIN VIEW USA.
3 ZHANG GENGSHENG 1002 WESTLYAN WAY ZPT CUPERTION USA.
4 VANTALON NICOLAS P. 663 E, MCKINLEY SUNNYVALE USA.
PCT International Classification Number G01S5/14
PCT International Application Number PCT/US03/16308
PCT International Filing date 2003-05-22
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/155, 614 2002-05-22 U.S.A.