## 2 LDS-UFMC System Model
### Signal Model  
After the LDS spreading, the UFMC modulation is applied to each subcarrier. In fact, UFMC divides the entire bandwidth B of N subcarriers into multiple subbands \(S_{u}\), each subband consists of \(Q\) subcarriers. Hence, the \(n\)th subcarrier can now be regarded as the \(q\)th subcarrier of the \(s\)th subband. After that, the IFFT is performed over the signal of each subband and will be filtered using a L-length prototype filter, usually, the filter is a Dolph-Chebyshev window. The subbands are then superimposed and sent over the channel. The baseband discrete UFMC signal is represented in (7):  
\[\mathbf{x_{LDS-UFMC}[n]}=\sum_{s=0}^{S_{u}-1}\mathbf{g_{s}[n]}\times\mathbf{x_{s}[n]} \tag{7}\]  
\(\mathbf{g_{s}[n]}\) defines the filter used in the \(s\)th subband :  
\[\mathbf{g_{s}[n]}=g[n]e^{i(2\pi nQ/2)/N}e^{i(2\pi n(S_{0}+SQ))/N} \tag{8}\]  
where \(S_{0}\) denotes the starting frequency of the lowest subband and \(g[n]\) is a well-localised Chebyshev pulse filter of length L. The third term of the equation is the one responsible for frequency shifting  
Figure 2: Spreading process of LDS-UFMC system. to the appropriate subband. \(x_{s}[n]\) is signal transmitted over the \(s\)th group of subcarriers. It can be expressed as follows:  
\[x_{s}[\mathbf{n}]=\sum_{q=0}^{Q-1}x^{s,q}e^{j(2\pi nq/2)/N}e^{j(2\pi n(S_{0}+SQ))/N} \tag{9}\]  
Hence, \(x^{s,q}\) can be nothing but the signal transmitted over the \(q\)th subcarrier of the \(s\)th subband and just like in (6), it is given by:  
\[x^{s,q}=\sum_{k\in\xi_{s,q}}x_{k}^{s,q} \tag{10}\]  
where \(\xi_{s,q}\) is considered as the group of users interfering in the \(q\)th subcarrier of the \(s\)th subband. The received signal is represented as follows:  
\[y_{LDS-UFMC}[\mathbf{n}]=\mathbf{h}[\mathbf{n}]\times\mathbf{x}_{LDS-UFMC}[\mathbf{n}]+\mathbf{z}[\mathbf{ n}] \tag{11}\]  
where \(\mathbf{z}[\mathbf{n}]\) and \(\mathbf{h}[\mathbf{n}]\) are the additive white gaussian noise with variance \(\sigma_{z}^{2}\) and the channel impulse response respectively. The length of the signal \(\mathbf{y}_{LDS-UFMC}\) is \(N_{y}=N+L-1\) due to the convolution with the subband filter, consequently, a 2N-point Fast Fourier Transform (FFT) is performed at the UFMC receiver. After the UFMC demodulation process, the input of the LDS Detector corresponding to the \(n\)th subcarrier is :  
\[Y_{n}=H_{n}\sum_{k\in\xi_{n}}\sum_{m=1}^{M}a_{k,m}s_{k,m}^{n} \tag{12}\]  
where \(Y_{n}\) and \(H_{n}\) are the 2N-point FFT of the time domain signal respectively. In our system, we have chosen to use the equalizer embedded with the LDS detector for a better performance. Regarding the LDS decoding, firstly, the LDS turbo receiver uses MPA and Forward Error Correction (FEC) decoder to find the reliability of the symbols. Secondly, the JSG receiver uses pulse shaping, NOMA and channel coding, however, it is highly complex. For simplicity, we chose to implement the basic LDS detector that uses the Tanner Graph for implementing the MPA receiver in which we consider subcarriers and symbols as function nodes and variable nodes, respectively. Adjacent nodes are connected via edges. Based on an extrinsic manner, each node will update its information containing the reliability of the symbol based on the received reliability from other edges and send it back. After an appropriate number of iterations, the reliability which is the log likelihood ratio (LLR) of the symbols will converge and the symbols are transmitted to the FEC decoder. The major goal behind this complex implementation is to find the value of \(\mathbf{\hat{a}}\) that maximises the joint a posteriori probability based on the observed signal:  
\[\hat{a}=\arg\max_{a\in\mathbb{X}}p(a|y) \tag{13}\]  
where \(\mathbb{X}\) is the modulation constellation.