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