Abstract:
A method for use with a Global Navigation Satellite System (GNSS) receiver is provided. The method includes obtaining a first system time from a satellite of a first satellite navigation system, obtaining a second system time from a satellite of a second satellite navigation system, calculating a difference between the first system time and the second system time to obtain a number of leap seconds between Coordinated Universal Time (UTC) and the second satellite system.

Description:
PRIORITY 
       [0001]    This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 62/037,940, which was filed on Aug. 15, 2014, the entire disclosure of which is incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    1. Field of the Invention 
         [0003]    The present disclosure relates generally to a Global Navigation Satellite System (GNSS) receiver, and more particularly, to a GNSS receiver that is configured to calculate a leap second offset for system time compatibility between individual GNSS systems. 
         [0004]    2. Description of the Related Art 
         [0005]    Currently, GPS, Galileo, Beidou, etc. each use a system time definition that is continuous and as such does not jump time by one (1) second during leap second updates to Coordinated Universal Time (UTC). The current offset between GPS and Galileo system times and UTC is sixteen (16) seconds, and a current offset between Beidou system time and UTC is two (2) seconds. For example, when it is midnight, GPS time is 11:59:44 pm UTC. The Glonass system maintains its system time in step with UTC Moscow and as such Glonass system time leaps by a second during each UTC leap second update. 
         [0006]    However, a problem occurs when combining GPS, Galileo or Beidou satellites with Glonass satellites when the current UTC leap second offset is not known; this is the case during GNSS receiver factory reset, cold starts and some other potential use cases (e.g. Spirent GNSS simulator use). 
         [0007]    The problem is currently solved by waiting until the GPS (or other GNSS system) transmits the offset between GPS time and UTC, in the case of GPS this can take up to 12.5 minutes. It is noted that Glonass satellites do not transmit differences between GPS and UTC times. 
         [0008]    The impact of not knowing the leap second offset in some cases is that Glonass measurements cannot be combined with other GNSS systems measurements until leap second offset is known, which may significantly slow down the Time To First Fix (TTFF) in these cases. 
       SUMMARY 
       [0009]    The present disclosure has been made to address the above problems and disadvantages, and to provide at least the advantages described below. 
         [0010]    Accordingly, an aspect of the present invention, which may prove useful in the related arts, provides a GNSS receiver that is configured for measuring a time difference between GPS (or Beidou or Galileo) data frames and Glonass data frames to allow the GNSS receiver to discern a Glonass UTC system time offset with respect to other GNSS systems, which, in turn, allows for rapid use of a combined navigation solution using Glonass and other GNSS systems. 
         [0011]    In accordance with an aspect of the present disclosure, there is provided a method for satellite communication using a GNSS receiver. The method includes obtaining a first system time from a satellite of a first satellite navigation system, obtaining a second system time from a satellite of a second satellite navigation system, calculating a difference between the first system time and the second system time to obtain a number of leap seconds between UTC and the second satellite system. 
         [0012]    In accordance with an aspect of the present disclosure, there is provided a GNSS receiver. The GNSS receiver includes memory configured to store a first system time obtained from a satellite of a first satellite navigation system and a second system time obtained from a satellite of a second satellite navigation system and a microcontroller coupled to the memory and configured to calculate a difference between the first system time and the second system time for obtaining a number of leap seconds between UTC. 
         [0013]    In accordance with an aspect of the present disclosure, there is provided a System on Chip (SoC) having at least one module thereon that in response to being executed by at least one microcontroller in a GNSS receiver enable the GNSS receiver to perform the method including obtaining a first system time from a satellite of a first satellite navigation system, obtaining a second system time from a satellite of a second satellite navigation system, and calculating a difference between the first system time and the second system time to obtain a number of leap seconds between UTC and the second satellite system. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0015]      FIG. 1  is a diagram illustrating a GNSS receiver that is configured to communicate with one or more satellites associated with one or more corresponding GNSSs, according to an embodiment of the present disclosure; 
           [0016]      FIG. 2  is a diagram illustrating components of the GNSS receiver, according to an embodiment of the present disclosure; 
           [0017]      FIG. 3  is a graph illustrating a relationship between different time scales associated with various GNSSs, according to an embodiment of the present disclosure; 
           [0018]      FIG. 4  is a diagram illustrating a time relationship between GPS frames and Glonass frames, according to an embodiment of the present disclosure; and 
           [0019]      FIG. 5  is a flowchart illustrating a method for satellite communication using a GNSS receiver. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    Various embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist in the overall understanding of these embodiments of the present disclosure. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness. 
         [0021]    In accordance with the present disclosure, a GNSS receiver and/or like enabled device obtains first and second GNSS time information from satellites associated with a corresponding GNSS and calculates a difference between the obtained first system time and the obtained second system time to obtain a number of leap seconds between UTC and the second satellite system. 
         [0022]      FIG. 1  is a diagram illustrating a GNSS receiver  102  that is configured to communicate with one or more satellites  106   a - 106   c  associated with one or more corresponding GNSSs, according to an embodiment of the present disclosure. 
         [0023]    The GNSS receiver  102  may be embodied in the form of one or more GNSS enabled devices, e.g., a GNSS enabled cellular phone  104   a,  a GNSS enabled smartphone  104   b,  a GNSS enabled laptop or personal digital assistant  104   c,  a portable computing device, a navigation unit, an access point (e.g., a base station) or other wireless communication device, or any combination thereof. 
         [0024]      FIG. 2  is a diagram illustrating components of the GNSS receiver  102 , in accordance with an embodiment of the invention. 
         [0025]    The GNSS receiver  102  includes one or more antennas  110 , a GNSS front end  112 , one or more connections  114 , a processor or microcontroller  116 , and a memory  118 . 
         [0026]    The antenna  110  includes suitable logic, circuitry and/or code that may be enabled to receive various signals from the plurality of GNSS satellites  106   a - 106   c.  The antenna  110  may enable transmission and/or reception of radio signals via, for example, one or more suitable radio communication system. 
         [0027]    The GNSS front end  112  includes suitable logic, circuitry and/or code that may be enabled to receive GNSS satellite broadcast signals via the antenna  110 . The GNSS front end  112  generates one or more electronic signals representing one or more GNSS signals received from the antenna  110  and transmits the generated electronic signals via the one or more connects  114  (e.g., buses, lines, conductors, fibers, etc.), which couple together the various circuits of the GNSS receiver  102  and carry one or more electronic signals therebetween, to the microcontroller  116 . 
         [0028]    The microcontroller  116  includes suitable logic, circuitry and/or code that may be enabled to process received satellite signals. The microcontroller  116  receives one or more electronic signals from RF front-end circuit  112  to establish various navigation information, such as orbital information, e.g., broadcast ephemeris or ephemeris data. The broadcast ephemeris may be utilized by the microcontroller  116  to determine a navigation solution such as, for example, position fix, velocity, clock information of the GNSS receiver  102 , first and second time information,  120 ,  122 , respectively, that may be associated with one or more corresponding GNSSs, etc., and stores this information in a memory  118 . 
         [0029]    The memory  118  includes suitable logic, circuitry, and/or code that may enable storing of information such as executable instructions that may be executed, for example, by the microcontroller  116 , and data that may be utilized by the microcontroller  116 . The executable instructions may include algorithms that may be applied to extract ephemeris from received GNSS broadcast navigation signals, to calculate a navigation solution from the extracted ephemeris and to calculate a difference between a first system time and a second system time for obtaining a number of leap seconds between UTC and a satellite system, as will be described in greater detail below. 
         [0030]    The memory  118  may include a primary memory including a random access memory, read only memory, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. While illustrated as being separate from the microcontroller  116 , at least a portion of the primary memory may be provided within or otherwise co-located/coupled with the microcontroller  116  or other module of the GNSS receiver  102 . 
         [0031]    The memory  116  may also include a secondary memory, which may be the same or similar type of memory as primary memory and/or one or more data storage devices or systems, such as, for example, a disk drive, an optical disc drive, a tape drive, a solid state memory drive, etc. The secondary memory may be operatively receptive of, or otherwise configurable to couple to, a non-transitory computer readable medium  124 . 
         [0032]    The components described with reference to  FIG. 2  allow the GNSS receiver  102  to provide improved speed in combining Glonass satellites with other GNSSs under certain circumstances, regardless if a number of leap seconds between UTC and GPS (or Galileo or Beidou) is known, or uncertain. The GNSS receiver  102  may include one or more other components such as modulators/demodulators, additional antennas, memory, etc. 
         [0033]      FIG. 3  is a graph illustrating a relationship between different time scales associated with various GNSSs, according to an embodiment of the present disclosure. 
         [0034]    As illustrated in  FIG. 3 , the Glonass system time is in step with UTC, and the GPS system time and Galileo system time are in step with each other. Beidou system time, which started in Jan. 1, 2006, is offset from the UTC/Glonass system time by 2 seconds and there is a 14 second fixed system offset between the GPS/Galileo system time and the Beidou system time; this offset will be maintained through future leap second adjustments. 
         [0035]    The GNSS receiver  102  uses this offset time information to measure/calculate a number of leap seconds between UTC/Glonass and the other GNSSs. The measurement/calculation requires at least one Glonass signal track, as Glonass is in step with UTC, and one other signal track (e.g., from one of GPS, Galileo or Beidou). For illustrative purposes, it is assumed that the one other signal track is obtained from the GPS. 
         [0036]    The GPS satellite  106   b  transmits Week Number and Time of Week in each subframe ( FIG. 4 ), with the combination of these allowing the GNSS receiver  102  to acquire system time information of the GPS, with respect to every received GPS subframe and frame. The GPS system time information is available to the GNSS receiver  102  every 6 seconds. Similarly, the Glonass satellite  106   a  transmits system time information of the Glonass System time in each 30 second frame ( FIG. 4 ) via a Glonass day number and number of seconds of frame transmission within a current Glonass day number. The GNSS receiver  102  uses these known variables to calculate a number of leap seconds between UTC/Glonass and the other GNSSs. 
         [0037]      FIG. 5  is a flowchart illustrating a method for satellite communication using the GNSS receiver  102 . The GNSS receiver  102 , via the antenna  110 , tracks at least one signal from the Glonass satellite  106   a  (at step  502 ) and at least one signal from the GPS satellite  106   b  (at step  504 ), thereby allowing the GNSS receiver  102  to obtain system time information  120 ,  122  of Glonass and GPS, respectively. The obtained system time information  120 ,  122  can be stored in the memory  118 , e.g., the primary memory. 
         [0038]    At step  506 , the microcontroller  116  of the GNSS receiver  102 , using the executable instructions stored in the memory  118 , calculates a difference between a system time provided in the system time information  120  of the Glonass satellite  106   a  and a system time provided in the system time information  122  of the GPS satellite  106   b,  using Equation (1): 
         [0000]      Tleap seconds=GPSreceive time−Glassreceive time  (1)
 
         [0039]    The calculated Tleap_seconds may be rounded to the nearest whole second; uncertainty in the GNSS receiver  102  measurement is relatively small as a result of local time drift between GPS and Glonass system measurements and small orbit time uncertainty. For example, GNSS receiver  102  time drift may be 1 ppm, which results in less than a 100μ second drift across a 60 second period. 
         [0040]    The calculated, rounded difference (value) represents a number of leap seconds between Glonass and GPS time, and thus a number of leap seconds between UTC and GPS time. The calculated value can be used by the GNSS receiver  102  to adjust/update the GPS time accordingly. The calculated value can be determined within 30 seconds such that the GPS and Glonass satellites  106   b  and  106   a,  respectively, can be used in the same position solution. 
         [0041]    As the GNSS receiver  102  is able to calculate a leap second offset between UTC and GPS times, the drawbacks associated with the aforementioned leap second change issues can be reduced, if not eliminated. The leap second offset calculation can also be used as a system time check of the GNSS receiver  102 . 
         [0042]    The aforementioned leap second offset calculation can be kept within an accuracy of &lt;&lt;1 msec by the control algorithm executed by the microcontroller  116 . However, the accuracy may diminish to ±10 msecs due to unknown orbit transmit delay, unknown user position, etc. 
         [0043]    As long as a data frame time is known, any time position in the frame may be used as a time mark. For example, the aforementioned leap second offset calculation can be determined within 30 seconds (e.g., a time frame of satellite ephemeris data collection); this improves the Carrier-to-Noise (CNo) sensitivity at which the UTC leap second offset can be known, as a full data decode of a frame is not required, only a decode of subframe numbers (and line numbers) and synchronization words. 
         [0044]    From the foregoing and with reference to the various figure drawings, those skilled in the art will appreciate that certain modifications can also be made to the present disclosure without departing from the scope of the same. For example, the components of the GNSS receiver  102  can be provided on an SoC. The SoC includes at least one module thereon that in response to being executed by the at least one microcontroller  116  enables the GNSS receiver  102  to perform the method described above with respect to  FIG. 5 . 
         [0045]    While the present disclosure has been particularly shown and described with reference to certain embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure.