Drift correction in a wireless network
10912051 · 2021-02-02
Assignee
Inventors
- Xavier Vilajosana Guillén (Cardedeu, ES)
- Borja Martínez Huerta (Sant Cugat del Vallés, ES)
- Ferran Adelantado Freixer (Rubí, ES)
- Pere Tuset Peiró (Granollers, ES)
Cpc classification
H03J3/04
ELECTRICITY
Y02D30/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06F1/12
PHYSICS
International classification
G06F1/12
PHYSICS
H03J3/04
ELECTRICITY
Abstract
Methods and devices for synchronizing a device clock in a wireless network (e.g. a LPWAN) are disclosed. Example methods comprise identifying a device temperature, identifying a clock drift associated with the identified device temperature and applying a correction to the device clock based on the identified drift. For the identified device temperature, the drift is identified by comparing the confidence of the drift value in a pre-calibration curve generated from fixed drift values in a pre-calibration table with the confidence of the drift value in a learning curve generated from variable drift values in a learning table and selecting the drift value from the curve having the higher drift confidence.
Claims
1. A method of synchronizing a device clock in a wireless network, comprising: identifying a device temperature; identifying a clock drift associated with the identified temperature; applying a correction to the device clock based on the identified drift, wherein, for the identified device temperature, the drift is identified by comparing a statistical confidence of a drift value in a pre-calibration curve generated from fixed drift values in a pre-calibration table with a statistical confidence of a drift value in a learning curve generated from variable drift values in a learning table and selecting the drift value from the curve having the higher drift statistical confidence.
2. The method according to claim 1, further comprising using a training algorithm to update the learning curve.
3. The method according to claim 2, wherein the training algorithm is an interpolation algorithm.
4. The method according to claim 3, wherein the interpolation algorithm is a polynomial algorithm.
5. The method according to claim 4, wherein the polynomial algorithm is a least squares second order polynomial algorithm.
6. The method according to claim 1, further comprising receiving a synchronization signal from a remote source; and updating the variable drift values of the learning table using data in the synchronization signal.
7. The method according to claim 6, further comprising aligning the device clock based on the data in the synchronization signal.
8. The method according to claim 1, wherein applying a correction comprises identifying a number of ticks to correct, and applying the identified number of ticks to the device clock.
9. The method according to claim 8, wherein applying the identified number of ticks comprises adding or subtracting the identified number of ticks to a clock counter to account for a positive or negative drift, respectively.
10. The method according to claim 1 further comprising adjusting a guard time based on the statistical confidence of the drift value in the learning curve.
11. The method according to claim 1, further comprising adjusting a synchronization frequency based on the statistical confidence of the drift value in the learning curve.
12. A device to synchronize a clock in a wireless network, comprising: means for identifying a clock temperature, means for identifying a drift associated with the identified temperature, means for applying a correction to the clock based on the identified drift, wherein, for the identified clock temperature, the means for identifying a drift is configured to compare a statistical confidence of a drift value in a pre-calibration curve generated from fixed drift values in a pre-calibration table with a statistical confidence of a drift value in a learning curve generated from variable drift values in a learning table and select the drift value from the curve having the higher statistical confidence.
13. The device according to claim 12, further comprising means for storing the pre-calibration table and means for storing the learning table.
14. The device according to claim 12, further comprising means for receiving a synchronization signal from a remote source; means for aligning the clock based on data in the synchronization signal; means for updating the learning table using the data in the synchronization signal.
15. A wireless device comprising: a clock; a temperature sensor, to measure the device's temperature; a drift values module, comprising a pre-calibration table and a learning table, the pre-calibration table having temperature values associated with fixed drift values and respective pre-calibration confidence values, and the learning table having temperatures values associated with variable drift values, based on a learning algorithm, and respective variable confidence values, a drift correction module, configured to receive a temperature measurement from the temperature sensor and, in response to the received measurement, generate a pre-calibration curve and a learning curve and compare the statistical confidence of the drift value in the pre-calibration curve with the statistical confidence of the drift value in the learning curve and apply to the clock the drift value from the curve having the higher statistical confidence.
16. The wireless device according to claim 15, further comprising a communication interface, coupled to the drift correction module, and configured to receive a clock synchronization signal from a remote source, the clock synchronization signal comprising a drift value, wherein the drift correction module is configured to correct the clock and update the learning table in response to the received clock synchronization signal and an average temperature between the received clock synchronization signal and a previously received clock synchronization signal.
17. The wireless device according to claim 15, comprising a low power wide area network (LPWAN) device.
18. A computer program product comprising program instructions embodied on a non-volatile storage medium for causing a computing system to perform a method according to claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Non-limiting examples of the present disclosure will be described in the following, with reference to the appended drawings, in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF EXAMPLES
(6)
(7)
(8) Taking advantage of the derived fitting curve, a device is able to forecast its drift locally, and make use of the predicted error to reduce the guard times and/or increase the interval between synchronization events.
(9)
(10) In the example of
F=K(TT.sub.0).sup.2+M.sub.0(Eq. 1)
(11) Assuming K=0.0360.006 from the calibration process, the pre-calibration characteristic (P) of
(12) After 12 hours of data acquisition (see Table 1), may results in a statistical confidence interval similar to the light grey area shown in
(13) As the statistical confidence of the drift value from the learning table is greater than the confidence of the drift value from the pre-calibration table, the drift value may be selected from the pre-calibration table to predict the new drift.
(14) After 24 hours of data acquisition (see Table 2), a new statistical confidence interval may be derived for T=15 as F (T=15)[3.95,3.00] ppm.
(15) Now, the lower limit of the new statistical interval may be higher (closer to the real value) than the pre-calibration lower limit. Therefore the drift value may be selected from the learning table to predict the new drift.
(16) TABLE-US-00001 TABLE 1 Hour Temperature [ C.] Drift [ppm] 00:00 4.2 15.2770 00:30 3.9 15.8760 01:00 3.5 16.1798 01:30 3.5 16.9520 02:00 3.3 16.3328 02:30 2.7 17.5828 03:00 2.1 18.2250 03:30 1.7 19.3766 04:00 1.4 19.5440 04:30 1.5 20.3918 05:00 1.9 19.2100 05:30 1.9 19.2100 06:00 1.5 19.2100 06:30 1.4 20.3918 07:00 2.4 19.7122 07:30 3.7 17.1086 08:00 4.9 15.4256 08:30 6.1 13.6890 09:00 7.4 11.9246 09:30 8.8 10.4040 10:00 10.3 8.4272 10:30 11.4 7.0560 11:00 12.4 6.2726 11:30 13.3 5.1840
(17) TABLE-US-00002 TABLE 2 Hour Temperature [ C.] Drift [ppm] 12:00 13.8 4.5968 12:30 14.0 4.4356 13:00 14.1 4.1990 13:30 13.8 4.3560 14:00 13.2 4.6786 14:30 12.5 5.2708 15:00 11.8 5.8982 15:30 11.2 6.5610 16:00 10.8 7.0560 16:30 10.6 7.3616 17:00 10.4 7.5690 17:30 10.2 7.7792 18:00 10.0 7.8854 18:30 9.7 8.3174 19:00 9.5 8.5378 19:30 9.3 8.7610 20:00 9.2 8.8736 20:30 9.0 8.9870 21:00 8.8 9.3316 21:30 8.6 9.5648 22:00 8.2 9.8010 22:30 7.8 10.4040 23:00 7.6 10.7744 23:30 7.5 10.8994
(18)
(19) Although only a number of examples have been disclosed herein, other alternatives, modifications, uses and/or equivalents thereof are possible. Furthermore, all possible combinations of the described examples are also covered. Thus, the scope of the present disclosure should not be limited by particular examples, but should be determined only by a fair reading of the claims that follow. If reference signs related to drawings are placed in parentheses in a claim, they are solely for attempting to increase the intelligibility of the claim, and shall not be construed as limiting the scope of the claim.
(20) Further, although the examples described with reference to the drawings comprise computing apparatus/systems and processes performed in computing apparatus/systems, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the system into practice.