# Asynchronous Partial Gaussian Approximation Detection Algorithm for Uplink-Grouped MIMO-SCMA System
## 3 Asynchronous Detection Algorithm
### Asynchronous Log-MPA Method  
MPA is an iterative algorithm based on factor graph. Through the calculation and propagation of edge probability between resource nodes and user nodes, the probability of each codeword is finally obtained. The final estimated bit stream is obtained by log likelihood ratio (LLR) decision. In the synchronous detection method, each user obtains the codeword probability of each symbol through message transmission and the detection of each symbol is independent from each other. The traditional synchronization model can obtain more accurate results through the MPA algorithm. The model in this paper can also be detected by MPA. In order to reduce the exponential operation, log-MPA is used here. First, the user codeword probability is initialized and then the message is passing according to the factor graph in Figure 8. Group 1 and Group 2 use the same factor graph,  
Figure 8: Joint factor graph. Figure 9: Joint factor matrix. where FN refers to the frequency resource node and VN is the user node. The process of asynchronous log-MPA is illustrated as follows. \[M_{j\to k}^{0}(x^{(j)})=\mathrm{P}(x^{(j)})=\log(\frac{1}{M}),j=1,\cdots,J,\forall k \in H_{j} \tag{6}\]  
\[M_{k\to j}^{t}(x^{(j)}) =\max_{\{x^{(0)}|i\in\mathrm{T}_{k}\setminus j\}}^{*}\left\{-\frac{1}{ \sigma^{2}}\|y_{k,g}[n]-\sum\limits_{j\in\mathrm{T}_{k}}h_{k,g}^{(j)}[n]\times x _{g}^{(j)}[n]\right. \tag{7}\] \[-\sum\limits_{g\
eq g}\sum\limits_{\psi=0,\pm 1}\xi_{g}^{\psi} \times\sum\limits_{j\in\mathrm{T}_{k}}h_{k,g}^{(j)}[n+\psi]\times x_{g}^{(j)}[n +\psi]\|^{2}\] \[+\sum\limits_{i\in\mathrm{T}_{k}\setminus j}M_{i\to k}^{t-1}(x^{(i)})\right\}\] \[M_{j\to k}^{t}(x^{(j)})=\log(\frac{1}{M})+\sum\limits_{i\in \mathrm{H}_{j}\setminus k}M_{i\to j}^{t-1}(x^{(i)})-\sum\limits_{x^{(i)}}\sum \limits_{i\in\mathrm{H}_{j}\setminus k}M_{i\to j}^{t-1}(x^{(i)}) \tag{8}\]  
\[\log(\exp(a_{1}+\cdots+a_{n}))=\max_{\max}^{*}(a_{1},\cdots,a_{n})=\max(a_{1}, \cdots,a_{n})\] \[+\log(1+\sum\limits_{i\in\{1,\cdots,n\}\setminus j}\exp(-|\max(a_ {1},\cdots,a_{n})-a_{i}|) \tag{9}\]  
In the formulas, \(\mathrm{T}_{k}\) means the user set on the \(k^{th}\) resource block and \(\mathrm{H}_{j}\) means the resource set where the \(j^{th}\) user occupies. \(M_{k\to j}^{t}(x^{(j)})\) means the information passing from the \(k^{th}\) resource block to the \(j^{th}\) user node and \(M_{j\to k}^{t}(x^{(j)})\) means the information passing from the \(j^{th}\) user node to the \(k^{th}\) resource block. The updating process of \(M_{k\to j}^{t}(x^{(j)})\) is normalized and the definition of \(\max\) is listed in (9) [10]. Then, the LLR is conducted to recover the bit stream of users. Since the decision process is the same for each user group, the codeword probability \(Q(x^{(j)})\) and \(LLR(b^{(j)}(i))\) of users in two groups are represented in the same way. The whole process is listed in Algorithm 1. Figure 8:0  
Figure 8:1  
```
1:\(y\), \(h\), \(C_{g1}\), \(C_{g2}\), \(\sigma^{2}\)
2:\(\mathrm{P}(x^{(j)})=\log(1/M)\), \(M_{j\to k}^{0}(x^{(j)})=\mathrm{P}(x^{(j)})\), \(M_{k\to j}^{0}(x^{(j)})=0\)
3:for\(n\) = \(1\):N do
4:for\(t\) = \(1\):\(t_{\max}\)do
5:for\(k\) = \(1\)

### SP-MPA Method

In the above asynchronous Log-MPA method, each time the iteration is performed, the prior probability starts from \(1/M\). The probability information of the preceding signal is not involved in the calculation; that is, the asynchronous Log-MPA does not make good use of the previous decision information. Therefore, a message-passing algorithm based on Serial Propagation (SP-MPA) is proposed to fully utilize the known information to improve the system performance. The whole process is listed in Algorithm 2. The received signal is detected according to the asynchronous transmission structure and formula of the received signal. The asynchronous transmission process reveals that \(y_{k,g_{1}}\) and \(y_{k,g_{2}}\) contain common information, which can be detected, respectively, to obtain more accurate information values.