Bluetooth Master Clock Accuracy via Local Timestamp Offset

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Bluetooth Master Clock resolution is limited by the Host Controller Interface, resulting in inaccuracies due to clock rounding error, clock drift, and significant command time, leading to potential spatial disorientation in stereo audio applications.

Innovation Solution

A method to obtain an accurate representation of the Master Clock by requesting a local timestamp value along with the Master clock tick through the HCI firmware, allowing for compensation of delays and reducing errors to ±1 μs, enabling precise scheduling of audio playback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the Master Clock is obtained through the Host Controller Interface, then the application can access the clock data, but the resolution is limited and command time introduces significant error

Engineering Contradiction:
ImproveMaster Clock accuracyVSAvoidCommand time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the slave device calculate and store the clock offset value in advance, based on previously received Master Clock data. This pre-calculated offset is then used to compensate for the command time delay, allowing the application to estimate the current Master Clock time accurately without waiting for a new clock reading.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary approach by using the clock offset value as a mediator between the Master Clock and the application. Instead of directly reading the Master Clock (which introduces command time delay), the system uses the offset as an intermediary to estimate the current clock time, effectively bypassing the delay issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the Master Clock is read through the Host Controller Interface, then the application can obtain clock data, but clock rounding error reduces precision

Engineering Contradiction:
ImproveMaster Clock resolutionVSAvoidClock rounding error
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies feedback by continuously updating the clock offset value whenever new Master Clock data is received. This feedback mechanism ensures that the offset remains current and accurate, compensating for clock drift and rounding errors over time. The application uses this continuously refined offset to maintain high precision in its Master Clock estimates.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If separate Bluetooth devices control left and right audio channels, then stereo audio can be delivered, but clock synchronization errors cause spatial disorientation

Engineering Contradiction:
ImproveStereo audio capabilityVSAvoidAudio channel synchronization
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent uses the clock offset value as an intermediary to synchronize audio playback between separate Bluetooth devices. The slave device calculates the offset between the Master Clock and its local clock, then uses this offset to precisely time audio playback, ensuring that left and right channels are synchronized within ±1 μs despite being implemented on separate devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8989173B2Increased Bluetooth clock accuracy
Publication Date: 2015.03.24 QUALCOMM TECH INT
  • US8989173B2 patent drawing
  • US8989173B2 patent drawing
  • US8989173B2 patent drawing

AI summary

The present invention provides a communications unit for operation in a communication system in accordance with a protocol that operates to a first clock resolution, the communications unit comprising a first clock, operating to the first resolution, a second clock operating to a second resolution higher than the first resolution, means configured to respond to a request to report a clock value by reporting: (a) the current value of the first clock and (b) information indicating the time on the second clock at which the first clock ticked to its current value.