On Complex Enumeration for Multiuser MIMO Vector Precoding

2,035 views

Published on

Presentation held at the 19th European Signal Processing Conference, EUSIPCO 2011, Barcelona, SPain

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,035
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

On Complex Enumeration for Multiuser MIMO Vector Precoding

  1. 1. IMPLEMENTATION OF COMPLEX ENUMERATION FOR MULTIUSER MIMO VECTOR PRECODING Signal Theory and Communications Area Department of Electronics and Computer Science, University of Mondragon Maitane Barrenechea , Mikel Mendicute, Idoia Jiménez and Egoitz Arruti
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Complex enumeration </li></ul><ul><li>The puzzle enumerator </li></ul><ul><li>Implementation of Complex Enumeration Techniques </li></ul><ul><li>Conclusions </li></ul>
  3. 3. Introduction Vector Precoding <ul><li>The set of equations that describe the MMSE solution for VP are : </li></ul>
  4. 4. Introduction <ul><li>Use a distributed distance computation model </li></ul><ul><li>It is a common practice to limit the cardinality of the search set </li></ul><ul><ul><li>Specially if there is no sphere constraint </li></ul></ul><ul><ul><li>Select the lattice points closest to the origin </li></ul></ul><ul><li>Tree search features </li></ul><ul><ul><li>N users  N levels </li></ul></ul><ul><ul><li>child nodes stem from each </li></ul></ul><ul><ul><li>parent node </li></ul></ul>Tree search techniques
  5. 5. Introduction Tree search techniques: The sphere encoder <ul><ul><li>The search is constrained to the perturbation vectors belonging to a hypersphere around a reference signal. </li></ul></ul><ul><ul><li>Achieves the optimum solution. </li></ul></ul>
  6. 6. Introduction Tree search techniques: The K-Best <ul><ul><li>Fixed-complexity algorithm </li></ul></ul><ul><ul><ul><li>Performance-complexity trade-off given by the design parameter K </li></ul></ul></ul><ul><ul><li>Selects the K most promising branches at each level </li></ul></ul><ul><ul><ul><li>K elements need to be sorted at each level  Bottleneck </li></ul></ul></ul>
  7. 7. Introduction Tree search techniques: The fixed sphere encoder (FSE) <ul><ul><li>Fixed-complexity algorithm </li></ul></ul><ul><ul><ul><li>Performance-complexity trade-off given by the design parameter </li></ul></ul></ul><ul><ul><li>At each level expand the most promising nodes </li></ul></ul><ul><ul><ul><li>No sorting stages </li></ul></ul></ul>
  8. 8. Complex Enumeration Schnorr-Euchner Enumeration <ul><li>The S-E enumeration is necessary in all tree-search techniques: </li></ul><ul><ul><li>Sphere Encoder : </li></ul></ul><ul><ul><ul><li>Improve the pruning efficiency and run-time of the algorithm. </li></ul></ul></ul><ul><ul><li>K-Best : </li></ul></ul><ul><ul><ul><li>The bottleneck produced by the sorting stages can be alleviated by using distributed sorting schemes that takes advantage of the S-E ordered sequence of nodes. </li></ul></ul></ul><ul><ul><li>FSE : </li></ul></ul><ul><ul><ul><li>The sort-free node selection is performed based on the S-E enumeration. </li></ul></ul></ul>
  9. 9. Outline <ul><li>Introduction </li></ul><ul><li>Complex enumeration </li></ul><ul><li>The puzzle enumerator </li></ul><ul><li>Implementation of Complex Enumeration Techniques </li></ul><ul><li>Conclusions </li></ul>
  10. 10. Complex Enumeration Schnorr-Euchner (S-E) Enumeration <ul><li>Visit the nodes according to their distance increment </li></ul><ul><ul><li>Order the nodes - in increasing distance to </li></ul></ul><ul><li>Real vs. Complex-plane enumeration </li></ul><ul><ul><li>Real  Simple, zig-zag pattern </li></ul></ul><ul><ul><li>Complex  Complicated pattern </li></ul></ul>
  11. 11. Complex Enumeration Methods for Complex Enumeration <ul><li>Full Sort </li></ul><ul><ul><li>Computationally expensive </li></ul></ul><ul><ul><ul><li>Need to compute distance increments. </li></ul></ul></ul><ul><ul><li>Sorting  A lot of data movement  Power consumption </li></ul></ul><ul><li>Identification of the admissible set </li></ul><ul><ul><li>Presented in [Hochwald2003] . </li></ul></ul><ul><ul><li>Identify the admissible set of candidates </li></ul></ul><ul><ul><li>given a certain sphere constraint by </li></ul></ul><ul><ul><li>means of trigonometric calculations. </li></ul></ul><ul><ul><li>Unsuitable for HW implementation. </li></ul></ul>[Hochwald2003] Hochwald, B. and ten Brink, S. , “Achieving near-capacity on a multiple antenna channels,” IEEE Transactions on Communications, vol. 51, pp. 389–399, 2003.
  12. 12. Complex Enumeration Methods for Complex Enumeration <ul><li>Circular set enumeration </li></ul><ul><ul><li>Implementation-friendly version of the ideas in [Hochwald2003]. </li></ul></ul><ul><ul><li>Initial point and direction of the local enumeration determined by boundaries. </li></ul></ul><ul><li>Neighbour Expansion </li></ul><ul><ul><li>Locally enumerate in the real and imaginary axis. </li></ul></ul><ul><ul><li>Compose a candidate list based on the locally enumerated neighbouring nodes . </li></ul></ul><ul><ul><ul><li>Variable length candidate list. </li></ul></ul></ul>
  13. 13. Outline <ul><li>Introduction </li></ul><ul><li>Complex enumeration </li></ul><ul><li>The puzzle enumerator </li></ul><ul><li>Implementation of Complex Enumeration Techniques </li></ul><ul><li>Conclusions </li></ul>
  14. 14. The Puzzle Enumerator Step 1: Setting the size of the complex grid A.- Define from the distribution of B.- Compute the minimum cardinality of the set R z
  15. 15. The Puzzle Enumerator Step 2: Local Enumeration Step 3: Compute Boundary Lines Enumeration index  Values Locally Enumerated 2-3 2 4-7 3 8-11 4
  16. 16. The Puzzle Enumerator Step 4: Identify the corresponding region  =2  =3  =4  =5  =6  =7  =8
  17. 17. The Unordered Puzzle Enumerator <ul><li>For the FSE, it is sufficient to merely identify the set of most favourable nodes, regardless of their order . </li></ul><ul><li>If the union of the puzzle pieces for a certain symbol spans over the whole puzzle area  That symbol is unequivocally part of the most favourable nodes. </li></ul><ul><ul><li>Otherwise, another puzzle must be solved. </li></ul></ul><ul><li>Example : </li></ul>Set of most preferable nodes
  18. 18. Outline <ul><li>Introduction </li></ul><ul><li>Complex enumeration </li></ul><ul><li>The puzzle enumerator </li></ul><ul><li>Implementation of Complex Enumeration Techniques </li></ul><ul><li>Conclusions </li></ul>
  19. 19. Implementation of Complex Enumeration <ul><li>Fully-pipelined architectures of the aforementioned enumerators have been implemented on a Virtex-5 XC5Vlx30-3 FPGA. </li></ul><ul><li>Each enumerator provides the optimum S-E sequence of 8 nodes. </li></ul><ul><li>Puzzle enumerator  No distance computation </li></ul><ul><li>Rest of enumerators  Computed distances can </li></ul><ul><li>be later reused in the tree </li></ul><ul><li>traversal </li></ul>Fair comparison 8 MCUs added to the puzzle enumerator design
  20. 20. Implementation of Complex Enumeration Architectures Full Sort Circular Subsets & Neighbour expansion
  21. 21. Implementation of Complex Enumeration Architectures Puzzle Enumerator
  22. 22. Implementation Results Latency <ul><li>Required amount of clock cycles ( ) to output the  th enumerated value and its distance increment. </li></ul>
  23. 23. Implementation Results Device Occupation No distance computations required
  24. 24. Outline <ul><li>Introduction </li></ul><ul><li>Complex enumeration </li></ul><ul><li>The puzzle enumerator </li></ul><ul><li>Implementation of Complex Enumeration Techniques </li></ul><ul><li>Conclusions </li></ul>
  25. 25. Conclusions <ul><li>Benefits of the Puzzle enumerator: </li></ul><ul><ul><li>Independent symbol selection </li></ul></ul><ul><ul><li>No distance computations required </li></ul></ul><ul><ul><li>No sorting or minimum searches required </li></ul></ul><ul><ul><li>Constant and reduced latency </li></ul></ul><ul><ul><li>Minimum area occupation </li></ul></ul><ul><li>The puzzle enumerator is specially suitable for fixed-complexity approaches, but it can also be used along with the sphere encoder if a certain limit is set on the eligible child nodes. </li></ul>
  26. 26. Thanks for your attention Maitane Barrenechea [email_address]

×