IP Library Granted Patent US 7,915,962
Granted Patent B2
US 7,915,962 · App. 12/497,980 · Granted Mar 29, 2011

System and method for built in self test for timing module holdover

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,915,962
App. No.
12/497,980
Granted
Mar 29, 2011
Kind
B2
Abstract

Embodiments of the invention include a method for use in a device having a local oscillator. The method includes performing, for the local oscillator that is disciplined by an external reference signal, while locked to the external reference signal, training at least two mathematical models of the oscillator to determine a predicted correction signal for each mathematical model based at least in part on a correction signal that is a function of the external reference signal and which is used to discipline drift in the oscillator. The method also includes selecting a mathematical model of the at least two mathematical models that results in a smallest time error when disciplining the oscillator to use when the external reference signal is unavailable and an alternative correction signal is to be used to discipline drift in the oscillator. The method further includes testing the selected mathematical model using a sampled version of the correction signal such that the selected mathematical model can be used without the need for a testing duration that is in addition to a period of time used for the training.

Claims (70)

1. A method comprising:

for an oscillator local to a device that is disciplined by an external reference signal, for a duration of time the oscillator is locked to the external reference signal:

determining a correction signal that is a function of the external reference signal and which is used to discipline the oscillator;

sampling the correction signal;

storing samples of the correction signal;

for at least one mathematical model of the oscillator, for the duration of time the oscillator is locked to the external reference signal:

training the at least one mathematical model based at least on the correction signal not including the samples of the correction signal;

after a specified duration of time of the oscillator being locked to the external reference signal,

determining a predicted correction signal;

determining a difference between the predicted correction signal and the samples of the correction signal to produce a frequency error that represents an error that would occur if the predicted correction signal was used to discipline drift in the oscillator;

integrating over time the frequency error to produce a time error that represents an error that would occur if the predicted correction signal was used to discipline drift in the oscillator;

outputting the time error.

2. The method of claim 1 further comprising:

determining whether the time error is less than a threshold of an allowable time error for the specified duration of time.

3. The method of claim 2 further comprising:

periodically updating the frequency error, time error and whether the time error is less than the threshold at a given interval subsequent to the specified duration of time.

4. The method of claim 2 wherein determining the frequency error, the time error and whether the time error is less than the threshold of the allowable time error comprises:

determining the frequency error, the time error and whether the time error is less than the threshold of the allowable time error after a duration of time that is less than the specified duration of time.

5. The method of claim 3 wherein periodically updating the frequency error, time error and whether the time error is less than the threshold comprises:

updating the frequency error, time error and whether the time error is less than the threshold for a moving temporal window equal to or longer than the specified duration of time if the duration of time the oscillator is locked to the external reference signal becomes larger than the specified duration of time.

6. The method of claim 1 further comprising:

for two or more mathematical models of the at least one mathematical model;

determining which mathematical model produces a time error that if used to discipline the oscillator would result in the smallest time error.

7. The method of claim 6 wherein determining which mathematical model produces a time error that if used to discipline the oscillator would result in the smallest time error comprises:

comparing the determined time errors for each mathematical model; and

selecting the mathematical model with a smallest cumulative time error that is less than a threshold of an allowable time error.

8. The method of claim 6 further comprising:

for the mathematical model that would result in the smallest time error, selecting that mathematical model as a correction signal to discipline the oscillator when the external reference signal is unavailable.

9. The method of claim 8 further comprising:

maintaining for the specified duration of time an identification of the mathematical model that is selected as having the smallest time error for the particular duration of time; and

maintaining for at least one interval after the specified duration of time an identification of the mathematical model that is selected as having the smallest time error for each interval.

10. The method of claim 9 further comprising:

maintaining mathematical model parameters associated with the identified mathematical models.

11. The method of claim 10 further comprising:

outputting for each interval after the specified duration of time, for each mathematical model the time error for that interval; and

outputting the mathematical model parameters associated with the identified mathematical models, for each mathematical model, for that interval.

12. The method of claim 1 wherein sampling the correction signal while locked to the external reference signal comprises sampling the correction signal at a rate that is less than the rate of the correction signal.

13. The method of claim 7 further comprising:

disciplining the oscillator as early as at the end of the specified duration of time using the selected mathematical model determined to have the smallest time error without an additional testing period for testing the selected mathematical model.

14. The method of claim 1 further comprising:

if it is determined that none of the at least one mathematical models are less than a threshold of an allowable time error, determining a duration for each mathematical model over which the mathematical model does not exceed the threshold.

15. The method of claim 14 further comprising:

selecting the mathematical model with the longest duration before exceeding the threshold; and

using the selected mathematical model as a correction signal to discipline the oscillator when the external reference signal is unavailable for at least a duration that the selected mathematical model does not exceed the threshold.

16. A method comprising:

for an oscillator local to a device that is disciplined by an external reference signal, while locked to the external reference signal:

training at least two mathematical models of the oscillator to determine a predicted correction signal for each mathematical model based at least in part on a correction signal that is a function of the external reference signal and which is used to discipline drift in the oscillator;

selecting a mathematical model of the at least two mathematical models having a smallest time error to discipline drift in the oscillator when the external reference signal is unavailable; and

testing the selected mathematical model using a sampled version of the correction signal such that the selected mathematical model can be used without the need for a testing duration that is in addition to a period of time used for the training.

17. A device comprising:

a receiver for receiving an external reference signal;

a local oscillator (LO) configured to generate a first signal comprising at least one of: timing information; frequency information; phase information; and combinations thereof;

a control loop filter for generating a correction signal that is a function of the external reference signal and which is used to discipline the LO;

a sample data buffer for storing samples of the correction signal, timing information from the external reference signal, and temperature information;

at least one mathematical model of the LO configured to receive the correction signal, the timing information from the external reference signal, and the temperature information, each of the at least one mathematical model configured to generate a predicted correction signal;

a time interval error checker (TIEC) configured to:

for each mathematical model:

determine a difference between the predicted correction signal and samples of the correction signal to produce a frequency error that represents an error that would occur if the predicted correction signal was used to discipline drift in the oscillator;

integrate over time the frequency error to produce a time error that represents an error that would occur if the predicted correction signal was used to discipline drift in the oscillator;

select a mathematical model having a smallest time error;

a digital to analog control (DAC) selector configured to receive the correction signal output from the control loop filter and a correction signal from the TIEC that is a function of the selected mathematical model;

a DAC configured to receive an output from the DAC selector and provide a signal to the LO;

wherein when the external reference signal is available the DAC control selector provides the control signal to the DAC such that the oscillator is disciplined as a function of the external reference signal, the at least one mathematical models are trained to generate a predicted correction signal and the TIEC determines the time error after a specified duration of time and periodically updates the time error at a given interval subsequent to the particular duration of time.

18. The device of claim 17 , wherein the LO is an ovenized crystal oscillator.

19. The device of claim 17 wherein the at least one mathematical model is a recursive least squares fit model.

20. The device of claim 17 wherein the at least one mathematical model is at least one of:

a model that includes both temperature and ageing dependent parameters;

a model that includes temperature dependent parameters;

a model that includes a constant value; and

a model that includes parameters of a model that was selected to have the smallest time error in a previous given interval.

Assignments (7)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Aug 13, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033541/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: 2256355 ONTARIO LIMITED
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028020/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: ROCKSTAR BIDCO, LP
To: 2256355 ONTARIO LIMITED
Reel/Frame 028018/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027164/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2009
From: NICHOLLS, CHARLES; WU, PHILIPPE
To: NORTEL NETWORKS LIMITED
Reel/Frame 022916/0281 →