# An Enhanced Precoder for Multi User Multiple-Input Multiple-Output Downlink Systems
## 5 Simulation Results
### Computational Complexity Analysis  
This subsection provides the comparison of computational complexity for RBD precoder, GBD precoder and MGBD precoder. It is assumed that one complex multiplication requires four multiplications. Also, process to obtain the precoding matrix for RBD and MGBD precoders is similar and most of computational complexity is caused by SVD operation. Therefore, this discussion only calculates computational complexity for SVD in the cases of RBD and MGBD precoders. On the other hand, most of the computational complexity for GBD is caused not only by SVD, but also Equation (17). Thus, the process of calculating complexity for GBD considers SVD operation and Equation (17). Table 2 shows computational complexity for two methods of SVD operation when dimensions of a complex matrix are \(M\times N\)[24]. The MGBD precoder, RBD precoder and GBD precoder require respectively three, two and one SVD operation. The computational complexity for all precoders is represented in Tables 3-5. Figure 9 shows a comparison for computational complexity when each of the 3 UEs has 3 receive antennas and BS has 9 transmit antennas. In this case, the number of multiplications for the MGBD precoder is lower than the RBD precoder, except for 3 streams. In more detail, the computational complexity for MGBD precoder reduces by about 40% (\(r=3\)) and 10% (\(r=6\) ) compared to RBD, when BS transmits a data signal with lower than full streams. In contrast, the number of multiplications for MGBD increases by 50% compared to RBD, when BS transmits a data signal with full streams. The complexity can be reduced by setting \(\mathbf{G}_{i}\) to the unit matrix when BS transmits full streams. The MGBD precoder obtains a precoding matrix \(\mathbf{F}\) by the same method as the RBD precoder when \(\mathbf{G}_{i}\) is changed to the unit matrix. On the other hand, the computational complexity for MGBD is always higher than the computational complexity for GBD. Since the GBD precoder is not optimized with MMSE criterion, the performance of the GBD precoder is degraded and computational complexity for the GBD precoder is low. Since MGBD and GBD eliminate remaining IUI by utilizing postcoding, additional multiplications are required. The number of additional multiplications for both precoders is the same as the first \begin{table}
\begin{tabular}{c c} \hline \hline
**Operation** & **Number of Multiplications** \\ \hline SVD that only obtains \(\mathbf{\Sigma},\mathbf{V}\) & \(16\left(NM^{2}+2M^{3}\right)\) \\ Full SVD that obtains \(\mathbf{U},\mathbf{\Sigma},\mathbf{V}\) & \(4\left(4N^{2}M+8 NM^{2}+9M^{3}\right)\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Computational complexity for SVD operation of an \(M\times N\) complex matrix. Figure 8: Comparison of the throughput performances for adaptive MGBD and adaptive GBD. row in Table 5. Although the computational complexity for MGBD postcoding is independent of the number of data streams, in common with the RBD precoder, extra SVD operation is not needed by setting \(\mathbf{G}_{i}\) to the unit matrix when UE receives full streams. \begin{table}
\begin{tabular}{c c} \hline \hline
**Operation** & **Number of Multiplications** \\ \hline \(\mathbf{H}_{i}=\mathbf{U}_{i}\boldsymbol{\Sigma}_{i}\mathbf{V}_{i}^{H}\) & \(16K\left(N_{T}N_{R_{i}}^{2}+2N_{R_{i}}^{3}\right)\) \\ (Equation (16)) & \(K\left(4 KN_{T}^{2}r_{i}+8(K-1)^{2}N_{T}r_{i}^{2}+(K-1)^{3}r_{i}^{3}-(K-1)^{2}r_ {i}^{2}+\frac{1}{2}\left(K-1\right)r_{i}\right)\) \\ (Equation (17)) & \(K\left(4 KN_{T}^{2}r_{i}+16N_{T}N_{R_{i}}^{2}+8(K-1)^{2}N_{T}r_{i}^{2}+32N_{R_{ i}}^{3}+(K-1)^{3}r_{i}^{3}-(K-1)^{2}r_{i}^{2}+\frac{1}{2}\left(K-1\right)r_{i}\right)\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Computational complexity for a generalized block diagonalization (GBD) precoder.