Clock synchronization for multichannel system
AssigneeAmazon Technologies, Inc.
InventorsRobert Ayrapetian, Arnaud Jean-Louis Charton, Yuwen Su
Life of this patent
Estimating the term…
Abstract
An acoustic echo cancellation (AEC) system that detects and compensates for differences in sample rates between the AEC system and a set of wireless speakers based on a search-based trial-and-error technique. The system individually determines a frequency offset for each microphone-speaker pair using an iterative process, determining an echo-return loss enhancement (ERLE) value for each offset that is tried, and selecting the frequency offset associated with the largest ERLE value.
Claims20
A method, comprising:
- transmitting an audio reference signal that has a first sampling rate to a wireless speaker;
- storing samples of the audio reference signal at the first sampling rate;
- outputting audible sound from the wireless speaker at a second sampling rate;
- receiving a first signal from a microphone, the first signal including a portion of the audible sound;
- storing the first signal;
- determining a first normalized ratio between the first sampling rate and the second sampling rate, the first normalized ratio representing a first potential offset between the first sampling rate and the second sampling rate;
- reproducing, as a first filter input signal, the stored samples of the audio reference signal, adding a first duplicate of one sample per a reciprocal of the first normalized ratio;
- reproducing the first signal from storage as a first reproduced signal;
- subtracting a first filtered signal output from the adaptive filter, based on the first filter input signal, from the first reproduced signal as a first output signal;
- causing filter coefficients of the adaptive filter to converge based on the first output signal;
- determining a first echo-return loss enhancement (ERLE) value for the adaptive filter after the filter converges based on the first output signal, the first ERLE value quantifying cancellation of the portion of the audible sound from the first reproduced signal;
- determining a second normalized ratio between the first sampling rate and the second sampling rate that is different than the first normalize ratio, the second normalized ratio representing a second potential offset between the first sampling rate and the second sampling rate;
- reproducing, as a second filter input signal, the stored samples of the audio reference signal, adding a second duplicate of one sample per a reciprocal of the second normalized ratio;
- subtracting a second filtered signal output from the adaptive filter, based on the second filter input signal, from the first reproduced signal as a second output signal;
- causing filter coefficients of the adaptive filter to converge based on the second output signal;
- determining a second ERLE value for the adaptive filter after the filter converges based on the second output signal, the second ERLE value quantifying cancellation of the portion of the audible sound from the first reproduced signal;
- determining that the second ERLE value is greater than the first ERLE value;
- and
- selecting the second normalized ratio to correct offset between the first sampling rate and the second sampling rate.
A computing device comprising:
- a processor;
- a first oscillator that produces a first clock signal, the processor to use the first clock signal to control timing of operations of the processor;
- a memory including instruction operable to be executed by a processor that configure the processor to:
- transmit a first audio reference signal to a first sound reproduction device, the first sound reproduction device associated with a second clock signal that controls sound reproduction by the first sound reproduction device, the second clock signal being independent of the first clock signal;
- receive a first signal from a microphone, the first signal including a first portion of the first audio reference signal;
- determine a first normalized ratio between the first clock signal and the second clock signal, the first normalized ratio representing a first potential offset between the first clock signal and the second clock signal;
- generate, using a first adaptive filter and based on the first audio reference signal, a first output signal;
- determine a first echo-return loss enhancement (ERLE) value for the first adaptive filter after the first adaptive filter converges based on the first output signal;
- determine a second normalized ratio between the first clock signal and the second clock signal, the second normalized ratio representing a second potential offset between the first clock signal and the second clock signal that is different than the first potential offset;
- generate, using the first adaptive filter and based on the first audio reference signal, a second output signal;
- determine a second ERLE value for the adaptive filter after the first adaptive filter converges based on the second output signal;
- determine that the second ERLE value is greater than the first ERLE value;
- and
- select the second normalized ratio to correct offset between the first clock signal and the second clock signal.
A method performed by a computing device, comprising:
- controlling timing operations of the computing device based on a first clock signal;
- transmitting a first audio reference signal from the computing device to a first sound reproduction device, the first sound reproduction device associated with a second clock signal that controls sound reproduction by the first sound reproduction device, the second clock signal being independent of the first clock signal;
- receiving a first signal from a microphone, the first signal including a first portion of the first audio reference signal;
- determining a first normalized ratio between the first clock signal and the second clock signal, the first normalized ratio representing a first potential offset between the first clock signal and the second clock signal;
- generating, using a first adaptive filter and based on the first audio reference signal, a first output signal;
- determining a first echo-return loss enhancement (ERLE) value for the first adaptive filter after the first adaptive filter converges based on the first output signal;
- determining a second normalized ratio between the first clock signal and the second clock signal, the second normalized ratio representing a second potential offset between the first clock signal and the second clock signal that is different than the first potential offset;
- generating, using the first adaptive filter and based on the first audio reference signal, a second output signal;
- determining a second ERLE value for the adaptive filter after the first adaptive filter converges based on the second output signal;
- determining that the second ERLE value is greater than the first ERLE value;
- and
- selecting the second normalized ratio to correct offset between the first clock signal and the second clock signal.
Dependencies are inferred from the claim text.