A Joint Detection and Decoding Scheme for PC-SCMA System Based on Pruning Iteration

: Polar coding and sparse code multiple access (SCMA) are key technologies for 5G mobile communication, the joint design of them has a great significance to improve the overall performance of the transmitter-receiver symmetric wireless communication system. In this paper, we firstly propose a pruning iterative joint detection and decoding algorithm (PI-JDD) based on the confidence stability of resource nodes. Branches to be updated are dynamically pruned to avoid redundant iterative, which is able to reduce 24~50% complexity while achieving the approximate error performance of traditional serial joint iterative detection and decoding algorithm S-JIDD. Then, to further reduce the bit error rate (BER) of the receiver, a cyclic redundancy check (CRC) termination mechanism is added at the end of each joint iteration to avoid the convergence error caused by decoding deviation. Simulation results show that the addition of an early stopping criterion can achieve a remarkable performance gain compared with the S-JIDD algorithm. More importantly, the combined algorithm of the two proposed schemes can reduce the computational complexity while achieving better error performance.


Introduction
Polar code is a kind of channel coding theory that has been strictly proved to reach the Shannon capacity in the binary-discrete memoryless channel (B-DMC). As a standard control channel coding scheme which supports enhanced mobile broadband, polar code has excellent error correction performance and lower coding and decoding complexity than turbo code and low density parity check (LDPC) code [1]. Sparse code multiple access (SCMA) merges the high-dimensional modulation and sparse spreading spectrum during the transmission, and directly maps the encoded interleaved bits to a multidimensional codeword in the complex field preset in the codebook, so as to obtain a higher overload [2,3]. At the receiver, the message passing algorithm (MPA) take the place of the traditional maximum a posterior probability (MAP) detection to obtain the approximate error performance with a lower complexity due to the sparsity of SCMA code [4][5][6]. Decoding methods of the polar code mainly have two categories: the first type is the soft-input hard-output (SIHO) decoding based on the traditional successive cancellation (SC) algorithm [7,8], such as successive cancellation list (SCL) [9], successive cancellation stacking (SCS) [10], and successive cancellation hybrid (SCH) [11] algorithm. Additionally, the second type is the soft-input soft-output (SISO) decoding, such as belief propagation (BP) [12,13] and soft cancellation (SCAN) [14,15] algorithm. In practical applications, SCMA needs to combine with channel coding technology to obtain a better quality of service, which includes turbo code, LDPC code, and polar code. Polar code implementations are less complicated and more versatile than turbo code for channels with relatively low throughput, but polar code lacks market maturity compared with turbo code and LDPC code, and faces greater challenges especially for high-throughput channels. The non-orthogonal resource allocation approach for SCMA scenarios can provide large scale connections and greater throughput. Previous studies have shown that SCMA and polar coding can be designed jointly, which has a significant effect on increasing system capacity and obtaining a certain joint performance gain. Therefore, the study of SCMA combined with polar code detection decoder has profound significance for the overall performance improvement of the communication system. In the existing research, polar code SCMA (PC-SCMA) receiver detection scheme includes separate and joint decoding schemes [15][16][17][18]. The SCMA detection and polar decoding are carried out separately for the separate scheme, while the joint scheme iteratively updates the messages between the detector and decoder. At present, the proposed joint scheme mainly includes the joint algorithm which combines MPA and BP, the joint iterative detection and decoding algorithm (JIDD), and the serial joint algorithm S-JIDD.
For the separate detection and decoding scheme, since the intermediate messages cannot be fully utilized, the receiver would not achieve ideal error performance and the computational complexity is relatively high. However, attributed to performing external iteration and minimizing the loss of intermediate messages, the system performance can be effectively improved by the joint detection and decoding method. Further, since the "hard" feedback will lose information during the decoding process, which limits the performance of the system at the same time the joint detection and decoding cannot be performed, the PC-SCMA receiver must be SISO.
In [16], the intermediate messages can be fully utilized to improve the system performance by the joint algorithm which combines MPA with BP decoding, and soft messages can be propagated in parallel for higher data throughput. However, the BP scheme suffers high computational complexity in the process of internal iteration, which also leads to a large decoding delay. In addition, it takes dozens or even hundreds of iterations for the BP algorithm to converge. As a parallel confidence propagation algorithm, SCAN has lower computational complexity and faster convergence speed while maintaining ideal error performance. Furthermore, SCAN only needs a few iterations to achieve the same performance results as BP [15]. The authors of [17] proposed a JIDD, where messages are updated through the external iteration between the MPA and SCAN algorithm, and it improved the convergence speed and efficiently reduced the computational complexity. JIDD provides a good foundation for the design of PC-SCMA joint receiver. However, its error performance and computational complexity still have great room for improvement. In [18], a serial JIDD algorithm S-JIDD is proposed to accelerate the convergence speed by updating the messages serially, and reduce the computational complexity effectively without losing the error performance. The serial algorithm changes the messaging pattern of the factor graph, but the redundant information during the update process is not taken into account, and the S-JIDD treats all transmitted information as equally important. However, during the message passing process of the factor graph, different branches converge at different rates, and not all messages are equally useful to convergence for the JIDD. Furthermore, its performance can be further improved [19]. In this paper, a joint detection and decoding scheme PI-JDD based on the pruning iteration is proposed. During each iteration, branches to update messages are selected according to the confidence stability of the resource node (RN), before the next iteration, the system factor graph is dynamically updated, and the branches with large deviation in adjacent iterations are propagated in priority which ensures that the unreliable messages are propagated first. Furthermore, the branches closest to convergence are pruned and external messages transmitted reduce as the iteration progresses, which can accelerate the decoding convergence and effectively reduce the computational complexity. Secondly, too low SNR might lead to a convergence error during the iteration process [20,21]. In order to avoid the decoding deviation and further reduce the BER, we add a cyclic redundancy check (CRC) early stopping condition at the end of the joint detection and decoding process to lock the correct codeword timely, and quit the decoding iteration process once the check passes. Finally, the joint algorithm PIC-JDD which combines the PI-JDD and CRC early stopping condition can effectively improve the joint detection and decoding performance with a lower computation complexity. Simulation results show that the proposed joint optimization algorithm achieves significant BER performance gain when the code lengths are 256 and 1024, respectively. Compared with the traditional S-JIDD algorithm, the PIC-JDD algorithm can use five iterations to reach the same error performance of traditional algorithm in seven iterations. Further, in terms of the computational complexity, the PIC-JDD can reduce about 50% addition and 24% multiplication operations when the number of iterations is seven.
The main structure of this paper is stated as follows. Firstly, the system model of the PC-SCMA is introduced. Secondly, the three optimization schemes proposed are described in detail, which are also the main contributions of this paper, including joint detection and decoding scheme based on pruning iteration PI-JDD, the C-JIDD scheme with CRC termination mechanism, and the joint optimization scheme PIC-JDD. Thirdly, the simulation results and performance analysis of the three schemes are presented, respectively. Finally, we summarize the paper and look forward to the future work.

Related Work
Non-orthogonal multiple access has become the focus of current research, in order to meet the demand of the next generation of mobile communication for large capacity, massive connection, low latency, etc., SCMA is an air interface technology designed in response to the demand of 5G [22][23][24]. SCMA can be jointly designed with channel coding and obtain a joint performance gain. However, the decoding delay and complexity will increase since the joint detection and decoding requires feedback iteration. Therefore, improving the error performance of a joint system while reducing the delay and complexity of decoding has become a key research topic. Most of the current research mainly focuses on the turbo code and LDPC code combined with SCMA [24][25][26][27][28][29][30][31][32][33][34][35][36][37][38].
The authors of [25] first proposed the iterative detection and decoding (IDD) algorithm, and the proposed 'Turbo principles' has been widely applied in joint source and channel decoding [26], and multiuser detection [27,28]. However, the scheme cannot take full advantage of the SCMA iterative structure and suffers high complexity and decoding delay. In [29], the authors adopted IDD to a turbo coded SCMA system and proposed an iterative scheme based on information reliability to correct external information to reduce error information. In [30], a joint detection and decoding JDD algorithm for the Turbo-SCMA system was proposed, and the Log-JDD algorithm was used to transform the complicated exponential operation into the max operation, which effectively reduced the computational complexity. Additionally, the fully parallel mode FP-JDD scheme proposed by the author can validly improve data throughput. The authors of [31][32][33][34] adopted a JDD scheme to the joint system, which combines LDPC with different technologies.
In [35], the authors employed a JDD scheme to the LDPC coded SCMA system and proposed an improved iterative detection and decoding scheme. MPA algorithm was divided into the inherent part and the prior part from the perspective of solving edge functions, and MPA algorithm based on the logarithmic form was derived as an approximate algorithm of MAP, which effectively reduced the computational complexity. The authors of [36] combined RNs, joint user nodes (UNs), and check nodes into a joint factor graph to update messages among the three types of nodes. At the same time, the computation complexity was effectively reduced by the Jacobi approximation algorithm. In [37], the minimum mean square error parallel interference elimination algorithm was proposed, and MPA algorithm based on sphere decoding was used for partial decoding. In [38], the authors ensured ideal system error performance by minimizing the upper limit of the worst performance threshold for decoding. The authors of [39] proposed a joint sparse graph based on the subgraph of the LDPC-SCMA system, and performed joint detection and decoding through message passing between the subsparse graph and LDPC sparse graph.
The polar code can achieve Shannon capacity in a specific channel while maintaining ideal computational complexity by using the channel polarization. Therefore, it has a great significance to study how to improve the performance of a PC-SCMA system with different code lengths and reduce the delay and complexity of the receiver.
In recent years, more and more attention has been paid to the research on the PC-SCMA system. The authors of [40] proposed a joint detection and decoding algorithm based on the hard decision feedback. This scheme did not fully utilize the soft information in the decoding process of the polar factor graph. Although SCL decoding algorithm has a good BER performance when the search width L is large enough, the decoding delay and complexity have a great space for improvement. In [16], MPA algorithm and BP algorithm were used to detect and decode the polar-SCMA system which significantly improved the system throughput by spreading the soft message in parallel, but the BP algorithm suffers high complexity. In [17], the authors proposed a joint iterative detection and decoding scheme (JIDD) based on a PC-SCMA system, which achieved a competitive performance and effectively reduced the computational complexity by updating messages between MPA and SCAN algorithms. In [18], the authors proposed a JIDD scheme based on serial message updating S-JIDD, and the scheme can reduce the complexity by speeding up the convergence rate while maintaining an ideal error performance.
In the references, the proposed algorithm only focuses on the construction of the joint system and the acceleration of iterative convergence through the structural deformation of the joint factor graph. However, there is still great potential to improve the performance of the joint system and reduce the computational complexity. In this paper, we propose the PI-JDD scheme to effectively reduce the computational complexity of the PC-SCMA system, and the proposed C-JIDD algorithm can achieve significant performance gain while maintaining ideal complexity. Finally, we combine the two proposed schemes to achieve an overall improvement and trade-off between the performance and complexity.

Organization and Notation
The remainder Section 2 introduces the PC-SCMA system model. Section 3 provides the detail of the proposed optimization schemes for joint detection and decoding. Computational complexity analysis and BER performance simulation analysis are expounded in Sections 4 and 5, respectively. Finally, Section 6 gives the discussion and conclusions.
In this paper, lower-case letters x represent column vectors and upper-case letters X denote matrices. The diag(x) is the diagonal matrix with the diagonal entries being vector and ℂ denotes complex numbers. x~cN (μ,δ ) indicates that the variable x follows the complex normal distribution with mean μ and variance δ . ‖·‖ denotes the Euclidean norm of a vector and |·| means the absolute value of a scalar. П and П represent the interleaving and de-interleaving operation, respectively. ε/j indicates the set ε with element j being excluded. Figure 1 shows the transmitter-receiver symmetric PC-SCMA system model, where the number of users in the system is J and the number of resources is K (J > K). The information bits of each user j are distributed on different resources while each resource is superimposed with different user data to achieve the system overload of J/K. For every user j, its I information bits = { , , , , … , , } are encoded into polar codes = { , , , , … , , }. In order to reduce the interference caused by the burst errors in the system, the polar codes = { , , … , } are interleaved into { , , … , } and then input to the SCMA encoder. Every Q bits set { , , , … , , } is mapped to a M-dimension codeword of the SCMA codebook according to the mapping relationship: { , , , … , , } → { , , , … , , }, = log , , ∈ℂ, and then transmitted to the channel. At the receiver, interleaver and de-interleaver are added between the SCMA detector and polar decoder for joint detection and decoding.

System Model
The channel gain matrix for an uplink PC-SCMA system is expressed as: where ℎ , denotes the channel gain of the l-th transmitted signal between resource k and user j.
Assuming that all users are synchronized in time, the l-th received signal is the superposition of all user signals, which can be denoted as:

Proposed Algorithm for Joint Detection and Decoding
In the traditional S-JIDD algorithm, each RN transmits messages sequentially to all connected UNs during every iterative, as shown in Figure 2. However, in the actual updating process, the convergence rates of different branches in the factor graph are different, in addition, not all messages have the same effect on convergence. Furthermore, the complexity of the MPA algorithm is mainly influenced by the updating of RNs. Therefore, the converged branches are pruned according to the confidence stability of them at the end of each iteration, and the system factor graph is dynamically shrunken to effectively reduce the computational complexity. Secondly, a CRC early stopping criterion is added at the end of each iteration, which significantly avoids the convergence error caused by the decoding deviation.

Joint Detection and Decoding Scheme Based on Pruning Iteration PI-JDD
Each iteration of the PI-JDD algorithm mainly has two phases: during the first phase, the RNs are updated sequentially, and the message confidence stability → of all branches belonging to the RNs are calculated in two adjacent iterations. In the next iteration, the branch with the largest → is removed from the factor graph, and does not perform the updating of this RN anymore. In the next phase, the updated messages from the RNs are de-interleaved and then the polar decoder is input as a prior probability for SCAN decoding. The soft message output by the polar decoder is used as a prior message for the RNs updating. The message updating process for the first three iterations is shown in Figure 3.

RNs Update
The message updating from RN k to user node j in the t-th iteration can be calculated as: where ε denotes the users occupied on the k-th RN, and adopts the factor matrix which is updated after the (t−1)-th iteration, i ≠ j, i∈ε ,j∈ε . [] and [] represent the messages before and after the RN updates the message, respectively.
The message confidence stability from resource k to user j in the t-th iteration is defined as → : The branch with the largest → is the branch closest to convergence, which indicates that this branch did not generate effective update messages during this iteration and was removed from the factor graph in the next iteration, as shown the dashed line in Figure 3. For the first iteration, the original factor graph was used since the branch convergence rate could not be distinguishable. The output probability of each user's codeword can be expressed as: where represents the RNs occupied by user j. According to the SCMA mapping relationship, the bit message of user j is denoted as: Then, the LLR message of SCMA is de-interleaved and the LLR message of SCMA is de-interleaved and input to the SCAN decoder, denoted by:

SCAN Decoding
The message passing process of the polar decoder is performed on the factor graph shown in Figure 4. Each node on the factor graph of the SCAN algorithm propagates two types of LLR information L , and R , . L , and R , represent the LLR message passed to the left and right of the factor graph by node (s, t), respectively, where s = 0,1,…n, n = log ( ), denotes the column index and t = 0,1,…N−1, represents the row index, as shown the unit factor graph in Figure 5.  The LLR message of user J is initialized once it is input into the SCAN decoder. The left message is initialized as , , and the initialization of the right message , is defined as follows: where I denotes the set of information bits, denotes the set of frozen bits. The left and right messages are transmitted on the factor graph, and the message updating formula is shown as the following equation: where ( , ) ≈ ( ) × ( ) × (| |, | |). After the SCAN factor graph has been updated one iteration, the messages are interleaved and then input to the SCMA detector, denoted as: similar. а is the weight factor, whose value depends on the code rate [17]. The SCMA detector transforms the LLR message into symbol probability for the next iteration, which is expressed as: where , ∈ {0,1}.

Joint Optimization Scheme for Joint Detection and Decoding PIC-JDD
During the process of joint detection and decoding, the codeword tends to converge as the iteration continues. However, in the case of low SNR, some codewords will deviate from the correct codeword with the continuation of iteration after reaching the correct codeword, which is called the convergence error. Therefore, a CRC early termination mechanism is added at the end of each iteration to lock the correct codeword in time and stop it from going on to subsequent iterations. As shown in Figure 6, a CRC decoder is added after the joint iterative detection and decoding system to check the correctness of the decoded codes. If the CRC check passes, the iteration process can be directly exited to avoid subsequent redundant iterations and effectively reduce the risk of decoding deviation. Otherwise, the iteration will continue until the maximum number of iterations is reached. CRC check needs to concatenate a CRC code after the polar code, thus it needs to sacrifice a small part of the code rate, but it can avoid the convergence error caused by the decoding deviation, and obtain a significant improvement in error performance. At the same time, exiting the iteration ahead of time can also save the computational complexity brought by redundant iteration. In this paper, when N = 256, the CRC code with a length of 8; when N = 1024, the CRC code with a length of 10. The system model with a CRC termination mechanism is shown in Figure 6. PIC-JDD is an optimization scheme for the receiver of PC-SCMA which combines PI-JDD with CRC early stopping criterion. During each iteration, the confidence stability of every branch in the RN update process is judged, and the convergent branches are pruned, then the factor graph used in the next iteration is dynamically updated. Then, the updated message of the RN is directly mapped to the polar decoder prior message for SCAN decoding. Finally, a CRC check is added at the end of each iteration of PI-JDD. If the check passes, the codeword will be output directly. Otherwise, the joint iteration will continue until the maximum number of iterations is reached. The flowchart of the PIC-JDD is shown in Figure 7.

Computational Complexity
In this section, we first explain the computational complexity of the C-JIDD, and then compare and analyze the complexity of the proposed joint algorithm PIC-JDD and the traditional S-JIDD algorithm.
The C-JIDD algorithm needs to add a CRC check operation at the end of each round of iteration compared with the S-JIDD algorithm, only XOR operation is needed during the CRC check. In the process of joint iterative detection and decoding, CRC checks the decoding results of each iteration, and if the CRC check is passed, it will output the iteration directly and automatically. However, it is uncertain when the specific iteration passes the CRC check and exits. In addition, different numbers of XOR operations are required for different codewords. While, exiting the iteration in advance can save computation complexity brought by redundant iteration. For example, when the code length N = 256, the number of adders required per iteration is 5996, as shown in Table 1. Only one CRC check is added at the end of each iteration, and the maximum XOR operation required for CRC check is (N×R + 8) ×G, where G denotes the length of generated polynomial and the value is 9, and R = 0.47 is the code rate. That is, the maximum XOR operation to be added into each iteration is 1152, which is 19.2% of the adder. Similarly, when N = 1024, the maximum XOR operation required for each round of CRC check is 26.4% of the adder. However, the addition and multiplication operations saved by exiting the iteration early are much larger than the added XOR operation. Therefore, we consider the complexity burden caused by CRC check can be ignored in this paper.
The complexity of joint detection and decoding algorithm for PC-SCMA is mainly affected by the updating process of the RNs and the length of polar code. Compared with the S-JIDD, the PIC-JDD decreases the computational complexity by eliminating the most stable branch, so that it no longer participates in RN updating, and dynamically shrinking the factor graph performed in the next iteration. Table 1 describes the complexity of the two algorithms in addition, multiplication, and comparison operations, where T denotes the maximum number of iterations and is the number of users occupied in each RN. Figure 8 shows the complexity comparison between the PIC-JDD algorithm proposed in this paper and the S-JIDD algorithm when T = 7 and the code length N is 256 and 1024, respectively. It can be seen that the PIC-JDD algorithm has a significant reduction in addition and multiplication computations than S-JIDD. When N = 256, the number of adders in PIC-JDD and S-JIDD are 20,796 and 41,972, and when N = 1024, the number of multipliers are 66,048 and 87,808, respectively. The PIC-JDD saves about 50% adders and 24% multipliers. In addition, compared with the S-JIDD algorithm, a comparison operation is added in the pruning process in PIC-JDD, and the comparison times under both the two code lengths are 72, this is a relatively small computation. The reason why is that during the RN updating, the branch with the largest confidence stability in the previous iterations is pruned from the next iteration to avoid redundant update and which effectively reduces the computational complexity.

Numerical Results
In this section, numerical simulation examples are provided and analyzed to validate the error performance of the proposed schemes under different code lengths. Parameter settings are shown in Table 2:  Figures 9 and 10 show the BER performance curves with code length N = 256 and N = 1024 when the number of iterations is 5 and 7, respectively. As can be seen from Figure 9, the BER performance curves of PI-JDD scheme almost coincide with the traditional S-JIDD algorithm in the low Eb/N0 region (1-3 dB) with the code length of 256. With the increase of Eb/N0, there is only a performance loss of less than 5.01 × 10 between the PI-JDD and S-JIDD, the reason why is that the interference between users increases with the increase of signal power. In addition, it can also be seen from Figure 10 that the PI-JDD BER performance suffers a slight loss when N = 1024 with iterations 5 and 7. This is because not all branches participate in each update process during the iteration, which effectively avoids redundant computation. Combined with Figure 8 and its conclusions, the PI-JDD algorithm proposed in this paper can effectively reduce the computational complexity under the condition of a slight loss of error performance.   Figure 11 depicts BER performance curves of the S-JIDD and C-JIDD with a code length of N = 256. It is obvious that the performance of the C-JIDD is superior to the traditional algorithm under the same iteration times, since the early stopping criterion can overcome the convergence error caused by decoding deviation by locking the correct codes timely. When Eb/N0 = 4 and the iteration times is 5, the BER of the S-JIDD algorithm is 8.45 × 10 , while that of C-JIDD is 7.68 × 10 .The bit error rate reduced by more than an order of magnitude. It is notable that when N = 256, the performance in three iterations of C-JIDD is better than that of the S-JIDD five iterations, because the adding of CRC termination mechanism can effectively reduce the number of decoding deviations caused by too low SNR. The gap will gradually decrease with the increase of SNR. It can also be seen from the figure that when BER = 1.53 × 10 and five iterations, this paper has a 0.54 dB gain compared with the S-JIDD. When N = 1024, the BER performance comparison is shown in Figure 12. Similar to the performance comparison above, the BER of the C-JIDD is lower than that of the original S-JIDD algorithm under the same conditions. When Eb/N0 = 3 and three iterations, the BER of the S-JIDD algorithm is 1.74 × 10 , while that of the C-JIDD is 4.01 × 10 . It is also notable that the BER in three iterations of the proposed C-JIDD is lower than the BER of the S-JIDD in five iterations. Similarly, it can be seen from the figure that when BER = 5.98 × 10 and five iterations, this paper has a 0.32 dB gain compared with the traditional S-JIDD.

BER Performance Analysis of PIC-JDD
Simulation results of the joint optimization algorithm PIC-JDD which combines PI-JDD with C-JIDD are shown in Figures 13 and 14. BER performance comparison with code length N = 256 under five and seven iterations is shown in Figure 13. It can be seen that the BER performance of proposed PIC-JIDD algorithm is superior to that of the original algorithm under the two iterations. When Eb/N0 = 4.5 and seven iterations, the BER of S-JIDD algorithm is 1.1 × 10 , while that of this paper is 7.74 × 10 , the error performance has a significant improvement. Specifically, when N = 256, the BER performance in five iterations of the PIC-JDD is better than that of the S-JIDD in seven iterations.  Figure 14 shows the BER performance curves of the several algorithms with N = 1024. It can also be seen that the BER performance of the PIC-JDD proposed in this paper is better than that of the traditional S-JIDD algorithm under the two iteration times. When Eb/N0 = 2.6 and five iterations, the BER of the S-JIDD algorithm is 6.9 × 10 , while that of the PIC-JDD is 1.9 × 10 . It is also worth noting that the BER performance of the five iterations in this paper is better than that of the S-JIDD in seven iterations. Specially, the BER performance of the PIC-JDD in five iterations is much better than that of the joint algorithm combining MPA and the BP with 500 iterations under the two code lengths [16].

Discussion and Conclusions
In this paper, we proposed a joint detection and decoding algorithm PI-JDD for PC-SCMA system based on pruning iteration. Compared with the traditional S-JIDD scheme, the PI-JDD can effectively reduce the computational complexity by dynamically shrinking the factor graph involved in message updating while the error performance remains approximate. Furthermore, the proposed C-JIDD scheme locks the correct codes in time by adding an early termination mechanism during the iteration, which can use three iterations to reach the same error performance of traditional algorithm in five iterations. Finally, we combined the two proposed optimization algorithms, which reduces the multiplication operation by 25~45% under different code lengths, and at the same time reduces about an order of magnitude BER compared with the traditional algorithm. The proposed joint receiver can achieve a good trade-off between the computational complexity and BER performance.
Future work on this research could be extended in several directions: the application of the method in channel conditions other than AWGN should be further discussed. Then, system performance under different SCMA overloads should be investigated to further improve system throughput. Finally, the proposed algorithm can be further studied and applied to other joint systems which combine SCMA technology with other channel coding schemes.

Conflicts of Interest:
The authors declare no conflict of interest.