Claims
- 1. A method for computing distances between a received point and four points in a two-dimensional grid with a constellation representing a number of bits greater than three, wherein each of the four points belong to a unique coset in the constellation, the method comprising:
determining a first point on a grid nearest to the received point; computing a second point closest to the received point inside a specified area; computing a third, fourth, and fifth point, wherein each point is a member of a different coset and each point is the closest point in its coset to the received point; and computing a distance from the received point to each of the second, third, fourth, and fifth points.
- 2. The method of claim 1 further comprising after the first computing, recomputing the second point if the second point is invalid.
- 3. The method of claim 2, wherein the second point is invalid if it is outside of the constellation.
- 4. The method of claim 1, wherein the first point can be determined by evaluating:
- 5. The method of claim 1, wherein the number of bits is an even value, wherein the received point can be expressed in two-dimensional components Rx and Ry, and wherein the first computing comprises:
determining if Rx and Ry lie inside a square specified by the number of bits; and computing two-dimensional components of the second point based on the second determining.
- 6. The method of claim 5, wherein the second determining comprises:
- 7. The method of claim 5, wherein the second computing comprises:
- 8. The method of claim 5, wherein the third computing comprises computing a Euclidean distance from the received point to each of the second, third, fourth, and fifth points.
- 9. The method of claim 8, wherein each of the second, third, fourth, and fifth points belong to a unique coset.
- 10. The method of claim 1, wherein the number of bits is an odd value greater than three, wherein the received point can be expressed in two-dimensional components Rx and Ry, and wherein the first computing comprises computing two-dimensional components of the second point, wherein the second point lies within a first square.
- 11. The method of claim 10, wherein the first square encompasses a cross-shaped constellation, wherein a value MAXXY describes the size of the first square and can be computed by expression (2┌number of bits/2┐+2└number of bits/2┘)/2−1, wherein a second square that is a largest square encompassing 2N constellation points with N being an even integer that can be enclosed in the first square, wherein MAXX and MAXY describe the size of the second square, and wherein the first computing comprises:
- 12. The method of claim 10 further comprising after the first computing, recomputing the second point if the second point is invalid.
- 13. The method of claim 12, wherein the second point is invalid if (abs(Rx)>MAXX and abs(Ry)>MAXY) is true.
- 14. The method of claim 12, wherein the recomputing comprises
- 15. The method of claim 14, wherein the second computing comprises:
determining if the second point lies on the boundaries of the first square and α lies on the boundaries of a second square, wherein the second square is the largest square encompassing 2N constellation points with N being an even integer that can be enclosed in the first square, wherein MAXX and MAXY describe the size of the second square; and computing the third, fourth, fifth points.
- 16. The method of claim 15, wherein the second determining comprises:
- 17. The method of claim 15, wherein the second computing comprises:
- 18. The method of claim 17, wherein the second computing further comprises:
- 19. The method of claim 18, wherein the second computing further comprises checking to ensure that the fifth point is a valid point.
- 20. The method of claim 19, wherein the validity of the fifth point can be checked and corrected using expression:
- 21. The method of claim 18, wherein the third computing comprises computing a Euclidean distance from the received point to each of the second, third, fourth, fifth, sixth, seventh, and eighth points.
- 22. The method of claim 21, wherein each of the second, third, fourth, fifth, sixth, seventh, and eighth points belongs to one of four unique cosets, and wherein in a coset with more than one point, points with larger Euclidean distances to the received point are discarded.
- 23. The method of claim 1, wherein the method can be used to decode a received point in a communications system.
- 24. The method of claim 23, wherein the communications system is an asymmetric digital subscriber line (ADSL) compliant system.
- 25. A method for computing distances between a received point and four points in a two-dimentional grid with a constellation representing a number of bits equal to three, wherein each of the four points belong to a unique coset in the constellation, the method comprising:
computing a point from each coset to the received point; and computing a distance from the received point to the point in each coset.
- 26. The method of claim 25, wherein the first computing comprises:
- 27. The method of claim 25, wherein the second computing comprises computing a Euclidean distance between the received point and the point in each coset.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/482,912, filed Jun. 26, 2003, entitled “Efficient Algorithm to Account for Finite Constellation Boundaries in Decoders for ADSL Systems”, which application is hereby incorporated herein by reference.
[0002] This application is related to the following co-pending and commonly assigned patent application: Attorney Docket 36128, Ser. No. xx/xxxxxx, filed Dec. 18, 2003, entitled “Improving Trellis Decoding with Finite Constellation Boundaries,” which application is hereby incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60482912 |
Jun 2003 |
US |