The present invention relates to navigating using a global positioning system (GPS), and in particular to systems for providing assisted-GPS and for providing GPS time recovery, especially in weak signal conditions.
The operation of a global positioning system (GPS) receiver is predicated on the receiver having a precise value for GPS time; without such a precise value, the ranges (from the receiver to one or more of the GPS satellites) computed by the receiver are inaccurate, since they are determined simply as the difference between the time of transmission and time of receipt multiplied by the speed of light. GPS navigation therefore relies on all elements of GPS (including both satellites and GPS earthbound receivers) having a clock synchronized to GPS system time, which is an approximate version of so-called coordinated universal time (UTC). GPS (more specifically, the GPS ground monitoring network) disseminates corrections to each satellite (which uses a high accuracy local clock) to account for the bias and offset of the satellite clock compared to GPS system time, and the satellites provide these corrections in the navigation message they each broadcast; therefore all satellites are synchronized. A GPS receiver, on the other hand, determines the offset of its local clock as part of the solution of the GPS receiver position. In doing so, however, to the extent that the GPS local clock is significantly out of synchronization, the calculation of the GPS receiver position is prolonged. Therefore, it is advantageous, in general, to provide a means of synchronizing a GPS receiver clock to GPS system time.
In sufficiently weak GPS signal conditions, a GPS receiver cannot determine GPS time unassisted. In such conditions, either the exact GPS time has to be recovered to carry out positioning, or positioning must stop. To avoid having to halt positioning, time recovery must be assisted, and there are many ways to assist a GPS receiver in carrying out time recovery, one being to deliver the exact GPS time from a cellular network, such as a GSM network.
Unfortunately, a standard GSM network is not synchronized to any universal time reference, since cellular communication is not per se a navigation tool and therefore there is no need for a universal synchronized time in providing cellular communications. The only time synchronization that is needed is time slot synchronization, where a mobile station synchronizes itself to a base station schedule in order to keep its own transmission in its assigned time slot and to pick up the messages from the base station intended for the mobile station. Such synchronization is therefore (and need only be) relative (between a mobile station and a base station) as opposed to universal. To enable deriving a universal time from such a cellular network, new equipment and new messages are needed.
There is a device that provides a GPS/GSM timing relationship (mapping); it is called a Location Measurement Unit (LMU); an LMU can be thought of as a specialized GPS receiver located at a cellular base station, a GPS receiver adapted to time-stamp with GPS system time communication signal bursts to mobile stations. An LMU time-stamps with GPS time the communication signal bursts from base stations. An LMU provides to a GPS receiver (a GPS receiver configured to make use of the LMU provided information) the help needed in weak signal conditions in constructing GPS time (i.e. in synchronizing with GPS system time). The LMU provides a so-called reference time information element, in which it indicates which GSM signal frame, time slot and bit are to be used as a time reference point, according to which for example a mobile station can remove the GSM system delay, and so recover exact GPS time.
For typical GPS receiver positioning accuracy, GPS time must be known to within ˜10 μs in the receiver. Such accuracy is difficult to achieve using an LMU-based system for time synchronization according to the prior art. According to the prior art, a GPS receiver is adapted to make use of the LMU assistance by including a cellular component that responds to the LMU message (including picking up the actual trigger in the indicated signal frame, time slot, and bit) and a GPS component that needs the time synchronization information (see
What is needed is a way of providing LMU time synchronization information (or time synchronization information derived from any other aspect of a cellular communication signal) to the component of a GPS receiver that needs the time synchronization information in a way that avoids any significant variable internal delays.
Accordingly, the present invention provides a system, apparatus and corresponding method for time synchronization, using cellular signal bursts, of for example a global positioning system (GPS) receiver, the method including the steps of: a) having a cellular module respond to a cellular communication signal indicating a time-stamp, by providing a trigger pulse derived from the data component of the cellular communication signal, and also by providing information indicating a time-mark relating the trigger pulse to a universal time; b) having a main module, with access to a clock that provides a signal indicating local time, respond to the information indicating the time-mark; c) communicating the trigger pulse to a timing register coupled to the main module, the communicating being performed via a special hardware path that provides the trigger pulse without substantial random delay; d) having the timing register respond to the signal indicating local time, and also respond to the trigger pulse, by holding information indicating, in local time, when the trigger pulse is received by the timing register; and e) having the main module access the timing register and so obtain the time when the trigger arrives, and further having the main module determine the difference between when the information indicating the time-mark arrives and when the trigger arrives.
In a further aspect of the invention, the method also includes the step of having a frame counter generate the trigger pulse when the frame counter identifies a new frame in the cellular communication signal.
In another further aspect of the invention, the method also includes the step of having a time slot counter generate the trigger pulse when the time slot counter identifies a new time slot in the cellular communication signal.
In yet another further aspect of the invention, the method also includes the step of having a data bit counter generate the trigger pulse when the data bit counter identifies a new data bit in the cellular communication signal.
In yet even another further aspect of the invention, the main module is a global positioning system (GPS) module responsive to a GPS satellite navigation signal.
Thus, the present invention provides a hardware trigger pulse for synchronizing, based on a cellular communication signal, devices to a universal time reference. For example, the present invention can be used to synchronize a GPS receiver clock to GPS system time. In such an application, the invention avoids almost all internal delays in providing a GPS receiver clock component with time synchronization information, enabling better than ˜10 μs accuracy in GPS time recovery even in weak GPS signal conditions.
From a second perspective, the invention provides a method comprising the steps of: receiving a cellular communication signal with a cellular module; providing a trigger pulse derived from the data component of the cellular communication signal, and providing information relating the trigger pulse to time; receiving the trigger pulse in a timing module component of a non-cellular module; and resolving a value for time using the trigger pulse and the information relating the trigger pulse to time. Further, the method may also comprise a step of having a frame counter, or a data bit counter, or a time slot counter generate the trigger pulse when the frame counter identifies a new frame in the cellular communication signal. Also further, the non-cellular module may be a GPS module, responsive to a GPS satellite navigation signal.
From a third perspective, the invention provides an apparatus, comprising: a cellular module, for receiving a cellular communication signal, and for providing a trigger pulse derived from the data component of the cellular communication signal, and also for providing information relating the trigger pulse to time; a timing module component of a non-cellular module for receiving the trigger pulse; and means for receiving the information relating the trigger pulse to time and for resolving a value for time using the trigger pulse and the information relating the trigger pulse to time. Further, the apparatus may also comprise one or another type of counter, such as a frame counter or a time slot counter or a data bit counter, and the trigger pulse may be provided when the counter indicates a new frame or time slot or data bit. Further, the non-cellular module may be a GPS module providing functionality for operation as a GPS receiver, and may be further responsive to a GPS satellite navigation signal.
From a fourth perspective, the invention provides a system comprising an apparatus according to the third perspective, and also a cellular base station, for providing the cellular communication signal.
The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:
Referring now to
The frame counter identifies a frame edge and so indicates the instant when a new frame is received.
The GPS receiver 10 also includes a software connectivity layer 16, by which the cellular module and GPS module communicate messages, but messages so communicated are subject to random delays in being delivered because of other message traffic being communicated via the software connectivity layer (message traffic for example between different components of the GPS module).
According to the invention, every time the frame counter indicates a new cellular communication signal frame, a trigger pulse is generated and communicated to the GPS module via a special hardware path 23 having either essentially no delay or a delay that is known and so can be taken into account, i.e. providing the trigger pulse substantially free of random delay. The trigger pulse is used to latch a register 19 in the GPS module, a register called here a timing register, so that the register stores internal time (not UTC time), i.e. the time indicated by the GPS receiver oscillator/local clock 18. (The GPS receiver local clock 18 is typically implemented as an internal counter, as part of the GPS hardware. The latching results in either storing the current value of the local clock in the register or resetting the internal counter.)
At the same time as the trigger pulse is being generated and provided via the special hardware path 23 to the timing register 19, the corresponding frame number (or alternatively the time slot or bit number, as explained below) is transmitted to the GPS hardware 21 via the software connectivity layer 16. If the GPS hardware has already been set to GPS time (by a procedure described below), it remains synchronized (i.e. it counters clock drift) by stabilizing the local clock using the trigger pulses. To set GPS time in the GPS module to begin with, however, i.e. when the GPS receiver is powered on, the cellular model uses a time-stamp it receives from an LMU 22 at a nearby base station; the time-stamp specifies that an indicated GPS time is to be associated with receipt of an indicated frame number, time slot and bit number. The frame referenced in the time-stamp is a frame that was already transmitted (either broadcast or transmitted point-to-point to the GPS receiver). The time-stamp includes GPS time associated with the frame, time slot, and bit. (The time stamp does not, however, include propagation delay. There is no way to know in the LMU, how far the GPS receiver is from the serving base station where the LMU is located. Propagation delay over the air interface is compensated for with a so-called Timing Advance (TA) measurement, which is provided by the cellular system. TA is measured from a round trip delay between the receiver and the serving base station.)
Once the cellular module has the time-stamp, it can prepare what is here called a time-mark message (as opposed to a time-stamp message); a time-mark message indicates the GPS time to be associated with a yet-to-be-received frame. As soon as the frame of the time-mark message is received, the corresponding trigger pulse is sent to the GPS module along the special hardware path 23, and the frame number and time-mark message are communicated to the GPS module via the software connectivity layer. The GPS module records the time of arrival of the time-mark message according to the time showing on the local clock 18 and the time showing on the local clock 18 when the trigger pulse arrives is written into the timing register 19. The invention accounts for the delay in the GPS module receiving the time-mark message via the software connectivity layer 16 by noting the time of arrival of the time-mark message (according to the local clock 18), and subtracting the time stored in the timing register 19 (also according to the local clock 18) caused by the trigger pulse corresponding to the frame indicated in the time-mark message.
For example, suppose that GPS time is 134,566 seconds from the beginning of the current GPS week at frame number (FN) 122, time slot number 5, and bit number 43, i.e. suppose that the GPS to cellular time mapping (the time-stamp), is 134566@(122,5,43). In other words, the exact GPS time was 134,566 seconds from the beginning of the current GPS week when the base station transmitted frame number (FN) 122, time slot number 5, and bit number 43. Suppose further that a GPS receiver according to the invention (i.e. having a cellular module coupled to a GPS module as indicated in
A cellular module measures the propagation delay correction before a communication channel is opened. A measurement of the propagation delay is one part of the handover process involved in opening a communication channel. The propagation delay is thus always known to a cellular module.
The reason that the cellular module does not use the time-stamped frame itself (the frame used to measure the relationship between GPS system time and the time when the time-stamped frame is broadcast or otherwise transmitted) as the frame for generating the trigger (i.e. for the time-stamp frame) is because time stamping is performed by a cellular network element, one that measures the relationship between GPS system time and the transmission of a selected GSM frame (what is called here the time-stamped frame, as opposed to the time-stamp frame, which bears some or all of the result of the measurement). The result of the measurement cannot then of course be broadcast in the same, selected (time-stamped) frame, since the selected frame (identified by frame number) has already been broadcast, i.e. the message frame that contains the time-stamp information, called the time-stamp frame, cannot be the same frame that was used for measuring the GPS/GSM relation, that frame being called here the time-stamped frame.
A delay is also introduced in the cellular module 11, because the cellular module must wait until the message frame (i.e. the time-stamp frame) arrives at the cellular module before the cellular module provides the trigger for the GPS module 12. In practice, the time stamp and other assistance data do not fit into one data frame, but are instead split into or conveyed using multiple frames (all of which are referred here as time-stamp frames). The assistance data is then not analyzed, nor is the trigger pulse generated, until after all the (time-stamp) frames bearing the assistance data have been received. So there is always a delay between when the frame that is used to determine the relationship between a GSM frame and GPS system time is broadcast (or otherwise transmitted), and when the frame that triggers the register (the so-called time-stamp frame) is broadcast (or otherwise transmitted).
Now suppose that the GPS time at FN 1002 is to be determined (because the frame that was time stamped has already been transmitted, but FN 1002 has just been received). The time-stamp (GPS to cellular time mapping) is used to determine the exact GPS time when FN 1002 is received by the cellular module, according to,
Referring now to
Whether the GPS receiver sets the clock in its GPS module over and over again (to account for drift) or only once each time the GPS receiver is powered on depends on the application. For an MS-based GPS-type solution, the above procedure is performed only when the GPS receiver is powered on. For MS-assisted GPS, the above procedure is needed for every fix.
Use of a (cellular signal) frame counter (or a time slot counter, bit counter, or, in a CDMA system, a chip counter, or other, similar devices), which would have to be provided as additional equipment in a GPS, is just one way to implement the present invention, and it is the preferred embodiment for some applications, applications where it is not necessary to have the highest possible accuracy. In case of GSM cellular communication, a frame counter can be used to generate a trigger pulse at a frequency of 216.68 Hz. It is also possible to generate trigger pulses at the time slot rate (there being eight time slots per frame) using a time slot counter; use of the time slot rate would give a trigger pulse at a frequency of 1733.4 Hz. It is possible to generate a trigger pulse at an even still higher frequency; using the bit rate 156.25 bits per time slot would give a trigger pulse at a frequency of 270844.17 Hz (i.e. using a data bit counter instead of the frame counter would in the case of a GSM cellular communication signal provide a trigger pulse at a frequency of 270844.17 Hz). In other cellular systems besides GSM, data rates and data structures are of course different, and the invention is not intended to be restricted to GSM cellular communication.
To implement the present invention, a typical GPS receiver would have to be modified to include a cellular module with at least the functionality indicated above, as well as hardware for providing the trigger pulse and the hardware associated with the clock register.
There are other uses for an absolute time reference besides assisting GPS receivers in recovering GPS time. Absolute time can also be used to measure drift of cellular base station clocks with respect to GPS time, and to measure time differences between neighboring base stations. Such measurements are needed for example in network-based positioning methods including Enhanced Observed Time Difference (E-OTD) and Time of Arrival (TOA) positioning methods.
Note that it is not necessary that the cellular module 11 construct the time-mark message. The cellular module in some applications sends only a “Register triggered with Frame No. 1022” message to some other entity, which may reside outside of the GPS receiver or may be the GPS module, and that other entity calculates the time-mark.
Note also that although the invention has been shown and described in the preferred embodiment in which the GPS module 12 includes a (local) clock 18, in other applications the clock used by the GPS module to provide (local) time is located outside of the GPS module. For example, the clock is in some applications shared with some another entity such as the cellular module. The clock used by the GPS module can even reside outside of the GPS receiver.
It should also be noted that the invention is of use in providing a basis for setting the clock used by a module which is other than a GPS module. The invention should be understood to be of use in setting the clock used by any application that requires some version of universal time.
It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. Numerous other modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.
This application is a continuation of U.S. patent application Ser. No. 10/720,041 filed Nov. 19, 2003 now U.S. Pat. No. 7,085,546, which is a continuation of U.S. patent application Ser. No. 09/777,521 filed Feb. 5, 2001 now U.S. Pat. No. 6,678,510.
Number | Name | Date | Kind |
---|---|---|---|
4445118 | Taylor et al. | Apr 1984 | A |
5319374 | Desai et al. | Jun 1994 | A |
5663735 | Eshenbach | Sep 1997 | A |
5689270 | Kelley et al. | Nov 1997 | A |
5739786 | Greenspan et al. | Apr 1998 | A |
5815538 | Grell et al. | Sep 1998 | A |
5841396 | Krasner | Nov 1998 | A |
5982324 | Watters et al. | Nov 1999 | A |
5999124 | Sheynblat | Dec 1999 | A |
6041222 | Horton et al. | Mar 2000 | A |
6121923 | King | Sep 2000 | A |
6122506 | Lau et al. | Sep 2000 | A |
6150980 | Krasner | Nov 2000 | A |
6178195 | Durboraw et al. | Jan 2001 | B1 |
6243588 | Koorapaty et al. | Jun 2001 | B1 |
6246959 | Nakajima | Jun 2001 | B1 |
6285316 | Nir et al. | Sep 2001 | B1 |
6295023 | Bloebaum | Sep 2001 | B1 |
6323804 | Kurby et al. | Nov 2001 | B1 |
6346911 | King | Feb 2002 | B1 |
6351235 | Stilp | Feb 2002 | B1 |
6400314 | Krasner | Jun 2002 | B1 |
6417801 | van Diggelen | Jul 2002 | B1 |
6421002 | Krasner | Jul 2002 | B2 |
6433734 | Krasner | Aug 2002 | B1 |
6449485 | Anzil | Sep 2002 | B1 |
6590524 | Farley et al. | Jul 2003 | B1 |
6597311 | Sheynblat et al. | Jul 2003 | B2 |
6603978 | Carlsson et al. | Aug 2003 | B1 |
6628628 | Yamazaki | Sep 2003 | B1 |
6636740 | Ramesh | Oct 2003 | B1 |
6642884 | Bryant et al. | Nov 2003 | B2 |
6665519 | Wreschner et al. | Dec 2003 | B2 |
6665541 | Krasner et al. | Dec 2003 | B1 |
6701127 | Wreschner et al. | Mar 2004 | B1 |
6801778 | Koorapaty et al. | Oct 2004 | B2 |
6813500 | Ciganer et al. | Nov 2004 | B1 |
6829534 | Fuchs et al. | Dec 2004 | B2 |
7043265 | Nir et al. | May 2006 | B2 |
7082292 | Underbrink | Jul 2006 | B2 |
7187903 | Febvre et al. | Mar 2007 | B1 |
7224984 | Agrawala et al. | May 2007 | B2 |
7330150 | Beason et al. | Feb 2008 | B1 |
20010028321 | Krasner | Oct 2001 | A1 |
20030224802 | Nir et al. | Dec 2003 | A1 |
20050080561 | Abraham et al. | Apr 2005 | A1 |
20060142913 | Coffee et al. | Jun 2006 | A1 |
20070123248 | Krasner et al. | May 2007 | A1 |
20070171125 | Abraham et al. | Jul 2007 | A1 |
Number | Date | Country |
---|---|---|
0874248 | Oct 1998 | EP |
2300789 | Nov 1996 | GB |
WO 9825158 | Jun 1998 | WO |
WO 0036431 | Jun 2000 | WO |
Entry |
---|
J. Syrjärinne, “Possibilities for GPS Time Recovery With GSM Network Assistance,” Proc. Ion GPS 2000, Salt Lake City, Utah, USA, Sep. 19-22, 2000, pp. 955-966. |
J. Syrjärinne, “Wireless-Assisted Gps Keeping Time With Mobiles,” GPS World, Jan. 2001, pp. 22-31. |
Business Wire; “Symmetricom's Breakthrough Clock Technology Uses CDMS Signals for Timing the Network Edge;” p. 1-3; Feb. 8, 1999; New York. |
Business Wire; “Symmetricom Announces TimeSource 1000; Card-Level GPS-based Clock System for OEM Applications;” p. 1-3; Jan. 26, 1999; New York. |
Business Wire; “‘Indirect GPS’ Network Time Server Breakthrough at EndRun Technologies;” p. 1-2; Jan. 10, 2001; New York. |
Business Wire; “‘Indirect GPS’ CDMA Timing Products Shipping;” p. 1-2; Oct. 12, 2000; New York. |
Isif; J. Syrjarinne; “Time Recovery through Fusion of Inaccurate Network Timing Assistance with GPS Measurements;” p. WeD5-3—WeD5-10; 2000; Finland. |
Microwave Journal; C. Wheatley; “Self-synchronizing a CDMA Cellular Network;” p. 320-328; May 1999. |
IEEE 0-7803-4988-1; K. Boehm et al.; “An IF Digitizing Receiver for a Combined GPS/GSM Terminal;” p. 39-42; 1998. |
IEEE 0-7803-3728-X; J. Bullock et al; “Test Results and Analysis of a Low Cost Core GPS Receiver for Time Transfer Appliations;” p. 314-322; 1997. |
IEEE 0-7803-4269-0; Y. Zhao; “Efficient and Reliable Data Transmission for Cellular-and-GPS-Based Mayday Systems;” p. 555-559; 1998. |
Office Action for European Application No. 07 007 426.5 dated May 8, 2013. |
Number | Date | Country | |
---|---|---|---|
20060234724 A1 | Oct 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10720041 | Nov 2003 | US |
Child | 11453791 | US | |
Parent | 09777521 | Feb 2001 | US |
Child | 10720041 | US |