## 3 Results and Discussion  
The performance achieved by the proposed system is evaluated in this section. Extensive simulations have been made in MATLAB using the Monte Carlo technique to increase the degree of confidence in the results. The parameters are summarized in Table 1. The number of transmitting antennas at the relay has been considered as \(Ntr=1\). To have a reference, first, we present the performance of an uplink massive MU-MIMO system when active users are separated by Walsh, PN spreading codes and then by complex spreading codes. Simulations with BPSK modulation have been performed too, but the obtained errors were very low and are not presented in the paper. Figure 3 presents the results obtained by QPSK modulation schemes when the transmission is made over a channel affected by Rayleigh fading using a MIMO configuration of (\(1\times 26\times 30\)) and (\(1\times 30\times 30\)), with 26 or 30 antennas at the relay, where active users are separated by Walsh codes of  
64-length. It can be seen that the best results were obtained when a MIMO configuration of (\(1\times 30\times 30\)) was used. It can also be noted that the performance of the system was influenced by an increase of the number of users, because the same resources were being shared so the intercorrelation noise increased. One possibility to maintain a reliable communication is to increase the number of antennas, using the spatial diversity offered by massive MIMO, as we did in our simulations when the number of receive antennas from the relay was increased from 26 to 30. Figure 4 presents the results obtained in similar conditions, but using PN spreading codes of 63-length instead of Walsh spreading codes. It was expected that the obtained results were slightly poorer because the PN codes were not perfectly orthogonal codes like the Walsh ones, assuming a perfect synchronization at the receiver. However, PN codes are not so sensitive regarding timing synchronization and they can provide a better spectral spreading. The choice, therefore, represents a compromise between the obtained bit error rate, the spectral behavior of the overall signal, and the complexity of the receiver. Table 2 summarizes the results obtained in the aforementioned simulations, for a fixed value of the SNR equal to 12 dB when the number of active users was 12 and 16, highlighting that the most favorable combination in order to obtain the best performance for our proposed architecture was the one that was using 30 antennas at the relay. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & **Technique** & **Value** \\ \hline Channel coding & LDPC & 1/2 \\ Modulation & QPSK & - \\ Channel & Rayleigh & - \\ FFT size & - & 64 \\ Number of data subcarriers & - & 52 \\  & Walsh, & 64-length, \\ Multiple access & PN, & 64-length, \\  & MUSA & 8-length \\ Signal-to-noise ratio & - & 0–20 dB \\ Number of users & - & 12, 16 \\ User overload & - & 150\%, 200\% \\ MIMO configurations & - & (\(1\times 6\times 30\)), \\ (\(Nt\times Nrr\times Nr\)) & & (\(1\times 30\times 30\)) \\ Detectors & MMSE & - \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Simulation parameters. Figure 3: BER vs. SNR for (\(1\times 26\times 30\)) and (\(1\times 30\times 30\)) MIMO configurations, QPSK modulation, Walsh codes with 12, 16 active users. From those results, it can be observed that PN provides poorer results compared to Walsh. In the above simulations, the length of the Walsh spreading codes was 64 and the length of the PN spreading codes was 63. The question that might rise might be: What should be the minimum length of the complex spreading codes necessary to achieve similar performances, taking into consideration the degrees of freedom offered by the complex part of these codes? Therefore, in the following simulations, we selected four sets of codes of length 8. For the MUSA set, 32 codes with low correlation properties have been selected, matrix given in Equation (16).