## 2 Asymmetric Turbo Code (ATC)
### Asymmetric Turbo-Coded VBLAST (ATC-VBLAST) Scheme Based on CMI  
In this subsection, we describe the proposed ATC-VBLAST scheme. The block diagram of the ATC-VBLAST scheme is shown in Figure 5.  
At the source node, the input information bit stream \(\mathbf{q}_{2}\) of length K is first split into parallel sequences \(\mathbf{q}_{2}^{1}\), \(\mathbf{q}_{2}^{2}\),..., and \(\mathbf{q}_{2}^{\mathrm{N_{T}}}\) of the same length K/N\({}_{\mathrm{T}}\) via a serial to parallel (S/P) converter. Each of the sub-information bit streams is encoded by the ATC encoders C\({}_{1}\), C\({}_{2}\),..., and C\({}_{\mathrm{N_{T}}}\) based on the CMI to generate the codewords \(\mathbf{v}_{1}\), \(\mathbf{v}_{2}\),..., and \(\mathbf{v}_{\mathrm{N_{T}}}\), respectively. Afterwards, the M-PSK/QAM modulator modulates the encoded sequences \(\mathbf{v}_{1}\), \(\mathbf{v}_{2}\),..., and \(\mathbf{v}_{\mathrm{N_{T}}}\) into M-PSK/QAM sequences such as \(\mathbf{v}_{1,\mathrm{m}}\), \(\mathbf{v}_{2,\mathrm{m}}\),..., and \(\mathbf{v}_{\mathrm{N_{T}},\mathrm{m}}\), where the dimension of each sequence is equal to L. The L is taken as 3K/(MN\({}_{\mathrm{T}}\)). Afterwards, the following matrix:  
\[\mathbf{V}_{\mathrm{m}}=\ \left[\mathbf{v}_{1,\mathrm{m}}^{\mathrm{T}},\ \mathbf{v}_{2,\mathrm{m}}^{\mathrm{T}},\ \ldots,\ \mathbf{v}_{\mathrm{N_{T}},\mathrm{m}}^{\mathrm{T}} \right]^{\mathrm{T}} \tag{14}\]  
as the arrangement of the corresponding modulated vector sequences is sent over the N\({}_{\mathrm{R}}\)\(\times\)N\({}_{\mathrm{T}}\) slow Rayleigh fading channel H\({}^{{}^{\prime}}\), where \([\ ]^{\mathrm{T}}\) denotes the transpose of a vector or matrix. The received matrix \(\mathbf{Z}\) at the destination node is modeled as  
\[\mathbf{Z}\ =\ \mathbf{H}^{\prime}\mathbf{V}_{\mathrm{m}}+\mathbf{N} \tag{15}\]  
where \(\mathbf{H}^{\prime}\) denotes the fading channel matrix defined similarly to \(\mathbf{H}\) in Equation (13), and \(\mathbf{N}=\left[\mathbf{n}_{1},\ \mathbf{n}_{2},\ldots,\ \mathbf{n}_{\mathrm{N_{R}}} \right]^{\mathrm{T}}\) is the AWGN noise matrix whose every component \(\mathbf{n}_{\mathrm{k_{1}}}\ (1\leq\mathrm{k_{1}}\leq\mathrm{N_{R}})\) represents the L \(\times\) 1 vector defined like \(\mathbf{n}(\mathrm{j})\) in Equation (13). The channel output matrix \(\mathbf{Z}\ =\ \left[\mathbf{z}_{1},\ \mathbf{z}_{2},\ldots,\ \mathbf{z}_{ \mathrm{N_{R}}}\right]^{\mathrm{T}}\) is fed into the VBLAST detector that utilizes the soft maximum likelihood detection algorithm [32]. Every element in \(\mathbf{Z}\) denotes L \(\times\) 1 vector. The generated LLRs \(\gamma(\mathbf{v}_{1})\), \(\gamma(\mathbf{v}_{2})\),..., and \(\gamma(\mathbf{v}_{\mathrm{N_{T}}})\) corresponding to the coded sequences \(\mathbf{v}_{1}\), \(\mathbf{v}_{2}\),..., and \(\mathbf{v}_{\mathrm{N_{T}}}\) are considered as the soft LLRs of the ATC decoders D\({}_{1}\), D\({}_{2}\),..., and D\({}_{\mathrm{N_{T}}}\), respectively, that produce the estimated \(\hat{\mathbf{q}}_{2}^{1}\), \(\hat{\mathbf{q}}_{2}^{2}\),..., and \(\hat{\mathbf{q}}_{2}^{\mathrm{N_{T}}}\). Finally, the parallel to serial (P/S) converter accepts the estimated sequences and converts them into \(\hat{\mathbf{q}}_{2}\).