IP Library Granted Patent US 7,876,863
Granted Patent B2
US 7,876,863 · App. 11/708,734 · Granted Jan 25, 2011

Method and system for improving timing position estimation in wireless communications networks

Assignee: Cisco Technology, Inc.
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 7,876,863
App. No.
11/708,734
Granted
Jan 25, 2011
Kind
B2
Abstract

A method for determining timing positions in a wireless communications system comprises creating a time-domain timing detection window from a preamble of a receiving signal, generating a first vector of correlations between sampling points in the time-domain timing detection window and sampling points of a known preamble, identifying a pivot position from the largest correlation value of the first vector and generating second vectors based on the pivot position, generating a third vector comprising the largest elements of the second vectors; generating a fourth vector comprising sums of elements in the second vectors, generating fifth and sixth vectors comprising a sum of subsets of the third and fourth vectors, respectively, calculating a seventh vector using the fifth and sixth vectors according to a predetermined equation, and selecting an index of one element from the fifth and seventh vectors to be the timing position according to a predetermined rule.

Claims (48)

1. A method comprising:

at a communications device, receiving a signal wirelessly transmitted by another communications device;

creating a time-domain timing detection window from a preamble of the signal;

generating a first vector comprising correlation values representing correlation between a first plurality of sampling points in the time-domain timing detection window and a second plurality of sampling points of a known preamble;

identifying a pivot position from a largest correlation value of the first vector and generating three or more second vectors based on the pivot position;

generating a third vector comprising relatively large elements of the second vectors;

generating a fourth vector derived from sums of elements of the second vectors;

generating a fifth and a sixth vector derived from a sum of subsets of the third and fourth vectors, respectively;

selecting an index, according to a predetermined rule, of one element from at least one of the fifth and sixth vectors to be a timing position for the signal; and

synchronizing the communications device with the signal using the timing position.

2. The method of claim 1 , wherein creating the time-domain timing detection window further comprises adding a predetermined number of sampling points on both sides of the time-domain sampling window.

3. The method of claim 1 , wherein generating the first vector comprises calculating the following equation:

s ( k )=| R ( k:k+N CP +┌L/ 3┐−1)(Preamble — TD (1 :N CP +┌L/ 3┐)) H |,

where a vector R(k:k+N CP +┌L/3┐−1) represents a subset of a predetermined number of sampling points in the time-domain timing detection window; a vector Preamble_TD (1:N CP +┌L/3┐) represents a subset of a predetermined number of sampling points of a known preamble in a time domain sampling window; ( . . . ) H is the Hermitian transpose operator; and wherein (a:b) stands for a series of elements from the a-th element to the b-th element; and | . . . | is the absolute value operator.

4. The method of claim 1 , wherein identifying comprises identifying the pivot position as a remainder of the index of a largest correlation value element of the first vector divided by a predetermined value.

5. The method of claim 1 , wherein generating each of the second vectors comprises generating each second vector as a subset of the first vector comprised of a predetermined number of correlation values taken from the first vector based on the pivot position.

6. The method of claim 1 , wherein selecting comprises selecting as the index a largest element of the fifth vector as the timing position if a largest neighboring element of the largest element of the fifth vector is less than or equal to a product of the largest element of the fifth vector and a predetermined value.

7. The method of claim 6 , wherein if the largest neighboring element of the largest element of the fifth vector is not less than or equal to a product of the largest element of the fifth vector and the predetermined value, further comprising generating a seventh vector using the fifth and sixth vectors according to a predetermined equation, and wherein selecting comprises selecting an index of a largest element of the seventh vector as the timing position.

8. The method of claim 1 , wherein selecting comprises selecting as the index a largest element of the sixth vector as the timing position if a largest neighboring element of the largest element of the sixth vector is less than or equal to a product of the largest element of the sixth vector and a predetermined value.

9. The method of claim 8 , wherein if the largest neighboring element of the largest element of the sixth vector is not less than or equal to a product of the largest element of the sixth vector and the predetermined value, further comprising generating a seventh vector using the fifth and sixth vectors according to a predetermined equation, and wherein selecting comprises selecting an index of a largest element of the seventh vector as the timing position.

10. A system comprising a communication device, receiving a signal wirelessly transmitted by another communication device, the communication device further comprising:

a preamble detection module configured to determine a coarse timing position and a sub-carrier frequency offset with respect to the received wireless signal;

a timing detection window module configured to create a time-domain timing detection window using a time-domain sampling window;

a correlation module configured to generate a first vector comprising correlation values representing correlation between sampling points in the time-domain timing detection window and a subset of sampling points of a known preamble, to obtain a pivot position of the first vector, and to generate three or more second vectors from the pivot position;

a sum module configured to create a third and fourth vectors based on three or more second vectors, to create a fifth vector based on the third vector, and to create a sixth vector based on the fourth vector; and

a timing position module configured to determine a timing position of the received wireless signal based on at least one element from at least one of the fifth and sixth vectors.

11. The system of claim 10 , wherein the timing detection window module is configured to create the time-domain timing detection window by adding a predetermined number of sampling points on both sides of the time-domain sampling window.

12. The system of claim 10 , wherein the correlation module is configured to calculate the correlation values between the sampling points in the time-domain timing detection window and the sampling points of the known preamble according to the following equation:

s ( k )=| R ( k:k+N CP +┌L/ 3┐−1)(Preamble — TD (1 :N CP +┌L/ 3┐)) H |,

where a vector R(k:k+N CP +┌L/3┐−1) represents a subset of a predetermined number of sampling points in the time-domain timing detection window; a vector Preamble_TD (1:N CP +┌L/3┐) represents a subset of a predetermined number of sampling points of the known preamble in a time domain sampling window; ( . . . ) H is the Hermitian transpose operator; and | . . . | is the absolute value operator.

13. The system of claim 10 , wherein the correlation module is configured to identify a largest correlation value between the sampling points in the time-domain timing detection window and the sampling points of the known preamble.

14. The system of claim 13 , wherein the correlation module is configured to select a pivot position by obtaining a remainder of the index of the largest correlation value divided by a predetermined value.

15. The system of claim 10 , wherein the correlation module is configured to generate the second vectors as a subset of the first vector and comprising correlation values taken from the first vector based on the pivot position.

16. The system of claim 10 , wherein the sum module is configured to generate a third vector comprising largest elements of the three or more second vectors and a fourth vector comprising a sum of the elements of the three or more second vectors.

17. The system of claim 10 , wherein the timing position module is configured to determine an index of a largest element of the fifth vector as the timing position if a largest neighboring element of the largest element of the fifth vector is less than or equal to a product of the largest element of the fifth vector and a predetermined value.

18. The system of claim 17 , wherein if the largest neighboring element of the largest element of the fifth vector is not less than or equal to a product of the largest element of the fifth vector and the predetermined value, the timing position module is further configured to generate a seventh vector using the fifth and sixth vectors according to a predetermined equation and to select an index of a largest element of the seventh vector as the timing position.

19. The system of claim 10 , wherein the timing position module is configured to determine an index of a largest element of the sixth vector as the timing position if a largest neighboring element of the largest element of the sixth vector is less than or equal to a product of the largest element of the sixth vector and a predetermined value.

20. The system of claim 19 , wherein if the largest neighboring element of the largest element of the sixth vector is not less than or equal to a product of the largest element of the sixth vector and the predetermined value, the timing position module is further configured to generate a seventh vector using the fifth and sixth vectors according to a predetermined equation and to determine an index of a largest element of the seventh vector as the timing position.

21. A method comprising:

at a communications device, receiving a signal wirelessly transmitted by another communications device;

creating a time-domain timing detection window from a preamble portion of the signal;

generating a first vector comprising correlation values representing correlation between a first plurality of sampling points in the time-domain timing detection window and a second plurality of sampling points of a known preamble;

identifying a pivot position of the first vector from a largest correlation value of the first vector, wherein identifying the pivot position comprises computing k1=mod(k max ,L/3), where mod( . . . ) is an operator that produces a remainder of k max divided by L/3, where L is a size of the time-domain timing detection window and k max is an index of the largest correlation value in the first vector;

deriving a timing position for the signal based on the pivot position of the first vector; and

synchronizing the communications device with the signal using the timing position.

22. The method of claim 21 , wherein creating the time-domain timing detection window further comprises adding a predetermined number of sampling points on both sides of the time-domain sampling window.

23. The method of claim 21 , wherein identifying comprises identifying the pivot position as a remainder of the index of a largest correlation value element of the first vector divided by a predetermined value.

24. The method of claim 21 , and further comprising generating a plurality of second vectors each from subsets of the first vector; generating a third vector comprising relatively large elements of the second vectors; generating a fourth vector derived from sums of elements of the second vectors; generating a fifth and a sixth vector derived from a sum of subsets of the third and fourth vectors, respectively; and selecting an index, according to a predetermined rule, of one element from at least one of the fifth and sixth vectors to be the timing position.

Assignments (4)
MERGER Recorded Aug 19, 2008
From: NIGHT ACQUISITION CORP.
To: NAVINI NETWORKS, INC. UNDER THE NAME OF CISCO-NAVINI NETWORKS, INC.
Reel/Frame 021410/0184 →
CHANGE OF NAME Recorded Aug 19, 2008
From: CISCO-NAVINI NETWORKS, INC.
To: CISCO-NAVINI NETWORKS LLC
Reel/Frame 021410/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2008
From: CISCO-NAVINI NETWORKS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 021412/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2007
From: NA, YANXIN; JIN, HANG; WEE, DANIEL; PETERSON, BROR
To: NAVINI NETWORKS, INC.
Reel/Frame 019018/0982 →
Continuity (2)
Provisional Application 6083671500 · Aug 10, 2006
Related Publication 20080037508A1 · Feb 14, 2008