Method and system for operating a MIMO decoder
Varying embodiments of the present invention provide a MIMO apparatus, such as a transceiver and a method of operation thereof. In an embodiment, the transceiver employs a parallelized., two-stage pipeline architecture that reduces the overall latency of the system. This reduction in latency translates to cost savings and higher data rates for the same hardware clock speed.
1. A method of operating a multiple input multiple output (MIMO) decoder comprising:
(a) receiving a plurality of spatial streams wherein the plurality of spatial streams comprise inphase (I) and quadrature (Q) pairs of streams;
(b) calibrating the I and Q pairs of the plurality of streams;
(c) decomposing the calibrated I and Q pairs of the plurality of streams, wherein each of the calibrated decomposed I/Q pairs of streams comprises a plurality of symbols;
(d) searching each of the plurality of symbols thereby forming a search subset; and
(e) systematically pruning the search subset based on a predetermined set of criteria.
2. The method of claim 1 wherein systematically pruning the plurality of symbols further comprises:
(d1) determining a best subset to prune the plurality of symbols.
3. The method of claim 1 wherein each of the plurality of symbols further comprises a plurality of leaves and systematically pruning the plurality of symbols further comprises:
(d1) searching the entire plurality of leaves.
4. The method of claim 3 further comprising:
(d1a) determining useful leaves of the plurality of leaves based on a set of criteria;
(d1b) removing non-useful leaves based on the set of criteria resulting in a remaining plurality of leaves.
5. The method of claim 4 wherein the set of criteria comprises a distance metric of the vector space.
6. The method of claim 5 wherein a useful leaf comprises a leaf with a small metric.
7. The method of claim 5 wherein a non-useful leaf comprises a leaf with a large metric.
8. The method of claim 4 further comprising:
(d1c) determining whether to add more leaves to the remaining plurality of leaves.
9. The method of claim 8 further comprising:
(d1d) adding more leaves to the remaining plurality of leaves.
10. The method of claim 4 further comprising:
(d1c) disabling unused hardware components associated with the non-useful leaves.
11. The method of claim 10 wherein non-disabled hardware units are re-configured to search the newly added leaves.
12. A computer program product tangibly embodied on a computer usable medium for controlling user access to stored data elements, the computer program product having computer readable program means for causing a computer to perform the acts of:
(a) receiving a plurality of spatial streams wherein the plurality of spatial streams comprise inphase (I) and quadrature (Q) pairs of streams;
(b) calibrating the I and Q pairs of the plurality of streams;
(c) decomposing the calibrated I and Q pairs of the plurality of streams, wherein each of the calibrated decomposed I/Q pairs of streams comprises a plurality of symbols;
(d) searching each of the plurality of symbols thereby forming a search subset; and
(e) systematically pruning the search subset based on a predetermined set of criteria.
13. The computer program product of claim 12 wherein systematically pruning the plurality of symbols further comprises:
(d1) determining a best subset to prune the plurality of symbols.
14. The computer program product of claim 12 wherein each of the plurality of symbols further comprises a plurality of leaves and systematically pruning the plurality of symbols further comprises:
(d1) searching the entire plurality of leaves.
15. The computer program product of claim 14 further comprising:
(d1a) determining useful leaves of the plurality of leaves based on a set of criteria;
(d1b) removing non-useful leaves based on the set of criteria resulting in a remaining plurality of leaves.
16. The computer program product of claim 15 wherein the set of criteria comprises a metric of the vector space.
17. The computer program product of claim 16 wherein a useful leaf comprises a leaf with a small metric.
18. The computer program product of claim 16 wherein a non-useful leaf comprises a leaf with a large metric.
19. The computer program product of claim 15 further comprising:
(d1c) determining whether to add more leaves to the remaining plurality of leaves.
20. The computer program product of claim 19 further comprising:
(d1d) adding more leaves to the remaining plurality of leaves.
21. The computer program product of claim 15 further comprising:
(d1c) disabling unused hardware components associated with the non-useful leaves.
22. The computer program product of claim 21 wherein non-disabled hardware units are re-configured to search the newly leaves.
23. A MIMO transceiver comprising;
a calibration module for:
receiving a plurality of spatial streams wherein the plurality of spatial streams comprise inphase (I) and quadrature (Q) pairs of streams and;
calibrating the I and Q pairs of the plurality of streams;
a decomposition module coupled to the calibration module for decomposing the calibrated I and Q pairs of the plurality of streams wherein each of the calibrated decomposed I and Q pairs of the plurality of streams comprises a plurality of symbols; and
a sorting module coupled to the decomposition module for searching each of the plurality of symbols thereby forming a search subset and systematically pruning the search subset based on a predetermined set of criteria.
24. The transceiver of claim 23 wherein each of the plurality of symbols further comprises a plurality of leaves and systematically pruning the plurality of symbols further comprises:
searching the entire plurality of leaves.
25. The transceiver of claim 24 further wherein searching the entire plurality of leaves comprises:
determining useful leaves of the plurality of leaves based on the predetermined set of criteria;
removing non-useful leaves based on the set of criteria resulting in a remaining plurality of leaves.
26. The transceiver of claim 25 wherein the predetermined set of criteria comprises a metric of the vector space.
27. The transceiver of claim 26 wherein a useful leaf comprises a leaf with a small metric.
28. The transceiver of claim 26 wherein a non-useful leaf comprises a leaf with a large metric.