IP Library Granted Patent US 12704645
Granted Patent B2
US 12704645 · App. 18/475,839 · Granted Aug 11, 2026

Clock calibrator for network devices

Inventors: Jerome Henry (Pittsboro, NC); Peiman Amini (Fremont, CA); Ardalan Alizadeh (Campbell, CA)
Assignee: Cisco Technology, Inc.
G01S19/396G01S19/21
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 12704645
App. No.
18/475,839
Granted
Aug 11, 2026
Kind
B2
Abstract

Devices, systems, methods, and processes for calibrating clock signals of network devices are described herein. A device can initiate a ranging procedure with a reference device for synchronizing a clock signal of the device. The ranging procedure may utilize Fine Time Measurement (FTM), Ultra-Wide band (UWB), or similar protocols. The device can also synchronize the clock signal based on detection of ambient interference events. The device may also receive Global Navigation Satellite System (GNSS) data from a satellite and determine a pseudo range for the corresponding satellite based on the synchronized clock signal. The device may further transmit the GNSS data to a location engine. The location engine may aggregate the GNSS data received from a plurality of devices and determine a geolocation of the plurality of devices based on the aggregated GNSS data.

Claims (66)

1 . A device, comprising:

a processor;

a memory communicatively coupled to the processor; and

a calibration logic, configured to:

transmit a ranging request;

receive a first timestamp, a second timestamp, and a timer value indicative of a time for a next frame exchange from a first network device in response to the ranging request;

determine a clock offset based on a difference between the first timestamp and the second timestamp;

determine a clock drift based on the clock offset and the timer value; and

calibrate a local clock signal in real-time based on the clock drift and the clock offset.

2 . The device of claim 1 , further comprising at least one global navigation satellite system (GNSS) receiver configured to receive a first satellite signal corresponding to a first satellite.

3 . The device of claim 2 , wherein the calibration logic is further configured to:

determine a first pseudo range to the first satellite based on the first satellite signal and the clock signal; and

determine a geolocation of the device based on the first pseudo range.

4 . The device of claim 3 , wherein the calibration logic is further configured to:

receive a second pseudo range from the first network device; and

determine a geolocation of the first network device based on the second pseudo range and the clock signal.

5 . The device of claim 1 , wherein the calibration logic is further configured to:

detect a first ambient interference event occurring at a first time instant;

determine a first change in a signal strength corresponding to the first ambient interference event;

detect a second ambient interference event occurring at a second time instant;

determine a second change in the signal strength corresponding to the second ambient interference event; and

generate an event detection signal indicative of the first ambient interference event and the second ambient interference event.

6 . The device of claim 1 , wherein the calibration logic is further configured to:

receive an event detection signal indicative of a first ambient interference event and a second ambient interference event;

determine a first change in signal strength corresponding to the first ambient interference event occurring at a first time instant based on the event detection signal;

determine a second change in signal strength corresponding to the second ambient interference event occurring at a second time instant based on the event detection signal; and

determine the clock drift based on a difference between the first time instant and the second time instant.

7 . The device of claim 1 , wherein the ranging request includes at least one of: a fine time measurement (FTM) ranging request or an ultra-wide band (UWB) ranging request.

8 . A device comprising:

a processor;

a memory communicatively coupled to the processor; and

a calibration logic, configured to:

receive a plurality of ranging requests from a plurality of network devices; and

transmit a plurality of responses to the plurality of network devices, each response including a timer value indicative of a time for a next frame exchange

wherein the plurality of network devices synchronizes corresponding clock signals with a reference local clock signal of the device in real-time based on corresponding responses.

9 . The device of claim 8 , wherein the calibration logic is further configured to:

receive one or more pseudo ranges from the plurality of network devices; and

determine a geolocation of the plurality of network devices based on the one or more pseudo ranges and the reference clock signal.

10 . The device of claim 9 , further comprising at least one global navigation satellite system (GNSS) receiver configured to receive a first satellite signal corresponding to a first satellite.

11 . The device of claim 10 , wherein the calibration logic is further configured to:

determine a first pseudo range to the first satellite based on the first satellite signal; and

determine a geolocation of the device based on the first pseudo range.

12 . The device of claim 11 , wherein each response includes a first timestamp, a second timestamp, and a timer value.

13 . The device of claim 12 , wherein each network device of the plurality of network devices determines a clock offset based on a difference between the first timestamp and the second timestamp, and a clock drift based on the clock offset and the timer value.

14 . The device of claim 13 , wherein each network device of the plurality of network devices synchronizes corresponding clock signal with the reference clock signal of the device based on the clock drift and the clock offset.

15 . The device of claim 9 , wherein each ranging request includes at least one of: a fine time measurement (FTM) ranging request or an ultra-wide band (UWB) ranging request.

16 . The device of claim 9 , wherein the calibration logic is further configured to:

detect a first ambient interference event occurring at a first time instant;

determine a first change in a signal strength corresponding to the first ambient interference event;

detect a second ambient interference event occurring at a second time instant;

determine a second change in the signal strength corresponding to the second ambient interference event; and

generate an event detection signal indicative of the first ambient interference event and the second ambient interference event.

17 . The device of claim 16 , wherein each network device of the plurality of network devices receives the event detection signal and synchronizes corresponding clock signal with the reference clock signal based on the event detection signal.

18 . A method comprising:

initiating a ranging procedure;

receiving a first timestamp, a second timestamp, and a timer value indicative of a time for a next frame exchange from a first network device in response to a ranging procedure;

determining a clock offset based on a difference between the first timestamp and the second timestamp;

determining a clock drift based on the clock offset and the timer value; and

calibrating a local clock signal in real-time based on the clock drift and the clock offset.

19 . The method of claim 18 , further comprising:

receiving a first satellite signal corresponding to a first satellite;

determining a first pseudo range to the first satellite based on the first satellite signal and the clock signal; and

determining a geolocation based on the first pseudo range and the clock signal.

20 . The method of claim 18 , further comprising:

receiving an event detection signal indicative of a first ambient interference event and a second ambient interface event; and

calibrating the clock signal based on the event detection signal.