# Asynchronous Partial Gaussian Approximation Detection Algorithm for Uplink-Grouped MIMO-SCMA System
## 3 Asynchronous Detection Algorithm
### Asynchronous Log-MPA Method
\(M_{2\to k}^{t_{\max}}(x^{(2)}=m)\) means the probability of the \(m^{th}\) codeword of user 2 on the \(k^{th}\) resource block in Group 1, which is obtained from the last symbol detection. Therefore, the message passing from the function node to the user node can be written as (25) and (26). The codeword probability \(Q(x^{(j)})\) and \(LLR(b^{(j)}(i))\) are the same as (10) and (11). \[\mu_{k}[n]=h_{k,g_{1}}^{(2)}[n-1]\sum\limits_{m=1}^{M}\mathcal{C}_{g_{1},2}(k, m)M_{2\to k}^{last}(x^{(2)}=m) \tag{23}\]

\[\sigma^{2}_{k}[n]=h_{k,g_{1}}^{(2)}[n-1]\Big{|}2+ \tag{24}\]

\[M_{k\to j}^{t}(x^{(j)}) =\max\limits_{\{x^{(j)}|i\in T_{k}\backslash j\}}^{*}\left\{- \frac{1}{\sigma^{2}_{k}[n]}\|y_{k,g}[n]-\left\{h_{k,g_{1}}^{(1)}[n]\times x_{g _{1}}^{(1)}[n]+\sum\limits_{\psi_{1}=0,+1}\chi_{g_{1}}^{\psi_{1}}h_{k,g_{1}}^{ (2)}[n+\psi_{1}]\times x_{g_{1}}^{(2)}[n+\psi_{1}]\right\}\right. \tag{25}\] \[-\sum\limits_{g\
eq g_{1}}\left\{\sum\limits_{\psi=0,\pm 1}\chi_{g}^{ \psi}\times h_{k,g}^{(1)}[n+\psi]\times x_{g}^{(1)}[n+\psi]+\sum\limits_{\psi_ {2}=0,\pm 1}\chi_{g}^{\psi_{2}}\times h_{k,g}^{(2)}[n+\psi_{2}]\times x_{g}^{(2)} [n+\psi_{2}]\right\}-\mu_{k}[n]\|^{2}\] \[+\sum\limits_{i\in T_{k}\backslash j}M_{i\to k}^{t-1}(x^{(i)})\]

\[M_{j\to k}^{t}(x^{(j)})=\log(\frac{1}{M})+\sum\limits_{i\in H_{j} \backslash k}M_{i\to j}^{t-1}(x^{(i)})-\sum\limits_{x^{(i)}}\sum\limits_{i\in H _{j}\backslash k}M_{i\to j}^{t-1}(x^{(i)}) \tag{26}\]

However, if the Gaussian approximation (GA) method is conducted on each resource block, the accuracy of detection will experience large degradation. To balance the detection performance and complexity, a partial Gaussian approximation (PGA) method [29] will be applied, in which only parts of resource blocks adopt the GA method with other blocks using Log-MPA. In Figure 13, for example, three resource blocks adopt PGA, which are marked with blue lines. From the above PGA process, the imperfect synchronization in the group can be solved by regarding the interference as the Gaussian noise on resource blocks. At the same time, the complexity is reduced because the delayed symbol in one group is not computed in the iteration. The whole algorithm is listed in Algorithm 3. ```
1:\(y\), \(h\), \(C_{g1}\), \(C_{g2}\), \(\sigma^{2}\), \(\varepsilon\)
2:\(\mathrm{P}(x^{(j)})=\log(1/M)\), \(M^{0}_{j\to k}(x^{(j)})=\mathrm{P}(x^{(j)})\), \(M^{0}_{k\to j}(x^{(j)})=0\)
3: conduct asynchronous Log-MPA to obtain the final probability of code-words
4:for\(n\)= 2 :Ndo
5:while\(\left|M^{t}_{j\to k}(x^{(j)})-M^{t-1}_{j\to k}(x^{(j)})\right|<\varepsilon\)
6: use (14) and (15) to obtain the initial probability
7: use (23) and (24) to compute \(\mu_{k}[n]\) and \(\sigma^{2}{}_{k}[n]\)
8:for\(k\)= 1 :\(K_{1}\)do
9: use (25) to update \(M^{t}_{k\to j}(x^{(j)})\)
10: endfor
11:endwhile
12:for\(j\)= 1 :\(j\)do
13: use (10) to calculate the probability of codewords
14: endfor
15: use (11) to conduct LLR decision
16:endfor
17:\(b^{(j)}[n]\), \(n=1:N\)
```

**Algorithm 3** PGA-MPA

### Complexity Analysis

The complexity of the three algorithms mentioned before is listed in \[y_{k,g_{1}}[n] =\left\{h_{k,g_{1}}^{(1)}[n]\times x_{g_{1}}^{(1)}[n]+\sum\limits_{ \psi_{1}=0,+1}\chi_{g_{1}}^{\psi_{1}}h_{k,g_{1}}^{(2)}[n+\psi_{1}]\times x_{g_{1 }}^{(2)}[n+\psi_{1}]\right\} \tag{22}\]0 Log-MPA and SP-MPA almost share the same complexity in the perfect scheme; the only difference is the number of iterations. From the simulation, the convergence ability is almost the same so the number of iterations is almost the same too. In the imperfect scheme, SP-MPA (interference ignored) (SP-MPA (II)) has the lowest complexity, for it does not consider the interference and SP-MPA has the highest complexity, for it considers all symbols into iterations. In PGA-MPA, the complexity is reduced from \(M^{3\times d_{j}+1}\times R\times K\) to \(M^{3\times d_{j}+1}\times K_{1}+M^{3\times d_{j}}\times(R\times K-K_{1})\) exponentially.