Patent ID: 9170325
Filing Date: 2015-10-27
Classification: G01S

Abstract:
1. A first device comprising: one or more processors; at least one microphone; at least one speaker; and one or more computer storage media storing instructions that, when executed by the one or more processors cause the one or more processors to perform acts comprising: recording, as streaming data, audio received through the at least one microphone; playing a first audio tone through the at least one speaker; performing autocorrelation on the streaming data to determine a timing of an autocorrelation peak indicative of a detection of a second audio tone in the streaming data; performing cross correlation on the streaming data in a search window to determine a timing of a cross correlation peak indicative of the detection of the second audio tone in the streaming data, a location in time of the search window being determined based at least in part on the timing of the detected autocorrelation peak; transmitting data based on the determined timing of the first cross correlation peak to a second device; receiving timing data from the second device that is based at least in part on a timing of the second audio tone with respect to the second device; and calculating a distance between the first device and the second device based at least in part on the timing of the first cross correlation peak and the timing data received from the second device; wherein at least the acts of recording and performing autocorrelation on the streaming data are performed at least partially in parallel.