# An Efficient Quantized Message Passing Receiver Design for SCMA Systems
## 3 Proposed Quasi-Uniform Quantizer for SCMA System
### Sub-Log MPA Detector for the SCMA System  
As discussed above, Max-log MPA can avoid exponent calculation compared to the conventional probability domain MPA, which significantly reduces the computational cost and makes the hardware implementation feasible. However, the number of iterations required to achieve convergence in Max-log MPA is relatively large, which limits the hardware performance and makes the decoding latency high. Moreover, based on (9) and (13), it is obvious that both the RN and VN message exchanging at the \(i\)-th iteration use the probabilities obtained from the \(i-1\)-th iteration. However, the latest probabilities from the current iteration's updating of the VNs can be immediately utilized to take part in the message propagation of the remaining RNs. In this way, it utilizes more reliable probabilities in the message iteration than the Max-Log algorithm at the same iteration, which can efficiently accelerate the convergence behavior. To achieve this, the indicator matrix can be divided into two parts, where the first part only uses the probabilities obtained from the \(i-1\)-th iteration, while the second part can immediately use the more reliable probabilities in the current iteration from the first part. This operation reduces the switch between the RN and VN message propagation, and subsequently decreases the difficulty of hardware design. As depicted in Figure 2, the indicator matrix \(\mathbf{F}_{5\times 10}\) can be divided into \(\mathbf{F}_{5\times 10}^{1}\) and \(\mathbf{F}_{5\times 10^{\prime}}^{2}\) and the sub factor graph are also illustrated. In this way, the message exchanging between RNs and VNs at the \(i\)-th iteration can be split into two steps, corresponding to the \(\mathbf{F}_{5\times 10}^{1}\) and \(\mathbf{F}_{5\times 10}^{2}\), respectively. The first step to conduct RN and VN updating at the \(i\)-th iteration can be formulated as  
\[V_{k\to j}^{t}(\mathbf{x}_{j})=\max_{\mathbf{x}_{i}:u\in V_{k}\setminus j,j \in[1,J/2]}\left\{P_{kj}(\mathbf{x})+\sum_{u\in V_{k}\setminus j}R_{u\to k}^{t -1}(\mathbf{x}_{u})\right\},j\in[1,J/2], \tag{14}\]  
and  
\[R_{j\to k}^{t}(\mathbf{x}_{j})=\sum_{m\in\mathcal{R}_{j}\setminus k}V_{m\to j }^{t-1}(\mathbf{x}_{j}),j\in[1,J/2]. \tag{15}\]  
The probabilities corresponding to the remaining variable nodes of the second factor graph are then updated as  
\[V_{k\to j}^{t}(\mathbf{x}_{j})=\max_{\mathbf{x}_{u}:u\in V_{k}\setminus j,j \in[J/2+1,J]}\left\{P_{k,j}(\mathbf{x})+\sum_{u\in V_{k}\setminus j}R_{u\to k }^{t-1}(\mathbf{x}_{u})\right\},j\in[J/2+1,J], \tag{16}\]  
and  
\[R_{j\to k}^{t}(\mathbf{x}_{j})=\sum_{m\in\mathcal{R}_{j}\setminus k}V_{m\to j }^{t-1}(\mathbf{x}_{j}),j\in[J/2+1,J]. \tag{17}\]  
The implementation of the proposed Sub-log MPA detector for the SCMA system is summarized in Algorithm 1. Note that, different from the parallel and serial schedules adopted in [29], where all the nodes pass new messages to their neighbors, this Sub-log MPA detector only exchanges the new messages to the second sub factor graph, which is more effective in hardware design by exchanging the probabilities among the two sub factor graphs.  
Figure 2: The SCMA sub factor graph for \(K=5\) and \(J=10\).  
```
Input:\(\mathbf{y}_{j}\), \(\mathbf{h}_{j},\sigma^{2},T\)
1 Initialization
2 Initialize the log-domain conditional probability of different codeword combinations for the \(j\)-th user as (6).
3 Iteration
4 for\(t=1:T\)do
5 Conduct RN and VN updating at the \(i\)-th iteration for the first sub factor graph according to (14) and (15)
6 Update the probabilities corresponding to the remaining variable nodes according to (16) and (17).
7
8
9 Probability Calculation
10 for\(j=1:J\)do
11 When the maximum number of iterations \(T\) is reached, the final probabilities of each codeword for each user are computed according to (10).
12
13 end for
```  
**Algorithm 1**The iterative implementation of Sub-log MPA