IP Library › Granted Patent US 12,748,202
Granted Patent B2
US 12,748,202 · App. 18/668,076 · Granted Sep 29, 2026

Techniques for improving ranging between electronic devices

Inventors: Benjamin A. Werner (San Jose, CA); Merrick K. McCracken (Sunnyvale, CA); Robert W. Brumley (San Jose, CA)
Assignee: Apple Inc.
G01S13/46G01S5/0252G01S5/0289G01S5/10H04W64/006G01S5/0218G01S2013/468
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 12,748,202
App. No.
18/668,076
Granted
Sep 29, 2026
Kind
B2
Abstract

A mobile device may receive a plurality of timestamps, wherein the plurality of timestamps indicate sending and receiving time for ranging packets and response packets. The mobile device may calculate a responder turn-around time as a first difference between the second time and the first time. The mobile device may calculate a responding round trip time as a second difference between the second time and the third time. The mobile device may receive from the electronic device an initiator turn-around time and an initiator round trip time. The mobile device may calculate a frequency offset for the wireless protocol using the responder turn-around time, the responding round trip time, the initiator turn-around time, and the initiator round trip time. The mobile device may compare an observed frequency offset to the calculated frequency offset to determine a frequency offset difference and whether it exceeds a threshold, adjusting a ranging measurement.

Claims (61)

1 . A method of ranging with an electronic device by a mobile device, the method performed by the mobile device comprising:

receiving a first set of ranging packets at a first antenna array in a first location on the mobile device;

calculating a first ranging value based at least in part on the first set of ranging packets;

receiving a second set of ranging packets at a second antenna array in a second location on the mobile device, where the second location is different from the first location;

calculating a second ranging value based at least in part on the second set of ranging packets;

comparing the first ranging value and the second ranging value to determine a difference;

comparing the difference to a first threshold; and

when the difference is above the first threshold, adjusting at least one of the first ranging value and the second ranging value.

2 . The method of claim 1 , wherein a larger ranging value of the first ranging value and the second ranging value is adjusted.

3 . The method of claim 1 , wherein the adjusting at least one of the first ranging value and the second ranging value comprises applying a weighting to a larger ranging value of the first ranging value and the second ranging value.

4 . The method of claim 1 , further comprising:

storing a plurality of values for the first ranging value and the second ranging value over time in a memory;

detecting a change in one of the first ranging value or the second ranging value as compared with stored values; and

when the change in one of the first ranging value or the second ranging value exceeds a second threshold, adjusting at least one of the first ranging value and the second ranging value.

5 . The method of claim 1 , further comprising:

storing a plurality of sensor data from a visual, inertial, and optometry (VIO) sensor in a memory of the mobile device;

analyzing the plurality of sensor data to determine and orientation of the mobile device; and

determining whether the first antenna array or the second antenna array is positioned to receive ranging signals based at least in part on the orientation of the mobile device.

6 . The method of claim 1 , further comprising calculating a weighted average of the first ranging value and the second ranging value.

7 . The method of claim 1 , further comprising displaying a historical value for range when the difference exceeds the first threshold.

8 . A mobile device configured to perform ranging via a wireless protocol with an electronic device, comprising:

a memory comprising computer-executable instructions; and

one or more processors in communication with the memory and configured to access the memory and execute the computer-executable instructions to perform operations comprising:

receiving a first set of ranging packets at a first antenna array in a first location on the mobile device;

calculating a first ranging value based at least in part on the first set of ranging packets;

receiving a second set of ranging packets at a second antenna array in a second location on the mobile device, where the second location is different from the first location;

calculating a second ranging value based at least in part on the second set of ranging packets;

comparing the first ranging value and the second ranging value to determine a difference;

comparing the difference to a first threshold; and

when the difference is above the first threshold, adjusting at least one of the first ranging value and the second ranging value.

9 . The mobile device of claim 8 , wherein a larger ranging value of the first ranging value and the second ranging value is adjusted.

10 . The mobile device of claim 8 , wherein the adjusting at least one of the first ranging value and the second ranging value comprises applying a weighting to a larger ranging value of the first ranging value and the second ranging value.

11 . The mobile device of claim 8 , wherein the operations further comprise:

storing a plurality of values for the first ranging value and the second ranging value over time in the memory;

detecting a change in one of the first ranging value or the second ranging value as compared with stored values; and

when the change in one of the first ranging value or the second ranging value exceeds a second threshold, adjusting at least one of the first ranging value and the second ranging value.

12 . The mobile device of claim 8 , wherein the operations further comprise:

storing a plurality of sensor data from a visual, inertial, and optometry (VIO) sensor in the memory of the mobile device;

analyzing the plurality of sensor data to determine and orientation of the mobile device; and

determining whether the first antenna array or the second antenna array is positioned to receive ranging signals based at least in part on the orientation of the mobile device.

13 . The mobile device of claim 8 , wherein the operations further comprise calculating a weighted average of the first ranging value and the second ranging value.

14 . The mobile device of claim 8 , wherein the operations further comprise displaying a historical value for range when the difference exceeds the first threshold.

15 . One or more non-transitory computer-readable storage media comprising computer-executable instructions that, when executed by one or more processors, cause the one or more processors of a mobile device to perform operations to perform ranging via a wireless protocol with an electronic device, the operations comprising:

receiving a first set of ranging packets at a first antenna array in a first location on the mobile device;

calculating a first ranging value based at least in part on the first set of ranging packets;

receiving a second set of ranging packets at a second antenna array in a second location on the mobile device, where the second location is different from the first location;

calculating a second ranging value based at least in part on the second set of ranging packets;

comparing the first ranging value and the second ranging value to determine a difference;

comparing the difference to a first threshold; and

when the difference is above the first threshold, adjusting at least one of the first ranging value and the second ranging value.

16 . The one or more non-transitory computer-readable storage media of claim 15 , wherein a larger ranging value of the first ranging value and the second ranging value is adjusted.

17 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the operations further comprise:

storing a plurality of values for the first ranging value and the second ranging value over time in a memory;

detecting a change in one of the first ranging value or the second ranging value as compared with stored values; and

when the change in one of the first ranging value or the second ranging value exceeds a second threshold, adjusting at least one of the first ranging value and the second ranging value.

18 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the operations further comprise:

storing a plurality of sensor data from a visual, inertial, and optometry (VIO) sensor in a memory of the mobile device;

analyzing the plurality of sensor data to determine and orientation of the mobile device; and

determining whether the first antenna array or the second antenna array is positioned to receive ranging signals based at least in part on the orientation of the mobile device.

19 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the operations further comprise calculating a weighted average of the first ranging value and the second ranging value.

20 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the operations further comprise displaying a historical value for range when the difference exceeds the first threshold.

Continuity (4)
Continuation 17805425 · Jun 3, 2022
Continuation 17169025 · Feb 5, 2021
Provisional Application 63083754 · Sep 25, 2020
Related Publication 20240302518A1 · Sep 12, 2024
References Cited (9)
US 11378672B2 · Werner et al. · 2022 [cited by applicant]
US 20050058081A1 · Elliott et al. · 2005 [cited by applicant]
US 20140274126A1 · Sendonaris · 2014 [cited by examiner]
US 20180242270A1 · Zhang et al. · 2018 [cited by applicant]
US 20190306825A1 · Lindskog et al. · 2019 [cited by applicant]
US 20210014677A1 · Han · 2021 [cited by examiner]
US 20210033714A1 · Nath · 2021 [cited by examiner]
Notice of Allowance issued in U.S. Appl. No. 17/169,025, dated Mar. 4, 2022 in 10 pages (of-record in parent application). [cited by applicant]
Notice of Allowance issued in U.S. Appl. No. 17/805,425, dated Feb. 27, 2024 in 10 pages (of-record in parent application). [cited by applicant]