WO2010075647A1 - Methods and apparatus for obtaining gnss time in a gnss receiver - Google Patents

Methods and apparatus for obtaining gnss time in a gnss receiver Download PDF

Info

Publication number
WO2010075647A1
WO2010075647A1 PCT/CN2008/073848 CN2008073848W WO2010075647A1 WO 2010075647 A1 WO2010075647 A1 WO 2010075647A1 CN 2008073848 W CN2008073848 W CN 2008073848W WO 2010075647 A1 WO2010075647 A1 WO 2010075647A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock
time
frame
gnss
value
Prior art date
Application number
PCT/CN2008/073848
Other languages
French (fr)
Inventor
Kung Shuan Huang
Hsien Chang Liu
An Bang Chen
Original Assignee
Mediatek Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mediatek Inc. filed Critical Mediatek Inc.
Priority to JP2011507774A priority Critical patent/JP5666428B2/en
Priority to US12/446,754 priority patent/US7936303B2/en
Priority to CN2008800228792A priority patent/CN101855842B/en
Priority to PCT/CN2008/073848 priority patent/WO2010075647A1/en
Priority to EP08879263.5A priority patent/EP2370830B1/en
Publication of WO2010075647A1 publication Critical patent/WO2010075647A1/en
Priority to US13/050,965 priority patent/US8077086B2/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/34Power consumption
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/23Testing, monitoring, correcting or calibrating of receiver elements

Definitions

  • the present invention relates to Global Navigation Satellite System (GNSS ) receivers, and more particularly, to methods and apparatus for obtaining C iNSS time in a GNSS receiver.
  • GNSS Global Navigation Satellite System
  • GNSS time when a GNSS receiver enters a start up mode from a power-off mode.
  • RTC real time clock
  • all components except a real time clock (RTC) are powered down in the power-off mode.
  • RTC time provided by the RTC as the Coordinated Universal Time, which is referred to as the UTC time
  • UTC time the Coordinated Universal Time
  • the resolution of the RTC is typically around several microseconds and the clock dri ft of the RTC is typically around several tens to several hundreds parts per mil lion (PPM), causing the aforementioned initial value of the GNSS time lo he unacceptable.
  • PPM parts per mil lion
  • An exemplary embodiment of a method for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver comprises: obtaining a time relationship between a first clock signal and the received GNSS time; obtaining a clock value Bl of a second clock signal and further obtaining an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point; calculating a GNSS time Cl corresponding to the clock value Al according to the time relationship; obtaining a clock value B2 of the second clock signal and further obtaining an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point; and calculating a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value B2.
  • the aforementioned values Al, Bl, Cl, A2, B2, and C2 represent values such as TTickl, FNl, TOWl, TTick2, FN2, and T0W2, respectively
  • An exemplary embodiment of an apparatus for obtaining GNSS time in a GNSS receiver comprises: a first clock source arranged to generate a first clock signal; and at least one processing module arranged to obtain a time relationship between the first clock signal and the received GNSS time, wherein the processing module obtains a clock value B 1 of a second clock signal and further obtains an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point, calculates a GNSS time Cl corresponding to the clock value Al according to the time relationship, obtains a clock value B2 of the second clock signal and further obtains an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point, and calculates a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value B2. More particularly, in this embodiment, the aforementioned values Al, Bl, Cl, A2, B2, and C2 represent values such as TTickl
  • FIG. 1 is a diagram of an apparatus for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver according to a first embodiment of the present invention.
  • GNSS Global Navigation Satellite System
  • FIG. 2 illustrates a method for obtaining GNSS time in a GNSS receiver according to one embodiment of the present invention.
  • FIG. 3 illustrates a method for obtaining GNSS time in a GNSS receiver according to a variation of the embodiment shown in FIG. 2.
  • FIG. 4 is an exemplarily flowchart of the method shown in FIG. 2.
  • FIG. 5 is a flowchart of a first procedure of the method shown in FIG. 2, where the first procedure corresponds to a first time period that ends at a power- off time point shown in FIG. 2.
  • FIG. 6 is a flowchart of a second procedure of the method shown in FIG. 2, where the second procedure corresponds to a second time period that starts from a power on time point shown in FIG. 2.
  • FIG. 7 is a diagram of an apparatus for obtaining GNSS time in a GNSS receiver according to a second embodiment of the present invention.
  • FIG. 8 is a diagram of an apparatus for obtaining GNSS time in a GNSS receiver according to a third embodiment of the present invention.
  • FIG. 1 is a diagram of an apparatus 100 for obtaining GNSS time in a GNSS receiver according to a first embodiment of the present invention.
  • the apparatus 100 comprises a cellular phone module 110 and a measurement engine (ME) 120.
  • the cellular phone module 110 is arranged to perform cellular phone operations, while the measurement engine 120 is arranged to perform measurement such as synchronization measurement (e.g. frame synchronization measurement).
  • synchronization measurement e.g. frame synchronization measurement
  • the apparatus 100 comprises at least one processing module such as a plurality of processing modules.
  • the plurality of processing modules comprises a frame pulse controller 112, a navigation engine (NE) 114, a frame synchronization logic circuit 122 (labeled “Frame Sync Logic”), and a measurement engine controller 124 (labeled "ME Controller”).
  • NE navigation engine
  • ME Controller measurement engine controller
  • the apparatus 100 comprises at lest one clock source such as a phone clock HOC and a temperature compensated crystal oscillator 132 (labeled "TCXO"), and further comprises a memory 116 such as a non- volatile memory, where the temperature compensated crystal oscillator 132 of this embodiment is embedded within the frame synchronization logic circuit 122 (labeled "Frame Sync Logic").
  • TCXO temperature compensated crystal oscillator
  • the temperature compensated crystal oscillator 132 of this embodiment is embedded within the frame synchronization logic circuit 122 (labeled "Frame Sync Logic").
  • the phone clock HOC is embedded within the frame pulse controller 112.
  • the temperature compensated crystal oscillator 132 is implemented outside the frame synchronization logic circuit 122.
  • the memory 116 is a volatile memory powered by an auxiliary power.
  • the temperature compensated crystal oscillator 132 can be replaced by a low cost crystal oscillator.
  • the apparatus 100 may represent the GNSS receiver in one embodiment of the present invention. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to another embodiment of the present invention, the apparatus 100 may represent a portion of the GNSS receiver, for example, a combination of at least a portion of the processing modules mentioned above. In another embodiment of the present invention, the apparatus 100 may comprise the GNSS receiver.
  • the apparatus 100 can be a multi-function device comprising the cellular phone function, the personal digital assistant (PDA) function, and the GNSS receiver function.
  • the navigation engine 114 is implemented with a software module executed by a micro processing unit (MPU) in the cellular phone module 110.
  • MPU micro processing unit
  • the navigation engine 114 is implemented with a controller executing a hardware code embedded within the controller.
  • the navigation engine 114 is implemented with a micro control unit (MCU) executing a firmware code.
  • MCU micro control unit
  • the navigation engine 114 of the first embodiment is capable of performing detailed navigation operations according to processing results from a baseband circuit (not shown) within the measurement engine 120, where the baseband circuit is operated in a baseband time tick (TTick) whose frequency is typically around 10 MHz.
  • the baseband time tick mentioned above is substantially a first clock signal 133 generated from the temperature compensated crystal oscillator 132 in the first embodiment. This is for illustrative purposes only, and is not meant to be a limitation of the present invention.
  • the baseband time tick is generated from another oscillator instead of the temperature compensated crystal oscillator 132.
  • the baseband circuit is implemented within another module instead of the measurement engine 120.
  • the frame pulse controller 112 converts a clock signal generated by the phone clock HOC into a synchronized version with respect to at least one wireless signal of one or more cellular networks, in order to generate a second clock signal 113, where the wireless signal is labeled "Sync" in FIG. 1 since it is received as a synchronization source. More particularly, under the control of the frame pulse controller 112, the second clock signal 113 is synchronized with a frame time clock of the cellular network shown in FIG. 1.
  • the second clock signal 113 carries pulses synchronized with the frame time clock. Therefore, the second clock signal 113 is substantially a time reference for implementation of the GNSS receiver.
  • one of the aforementioned at least one processing module is capable of controlling at least a portion of the GNSS receiver to enter a power saving mode for a time period and then recover from the power saving mode.
  • the measurement engine controller 124 controls the measurement engine 120 to enter a sleep mode during the time period (e.g. a sleep period) and then recover from the sleep mode.
  • the measurement engine controller 124 controls the measurement engine 120 to power off during the time period (e.g. a power-off period) and then power on. After the time period, the apparatus 100 can rapidly obtain GNSS time according to the second clock signal 113.
  • the GNSS receiver always has to derive time information in order to process the satellite signal received from at least one satellite.
  • the navigation engine 114 obtains time information by utilizing a baseband time tick value according to the time relationship between the baseband time tick and GNSS time, where the baseband time tick value of this embodiment is a clock value of the first clock signal 133, i.e. the clock value labeled "ME Local Tick" in FIG. 1.
  • the baseband time tick value of this embodiment is a clock value of the first clock signal 133, i.e. the clock value labeled "ME Local Tick" in FIG. 1.
  • the navigation engine 114 of this embodiment obtains time information corresponding to sufficient resolution and accuracy by adopting the frame pulse controller 112 and the frame synchronization logic circuit 122 (labeled "Frame Sync Logic").
  • the processing modules mentioned above are capable of performing synchronization measurement to obtain a clock value of the second clock signal 113 and further obtain an associated clock value of the first clock signal 133, in order to obtain GNSS time.
  • a portion of the processing modules can be implemented with at least a portion of the time-latching logic circuit 150 disclosed in U.S. Application No. 11/850,684.
  • the frame synchronization logic circuit 122 comprises the time- latching logic circuit 150.
  • the frame synchronization logic circuit 122 comprises a portion of the time-latching logic circuit 150.
  • the measurement engine 120 is arranged to perform measurement such as synchronization measurement (e.g. frame synchronization measurement), where synchronization between the second clock signal 113 and the first clock signal 133 may occur.
  • synchronization measurement e.g. frame synchronization measurement
  • processing modules mentioned above are arranged to obtain a clock value of the second clock signal 113 and further obtain an associated clock value of the first clock signal 133 in order to obtain at least one pulse relationship at a specific time point.
  • the processing modules obtain a clock value Bl of the second clock signal 113 and further obtain an associated clock value Al of the first clock signal 133 in order to obtain a first pulse relationship at a first time point.
  • the processing modules obtain a clock value B2 of the second clock signal 113 and further obtain an associated clock value A2 of the first clock signal 133 in order to obtain a second pulse relationship at a second time point.
  • FIG. 2 illustrates a method for obtaining GNSS time in a GNSS receiver according to one embodiment of the present invention.
  • the method shown in FIG. 2 can be implemented by utilizing the apparatus 100 shown in FIG. 1. Referring to the left portion of FIG. 2, after the GNSS receiver obtains a position fix, the processing modules of this embodiment obtains the time relationship between the first clock signal 133 (more particularly, the local tick mentioned above) and the GNSS time.
  • the time relationship between the first clock signal 133 and the GNSS time represents value mapping between the clock value of the first clock signal 133 and the GNSS time.
  • An example of the time relationship is a set of values (TOWO, TickO), where the value TOWO represents a Time Of Week (TOW) value, and the value TickO represents a clock value of the first clock signal 133, such as a local tick value.
  • the processing modules mentioned above obtain the clock value Bl of the second clock signal 113 and further obtain the associated clock value Al of the first clock signal 133 in order to obtain the first pulse relationship at the first time point. More particularly, in this embodiment, the processing modules of this embodiment perform frame synchronization measurement at the first time point (labeled "Frame Sync Meas" at the bottom-left portion of FIG. 2) to obtain the first pulse relationship. Then, the processing modules calculate a GNSS time Cl corresponding to the clock value Al according to the time relationship. In particular, the GNSS time Cl mentioned above is calculated by the navigation engine 114. In addition, after a position fix (e.g.
  • the processing modules of this embodiment are capable of updating the time relationship and further calculating/updating the latest local tick drift D TlCk of the temperature compensated crystal oscillator 132 and the latest frame time clock drift D Frame of the frame time clock.
  • the processing modules may store a set of values corresponding to the first time point into the memory 116.
  • the navigation engine 114 stores the set of values into the memory 116.
  • the set of values comprise the latest local tick drift D TlCk , the latest frame time clock drift D Frame , the clock value Bl, the GNSS time Cl and maybe the clock value Al .
  • the set of values comprise the latest frame time clock drift U Frame , the clock value Bl, and the GNSS time Cl .
  • the processing modules utilize the first clock signal 133 to measure arrival time of a pulse corresponding to the clock value Bl in order to obtain the clock value Al .
  • the clock value Al represents a local tick value Tickl
  • the clock value Bl represents a frame number FNl
  • the processing modules utilize the first clock signal 133 to measure arrival time of a pulse corresponding to the clock value Bl in order to obtain the clock value Al .
  • the clock value Al represents a local tick value Tickl
  • the clock value Bl represents a frame number FNl
  • the clock value Al represents a local tick value Tickl
  • the clock value Bl represents a frame number FNl
  • GNSS time Cl represents a TOW value TOWl .
  • the processing modules utilize the first clock signal 133 to measure arrival time of a frame pulse corresponding to the frame number FNl in order to obtain the local tick value Tickl .
  • the navigation engine 114 calculates the TOW value TOWl according to the following equation (1):
  • TOWl TOWO + (Tickl - TickO) * (1 - D Tlck ) (1).
  • the navigation engine 114 calculates the frame time clock drift D Frame according to the following equation (2):
  • D Frame ( ⁇ FN - ⁇ Tick * (1 - D Tlck )) / ( ⁇ Tick * (1 - D Tlck )) (2); where the ⁇ FN represents a difference (FN B - FN A ) between two frame numbers FN B and FN A , and the ⁇ Tick represents a difference (Tick B - Tick A ) between two local tick values Tick B and Tick A respectively corresponding to the two frame numbers FN B and FN A .
  • the processing modules of this embodiment retrieve the set of previously stored values corresponding to the first time point (e.g. the latest local tick drift D Tlck , the latest frame time clock drift D Frame , the clock value Bl, the GNSS time Cl and maybe the clock value Al in a situation where the first implementation choice is applied to this embodiment; or just the latest frame time clock drift D Frame , the clock value Bl, and the GNSS time Cl in a situation where the second implementation choice is applied to this embodiment), and utilize at least some of the set of previously stored values to obtain GNSS time.
  • the first time point e.g. the latest local tick drift D Tlck , the latest frame time clock drift D Frame , the clock value Bl, the GNSS time Cl and maybe the clock value Al in a situation where the first implementation choice is applied to this embodiment; or just the latest frame time clock drift D Frame , the clock value Bl, and the GNSS time Cl in a situation where the second implementation choice is applied to this embodiment
  • the processing modules mentioned above obtain the clock value B2 of the second clock signal 113 and further obtain the associated clock value A2 of the first clock signal 133 in order to obtain the second pulse relationship at the second time point. More particularly, the processing modules perform frame synchronization measurement at the second time point (labeled "Frame Sync Meas" at the bottom-right portion of FIG. 2) to obtain the second pulse relationship, and calculate a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, the clock value B2, and the latest frame time clock drift D Frame . In practice, the processing modules utilize the first clock signal 133 to measure arrival time of a pulse corresponding to the clock value B2 in order to obtain the clock value A2.
  • the clock value A2 represents a local tick value Tick2
  • the clock value B2 represents a frame number FN2
  • the GNSS time C2 represents a TOW value TOW2.
  • the processing modules utilize the first clock signal 133 to measure arrival time of a frame pulse corresponding to the frame number FN2 in order to obtain the local tick value Tick2.
  • the navigation engine 1 14 calculates the GNSS time C2 (i.e. the TOW value TOW2 in this embodiment) according to the frame time clock drift D Frame , the GNSS time Cl (i.e. the TOW value TOWl in this embodiment), the frame number FNl, and the frame number FN2.
  • the navigation engine 114 calculates the GNSS time C2 (e.g. the TOW value TOW2) according to the following equations (3) or (4):
  • T Frame represents a length of a frame cycle of the frame time clock.
  • the order of operations performed before the power-off period as shown in FIG. 2 is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment,
  • the order of operations performed before the power-off period can be varied as shown in FIG. 3.
  • values such as TOWO', TOWl ', TOW2', TickO', Tickl', Tick2', and FN2' are similar to the aforementioned values TOWO, TOWl, TOW2, TickO, Tickl, Tick2, and FN2 shown in FIG. 2, where FNO' represents the frame number corresponding to TOWO' and TickO'.
  • the calculation of TOWO' is performed after TOWl ' is obtained. Similar descriptions for this variation are not repeated in detail here.
  • FIG. 4 is an exemplarily flowchart of the method shown in FIG. 2.
  • Step 910 maintenance phase processing corresponding to the operations of the maintenance phase mentioned above is performed.
  • Step 926 NE operations (i.e. the operations of the navigation engine 114) are stopped, and the ME (i.e. the measurement engine 120) is powered off.
  • Step 928 NE operations (i.e. the operations of the navigation engine 114) are run, and the ME (i.e. the measurement engine 120) is powered on.
  • initial phase processing corresponding to the operations of the initial phase mentioned above is performed.
  • FIG. 5 illustrates a flowchart of a first procedure of the method shown in FIG. 2, where the first procedure corresponds to a first time period that ends at a power-off time point shown in FIG. 2.
  • the first procedure represents the maintenance phase processing of Step 910, and is described as follows.
  • Step 912 the ME (i.e. the measurement engine 120) reports GNSS measurement results with the local tick to the NE (i.e. the navigation engine 114).
  • the NE calculates so-called PVT parameters, such as the position, the velocity, and the TOW value, for the reported measurement results.
  • Step 916 the NE updates the time relationship between the local tick value TickO and the TOW value TOWO.
  • Step 918 the NE decides whether to request "Frame Sync Meas" (i.e. the frame synchronization measurement mentioned above).
  • Step 919 if it is determined to request "Frame Sync Meas", Step 920 is entered; otherwise, Step 912 is re-entered.
  • Step 920 the NE issues a request of "Frame Sync Meas” and then obtains the frame number FNl and the associated local tick value Tickl, and calculates the frame time clock drift D Fr a m e-.
  • Step 922 the NE calculates the corresponding TOW value TOWl according to the TOW value TOWO, the local tick value TickO, and the local tick value Tickl as mentioned above, and then saves (FNl, TOWl, D Fm me) in the memory 116.
  • Step 912 is re-entered as long as it is not triggered (manually or automatically) to enter Step 926.
  • FIG. 6 illustrates a flowchart of a second procedure of the method shown in
  • FIG. 2 where the second procedure corresponds to a second time period that starts from a power on time point shown in FIG. 2.
  • the second procedure represents the initial phase processing of Step 930, and is described as follows.
  • Step 932 initialization is performed.
  • Step 934 the NE decides whether to request "Frame Sync Meas" (i.e. the frame synchronization measurement mentioned above).
  • Step 935 if it is determined to request "Frame Sync Meas", Step 940 is entered; otherwise, Step 936 is entered.
  • Step 936 the NE generates coarse aiding information for the ME.
  • Step 940 the NE issues a request of "Frame Sync Meas” and then obtains the frame number FN2 and the associated local tick value Tick2.
  • Step 942 the NE calculates the corresponding TOW value TOW2 according to the previously stored values (FNl, TOWl, D Frame ) and according to the frame number FN2 as mentioned above.
  • Step 944 the NE uses the time relationship between local tick value Tick2 and the TOW value TOW2 to generate aiding information for the ME.
  • FIG. 7 is a diagram of an apparatus 200 for obtaining GNSS time in a GNSS receiver according to a second embodiment of the present invention.
  • the second embodiment is a variation of the first embodiment, where differences between the second embodiment and the first embodiment are described as follows.
  • the cellular phone module 110 and the measurement engine 120 mentioned above are respectively replaced with a portable device module 210 and a measurement engine 220 since at least a portion of the processing modules are changed.
  • the portable device module 210 is arranged to perform portable device operations, while the measurement engine 220 is arranged to perform measurement such as synchronization measurement (e.g. clock synchronization measurement).
  • synchronization measurement e.g. clock synchronization measurement
  • the .frame pulse controller 112 mentioned above is replaced with a system clock controller 212, and the second clock signal 113 mentioned above is replaced with a second clock signal 213. More particularly, under the control of the system clock controller 212, the second clock signal 213 is derived from a clock source 210C representing a system clock (e.g. the system clock of the apparatus 200), where the second clock signal 213 carries at least one clock pulse.
  • the frame synchronization logic circuit 122 is replaced with a clock synchronization logic circuit 222 (labeled "Clock Sync Logic") since the synchronization measurement is performed according to the clock pulses instead of the frame pulses.
  • the synchronization measurement performed at the first time point represents clock synchronization measurement
  • the synchronization measurement performed at the second time point represents clock synchronization measurement.
  • the navigation engine 114 and the measurement engine controller 124 are respectively replaced with their varied versions, i.e. the navigation engine 214 and the measurement engine controller 224 (labeled "ME controller"), respectively.
  • the frame synchronization request (labeled "Frame Sync Request", i.e. the aforementioned request of "Frame Sync Meas) is
  • FIG. 8 is a diagram of an apparatus 300 for obtaining GNSS time in a GNSS receiver according to a third embodiment of the present invention.
  • the third embodiment is a variation of the second embodiment, and is also a variation of the first embodiment, where differences between the third embodiment and the second embodiment are described as follows.
  • the portable device module 210 and the measurement engine 220 mentioned above are respectively replaced with a portable device module 310 and a GNSS receiver 320 since at least a portion of the processing modules are changed.
  • the portable device module 310 is arranged to perform portable device operations such as those mentioned above, while most of GNSS receiver operations are implemented within the GNSS receiver 320.
  • the navigation engine 214 and the associated memory 116 are respectively implemented as a navigation engine 324 and an associated memory 326 within the GNSS receiver 320.
  • the ME local tick is referred to as the GNSS local tick
  • a GNSS task module 314 (labeled "GNSS Task") is arranged to transmit the clock synchronization request (labeled "Clock Sync Request") and the system tick value (labeled "System Tick") between the system clock controller 212 and the navigation engine 324.
  • the GNSS task module 314 is a software module executed by an MPU in the portable device module 310. This is for illustrative purposes only, and is not meant to be a limitation of the present invention.
  • the GNSS task module 314 is implemented with a controller executing a hardware code embedded within the
  • the frame number or the system tick mentioned above can be implemented with integer values. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to some embodiments of the present invention, the frame number or the system tick mentioned above can be implemented with floating point values.
  • the present invention methods and apparatus have no leap second issue since the calculations according to the above embodiments are based on the frame pulses carried by the clock signal 113 or the clock pulses carried by the clock signal 213, rather than utilization of the RTC time.
  • the present invention methods and apparatus utilize the synchronization measurement (e.g. the frame synchronization measurement or the clock synchronization measurement) to recover an accurate initial value of the GNSS time after a power-off period with high resolution, where the typical error of the initial value of the GNSS time is typically below the microsecond level when the power-off period is short.
  • the synchronization measurement e.g. the frame synchronization measurement or the clock synchronization measurement
  • the present invention methods and apparatus help subframe synchronization.
  • TTFF Time To First Fix

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

A method for obtaining GNSS time in a GNSS receiver includes: obtaining a time relationship between a first clock signal and the received GNSS time; obtaining a clock value B1 of a second clock signal and further obtaining an associated clock value A1 of the first clock signal to obtain a first pulse 5 relationship at a first time point; calculating a GNSS time C1 corresponding to the clock value A1 according to the time relationship; obtaining a clock value B2 of the second clock signal and further obtaining an associated clock value A2 of the first clock signal to obtain a second pulse relationship at a second time point; and calculating a GNSS time C2 according to the GNSS time C1, the clock value B1, 10 and the clock value B2. Exemplary values of A1, B1, C1, A2, B2, and C2 can be TTick1, FN1, TOW1, TTick2, FN2, and TOW2, respectively.

Description

METHODS AND APPARATUS FOR OBTAINING GNSS TIME IN A
GNSS RECEIVER
FIELD OF INVENTION The present invention relates to Global Navigation Satellite System ( GNSS ) receivers, and more particularly, to methods and apparatus for obtaining C iNSS time in a GNSS receiver.
BACKGROUND QF THE INVENTION One of the most important issues related to GNSS receivers is how to obtain
GNSS time when a GNSS receiver enters a start up mode from a power-off mode. Typically, within the GNSS receiver, all components except a real time clock (RTC) are powered down in the power-off mode. According to the related art . ;s common way to get an initial GNSS time when the GNSS receiver is powered on is by reading the RTC time provided by the RTC as the Coordinated Universal Time, which is referred to as the UTC time, and by further converting the UTC time derived from the RTC time into a rough initial value of the GNSS lime directly. Thus, some problems are introduced when implementing according to the related art. For example, UTC leap seconds are unknown. In addition, the resolution of the RTC is typically around several microseconds and the clock dri ft of the RTC is typically around several tens to several hundreds parts per mil lion (PPM), causing the aforementioned initial value of the GNSS time lo he unacceptable. Additionally, during time synchronization between the KTC time and real GNSS time, a time delay typically exists, causing the aforementioned initial value of the GNSS time to be inaccurate.
i SUMMARY OF THE INVENTION
An exemplary embodiment of a method for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver comprises: obtaining a time relationship between a first clock signal and the received GNSS time; obtaining a clock value Bl of a second clock signal and further obtaining an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point; calculating a GNSS time Cl corresponding to the clock value Al according to the time relationship; obtaining a clock value B2 of the second clock signal and further obtaining an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point; and calculating a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value B2. More particularly, in this embodiment, the aforementioned values Al, Bl, Cl, A2, B2, and C2 represent values such as TTickl, FNl, TOWl, TTick2, FN2, and T0W2, respectively.
An exemplary embodiment of an apparatus for obtaining GNSS time in a GNSS receiver comprises: a first clock source arranged to generate a first clock signal; and at least one processing module arranged to obtain a time relationship between the first clock signal and the received GNSS time, wherein the processing module obtains a clock value B 1 of a second clock signal and further obtains an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point, calculates a GNSS time Cl corresponding to the clock value Al according to the time relationship, obtains a clock value B2 of the second clock signal and further obtains an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point, and calculates a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value B2. More particularly, in this embodiment, the aforementioned values Al, Bl, Cl, A2, B2, and C2 represent values such as TTickl, FNl, TOWl, TTick2, FN2, and TOW2, respectively.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of an apparatus for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver according to a first embodiment of the present invention.
FIG. 2 illustrates a method for obtaining GNSS time in a GNSS receiver according to one embodiment of the present invention.
FIG. 3 illustrates a method for obtaining GNSS time in a GNSS receiver according to a variation of the embodiment shown in FIG. 2.
FIG. 4 is an exemplarily flowchart of the method shown in FIG. 2. FIG. 5 is a flowchart of a first procedure of the method shown in FIG. 2, where the first procedure corresponds to a first time period that ends at a power- off time point shown in FIG. 2. FIG. 6 is a flowchart of a second procedure of the method shown in FIG. 2, where the second procedure corresponds to a second time period that starts from a power on time point shown in FIG. 2.
FIG. 7 is a diagram of an apparatus for obtaining GNSS time in a GNSS receiver according to a second embodiment of the present invention. FIG. 8 is a diagram of an apparatus for obtaining GNSS time in a GNSS receiver according to a third embodiment of the present invention.
DETAILED DESCRIPTION Certain terms are used throughout the following description and claims, which refer to particular components. As one skilled in the art will appreciate, electronic equipment manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not in function. In the following description and in the claims, the terms "include" and "comprise" are used in an open-ended fashion, and thus should be interpreted to mean "include, but not limited to ...". Also, the term "couple" is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
Please refer to FIG. 1. FIG. 1 is a diagram of an apparatus 100 for obtaining GNSS time in a GNSS receiver according to a first embodiment of the present invention. The apparatus 100 comprises a cellular phone module 110 and a measurement engine (ME) 120. The cellular phone module 110 is arranged to perform cellular phone operations, while the measurement engine 120 is arranged to perform measurement such as synchronization measurement (e.g. frame synchronization measurement).
In practice, the apparatus 100 comprises at least one processing module such as a plurality of processing modules. For example, the plurality of processing modules comprises a frame pulse controller 112, a navigation engine (NE) 114, a frame synchronization logic circuit 122 (labeled "Frame Sync Logic"), and a measurement engine controller 124 (labeled "ME Controller"). This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment, at least a portion of the processing modules can be integrated into the same module. According to another variation of this embodiment, the arrangement of at least a portion of the processing modules can be varied. As shown in FIG. 1, the apparatus 100 comprises at lest one clock source such as a phone clock HOC and a temperature compensated crystal oscillator 132 (labeled "TCXO"), and further comprises a memory 116 such as a non- volatile memory, where the temperature compensated crystal oscillator 132 of this embodiment is embedded within the frame synchronization logic circuit 122 (labeled "Frame Sync Logic"). This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment, the phone clock HOC is embedded within the frame pulse controller 112. According to another variation of this embodiment, the temperature compensated crystal oscillator 132 is implemented outside the frame synchronization logic circuit 122. According to another variation of this embodiment, the memory 116 is a volatile memory powered by an auxiliary power. According to another variation of this embodiment, the temperature compensated crystal oscillator 132 can be replaced by a low cost crystal oscillator. Please note that the apparatus 100 may represent the GNSS receiver in one embodiment of the present invention. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to another embodiment of the present invention, the apparatus 100 may represent a portion of the GNSS receiver, for example, a combination of at least a portion of the processing modules mentioned above. In another embodiment of the present invention, the apparatus 100 may comprise the GNSS receiver. For example, the apparatus 100 can be a multi-function device comprising the cellular phone function, the personal digital assistant (PDA) function, and the GNSS receiver function. According to the first embodiment, the navigation engine 114 is implemented with a software module executed by a micro processing unit (MPU) in the cellular phone module 110. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment, the navigation engine 114 is implemented with a controller executing a hardware code embedded within the controller. According to another variation of this embodiment, the navigation engine 114 is implemented with a micro control unit (MCU) executing a firmware code.
The navigation engine 114 of the first embodiment is capable of performing detailed navigation operations according to processing results from a baseband circuit (not shown) within the measurement engine 120, where the baseband circuit is operated in a baseband time tick (TTick) whose frequency is typically around 10 MHz. In addition, the baseband time tick mentioned above is substantially a first clock signal 133 generated from the temperature compensated crystal oscillator 132 in the first embodiment. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment, the baseband time tick is generated from another oscillator instead of the temperature compensated crystal oscillator 132. According to another variation of this embodiment, the baseband circuit is implemented within another module instead of the measurement engine 120.
In the first embodiment, the frame pulse controller 112 converts a clock signal generated by the phone clock HOC into a synchronized version with respect to at least one wireless signal of one or more cellular networks, in order to generate a second clock signal 113, where the wireless signal is labeled "Sync" in FIG. 1 since it is received as a synchronization source. More particularly, under the control of the frame pulse controller 112, the second clock signal 113 is synchronized with a frame time clock of the cellular network shown in FIG. 1.
Please note that the second clock signal 113 carries pulses synchronized with the frame time clock. Therefore, the second clock signal 113 is substantially a time reference for implementation of the GNSS receiver. In this embodiment, one of the aforementioned at least one processing module is capable of controlling at least a portion of the GNSS receiver to enter a power saving mode for a time period and then recover from the power saving mode. For example, the measurement engine controller 124 controls the measurement engine 120 to enter a sleep mode during the time period (e.g. a sleep period) and then recover from the sleep mode. In another example, the measurement engine controller 124 controls the measurement engine 120 to power off during the time period (e.g. a power-off period) and then power on. After the time period, the apparatus 100 can rapidly obtain GNSS time according to the second clock signal 113.
The GNSS receiver always has to derive time information in order to process the satellite signal received from at least one satellite. After each time of position fix, the navigation engine 114 obtains time information by utilizing a baseband time tick value according to the time relationship between the baseband time tick and GNSS time, where the baseband time tick value of this embodiment is a clock value of the first clock signal 133, i.e. the clock value labeled "ME Local Tick" in FIG. 1. But when the GNSS receiver is waked up from a power off mode, the time relationship is no longer suitable; the GNSS receiver needs another source to get the GNSS time. The navigation engine 114 of this embodiment obtains time information corresponding to sufficient resolution and accuracy by adopting the frame pulse controller 112 and the frame synchronization logic circuit 122 (labeled "Frame Sync Logic"). The processing modules mentioned above (such as the frame pulse controller 112, the navigation engine 114, the frame synchronization logic circuit 122, and the ME controller 124) are capable of performing synchronization measurement to obtain a clock value of the second clock signal 113 and further obtain an associated clock value of the first clock signal 133, in order to obtain GNSS time.
In practice, a portion of the processing modules, such as the frame synchronization logic circuit 122, can be implemented with at least a portion of the time-latching logic circuit 150 disclosed in U.S. Application No. 11/850,684. For example, the frame synchronization logic circuit 122 comprises the time- latching logic circuit 150. In another example, the frame synchronization logic circuit 122 comprises a portion of the time-latching logic circuit 150. As a result of a time-latching operation such as that disclosed in U.S. Application No. 11/850,684, both the associated clock value of the first clock signal 133 and the clock value of the second clock signal 113 in the synchronization measurement share the highest resolution, i.e. the resolution of the clock signal whose frequency is higher than the other. As mentioned above, the measurement engine 120 is arranged to perform measurement such as synchronization measurement (e.g. frame synchronization measurement), where synchronization between the second clock signal 113 and the first clock signal 133 may occur. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. In general, the measurement mentioned above is not intended to cause synchronization between the second clock signal 113 and the first clock signal 133.
Please note that the processing modules mentioned above are arranged to obtain a clock value of the second clock signal 113 and further obtain an associated clock value of the first clock signal 133 in order to obtain at least one pulse relationship at a specific time point. For example, the processing modules obtain a clock value Bl of the second clock signal 113 and further obtain an associated clock value Al of the first clock signal 133 in order to obtain a first pulse relationship at a first time point. In addition, the processing modules obtain a clock value B2 of the second clock signal 113 and further obtain an associated clock value A2 of the first clock signal 133 in order to obtain a second pulse relationship at a second time point. In particular, the processing modules of the first embodiment perform synchronization measurement at the first time point to obtain the first pulse relationship, and perform synchronization measurement at the second time point to obtain the second pulse relationship. FIG. 2 illustrates a method for obtaining GNSS time in a GNSS receiver according to one embodiment of the present invention. The method shown in FIG. 2 can be implemented by utilizing the apparatus 100 shown in FIG. 1. Referring to the left portion of FIG. 2, after the GNSS receiver obtains a position fix, the processing modules of this embodiment obtains the time relationship between the first clock signal 133 (more particularly, the local tick mentioned above) and the GNSS time. In this embodiment, the time relationship between the first clock signal 133 and the GNSS time represents value mapping between the clock value of the first clock signal 133 and the GNSS time. An example of the time relationship is a set of values (TOWO, TickO), where the value TOWO represents a Time Of Week (TOW) value, and the value TickO represents a clock value of the first clock signal 133, such as a local tick value.
In a maintenance phase of this embodiment, the processing modules mentioned above obtain the clock value Bl of the second clock signal 113 and further obtain the associated clock value Al of the first clock signal 133 in order to obtain the first pulse relationship at the first time point. More particularly, in this embodiment, the processing modules of this embodiment perform frame synchronization measurement at the first time point (labeled "Frame Sync Meas" at the bottom-left portion of FIG. 2) to obtain the first pulse relationship. Then, the processing modules calculate a GNSS time Cl corresponding to the clock value Al according to the time relationship. In particular, the GNSS time Cl mentioned above is calculated by the navigation engine 114. In addition, after a position fix (e.g. a position fix of every few time units; or one of every few position fixes; or each position fix) is obtained, the processing modules of this embodiment are capable of updating the time relationship and further calculating/updating the latest local tick drift DTlCk of the temperature compensated crystal oscillator 132 and the latest frame time clock drift DFrame of the frame time clock. As a result, the processing modules may store a set of values corresponding to the first time point into the memory 116. More particularly, the navigation engine 114 stores the set of values into the memory 116. For example, according to a first implementation choice of this embodiment, the set of values comprise the latest local tick drift DTlCk, the latest frame time clock drift DFrame, the clock value Bl, the GNSS time Cl and maybe the clock value Al . This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a second implementation choice of this embodiment, the set of values comprise the latest frame time clock drift UFrame, the clock value Bl, and the GNSS time Cl .
In practice, the processing modules utilize the first clock signal 133 to measure arrival time of a pulse corresponding to the clock value Bl in order to obtain the clock value Al . More particularly, the clock value Al represents a local tick value Tickl, the clock value Bl represents a frame number FNl, and the
GNSS time Cl represents a TOW value TOWl . The processing modules utilize the first clock signal 133 to measure arrival time of a frame pulse corresponding to the frame number FNl in order to obtain the local tick value Tickl . As a result, the navigation engine 114 calculates the TOW value TOWl according to the following equation (1):
TOWl = TOWO + (Tickl - TickO) * (1 - DTlck) (1).
In addition, the navigation engine 114 calculates the frame time clock drift DFrame according to the following equation (2):
DFrame = (ΔFN - ΔTick * (1 - DTlck)) / (ΔTick * (1 - DTlck)) (2); where the ΔFN represents a difference (FNB - FNA) between two frame numbers FNB and FNA, and the ΔTick represents a difference (TickB - TickA) between two local tick values TickB and TickA respectively corresponding to the two frame numbers FNB and FNA.
Referring to the right portion of FIG. 2, after the power-off period, the processing modules of this embodiment retrieve the set of previously stored values corresponding to the first time point (e.g. the latest local tick drift DTlck, the latest frame time clock drift DFrame, the clock value Bl, the GNSS time Cl and maybe the clock value Al in a situation where the first implementation choice is applied to this embodiment; or just the latest frame time clock drift DFrame, the clock value Bl, and the GNSS time Cl in a situation where the second implementation choice is applied to this embodiment), and utilize at least some of the set of previously stored values to obtain GNSS time. In an initial phase of this embodiment, the processing modules mentioned above obtain the clock value B2 of the second clock signal 113 and further obtain the associated clock value A2 of the first clock signal 133 in order to obtain the second pulse relationship at the second time point. More particularly, the processing modules perform frame synchronization measurement at the second time point (labeled "Frame Sync Meas" at the bottom-right portion of FIG. 2) to obtain the second pulse relationship, and calculate a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, the clock value B2, and the latest frame time clock drift DFrame. In practice, the processing modules utilize the first clock signal 133 to measure arrival time of a pulse corresponding to the clock value B2 in order to obtain the clock value A2. More particularly, the clock value A2 represents a local tick value Tick2, the clock value B2 represents a frame number FN2, and the GNSS time C2 represents a TOW value TOW2. The processing modules utilize the first clock signal 133 to measure arrival time of a frame pulse corresponding to the frame number FN2 in order to obtain the local tick value Tick2. As a result, the navigation engine 1 14 calculates the GNSS time C2 (i.e. the TOW value TOW2 in this embodiment) according to the frame time clock drift DFrame, the GNSS time Cl (i.e. the TOW value TOWl in this embodiment), the frame number FNl, and the frame number FN2. In this embodiment, the navigation engine 114 calculates the GNSS time C2 (e.g. the TOW value TOW2) according to the following equations (3) or (4):
C2 = Cl + (B2 - Bl) * TFrame * (l - DFrame) (3); or TOW2 = TOWl + (FN2 - FNl) * TFrame * (1 - DFrame) (4); where the TFrame represents a length of a frame cycle of the frame time clock. In addition, the order of operations performed before the power-off period as shown in FIG. 2 is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment,
11 the order of operations performed before the power-off period can be varied as shown in FIG. 3. In this variation, values such as TOWO', TOWl ', TOW2', TickO', Tickl', Tick2', and FN2' are similar to the aforementioned values TOWO, TOWl, TOW2, TickO, Tickl, Tick2, and FN2 shown in FIG. 2, where FNO' represents the frame number corresponding to TOWO' and TickO'. The calculation of TOWO' is performed after TOWl ' is obtained. Similar descriptions for this variation are not repeated in detail here.
FIG. 4 is an exemplarily flowchart of the method shown in FIG. 2. In Step 910, maintenance phase processing corresponding to the operations of the maintenance phase mentioned above is performed. In Step 926, NE operations (i.e. the operations of the navigation engine 114) are stopped, and the ME (i.e. the measurement engine 120) is powered off. In Step 928, NE operations (i.e. the operations of the navigation engine 114) are run, and the ME (i.e. the measurement engine 120) is powered on. In Step 930, initial phase processing corresponding to the operations of the initial phase mentioned above is performed. FIG. 5 illustrates a flowchart of a first procedure of the method shown in FIG. 2, where the first procedure corresponds to a first time period that ends at a power-off time point shown in FIG. 2. In this embodiment, the first procedure represents the maintenance phase processing of Step 910, and is described as follows.
In Step 912, the ME (i.e. the measurement engine 120) reports GNSS measurement results with the local tick to the NE (i.e. the navigation engine 114). In Step 914, the NE calculates so-called PVT parameters, such as the position, the velocity, and the TOW value, for the reported measurement results. In Step 916, the NE updates the time relationship between the local tick value TickO and the TOW value TOWO.
In Step 918, the NE decides whether to request "Frame Sync Meas" (i.e. the frame synchronization measurement mentioned above).
12 In Step 919, if it is determined to request "Frame Sync Meas", Step 920 is entered; otherwise, Step 912 is re-entered.
In Step 920, the NE issues a request of "Frame Sync Meas" and then obtains the frame number FNl and the associated local tick value Tickl, and calculates the frame time clock drift DFrame-.
In Step 922, the NE calculates the corresponding TOW value TOWl according to the TOW value TOWO, the local tick value TickO, and the local tick value Tickl as mentioned above, and then saves (FNl, TOWl, DFmme) in the memory 116. After the operations of Step 922 are executed, Step 912 is re-entered as long as it is not triggered (manually or automatically) to enter Step 926.
FIG. 6 illustrates a flowchart of a second procedure of the method shown in
FIG. 2, where the second procedure corresponds to a second time period that starts from a power on time point shown in FIG. 2. In this embodiment, the second procedure represents the initial phase processing of Step 930, and is described as follows.
In Step 932, initialization is performed.
In Step 934, the NE decides whether to request "Frame Sync Meas" (i.e. the frame synchronization measurement mentioned above).
In Step 935, if it is determined to request "Frame Sync Meas", Step 940 is entered; otherwise, Step 936 is entered.
In Step 936, the NE generates coarse aiding information for the ME.
In Step 940, the NE issues a request of "Frame Sync Meas" and then obtains the frame number FN2 and the associated local tick value Tick2.
In Step 942, the NE calculates the corresponding TOW value TOW2 according to the previously stored values (FNl, TOWl, DFrame) and according to the frame number FN2 as mentioned above.
In Step 944, the NE uses the time relationship between local tick value Tick2 and the TOW value TOW2 to generate aiding information for the ME.
13 FIG. 7 is a diagram of an apparatus 200 for obtaining GNSS time in a GNSS receiver according to a second embodiment of the present invention. The second embodiment is a variation of the first embodiment, where differences between the second embodiment and the first embodiment are described as follows. The cellular phone module 110 and the measurement engine 120 mentioned above are respectively replaced with a portable device module 210 and a measurement engine 220 since at least a portion of the processing modules are changed. The portable device module 210 is arranged to perform portable device operations, while the measurement engine 220 is arranged to perform measurement such as synchronization measurement (e.g. clock synchronization measurement).
The .frame pulse controller 112 mentioned above is replaced with a system clock controller 212, and the second clock signal 113 mentioned above is replaced with a second clock signal 213. More particularly, under the control of the system clock controller 212, the second clock signal 213 is derived from a clock source 210C representing a system clock (e.g. the system clock of the apparatus 200), where the second clock signal 213 carries at least one clock pulse. In response to the changes mentioned above, the frame synchronization logic circuit 122 is replaced with a clock synchronization logic circuit 222 (labeled "Clock Sync Logic") since the synchronization measurement is performed according to the clock pulses instead of the frame pulses. Please note that the synchronization measurement performed at the first time point represents clock synchronization measurement, and the synchronization measurement performed at the second time point represents clock synchronization measurement. In response to this, the navigation engine 114 and the measurement engine controller 124 are respectively replaced with their varied versions, i.e. the navigation engine 214 and the measurement engine controller 224 (labeled "ME controller"), respectively. In addition, the frame synchronization request (labeled "Frame Sync Request", i.e. the aforementioned request of "Frame Sync Meas") is
14 replaced with a clock synchronization request (labeled "Clock Sync Request", i.e. a request of the clock synchronization measurement). Additionally, the frame number (e.g. FNl or FN2) from the frame pulse controller 112 to the navigation engine 114 is replaced with a system tick value (labeled "System Tick") of the system clock mentioned above. Similar descriptions for this embodiment are not repeated in detail here.
FIG. 8 is a diagram of an apparatus 300 for obtaining GNSS time in a GNSS receiver according to a third embodiment of the present invention. The third embodiment is a variation of the second embodiment, and is also a variation of the first embodiment, where differences between the third embodiment and the second embodiment are described as follows.
The portable device module 210 and the measurement engine 220 mentioned above are respectively replaced with a portable device module 310 and a GNSS receiver 320 since at least a portion of the processing modules are changed. The portable device module 310 is arranged to perform portable device operations such as those mentioned above, while most of GNSS receiver operations are implemented within the GNSS receiver 320.
More particularly, the navigation engine 214 and the associated memory 116 are respectively implemented as a navigation engine 324 and an associated memory 326 within the GNSS receiver 320. In response to this, the ME local tick is referred to as the GNSS local tick, and a GNSS task module 314 (labeled "GNSS Task") is arranged to transmit the clock synchronization request (labeled "Clock Sync Request") and the system tick value (labeled "System Tick") between the system clock controller 212 and the navigation engine 324. In this embodiment, the GNSS task module 314 is a software module executed by an MPU in the portable device module 310. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to a variation of this embodiment, the GNSS task module 314 is implemented with a controller executing a hardware code embedded within the
15 controller. According to another variation of this embodiment; "ttie GftsFSS fesk module 314 is implemented with an MCU executing a firmware code. Similar descriptions for this embodiment are not repeated in detail here.
Please note that, in practice, the frame number or the system tick mentioned above can be implemented with integer values. This is for illustrative purposes only, and is not meant to be a limitation of the present invention. According to some embodiments of the present invention, the frame number or the system tick mentioned above can be implemented with floating point values.
In addition, the abovementioned embodiments or variations can be modified in order to implement the present invention with a pure software solution or a pure hardware solution according to different embodiments of the present invention.
In contrast to the related art, the present invention methods and apparatus have no leap second issue since the calculations according to the above embodiments are based on the frame pulses carried by the clock signal 113 or the clock pulses carried by the clock signal 213, rather than utilization of the RTC time.
It is another advantage of the present invention that the present invention methods and apparatus utilize the synchronization measurement (e.g. the frame synchronization measurement or the clock synchronization measurement) to recover an accurate initial value of the GNSS time after a power-off period with high resolution, where the typical error of the initial value of the GNSS time is typically below the microsecond level when the power-off period is short.
It is another advantage of the present invention that the present invention methods and apparatus help subframe synchronization. As a result, when the GNSS receiver starts up, the Time To First Fix (TTFF) can be greatly reduced in contrast to the related art.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
17

Claims

1. A method for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver, the method comprising: obtaining a time relationship between a first clock signal and the received
GNSS time; obtaining a clock value Bl of a second clock signal and further obtaining an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point; calculating a GNSS time Cl corresponding to the clock value Al according to the time relationship; obtaining a clock value B2 of the second clock signal and further obtaining an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point; and calculating a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value B2.
2. The method of claim 1, further comprising: controlling at least a portion of the GNSS receiver to enter a power saving mode during a time period between the first time point and the second time point.
3. The method of claim 1, further comprising: storing at least the clock value Bl and the GNSS time Cl into a memory.
4. The method of claim 1, wherein the time relationship between the first clock signal and the GNSS time represents value mapping between the clock value of the first clock signal and the GNSS time.
5. The method of claim 1, further comprising: performing synchronization measurement at the first time point to obtain the first pulse relationship; and performing synchronization measurement at the second time point to obtain the second pulse relationship.
6. The method of claim 5, wherein the second clock signal is synchronized with a frame time clock of a cellular network; the synchronization measurement performed at the first time point represents frame synchronization measurement, and the clock value Bl represents a frame number FNl ; and the synchronization measurement performed at the second time point represents frame synchronization measurement, and the clock value B2 represents a frame number FN2.
7. The method of claim 6, further comprising: calculating the GNSS time C2 by the following equation: C2 = Cl + (B2 - Bl) * TFrame * (1 - DFrame); wherein the TFrame represents a length of a frame cycle of the frame time clock, and the DFrame represents a frame time clock drift of the frame time clock.
8. The method of claim 6, further comprising: calculating the GNSS time C2 according to a frame time clock drift of the frame time clock, the GNSS time Cl, the frame number FNl, and the frame number FN2.
9. The method of claim 5, wherein the second clock signal is derived from a clock source representing a system clock; the synchronization measurement performed at the first time point represents clock synchronization measurement; and the synchronization measurement performed at the second time point represents clock synchronization measurement.
10. The method of claim 1, wherein the step of obtaining the clock value Bl of the second clock signal and further obtaining the associated clock value Al of the first clock signal in order to obtain the first pulse relationship at the first time point further comprises: utilizing the first clock signal to measure arrival time of a pulse corresponding to the clock value Bl in order to obtain the clock value Al; wherein the step of obtaining the clock value B2 of the second clock signal and further obtaining the associated clock value A2 of the first clock signal in order to obtain the second pulse relationship at the second time point further comprises: utilizing the first clock signal to measure arrival time of a pulse corresponding to clock value B2 in order to obtain the clock value A2.
11. An apparatus for obtaining Global Navigation Satellite System (GNSS) time in a GNSS receiver, the apparatus comprising: a first clock source arranged to generate a first clock signal; and at least one processing module arranged to obtain a time relationship between the first clock signal and the received GNSS time, wherein the processing module obtains a clock value Bl of a second clock signal and further obtains an associated clock value Al of the first clock signal in order to obtain a first pulse relationship at a first time point, calculates a GNSS time Cl corresponding to the clock value Al according to the time relationship, obtains a clock value B2 of the second clock signal and further obtains an associated clock value A2 of the first clock signal in order to obtain a second pulse relationship at a second time point, and calculates a GNSS time C2 corresponding to the clock value A2 according to the GNSS time Cl, the clock value Bl, and the clock value
B2.
12. The apparatus of claim 11, wherein one of the at least one processing module controls at least a portion of the GNSS receiver to enter a power saving mode during a time period between the first time point and the second time point.
13. The apparatus of claim 11, wherein the apparatus further comprises a memory; and the processing module stores at least the clock value Bl and the GNSS time Cl into the memory.
14. The apparatus of claim 11, wherein the time relationship between the first clock signal and the GNSS time represents value mapping between the clock value of the first clock signal and the GNSS time.
15. The apparatus of claim 11, wherein the processing module performs synchronization measurement at the first time point to obtain the first pulse relationship, and further performs synchronization measurement at the second time point to obtain the second pulse relationship.
16. The apparatus of claim 15, wherein the second clock signal is synchronized with a frame time clock of a cellular network; the synchronization measurement performed at the first time point represents frame synchronization measurement, and the clock value Bl represents a frame number FNl; and the synchronization measurement performed at the second time point represents frame synchronization measurement, and the clock value B2 represents a frame number FN2.
17. The apparatus of claim 16, wherein the processing module calculates the
GNSS time C2 by the following equation:
C2 = Cl + (B2 - Bl) * TFrame * (1 - DFrame); wherein the TFrame represents a length of a frame cycle of the frame time clock, and the DFrame represents a frame time clock drift of the frame time clock.
18. The apparatus of claim 16, wherein the processing module calculates the
GNSS time C2 according to a frame time clock drift of the frame time clock, the GNSS time Cl, the frame number FNl, and the frame number FN2.
19. The apparatus of claim 15, wherein the second clock signal is derived from a clock source representing a system clock of the apparatus; the synchronization measurement performed at the first time point represents clock synchronization measurement; and the synchronization measurement performed at the second time point represents clock synchronization measurement.
20. The apparatus of claim 11, wherein the processing module utilizes the first clock signal to measure arrival time of a pulse corresponding to the clock value Bl in order to obtain the clock value Al; and the processing module utilizes the first clock signal to measure arrival time of a pulse corresponding to the clock value B2 in order to obtain the clock value A2.
PCT/CN2008/073848 2007-09-06 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver WO2010075647A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2011507774A JP5666428B2 (en) 2008-12-30 2008-12-30 Method and apparatus for obtaining GNSS time in GNSS receiver
US12/446,754 US7936303B2 (en) 2007-09-06 2008-12-30 Methods and apparatus for obtaining GNSS time in a GNSS receiver
CN2008800228792A CN101855842B (en) 2008-12-30 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver
PCT/CN2008/073848 WO2010075647A1 (en) 2008-12-30 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver
EP08879263.5A EP2370830B1 (en) 2008-12-30 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver
US13/050,965 US8077086B2 (en) 2007-09-06 2011-03-18 Methods and apparatus for obtaining GNSS time in a GNSS receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2008/073848 WO2010075647A1 (en) 2008-12-30 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/850,684 Continuation-In-Part US7629924B2 (en) 2007-09-06 2007-09-06 Methods and apparatus for obtaining accurate GNSS time in a GNSS receiver

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/446,754 A-371-Of-International US7936303B2 (en) 2007-09-06 2008-12-30 Methods and apparatus for obtaining GNSS time in a GNSS receiver
US13/050,965 Continuation US8077086B2 (en) 2007-09-06 2011-03-18 Methods and apparatus for obtaining GNSS time in a GNSS receiver

Publications (1)

Publication Number Publication Date
WO2010075647A1 true WO2010075647A1 (en) 2010-07-08

Family

ID=42309755

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/073848 WO2010075647A1 (en) 2007-09-06 2008-12-30 Methods and apparatus for obtaining gnss time in a gnss receiver

Country Status (4)

Country Link
EP (1) EP2370830B1 (en)
JP (1) JP5666428B2 (en)
CN (1) CN101855842B (en)
WO (1) WO2010075647A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10197680B2 (en) 2014-08-15 2019-02-05 Samsung Electronics Co., Ltd GNSS receiver
US20220196848A1 (en) * 2020-12-21 2022-06-23 Aditya Srivastava Global navigation satellite system (gnss) and temperature sensing crystal (tsx) based device time service
CN115079624A (en) * 2022-08-23 2022-09-20 小米汽车科技有限公司 Vehicle-mounted controller and method for vehicle absolute time release and vehicle

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5578103B2 (en) * 2011-02-09 2014-08-27 セイコーエプソン株式会社 Electronic timepiece and reception control method for electronic timepiece
US9645247B2 (en) * 2014-07-25 2017-05-09 General Motors Llc Fast estimation of UTC time in a mobile device using GNSS
US20180299561A1 (en) * 2017-04-17 2018-10-18 Mediatek Inc. Techniques of capturing gnss signals at requested timing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070268180A1 (en) * 2006-05-19 2007-11-22 Xiaorong Zhi Fast time to first fix by calibration of a real time clock
US7348921B2 (en) * 2005-09-19 2008-03-25 Trimble Navigation Limited GPS receiver using stored navigation data bits for a fast determination of GPS clock time
US7466265B1 (en) * 2007-10-10 2008-12-16 Skytraq Technology Inc. GPS receiver with extended hot start capability
CN101382589A (en) * 2007-09-06 2009-03-11 联发科技股份有限公司 Methods and apparatus for obtaining accurate gnss time in a gnss receiver

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7026A (en) * 1850-01-15 Door-lock
US9006A (en) * 1852-06-08 Improvement in seed-planters
US6023A (en) * 1849-01-09 Body-brace
WO2001076285A1 (en) * 2000-03-30 2001-10-11 Cellguide Ltd. Providing time synchronization to a gps locator
JP4164662B2 (en) * 2003-06-10 2008-10-15 日本電気株式会社 Portable terminal and GPS time keeping method
US7321776B2 (en) * 2003-09-25 2008-01-22 Sony Ericsson Mobile Communications Ab Estimating GPS time at cellular terminals based on timing of information from base stations and satellites
JP4769452B2 (en) * 2004-12-20 2011-09-07 古野電気株式会社 Positioning signal receiver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7348921B2 (en) * 2005-09-19 2008-03-25 Trimble Navigation Limited GPS receiver using stored navigation data bits for a fast determination of GPS clock time
US20070268180A1 (en) * 2006-05-19 2007-11-22 Xiaorong Zhi Fast time to first fix by calibration of a real time clock
CN101382589A (en) * 2007-09-06 2009-03-11 联发科技股份有限公司 Methods and apparatus for obtaining accurate gnss time in a gnss receiver
US7466265B1 (en) * 2007-10-10 2008-12-16 Skytraq Technology Inc. GPS receiver with extended hot start capability

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10197680B2 (en) 2014-08-15 2019-02-05 Samsung Electronics Co., Ltd GNSS receiver
US20220196848A1 (en) * 2020-12-21 2022-06-23 Aditya Srivastava Global navigation satellite system (gnss) and temperature sensing crystal (tsx) based device time service
US11604286B2 (en) * 2020-12-21 2023-03-14 Intel Corporation Global navigation satellite system (GNSS) and temperature sensing crystal (TSX) based device time service
CN115079624A (en) * 2022-08-23 2022-09-20 小米汽车科技有限公司 Vehicle-mounted controller and method for vehicle absolute time release and vehicle

Also Published As

Publication number Publication date
JP5666428B2 (en) 2015-02-12
EP2370830A1 (en) 2011-10-05
EP2370830B1 (en) 2020-09-09
EP2370830A4 (en) 2015-06-24
CN101855842B (en) 2013-04-03
CN101855842A (en) 2010-10-06
JP2011520110A (en) 2011-07-14

Similar Documents

Publication Publication Date Title
US7936303B2 (en) Methods and apparatus for obtaining GNSS time in a GNSS receiver
US7924104B2 (en) Methods and apparatus for compensating a clock bias in a GNSS receiver
EP2331984B1 (en) Method and apparatus for a global navigation satellite system receiver coupled to a host computer system
US7084810B2 (en) Portable terminal and GPS time keeping method
US9952562B2 (en) Timing signal generating device, electronic apparatus, moving object, method of generating timing signals, and method of controlling satellite signal receiver
EP2370830B1 (en) Methods and apparatus for obtaining gnss time in a gnss receiver
US10884134B2 (en) Timing circuit calibration
US20100039316A1 (en) System and Method for Operating a GPS Device in a Micro Power Mode
US10187074B2 (en) Timing signal generation device, electronic device, and moving object
JP2001116821A (en) Method of positioning gps, and device for receiving gps
JP2005521863A (en) Time determination at satellite positioning system receiver and method for it
CN107831647B (en) Positioning device, electronic timepiece, positioning control method, and storage medium
JP6201585B2 (en) Timing signal generating device, electronic device, and moving object
CN113114108A (en) Method for estimating crystal oscillator frequency
TWI383169B (en) Methods and apparatus for obtaining gnss time in a gnss receiver
JP2007218853A (en) Gps-positioning method and apparatus
JP2004317175A (en) Gps receiver
US8154449B2 (en) Signal acquisition systems with applications of general clocks
JP2017059971A (en) Timing signal generator, electronic apparatus and movable body
JPH09113655A (en) Position detector with time correction function and car, weather observation device and pollution environment measuring instrument using the detector
JPH1051237A (en) Temperature compensation crystal oscillator, satellite receiver and satellite reception system
JP2010230625A (en) Positioning device, system, method and program
JP2003156553A (en) Gps receiver

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880022879.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12446754

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08879263

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011507774

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2008879263

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE