# US 2017/0288679 A1 · Adaptive Temperature Compensation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0288679 A1
- Document ID: US20170288679A1
- Status: Published application
- Kind: A1
- Application number: 15/473,112
- Filed: 2017-03-29
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: u-blox AG
- Applicants: u-blox AG
- Inventors: Roderick Bryant; Eamonn Glennon
- Web page: https://patentgrep.com/patent/US20170288679A1

## CPC

- H03L 1/026: {by using a memory for digitally storing correction values (H03L1/025 takes precedence)}
- G01S 19/235: {Calibration of receiver components}
- H03B 5/04: Modifications of generator to compensate for variations in physical values, e.g. power supply, load, temperature
- H03L 1/00: Stabilisation of generator output against variations of physical values, e.g. power supply
- H03L: AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES (generation of oscillations H03B)
- G01S: RADIO 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
- H03B: GENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS (generators adapted for electrophonic musical instruments G10H; masers or lasers H01S; generation of oscillations in plasma H05H)

## Abstract

A method of compensating for the temperature related frequency drift of an oscillator. The method comprises using an external reference frequency signal to derive oscillator compensation data over a range of operating temperatures, storing the oscillator compensation data in a first table, and, for a given operating temperature, using the first table to obtain corresponding oscillator compensation data and applying that data to provide compensation for the temperature related frequency drift. The method further comprises defining, for the range of operating temperatures, a series of temperature slots each sub-divided into a series of temperature bins. The step of using an external reference frequency signal to derive oscillator compensation data over the range of operating temperatures comprises a) measuring an operating temperature and using the external reference frequency signal to determine oscillator compensation values for respective temperatures as the operating temperature varies; b) accumulating the determined oscillator compensation values in corresponding temperature bins of a second table; c) at spaced intervals in time, using the data accumulated in the temperature bins of the second table to determine or update the oscillator compensation data stored for one or more slots in the first table.

## Claims

### Claim 1

A method of compensating for the temperature related frequency drift of an oscillator, the method comprising:
using an external reference frequency signal to derive oscillator compensation data over a range of operating temperatures;
storing the oscillator compensation data in a first table;
for a given operating temperature, using the first table to obtain corresponding oscillator compensation data and applying that data to provide compensation for the temperature related frequency drift;
defining, for the range of operating temperatures, a series of temperature slots each sub-divided into a series of temperature bins; and
the step of using an external reference frequency signal to derive oscillator compensation data over the range of operating temperatures comprising:
a) measuring an operating temperature and using the external reference frequency signal to determine oscillator compensation values for respective temperatures as the operating temperature varies;
b) accumulating the determined oscillator compensation values in corresponding temperature bins of a second table;
c) at spaced intervals in time, using the data accumulated in the temperature bins of the second table to determine or update the oscillator compensation data stored for one or more slots in the first table.

### Claim 2 (depends on 1)

The method according to claim 1, wherein said step of applying the oscillator compensation data to provide compensation for the temperature related frequency drift comprises applying the oscillator compensation data to the oscillator in dependence upon a current temperature in order to discipline the oscillator and thereby obtain a temperature compensated oscillator frequency.

### Claim 3 (depends on 1)

The method according to claim 1, wherein said step of applying the oscillator compensation data to provide compensation for the temperature related frequency drift comprises applying the oscillator compensation data to a processing operation that uses as an input a frequency output by the oscillator, where the oscillator operates as a non-disciplined oscillator.

### Claim 4 (depends on 1)

The method according to claim 1 and comprising retaining, in the second table, only data associated with:
temperature bins within a current temperature slot, where the current temperature slot contains the current temperature; and
temperature bins associated with one or more temperature slots which are sequential with said current temperature slot,
the total number of temperature slots for which data are retained being less than the total number of temperature slots.

### Claim 5 (depends on 4)

The method according to claim 4, wherein the or each sequential slot is a slot adjacent to the current temperature slot.

### Claim 6 (depends on 1)

The method according to claim 1, wherein step b) comprises, for each value, adding the value to a sum for the bin stored in the second table and incrementing a count for the bin.

### Claim 7 (depends on 1)

The method according to claim 1 and comprising maintaining a third, intermediate table, wherein step c) comprises, at said spaced intervals in time, using the data accumulated in the temperature bins of the second table to determine or update data stored for the corresponding slots in the third table and using the data in the third table to populate the first table.

### Claim 8 (depends on 7)

The method according to claim 7, wherein said step of using the data accumulated in the temperature bins of the second table to determine or update data stored for the corresponding slots in the third table comprises, for each slot, determining or updating parameters of a linear fit to the data in the bins of the slot and storing the parameters in the third table.

### Claim 9 (depends on 8)

The method according to claim 8, wherein said parameters are an oscillator compensation value for a given temperature of the slot and a rate of change value.

### Claim 10 (depends on 8)

The method according to claim 8, wherein the step of updating said parameters comprises combining, for each slot, the currently stored parameters with respective newly determined parameters.

### Claim 11 (depends on 10)

The method according to claim 10 and comprising storing in the third table, for each slot, a variance value of each parameter, said step of combining taking account of the associated variance value.

### Claim 12 (depends on 8)

The method according to claim 8, wherein said step of using the data in the third table to populate the first table comprises adjusting the parameters of each slot in order to align the linear fits at slot boundaries.

### Claim 13 (depends on 8)

The method according to claim 8, wherein said step of using the first table to obtain corresponding oscillator compensation data comprises interpolating the data in the first table to obtain an oscillator compensation value for the current operating temperature.

### Claim 14 (depends on 1)

The method according to claim 1, wherein step c) is carried out for a given temperature slot if it is determined that the total number of values accumulated for that slot exceeds a predefined threshold and that values are accumulated for at least a predefined fraction of the total number of bins in the slot.

### Claim 15 (depends on 14)

The method according to claim 14, wherein step b) comprises, for each value, adding the value to a sum for the bin stored in the second table and incrementing a count for the bin, and wherein, if both of the conditions are not met for a given slot, the largest of the bin sums is identified and a determination made as to whether or not the largest sum exceeds a predefined threshold and, if yes, then all of the bin sums and count values for the slot are scaled back by a factor greater than 1 and, if no, then the bin sums and count values for the slot are left unchanged.

### Claim 16 (depends on 1)

The method according to claim 1, wherein, at a), the step of using the external reference frequency signal to determine oscillator compensation values comprises one of:
mixing the external reference frequency signal with an output of, or derived from, the oscillator to determine a frequency difference;
counting cycles of the reference frequency signal during a period of a signal harmonically related to an output of, or derived from, the oscillator; or
measuring a phase difference between the external reference frequency signal and an output of, or derived from, the oscillator at spaced intervals in time.

### Claim 17 (depends on 2)

A method of operating a Global Navigation Satellite System, GNSS, receiver having an oscillator and a receiver for receiving at least one GNSS radio signal providing an external reference frequency signal, the method comprising using the method of claim 2 in order to discipline the oscillator.

### Claim 18

Apparatus comprising:
an oscillator;
a receiver configured to receive an external reference frequency signal;
a physical memory;
a temperature sensor; and
a processing circuit configured to use the external reference frequency signal to derive oscillator compensation data over a range of operating temperatures, to store the oscillator compensation data in a first table within the physical memory and, for a given operating temperature, to use the first table to obtain corresponding oscillator compensation data and apply that data to provide compensation for the temperature related frequency drift,
wherein the processing circuit defines, for the range of operating temperatures, a series of temperature slots each sub-divided into a series of temperature bins, and in that the processor is configured to use an external reference frequency signal to derive oscillator compensation data over the range of operating temperatures by
a) measuring an operating temperature and using the external reference frequency signal to determine oscillator compensation values for respective temperatures as the operating temperature varies;
b) accumulating the determined oscillator compensation values in corresponding temperature bins of a second table within the physical memory; and
c) at spaced intervals in time, using the data accumulated in the temperature bins of the second table to determine or update the oscillator compensation data stored for one or more slots in the first table.

### Claim 19 (depends on 18)

A Global Navigation Satellite System receiver comprising the apparatus of claim 18.
