Method and apparatus for a parallel correlator and applications thereof
First Claim
1. A method for correlating an encoded data word (X0, . . . , XM−
- 1) with encoding coefficients (C0, . . . , CM−
1), wherein each of the encoding coefficients has possible states, wherein M is greater than 1, comprising;
(1) generating in parallel the results of the summation
X0C0+X1C1+ . . . +XM−
1CM−
1 for all valid combinations of the encoding coefficients (C0, . . . , CM−
1), omitting summations that result in invalid combinations of the encoding coefficients (C0, . . . , CM−
1); and
(2) identifying the combination of encoding coefficients corresponding to a maximum result as the encoding combination.
1 Assignment
0 Petitions
Accused Products
Abstract
A fast correlator transform (FCT) algorithm and methods and systems for implementing same, correlate an encoded data word (X0–XM−) with encoding coefficients (C0–CM−1), wherein each of (X0–XM−1) is represented by one or more bits and each said coefficient is represented by one or more bits, wherein each coefficient has k possible states, and wherein M is greater than 1. In accordance with the invention, X0 is multiplied by each state (C0(0) through C0(k−1)) of the coefficient C0, thereby generating results X0C0(0) through X0C0(k−1). This is repeating for data bits (X1–XM−1) and corresponding coefficients (C1–CM−1), respectively. The results are grouped into N groups. Members of each of the N groups are added to one another, thereby generating a first layer of correlation results. The first layer of results is grouped and the members of each group are summed with one another to generate a second layer of results. This process is repeated as necessary until a final layer of results is generated. The final layer of results includes a separate correlation output for each possible state of the complete set of coefficients (C0–CM−1). The final layer of results is compared to identify a most likely code encoded on said data word. In an embodiment, the summations are pruned to exclude summations that would result in invalid combinations of the encoding coefficients (C0–CM−1). In an embodiment, substantially the same hardware is utilized for processing in-phase and quadrature phase components of the data word (X0–XM−1). In an embodiment, the coefficients (C0–CM−1) represent real numbers. In an alternative embodiment, the coefficients (C0–CM−1) represent complex numbers. In an embodiment, the coefficients (C0–CM−1) are represented with a single bit. Alternatively, the coefficients (C0–CM−1) are represented with multiple bits (e.g., magnitude). In an embodiment, the coefficients (C0–CM−1) represent a cyclic code keying (“CCK”) code set substantially in accordance with IEEE 802.11 WLAN standard.
846 Citations
23 Claims
-
1. A method for correlating an encoded data word (X0, . . . , XM−
- 1) with encoding coefficients (C0, . . . , CM−
1), wherein each of the encoding coefficients has possible states, wherein M is greater than 1, comprising;(1) generating in parallel the results of the summation
X0C0+X1C1+ . . . +XM−
1CM−
1for all valid combinations of the encoding coefficients (C0, . . . , CM−
1), omitting summations that result in invalid combinations of the encoding coefficients (C0, . . . , CM−
1); and(2) identifying the combination of encoding coefficients corresponding to a maximum result as the encoding combination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
wherein; n represents the number of results in a group; r represents the number of summing elements per correlation kernel; and L represents the number of invalid combinations within the group.
- 1) with encoding coefficients (C0, . . . , CM−
-
4. The method of claim 2, wherein step (b) comprises omitting the summation of one or more combinations of the results.
-
5. The method of claim 4, wherein the omitted summations represent summations of invalid combinations of one or more of C0, . . . , CM−
- 1 based on the encoding code specification.
-
6. The method of claim 1, wherein the valid combinations represent combinations valid in accordance with an encoding code specification.
-
7. The method of claim 1, wherein invalid combinations represent combinations invalid in accordance with an encoding code specification.
-
8. The method of claim 1, wherein step (2) comprises a maximum likelihood decoding process.
-
9. The method of claim 8, wherein step (2) comprises:
comparing the magnitudes of the results corresponding to valid combinations of the encoding coefficients.
-
10. The method of claim 9, wherein the comparing of the magnitudes comprises a space slicing process, wherein:
-
(1) the most significant bit (MSB) of the magnitudes is examined and magnitudes not active in the MSB are eliminated; and (2) step (1) is repeated with the next most significant bit as the MSB until the maximum magnitude is determined.
-
-
11. The method of claim 9, wherein the comparing of the magnitudes comprises a parallel magnitude compare process with (log2L)−
- 1 magnitude compare operations, wherein L is the total number of results.
-
12. The method of claim 11, wherein the comparing of the magnitudes comprises comparing two results by creating the difference between the two.
-
13. The method of claim 1, wherein the encoding coefficients represent binary coefficients having one of two possible values.
-
14. The method of claim 13, wherein the encoding coefficients represent a cyclic code keying (CCK) code set.
-
15. The method of claim 1, wherein the encoding coefficients represent M-ary coefficients having one of M possible values.
-
16. The method of claim 1, wherein one or more of C0, . . . , CM−
- 1 are hard-coded constant values.
-
17. The method of claim 1, wherein one or more of C0, . . . , CM−
- 1 are soft-coded variable values.
-
18. The method of claim 1, wherein C0, . . . , CM−
- 1 represent real numbers.
-
19. The method of claim 1, wherein C0, . . . , CM−
- 1 represent complex numbers.
-
20. A method for accelerating the parallel correlation of an encoded data word (X0, . . . , XM−
- 1) with encoding coefficients C0, . . . , CM−
, wherein each of the encoding coefficients has k possible states, wherein M is greater than 1, comprising;(a) generating in parallel the results of the multiplication of each of X0, . . . , XM−
1 with respective encoding coefficient C0, . . . , CM−
1 for all k possible states of the encoding coefficient;(b) grouping the results and summing only valid combinations thereof within each group, thereby reducing the number of addition operations; and (c) repeating step (b) until a final layer of results is generated.
- 1) with encoding coefficients C0, . . . , CM−
-
21. A system for correlating an encoded data word (X0, . . . , XM−
- 1) with a cyclic code coefficient set (C0, . . . , CM−
1) in accordance with IEEE 802.11 WLAN standard, wherein each coefficient in the coefficient set has k possible states, comprising;means for generating in parallel the results of the summation
X0C0+X1C1+ . . . +XM−
1CM−
1for all valid combinations of the coefficient set (C0, . . . , CM−
); andmeans for identifying the combination of the coefficient set corresponding to a maximum result as the encoding combination. - View Dependent Claims (22, 23)
- 1) with a cyclic code coefficient set (C0, . . . , CM−
Specification