IP Library › Granted Patent US 10,182,414
Granted Patent B2
US 10,182,414 · App. 15/368,061 · Granted Jan 15, 2019

Accurately tracking a mobile device to effectively enable mobile device to control another device

Inventors: Lili Qiu (Austin, TX); Wenguang Mao (Austin, TX)
Assignee: Board of Regents, The University of Texas System
H04W64/006G01S5/18H04L67/04H04L67/18H04L67/22H04W48/16H04L67/38H04W4/80H04W88/02
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 10,182,414
App. No.
15/368,061
Granted
Jan 15, 2019
Kind
B2
Abstract

A method, system and computer program product for tracking a mobile device. A reference position of the mobile device and a frequency offset between the mobile device and another device are estimated. Samples are then fetched at various frequencies from the receivers. The fetched signals are mixed with a pseudo transmitted signal. A relative distance between the mobile device and the other device is computed based on a change in frequency of the mixed signal at a current location, a velocity of the mobile device and the estimated frequency offset. An absolute distance between the mobile device and the other device is determined using the reference position and the computed relative distance. A location of the mobile device is then determined based on the mobile device's velocity and the determined absolute difference.

Claims (125)

1. A method for tracking a mobile device, the method comprising:

estimating a reference position of said mobile device;

fetching audio samples of audio signals at various frequencies from speakers over a duration of time;

performing a fast Fourier transform in said fetched samples to extract frequencies;

estimating a frequency shift in said extracted frequencies at one or more frequency ranges;

translating said estimated frequency shift to a velocity of said mobile device;

determining, by a processor, an absolute distance between said mobile device and another device using said reference position and a relative distance change between said mobile device and said another device;

determining a location of said mobile device based on said velocity of said mobile device and said absolute distance between said mobile device and said another device;

tracking said mobile device using said determined location of said mobile device; and

controlling said another device by tracking said mobile device.

2. The method as recited in claim 1 further comprising:

mixing signal from said fetched samples with a pseudo transmitted signal.

3. The method as recited in claim 2 further comprising:

computing said relative distance change between said another device and said mobile device at two locations based on a change in frequencies of said mixed signal at said two locations.

4. The method as recited in claim 2 further comprising:

estimating a frequency offset between said mobile device and said another device; and

computing said relative distance change between said mobile device and said another device based on a change in frequency of said mixed signal at a current location, a velocity of said mobile device and said frequency offset between said mobile device and said another device.

5. The method as recited in claim 2 further comprising:

detecting a time when a Doppler shift changes its sign as a user moves said mobile device back and forth across landmarks on said another device; and

estimating said reference position of said mobile device at said detected time based on a separation between different landmarks of said another device and a difference in relative distances between different landmarks of said another device and said mobile device.

6. The method as recited in claim 5 further comprising:

estimating said difference in relative distances between different landmarks of said another device and said mobile device by performing a fast Fourier transform of said mixed signal to identify peak frequencies of received signals at said another device; and

computing a difference between said identified peak frequencies of said received signals from each landmark on said another device.

7. The method as recited in claim 2 further comprising:

identifying peak frequencies of signals from said another device by:

estimating an auto-correlation matrix of said mixed signal;

applying an eigenvalue decomposition to said auto-correlation matrix of said mixed signal;

sorting eigenvectors obtained from said eigenvalue decomposition to said auto-correlation matrix of said mixed signal in descending order of corresponding eigenvalues' magnitudes;

using a spaced spanned by said eigenvectors corresponding to a largest n eigenvalues to form a signal space matrix, wherein said n is less than M, wherein said M is an order of said auto-correlation matrix;

using a spaced spanned by remaining eigenvectors to form a noise space matrix;

defining a steering vector s(f) as [1, e j2πft , . . . , e J2πf(M−1)t ] T where T stands for transpose of a matrix;

defining a pseudo spectrum of said mixed signal using said noise space matrix and said steering vector; and

identifying a peak frequency in said pseudo spectrum of said mixed signal.

8. The method as recited in claim 1 further comprising:

constructing an optimization problem to minimize error in determining said location of said mobile device using said absolute distance between said mobile device and said another device and said velocity of said mobile device.

9. The method as recited in claim 8 further comprising:

constructing an optimization problem to minimize error in determining said location of said mobile device using inertial measurement sensors.

10. The method as recited in claim 1 further comprising:

generating a final estimated frequency shift by removing outliers and averaging remaining estimated frequency shifts.

11. The method as recited in claim 1 further comprising:

estimating a difference in frequency offset between said mobile device and said another device.

12. A computer program product for tracking a mobile device, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code comprising the programming instructions for:

estimating a reference position of said mobile device;

fetching audio samples of audio signals at various frequencies from speakers over a duration of time;

performing a fast Fourier transform in said fetched samples to extract frequencies;

estimating a frequency shift in said extracted frequencies at one or more frequency ranges;

translating said estimated frequency shift to a velocity of said mobile device;

determining an absolute distance between said mobile device and another device using said reference position and a relative distance change between said mobile device and said another device;

determining a location of said mobile device based on said velocity of said mobile device and said absolute distance between said mobile device and said another device;

tracking said mobile device using said determined location of said mobile device; and

controlling said another device by tracking said mobile device.

13. The computer program product as recited in claim 12 , wherein the program code further comprises the programming instructions for:

mixing signal from said fetched samples with a pseudo transmitted signal.

14. The computer program product as recited in claim 13 , wherein the program code further comprises the programming instructions for:

computing said relative distance change between said another device and said mobile device at two locations based on a change in frequencies of said mixed signal at said two locations.

15. The computer program product as recited in claim 13 , wherein the program code further comprises the programming instructions for:

estimating a difference in relative distances between different speakers of said another device and said mobile device by performing a fast Fourier transform of said mixed signal to identify peak frequencies of received signals at said another device; and

computing a difference between said identified peak frequencies of said received signals from each receiver on said another device.

16. The computer program product as recited in claim 13 , wherein the program code further comprises the programming instructions for:

detecting a time when a Doppler shift changes its sign as a user moves said mobile device back and forth across landmarks on said another device; and

estimating said reference position of said mobile device at said detected time based on a separation between different landmarks of said another device and a difference in relative distances between different landmarks of said another device and said mobile device.

17. The computer program product as recited in claim 16 , wherein the program code further comprises the programming instructions for:

estimating said difference in relative distances between different landmarks of said another device and said mobile device by performing a fast Fourier transform of said mixed signal to identify peak frequencies of received signals at said another device; and

computing a difference between said identified peak frequencies of said received signals from each landmark on said another device.

18. The computer program product as recited in claim 13 , wherein the program code further comprises the programming instructions for:

identifying peak frequencies of signals from said another device by:

estimating an auto-correlation matrix of said mixed signal;

applying an eigenvalue decomposition to said auto-correlation matrix of said mixed signal;

sorting eigenvectors obtained from said eigenvalue decomposition to said auto-correlation matrix of said mixed signal in descending order of corresponding eigenvalues' magnitudes;

using a spaced spanned by said eigenvectors corresponding to a largest n eigenvalues to form a signal space matrix, wherein said n is less than M, wherein said M is an order of said auto-correlation matrix;

using a spaced spanned by remaining eigenvectors to form a noise space matrix;

defining a steering vector s(f) as [1, e j2πft , . . . , e J2πf(M−1)t ] T where T stands for transpose of a matrix;

defining a pseudo spectrum of said mixed signal using said noise space matrix and said steering vector; and

identifying a peak frequency in said pseudo spectrum of said mixed signal.

19. The computer program product as recited in claim 12 , wherein the program code further comprises the programming instructions for:

constructing an optimization problem to minimize error in determining said location of said mobile device using said absolute distance between said mobile device and said another device and said velocity of said mobile device.

20. The computer program product as recited in claim 19 , wherein the program code further comprises the programming instructions for:

constructing an optimization problem to minimize error in determining said location of said mobile device using inertial measurement sensors.

21. The computer program product as recited in claim 12 , wherein the program code further comprises the programming instructions for:

generating a final estimated frequency shift by removing outliers and averaging remaining estimated frequency shifts.

22. The computer program product as recited in claim 12 , wherein the program code further comprises the programming instructions for:

estimating a difference in frequency offset between said mobile device and said another device.

23. A mobile device, comprising:

a memory unit for storing a computer program for tracking said mobile device; and

a processor coupled to the memory unit, wherein the processor is configured to execute the program instructions of the computer program comprising:

estimating a reference position of said mobile device;

fetching audio samples of audio signals at various frequencies from speakers over a duration of time;

performing a fast Fourier transform in said fetched samples to extract frequencies;

estimating a frequency shift in said extracted frequencies at one or more frequency ranges;

translating said estimated frequency shift to a velocity of said mobile device;

determining an absolute distance between said mobile device and another device using said reference position and a relative distance change between said mobile device and said another device;

determining a location of said mobile device based on said velocity of said mobile device and said absolute distance between said mobile device and said another device;

tracking said mobile device using said determined location of said mobile device; and

controlling said another device by tracking said mobile device.

24. The mobile device as recited in claim 23 , wherein the program instructions of the computer program further comprise:

mixing signal from said fetched samples with a pseudo transmitted signal.

25. The mobile device as recited in claim 24 , wherein the program instructions of the computer program further comprise:

computing said relative distance change between said another device and said mobile device at two locations based on a change in frequencies of said mixed signal at said two locations.

26. The mobile device as recited in claim 24 , wherein the program instructions of the computer program further comprise:

estimating a difference in relative distances between different speakers of said another device and said mobile device by performing a fast Fourier transform of said mixed signal to identify peak frequencies of received signals at said another device; and

computing a difference between said identified peak frequencies of said received signals from each receiver on said another device.

27. The mobile device as recited in claim 24 , wherein the program instructions of the computer program further comprise:

detecting a time when a Doppler shift changes its sign as a user moves said mobile device back and forth across landmarks on said another device; and

estimating said reference position of said mobile device at said detected time based on a separation between different landmarks of said another device and a difference in relative distances between different landmarks of said another device and said mobile device.

28. The mobile device as recited in claim 27 , wherein the program instructions of the computer program further comprise:

estimating said difference in relative distances between different landmarks of said another device and said mobile device by performing a fast Fourier transform of said mixed signal to identify peak frequencies of received signals at said another device; and

computing a difference between said identified peak frequencies of said received signals from each landmark on said another device.

29. The mobile device as recited in claim 24 , wherein the program instructions of the computer program further comprise:

identifying peak frequencies of signals from said another device by:

estimating an auto-correlation matrix of said mixed signal;

applying an eigenvalue decomposition to said auto-correlation matrix of said mixed signal;

sorting eigenvectors obtained from said eigenvalue decomposition to said auto-correlation matrix of said mixed signal in descending order of corresponding eigenvalues' magnitudes;

using a spaced spanned by said eigenvectors corresponding to a largest n eigenvalues to form a signal space matrix, wherein said n is less than M, wherein said M is an order of said auto-correlation matrix;

using a spaced spanned by remaining eigenvectors to form a noise space matrix;

defining a steering vector s(f) as [1, e j2πft , . . . , e J2πf(M−1)t ] T where T stands for transpose of a matrix;

defining a pseudo spectrum of said mixed signal using said noise space matrix and said steering vector; and

identifying a peak frequency in said pseudo spectrum of said mixed signal.

30. The mobile device as recited in claim 23 , wherein the program instructions of the computer program further comprise:

constructing an optimization problem to minimize error in determining said location of said mobile device using said absolute distance between said mobile device and said another device and said velocity of said mobile device.

31. The mobile device as recited in claim 30 , wherein the program instructions of the computer program further comprise:

constructing an optimization problem to minimize error in determining said location of said mobile device using inertial measurement sensors.

32. The mobile device as recited in claim 23 , wherein the program instructions of the computer program further comprise:

generating a final estimated frequency shift by removing outliers and averaging remaining estimated frequency shifts.

33. The mobile device as recited in claim 23 , wherein the program instructions of the computer program further comprise:

estimating a difference in frequency offset between said mobile device and said another device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2017
From: QIU, LILI; MAO, WENGUANG
To: BOARD OF REGENTS, THE UNIVERSITY OF TEXAS SYSTEM
Reel/Frame 040824/0019 →
Continuity (2)
Provisional Application 62263411 · Dec 4, 2015
Related Publication 20170164321A1 · Jun 8, 2017
Cited By (1)
US 12,562,819