1 Introduction
2 System Model of Multi-Mode Precoding
2.1 Multi-User Multi-Mode Precoding
2.2 QR Detection in Precoded System
2.3 QR-Based Multi-Mode Precoding
3 Efficient QR-Based Multi-Mode Precoding and Detection Schemes
3.1 Efficient Mode Selection
3.2 Efficient Precoder Selection Via Tree Search Algorithm
P.1 For \(i = 1:N_{Mq}\)
| |
P.2 node \(\leftarrow \, \)
insert(node, \(C(\mathbf{F}_{Mq,i}))\)
| |
//\(C(\mathbf{F}_{Mq,i})\): convert \(\mathbf{F}_{Mq,i}\) to a number with constellation point | |
P.3 end | |
P.4 Tree(:,:,\(M_{q}) \leftarrow \) node | |
P.5 Structure node* insert(node, data) | |
P.6 if node == null | |
P.7 return (newnode(data)) | |
P.8 elseif node.data \(\ge \) data | |
P.9 insert(node.left, data) | |
P.10 elseif node.data \(<\) data | |
P.11 insert(node.right, data) | |
P.12 end |
S.1 Precoders of each codebook are converted into binary tree | |
S.2 \(\mathbf{E}_{Mq}\) is computed by SVD or GMD of \(\mathbf{H}_{q}\)
| |
S.3 EMS is used to determine the mode for respective users | |
S.4 \(\mathbf{F}_{T,Mq} \leftarrow \)
search(Tree(:,:,\(M_{q}), C(\mathbf{E}_{Mq}))\)
| |
//\(C(\mathbf{E}_{Mq})\): convert \(\mathbf{E}_{Mq}\) to a number with constellation point | |
S.5 Find \(C_{Mq}\)’s adjacent nodes of \(\mathbf{F}_{T,Mq}\) to be \(\mathcal{P }_{Mq}\)
| |
S.6 For
\(i = 1:\,C_{M1}\)
| |
S.7 For
\(j = 1:\,C_{M2}\)
| |
S.8 \([\mathbf{Q},\mathbf{R}] = \hbox {qr}([\mathbf{H}_{1}\mathcal{P } _{M1}(:,:,i)\mathbf{H}_{2}\mathcal{P } _{M2}(:,:,j)])\)
| |
S.9 \(r_{min}(:, j)=\hbox {min(abs(diag}(\mathbf{R})))\)
| |
S.10 end
| |
S.11 \([\hbox {val}(i), \hbox {id}(i)] = \hbox {max}(r_{\mathrm{min}})\)
| |
S.12 end
| |
S.13 [m_v,m_i ]=max(val) | |
S.14 \(\mathbf{F}_{QR} = \hbox {blkdiag}(\mathcal{P } _{M1}\)(:,:,m_i), \(\mathcal{P } _{M2}\)(:,:,id(m_i))) | |
S.15 Structure node* search(node, P) | |
S.16 if node == null | |
S.17 return null | |
S.18 elseif node is a leave | |
S.19 return node | |
S.20 elseif node.data \(\ge \)
P
| |
S.21 search(node.leftchild, data) | |
S.22 elseif node.data \(<\)
P
| |
S.23 serach(node.rightchild, data) | |
S.24 end |
3.3 Efficient QR-Based MMSE V-BLAST Detection
4 Performance Analysis
4.1 Detection Performance
4.2 Computational Complexity
Selection criterion + detection | Complex multiplication counts |
---|---|
QR-selection with full or partial search + QR detection | Full search for precoder: |
\(\underbrace{(B^{2}+B)/2}_{\mathrm{QRD\, detection}}+\underbrace{\sum _{M\in \mathcal{M }} {\prod _{q=1}^Q {\{N_{M_q } \cdot (4M_r^2 B-2M_r B^{2}-\frac{2B^{3}}{3}+M_r M_t B)\}}} }_{\mathrm{Complexity\,of\,full\,search\,for\,QRD\,of}\,\mathbf{HF}^{{\prime }}}\)
| |
Partial search for precoder: | |
\(\underbrace{(B^{2}+B)/2}_{\mathrm{QRD\,detection}}+\underbrace{\sum _{M\in \mathcal{M }} {\prod _{q=1}^Q {\{C_{M_q } \cdot (4M_r^2 B-2M_r B^{2}-\frac{2B^{3}}{3}+M_r M_t B)\}} } }_{\mathrm{Complexity\,of\, partial\,search\,for\,QRD\,of}\,\mathbf{HF}^{{\prime }}}\)
| |
Full search for precoder with EMS: | |
\(\underbrace{(B^{2}+B)/2}_{\mathrm{QRD\,detection}}+\underbrace{\prod _{q=1}^Q {\{N_{M_q } \cdot (4M_r^2 B-2M_r B^{2}-\frac{2B^{3}}{3}+M_r M_t B)\}}}_{\mathrm{Complexity\,of\,EMS search\,for\,QRD\,of}\,\mathbf{HF}_M }\)
| |
\(\underbrace{\sum _{q=1}^Q {(4N_q^2 M_r +8} N_q M_r^2 +9M_r^3 )+\sum _{j=1}^B {(4j+1)} }_{\mathrm{SVD }+\hbox { GMD of}\mathbf{H}_q \hbox { for EMS}}\)
| |
QR-based MMSE V-BLAST detection | 1.Ordering in (20): \(\sum _{m=2}^{B-1} {m (B-m+1)^{2}}\)
|
2. Nulling vector computation: | |
\(\sum _{m=1}^{B-1} {\underbrace{4(M_r +B-m+1)^{2}(B-m+1)}_{\hbox {Computational complexity of }R_{B-m+1}^{-1} }-\underbrace{2(M_r+B-m+1)(B-m+1)^{2}}_{\mathrm{Complexity\,of\,QRD\,in}\,(27)}}\)
| |
\(+\underbrace{\sum \nolimits _{m=1}^{B-1} {(M_r M_t -\frac{2}{3})(B-m+1)} }_{\hbox {Complexity of QRD in }(27)}+\sum _{m=2}^{B-1} {\underbrace{(B-m+1)^{3}/3}_{\mathbf{LDL}^{H}\,\,\hbox {of}\,\,\mathbf{G}_{B-m+1} }} +\underbrace{\sum \nolimits _{m=1}^{B-1} {B-m+1} }_{\mathrm{Complexity\,of}\,(23)}+\underbrace{\sum \nolimits _{m=1}^{B-1} {m (B-m+1} )^{2}}_{(22)}\)
| |
3. Interference cancellation: \(\sum _{m=2}^{B-1} { B-m+1}\)
| |
SV-selection with full search \(+\) MMSE detection | 1.Full search for precoder: |
\(\underbrace{34M_r^2 B+M_r^3 +7M_r^2 }_{\mathrm{MMSE\, detector}}+\underbrace{\sum _{M\in \mathcal{M }} {\prod _{q=1}^Q {\{N_{M_q } \cdot (4B^{2}M_r +8M_r^2 B+9M^{3}+M_r M_t B)\}} } }_{\mathrm{Complexity\,of\,full\,search\,for\,SVDs\,of}\,\mathbf{HF}^{{\prime }}}\)
| |
Complexity of multi-mode precoding at transmitter is \(N_{1}M_{1 }+ N_{2}M_{2}+ {\cdots } +N_{Q}M_{Q}\)
|
5 Simulation Results
5.1 Detection Performance of SU-MIMO Precoding with EMS
Selection criteria | (MM, QR, Full) | (MM, QR, EMS) | (MM, SV, Full) |
---|---|---|---|
Multiplications | 14,803 | 8,283 | 61,744 |
5.2 Detection Performance of MU-MIMO Precoding
Selection criterion | (MM, QR, Full) | (MM, QR, Tree) | (MM, QR, EMS, Tree) | (MM, SV, Full) |
---|---|---|---|---|
Multiplications | 17,978,118 | 61,058 | 23,302 | 64,089,836 |