## 2 System Model
### Multiple Access  
The purpose of the multiple access is to increase the number of users that are active at a certain moment, as long as an acceptable level of signal-to-noise and interference ratio (SINR) is maintained. One main concern is the multiuser interference that can appear at the receiver end due to other users interfering with the demodulated one. In order to reduce this phenomenon, the signals transmitted by different users have to be perfectly orthogonal or have low cross-correlation values. There are numerous multiple access techniques that respect or approximate this scenario [51], the performances being measured by means of cross-correlation level, code length and implicit system rate, efficiency of spectrum spreading, sensibility to synchronization issues, and implementation complexity. The Walsh codes are a set of perfectly orthogonal or zero-correlated codes that can be easily generated at high rates, making them a good candidate in a communication network with a continuously increasing number of users. One main disadvantage is that the Walsh codes are limited by number, so the number of users that can access the system is fixed. Another limitation of the Walsh codes comes from the fact that these codes are periodical signals, which, in frequency domain, leads to spectral lines around which the data are gathered. The spectral spreading is nonuniform, and, furthermore, depends on the chosen code. By contrast, PN codes are not perfectly orthogonal codes, with low partial-correlation between delayed versions of them, when the delay is properly chosen, and also low intercorrelation with other different codes from the same family. The PN codes are used also because they have good spreading properties, the data being spread uniformly within the channel bandwidth, independent of the chosen code. With both Walsh and PN, the multiple access system has better performances in terms of number of users and cross-correlation properties as the sequences are longer but this leads to a very high rate on the transmission channel and difficulties regarding demodulation due to the increased computational effort [52]. For users that already have a high rate, the channel distortion and fading phenomenon are becoming more severe and additional techniques, like equalization, must be implemented at the receiver, leading to increased complexity and higher costs. Moreover, a long length of the spreading codes may lead to low transmission efficiency and a high transmission delay, thus a potentially long delay at the receiver and high-power consumption [52]. Having as a starting point CDMA, numerous other multiple access techniques have been developed to solve these drawbacks. One of them is MUSA, which uses short complex-valued spreading codes and which, due to additional degrees of freedom offered by the imaginary part, exhibits lower cross-correlation properties than PN and can support a much higher number of users that share the same resource block, basically realizing a superposition process [34]. It facilitates robust SIC implementation and can be nonbinary, compared with traditional CDMA [38]. Binary codes are one type of complex spreading code that can be generated using \(\{1,-1\}\), for both real and imaginary parts. Therefore, each element of the complex spreading code is found in this set \(\{1+i,1-i,-1+i,-1-i\}\), meaning there are four values used to form a spreading code. Denoting \(L\) as the length of the spreading code, \(4^{L}\) codes can be formed. For example, for a length of 4, there will result 44 or 256 codes, that are not enough for networks in which the number of users is very high [48]. Therefore, there is a need to expand the set from \(\{-1,1\}\) to \(\{-1,0,1\}\) and each element of the complex spreading code is found in this set \(\{-1,-1-i,-1+i,-0,i,1,1-i,1+i\}\). This means there are nine values used to form a spreading code, in total being \(9^{L}\) and more suitable for networks nowadays.