Next Article in Journal
Representation of Integers as Sums of Fibonacci and Lucas Numbers
Previous Article in Journal
Method of Calculating the Vertical Displacement and Additional Stress of Existing Tunnels under the Influence of Grouting Rings of New Tunnels
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

Xinjiang Key Laboratory of Signal Detection and Processing, College of Information Science and Engineering, Xinjiang University, Urumqi 830046, China
*
Author to whom correspondence should be addressed.
Symmetry 2020, 12(10), 1624; https://doi.org/10.3390/sym12101624
Submission received: 31 July 2020 / Revised: 26 September 2020 / Accepted: 29 September 2020 / Published: 1 October 2020
(This article belongs to the Section Computer)

Abstract

:
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.

1. 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.

1.1. 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.

1.2. 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 Section 4 and Section 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 x and C denotes complex numbers. x~cN ( μ , δ 2 ) indicates that the variable x follows the complex normal distribution with mean μ and variance δ 2 . · denotes the Euclidean norm of a vector and · means the absolute value of a scalar. ∏ and 1 represent the interleaving and de-interleaving operation, respectively. ε/j indicates the set ε with element j being excluded.

2. System Model

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 u j = u j , 1 , u j , 2 , , u j , I are encoded into polar codes c j = c j , 1 , c j , 2 , , c j , N . In order to reduce the interference caused by the burst errors in the system, the polar codes C = { c 1 , c 2 , , c J } are interleaved into b 1 , b 2 , , b J and then input to the SCMA encoder. Every Q bits set b j , 1 , b j , 2 , b j , Q is mapped to a M-dimension codeword of the SCMA codebook according to the mapping relationship: b j , 1 , b j , 2 , b j , Q x j , 1 , x j , 2 , x j , M , Q = log 2 M , x j , m C , 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.
A SCMA factor matrix with J = 6 and K = 4 can be denoted by:
F   =   0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0
The channel gain matrix for an uplink PC-SCMA system is expressed as:
H j l = h 1 , j l 0 0 0 0 h 2 , j l 0 0 0 0 0 0 0 0 h K , j l   =   diag   ( h 1 , j l , h 2 , j l , , h K , j l )
where h k , j l 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:
y l = j = 1 J H j l x j l + z l
where 1 l L =   N / Q , y l = y 1 l , y 2 l , y M l T .   x j l = x j , 1 l , x j , 2 l , , x j , M l T is the l-th SCMA codes of user j.   z l = z 1 l , z 2 l , z M l T represents the additive Gaussian noise vector in the channel and z l ~ cN (0, δ 2 ).

3. 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.

3.1. 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 S r k u j of all branches belonging to the RNs are calculated in two adjacent iterations. In the next iteration, the branch with the largest S r k u j 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.

3.1.1. RNs Update

The message updating from RN k to user node j in the t-th iteration can be calculated as:
P r k u j t x j l = max ~ x j { 1 2 σ 2 y k l v ϵ ε k h k v l x k v l + P t 1 x i l n e w P r k u i t 1 x i l + o ε k / i , j   P t 1 x o l o l d P r k u o t 1 x o l }
where ε k denotes the users occupied on the k-th RN, and adopts the factor matrix F t 1 which is updated after the (t−1)-th iteration, ij, i ε k ,j ε k . [ ] o l d and [ ] n e w 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 S r k u j t :
S r k u j t = 1 x j χ j P r k u j t x j P r k u j t 1 x j
The branch with the largest S r k u j t 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:
P e S x j l = p ζ j P r p u j t m a x x j l
where ζ j represents the RNs occupied by user j.
According to the SCMA mapping relationship, the bit message of user j is denoted as:
P e , S C M A B b j , l 1 Q + m = 0 = x j , 0 l { x j l | q j , m = 0 } P e s x j , 0 l ,   1     m     Q
P e , S C M A B b j , l 1 Q + m = 1 = x j , 1 l { x j l | q j , m = 1 } P e s x j , 1 l ,   1     m     Q
where { x j l | q j , m = 0 } and { x j l | q j , m = 1 } denote the codewords that satisfy the mapping function { f i : q j , 1 , , q j , m 1 , 0 , q j , m + 1 , , q j , Q ) x j l } and { f i : q j , 1 , , q j , m 1 , 1 , q j , m + 1 , , q j , Q ) , respectively.
The log-likelihood ratios (LLR) of each bit message can be calculated as:
L e , SCMA B b j , l 1 Q + m = l o g P e , S C M A B b j , l 1 Q + m = 0   P e , S C M A B b j , l 1 Q + m = 1
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:
L a , p o l a r B c j = 1 L e , S C M A B b j

3.1.2. 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 s , t and R s , t . L s , t and R s , t 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 2 N , 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 L a , polar B , and the initialization of the right message R n , t j is defined as follows:
R n , t j = 0 ,           t I ,           t I C
where I denotes the set of information bits,   I C 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:
L s + 1 , t 2 j = f R s + 1 , t 3 j + L s , t 1 j , L s , t 0 j L s + 1 , t 3 j = f R s + 1 , t 2 j , L s , t 0 + L s , t 1 j R s , t 0 j = f R s + 1 , t 2 j , R s + 1 , t 3 + L s , t 1 j R s , t 0 j = R s + 1 , 2 j + f R s + 1 , t 2 , L s , t 0 j
where f a , b s i g n a × s i g n b × m i n a , b .
After the SCAN factor graph has been updated one iteration, the messages are interleaved and then input to the SCMA detector, denoted as:
L a , S C M A B c j , l 1 Q + m = L e , p o l a r B c j , l 1 Q + m =   R 0 , c j , l 1 Q + m + a R 0 , c j , l 1 Q + m ¯ L 0 , c j , l 1 Q + m ¯ L 0 , c j , l 1 Q + m
where R 0 , c j , l 1 Q + m ¯ denotes the average value of R 0 , c J , l 1 Q + m and the meaning of L 0 , c j , l 1 Q + m ¯ is similar. a 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:
P p , S C M A B c j , l 1 Q + m = q j , m = L a , S C M A B c j , l 1 Q + m 1 q j , m 1 + L a , S C M A B c j , l 1 Q + m
and
P x j l = m = 1 Q P p , S C M A B c j , l 1 Q + m = q j , m
where q j , m ∈ {0,1}.

3.2. 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.

4. 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 d f 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.

5. 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:

5.1. BER Performance Analysis of PI-JDD

Figure 9 and Figure 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 4 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.

5.2. BER Performance Analysis of C-JIDD

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 3 , while that of C-JIDD is 7.68 × 10 4 .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 3 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 3 , while that of the C-JIDD is 4.01 × 10 4 . 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 4 and five iterations, this paper has a 0.32 dB gain compared with the traditional S-JIDD.

5.3. 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 Figure 13 and Figure 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 3 , while that of this paper is 7.74 × 10 5 , 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 2 , while that of the PIC-JDD is 1.9 × 10 2 . 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].

6. 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.

Author Contributions

Conceptualization, Y.Z. and W.G.; methodology, Y.Z., P.Z., W.G. and M.G.; software, Y.Z. and P.Z.; validation, Y.Z. and W.G.; formal analysis, Y.Z.; investigation, Y.Z., G.Z. and M.G.; resources, W.G.; data curation, Y.Z. and P.Z.; original draft preparation, Y.Z., G.Z. and W.G.; supervision, W.G.; project administration, W.G.; funding acquisition, W.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Key Program of Scientific Research Plan of Universities in Xinjiang Uygur Autonomous Region of China, grant number XJEDU2020I003.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Arikan, E. Channel Polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels. IEEE Trans. Inf. Theory 2009, 55, 3051–3073. [Google Scholar] [CrossRef]
  2. Nikopour, H.; Baligh, H. Sparse code multiple access. In Proceedings of the 2013 IEEE 24th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), London, UK, 8–11 September 2013; pp. 332–336. [Google Scholar]
  3. Taherzadeh, M.; Nikopour, H.; Bayesteh, A.; Baligh, H. SCMA Codebook design. In Proceedings of the 2014 IEEE 80th Vehicular Technology Conference (VTC2014-Fall), Vancouver, BC, Canada, 14–17 September 2014; pp. 1–5. [Google Scholar]
  4. Peng, X.; Pan, Z.; Lai, K.; Wen, L.; Lei, J. Low complexity receiver of sparse code multiple access based on dynamic trellis. IET Commun. 2020, 14, 1420–1427. [Google Scholar] [CrossRef]
  5. Tan, Y.; Gao, Z.; Guo, S.; Gao, F. A dynamic multiuser detection scheme for uplink SCMA system. In Proceedings of the 2017 IEEE 17th International Conference on Communication Technology (ICCT), Chengdu, China, 27–30 October 2017; pp. 631–635. [Google Scholar]
  6. Du, Y.; Dong, B.; Wang, X. Multiuser detection scheme for SCMA systems based on serial strategy. Electron. Inf. Technol. 2016, 38, 1888–1893. [Google Scholar] [CrossRef]
  7. Arikan, E.; Telatar, E. On the rate of channel polarization. In Proceedings of the 2009 IEEE International Symposium on Information Theory, Seoul, Korea, 28 June–3 July 2009; pp. 1493–1495. [Google Scholar] [CrossRef]
  8. Hassani, S.H.; Urbanke, R. Polar codes: Robustness of the successive cancellation decoder with respect to quantization. In Proceedings of the 2012 IEEE International Symposium on Information Theory, Cambridge, MA, USA, 1–6 July 2012; pp. 1962–1966. [Google Scholar]
  9. Tal, I.; Vardy, A. List Decoding of polar codes. IEEE Trans. Inf. Theory 2015, 61, 2213–2226. [Google Scholar] [CrossRef]
  10. Niu, K.; Chen, K. Stack decoding of polar codes. Electron. Lett. 2012, 48, 695. [Google Scholar] [CrossRef]
  11. Chen, K.; Niu, K.; Lin, J. Improved successive cancellation decoding of polar codes. IEEE Trans. Commun. 2013, 61, 3100–3107. [Google Scholar] [CrossRef] [Green Version]
  12. Arkan, E. A performance comparison of polar codes and Reed-Muller codes. IEEE Commun. Lett. 2008, 12, 447–449. [Google Scholar] [CrossRef]
  13. Elkelesh, A.; Ebada, M.; Cammerer, S.; Brink, S.T. Belief propagation decoding of polar codes on permuted factor graphs. In Proceedings of the 2018 IEEE Wireless Communications and Networking Conference (WCNC), Barcelona, Spain, 15–18 April 2018; pp. 1–6. [Google Scholar]
  14. Lin, J.; Yan, Z.; Wang, Z. Efficient soft cancelation decoder architectures for polar codes. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2017, 25, 87–99. [Google Scholar] [CrossRef]
  15. Fayyaz, U.U.; Barry, J.R. Polar codes for partial response channels. In Proceedings of the 2013 IEEE International Conference on Communications (ICC), Budapest, Hungary, 9–13 June 2013; pp. 4337–4341. [Google Scholar]
  16. Fu, J.; Zhang, J.; Wang, J. Joint detection and decoding technology of SCMA and polarization code. Appl. Res. Comput. 2019, 36, 2739–2742. [Google Scholar] [CrossRef]
  17. Pan, Z.; Li, E.; Zhang, L.; Lei, J.; Tang, C.J. Design and optimization of joint iterative detection and decoding receiver for uplink polar coded SCMA system. IEEE Access 2018, 6, 52014–52026. [Google Scholar] [CrossRef]
  18. Zhang, Y.; Ge, W.; Zhang, P.; Gao, M. The optimization scheme for joint iterative detection and decoding of polar coded SCMA system. Opt. Fiber Technol. 2020, 58, 102283. [Google Scholar] [CrossRef]
  19. Miao, J.; Hu, X.; Zhao, Z. A Low Complexity Multiuser Detection Scheme with Dynamic Factor Graph for Uplink SCMA Systems. In Proceedings of the 2019 IEEE/CIC International Conference on Communications Workshops in China (ICCC Workshops), Changchun, China, 11–13 August 2019; pp. 846–851. [Google Scholar]
  20. Sun, S.; Cho, S.-G.; Zhang, Z. Error patterns in belief propagation decoding of polar codes and their mitigation methods. In Proceedings of the 2016 50th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, USA, 6–9 November 2016; pp. 1199–1203. [Google Scholar]
  21. Yuan, B.; Parhi, K.K. Early stopping criteria for energy-efficient low-latency belief-propagation polar code decoders. IEEE Trans. Signal. Process. 2014, 62, 6496–6506. [Google Scholar] [CrossRef]
  22. Nikopour, H.; Yi, E.; Bayesteh, A.; Au, K.; Hawryluck, M.; Baligh, H.; Ma, J. SCMA for downlink multiple access of 5G wireless networks. In Proceedings of the 2014 IEEE Global Communications Conference, Austin, TX, USA, 18–12 December 2014; pp. 3940–3945. [Google Scholar]
  23. Han, Y.; Zhou, W.; Zhao, M.; Zhou, S.; Zhoua, S. Enabling high order SCMA systems in downlink scenarios with a serial coding scheme. IEEE Access 2018, 6, 33796–33809. [Google Scholar] [CrossRef]
  24. Zhang, Y.; Wang, X.; Wang, D.; Zhang, Y.; Lan, Y. BER performance of multicast SCMA systems. IEEE Wirel. Commun. Lett. 2019, 8, 1073–1076. [Google Scholar] [CrossRef]
  25. Wu, Y.; Zhang, S.; Chen, Y. Iterative multiuser receiver in sparse code multiple access systems. In Proceedings of the 2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 2918–2923. [Google Scholar]
  26. Hagenauer, J.; Görtz, N. The turbo principle in joint source-channel coding. In Proceedings of the 2003 IEEE Information Theory Workshop (Cat. No.03EX674), Paris, France, 31 March–4 April 2003; pp. 275–278. [Google Scholar]
  27. Wang, X.; Poor, H. Iterative (turbo) soft interference cancellation and decoding for coded CDMA. IEEE Trans. Commun. 1999, 47, 1046–1061. [Google Scholar] [CrossRef] [Green Version]
  28. Sanderovich, A.; Peleg, M.; Shamai, S. LDPC coded MIMO multiple access with iterative joint decoding. IEEE Trans. Inf. Theory 2005, 51, 1437–1450. [Google Scholar] [CrossRef]
  29. Ren, B.; Han, S.; Meng, W.; Li, C.; Wu, X.; Sha, X. Enhanced turbo detection for SCMA based on information reliability. In Proceedings of the 2015 IEEE/CIC International Conference on Communications in China (ICCC), Shenzhen, China, 2–4 November 2015; pp. 1–5. [Google Scholar]
  30. Zhang, Z.; Han, K.; Hu, J.; Chen, J. Joint Detection and Decoding Schemes for Turbo Coded SCMA Systems. In Proceedings of the 2016 IEEE Globecom Workshops (GC Wkshps), Washington, DC, USA, 4–8 December; pp. 1–6. [CrossRef]
  31. Narasimhan, T.L.; Chockalingam, A. EXIT chart based design of irregular LDPC codes for large-MIMO systems. IEEE Commun. Lett. 2012, 17, 115–118. [Google Scholar] [CrossRef]
  32. Narasimhan, T.L.; Chockalingam, A.; Rajan, B.S. Factor graph based joint detection/decoding for LDPC coded large-MIMO systems. In Proceedings of the 2012 IEEE 75th Vehicular Technology Conference (VTC Spring), Yokohama, Japan, 6–9 May 2012; pp. 1–5. [Google Scholar]
  33. Kurkoski, B.; Siegel, P.; Wolf, J. Joint message-passing decoding of LDPC codes and partial-response channels. IEEE Trans. Inf. Theory 2002, 48, 1410–1422. [Google Scholar] [CrossRef] [Green Version]
  34. Wen, L.; Su, M. Joint sparse graph over GF (q) for code division multiple access systems. IET Commun. 2015, 9, 707–718. [Google Scholar] [CrossRef]
  35. Xiao, B.; Xiao, K.; Zhang, S.; Chen, Z.; Xia, B.; Liu, H.; Baicen, X.; Kexin, X.; Shutian, Z.; Zhiyong, C. Iterative detection and decoding for SCMA systems with LDPC codes. In Proceedings of the 2015 International Conference on Wireless Communications & Signal Processing (WCSP), Nanjing, China, 15–17 October 2015; pp. 1–5. [Google Scholar]
  36. Han, K.; Zhang, Z.; Hu, J.; Chen, J. A High performance joint detection and decoding scheme for LDPC coded SCMA system. In Proceedings of the 2016 IEEE Globecom Workshops (GC Wkshops), Washington, DC, USA, 4–8 December 2016; pp. 1–6. [Google Scholar] [CrossRef]
  37. Sun, W.-C.; Su, Y.-C.; Ueng, Y.-L.; Yang, C.-H. An LDPC-coded SCMA receiver with multi-user iterative detection and decoding. IEEE Trans. Circuits Syst. I Regul. Pap. 2019, 66, 3571–3584. [Google Scholar] [CrossRef]
  38. Hao, Y.; Xiao, K.; Chen, Z.; Xia, B. Density evolution analysis of LDPC-coded SCMA systems. In Proceedings of the 2017 9th International Conference on Wireless Communications and Signal Processing (WCSP), Nanjing, China, 11–13 October 2017; pp. 1–6. [Google Scholar]
  39. Lai, K.; Wen, L.; Lei, J.; Xiao, P.; Maaref, A.; Imran, M. Sub-graph based joint sparse graph for sparse code multiple access systems. IEEE Access 2018, 6, 25066–25080. [Google Scholar] [CrossRef]
  40. Dai, J.; Niu, K.; Si, Z.; Lin, J. Evaluation and optimization of Gaussian approximation for polar codes. In Proceedings of the American Society for Information Science and Technology, St. Louis, MO, USA, 5–11 November 2015. [Google Scholar]
Figure 1. System model of polar coded sparse code multiple access PC-SCMA.
Figure 1. System model of polar coded sparse code multiple access PC-SCMA.
Symmetry 12 01624 g001
Figure 2. Message passing process of S-JIDD.
Figure 2. Message passing process of S-JIDD.
Symmetry 12 01624 g002
Figure 3. Message passing process based on pruning iteration.
Figure 3. Message passing process based on pruning iteration.
Symmetry 12 01624 g003
Figure 4. Factor graph of SCAN decoding with N = 8.
Figure 4. Factor graph of SCAN decoding with N = 8.
Symmetry 12 01624 g004
Figure 5. Unit factor graph of SCAN.
Figure 5. Unit factor graph of SCAN.
Symmetry 12 01624 g005
Figure 6. System model of PC-SCMA with CRC termination mechanism.
Figure 6. System model of PC-SCMA with CRC termination mechanism.
Symmetry 12 01624 g006
Figure 7. Flowchart of the PIC-JDD.
Figure 7. Flowchart of the PIC-JDD.
Symmetry 12 01624 g007
Figure 8. Comparison of computational complexity for different algorithms.
Figure 8. Comparison of computational complexity for different algorithms.
Symmetry 12 01624 g008
Figure 9. BER performance comparison of PI-JDD with N = 256.
Figure 9. BER performance comparison of PI-JDD with N = 256.
Symmetry 12 01624 g009
Figure 10. BER performance comparison of PI-JDD with N = 1024.
Figure 10. BER performance comparison of PI-JDD with N = 1024.
Symmetry 12 01624 g010
Figure 11. BER performance comparison of C-JIDD with N = 1024.
Figure 11. BER performance comparison of C-JIDD with N = 1024.
Symmetry 12 01624 g011
Figure 12. BER performance comparison of C-JIDD with N = 1024.
Figure 12. BER performance comparison of C-JIDD with N = 1024.
Symmetry 12 01624 g012
Figure 13. BER performance comparison of PIC-JDD with N = 256.
Figure 13. BER performance comparison of PIC-JDD with N = 256.
Symmetry 12 01624 g013
Figure 14. BER performance comparison of PIC-JDD with N = 1024.
Figure 14. BER performance comparison of PIC-JDD with N = 1024.
Symmetry 12 01624 g014
Table 1. The computational complexity of different algorithms.
Table 1. The computational complexity of different algorithms.
AlgorithmADDMULCOM
S-JIDD T × K × d f × M d f × 2 * d f 1 + 2 × M + d f + N × log ( N ) × T T × K × d f × M d f × d f + N × log ( N ) × T 0
PIC-JDD K × d f × M d f × 2 × d f 1 + ( T 1 ) × K × d f + K × ( d f 1 ) × M d f 1 × 2 * d f 1 + N × log ( N ) + T × K × d f × 2 × M + K × d f K × d f × M d f × d f + ( T 1 ) × d f × M ^ d f 1 × d f 1 + N × log N T 1 × K × d f
Table 2. Simulation parameters.
Table 2. Simulation parameters.
ParameterValue
Number of users J6
Size of codebook M4
Number of resources K4
System load λ150%
a (N = 256)0.6
a (N = 1024)0.4
Code rate R (N = 256)0.47
Code rate R (N = 1024)0.32
Channel modelAWGN
Construction mode of polar codeGaussian approximate

Share and Cite

MDPI and ACS Style

Zhang, Y.; Ge, W.; Zhang, P.; Gao, M.; Zhang, G. A Joint Detection and Decoding Scheme for PC-SCMA System Based on Pruning Iteration. Symmetry 2020, 12, 1624. https://doi.org/10.3390/sym12101624

AMA Style

Zhang Y, Ge W, Zhang P, Gao M, Zhang G. A Joint Detection and Decoding Scheme for PC-SCMA System Based on Pruning Iteration. Symmetry. 2020; 12(10):1624. https://doi.org/10.3390/sym12101624

Chicago/Turabian Style

Zhang, Yongxing, Wenping Ge, Pengju Zhang, Mengyao Gao, and Gecheng Zhang. 2020. "A Joint Detection and Decoding Scheme for PC-SCMA System Based on Pruning Iteration" Symmetry 12, no. 10: 1624. https://doi.org/10.3390/sym12101624

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop