## 3 System Model and Problem Formulation  
This work starts with the assumption that it is possible to use eight codewords (\(M~{}=~{}8\)) to encode three bits using 8-APSK modulation [23] (Amplitude and phase-shift keying), which is defined by Equation (1):  
\[X=\left\{ \begin{array}{rl}r_{1}e^{i(\varphi_{1}+\frac{2\pi}{n}k)}\ \bigg{|}&k=0,\ 1,\ \ldots n_{1}-1\\ r_{2}e^{i(\varphi_{2}+\frac{2\pi}{n}k)}\ \bigg{|}&k=0,\ 1,\ \ldots n_{2}-1\\ \vdots\\ r_{N}e^{i(\varphi_{N}+\frac{2\pi}{n}k)}\ \bigg{|}&k=0,\ 1,\ \ldots n_{N}-1 \end{array} \right. \tag{1}\]  
where \(N\) is the number of concentric rings (\(N=2\)), \(n\) the number of points per ring (\(n_{1}=~{}n_{2}=4\)), \(r\) is the radius of the circle, (\(r_{1}=1.41,\ r_{2}=4.24\)), and \(\varphi\) is the offset angle (\(\varphi_{1}=~{}\varphi_{2}=\frac{\pi}{4}=45^{\circ}\)), which leads a constellation of eight symbols. Based on [16], to build the codebooks the following technical considerations and constrains are applied: there will always be more users than radio resources, four radio subcarriers (SC) are used (\(K=4\)), six users (\(J=6\)), two code dimensions (\(N=2\)), three users sharing the same subcarrier (\(d_{f}=3\)) and each user uses two subcarriers to transmit their information (\(d_{v}=2\)), codebooks are an array of \(4\times 4\), where the elements of two rows are zeros. The factor graph (FG) defines which subcarriers are using each user, which in its matrix representation is given by Equation (2). \[\text{F}=\left[ \begin{array}{cccccc}\varphi_{1}&0&\varphi_{2}&0&\varphi_{3 }&0\\ \varphi_{2}&0&0&\varphi_{3}&0&\varphi_{1}\\ 0&\varphi_{2}&\varphi_{1}&0&0&\varphi_{3}\\ 0&\varphi_{3}&0&\varphi_{1}&\varphi_{2}&0\end{array} \right] \tag{2}\]where \(\varphi\) is the rotation angle for different users, obtained from Equation (3):  
\[\varphi_{u}=\ (u-1)\frac{2\pi}{Md_{f}}+\ e_{u}\frac{2\pi}{M},\ \forall\ u=1, \dots d_{f} \tag{3}\]  
According to [16], the SCMA codebooks are obtained from Equation (4):  
\[X_{j}=V_{j}\Delta_{j}V_{SVD^{*}}^{*}\ \big{|}\ j=1,2,\dots J \tag{4}\]  
\(X_{j}\) are the codebooks for \(J-users\), \(\Delta_{j}\) is a rotation operator, which is defined by Equation (5) and (6):  
\[\Delta_{j}=diag\big{(}f_{j}\big{)}=f_{j^{\prime}}\ \big{|}\ j=1,\ 2,\dots,\ 6. \tag{5}\]  
\[\Delta_{1}=\left[ \begin{array}{cc}\varphi_{1}&0\\ 0&\varphi_{2}\\ \varphi_{3}&0\\ 0&\varphi_{1}\end{array} \right]\ \ \ \ \Delta_{2}=\left[ \begin{array}{cc} \varphi_{2}&0\\ 0&\varphi_{3}\\ \varphi_{3}&0\\ 0&\varphi_{2}\end{array} \right]\ \ \ \ \Delta_{3}=\left[ \begin{array}{cc} \varphi_{2}&0\\ 0&\varphi_{1}\\ 0&\varphi_{1}\\ 0&\varphi_{3}\end{array} \right] \tag{6}\]  
\(V_{j}\) is a dispersion matrix for each user which contains \(K-N\) rows with zero value, is given by Equation (7):  
\[V_{1}=\left[ \begin{array}{c}10\\ 01\\ 00\\ 00\end{array} \right]V_{2}=\left[ \begin{array}{c}00\\ 00\\ 10\\ 01\end{array} \right]V_{3}=\left[ \begin{array}{c}10\\ 00\\ 01\\ 00\end{array} \right]V_{4}=\left[ \begin{array}{c}00\\ 10\\ 00\\ 01\end{array} \right]V_{5}=\left[ \begin{array}{c}10\\ 00\\ 01\\ 01\end{array} \right]V_{6}=\left[ \begin{array}{c}00\\ 10\\ 00\\ 00\end{array} \right] \tag{7}\]  
To calculate \(V_{SVD}^{*}\), we start calculating the mother constellation (\(M_{\text{C}}\)), the first vector (\(S_{1}\)) of the mother constellation is given by Equation (8):  
\[ \begin{array}{l}S_{11}=1+1i,\ S_{12}=-1+1i,\ S_{13}=-1-1i,\ S_{14}=1-1i\\ S_{15}=3+3i,\ S_{16}=-3+3i,\ S_{17}=-3-3i,\ S_{18}=3-3i\end{array}  \tag{8}\]  
The second dimension \(S_{2}\) is the result of multiplying \(U_{N}S_{1}\), where \(U_{N}=diag\left(1e^{i\theta_{1-1}}\right)\), \(\in\ C^{N\ \times\ M}\) and \(\theta_{l-1}=\frac{(l-1)\pi}{M\ N},\ l=1,\dots,\ N\), so that \(M_{\text{C}}\) is given by Equation (9):  
\[M_{\text{C}}=\ (S_{1},\ S_{2})^{T}=\ \left[ \begin{array}{ccc}s_{11}&s_{12}& \dots&s_{18}\\ s_{21}&s_{22}&\dots&s_{28}\end{array}