Recently, facing the 5th generation (5G) requirements of high spectral efficiency and massive connections, non-orthogonal multiple access (NOMA) has received a lot of attention [1]. Sparse code multiple access (SCMA) is one of the candidates which combines the QAM mapper and the symbol spreader into a single block of SCMA encoder. Due to the sparsity of SCMA, the maximum a posterior probability (MAP) detection algorithm can be replaced by the message passing algorithm (MPA), which is able to reduce much complexity while achieving the approximate performance of MAP [2].
In practical situations, the SCMA system needs to employ channel coding to achieve the quality of service (QoS). These channel codes include Turbo codes, LDPC codes, and recently polar codes. However, separate detection and decoding is not optimal. Joint designs which enable to improve the performance by minimizing the messages loss at receivers have been studied.
Wu et al. [3] proposed an iterative detection and decoding (IDD) method for the Turbo coded SCMA system. The IDD method obtains some performance gain by consisting of independent inner iterations both in SCMA detector and Turbo decoder for each outer iteration, but the high complexity makes it infeasible in practical applications. In [4], also for Turbo coded SCMA system, the joint detection and decoding method (JDD), which is able to achieve better performance than IDD with lower complexity, was proposed. Xiao et al. [5] developed an IDD method for the LDPC coded SCMA system to yield some performance gain. The extrinsic messages are exchanged iteratively between detector and decoder. In [6], a JDD method is proposed for LDPC coded SCMA system, which achieves better performance compared to IDD.
However, these studies mainly focus on the LDPC coded or Turbo coded SCMA system. As polar code, the first channel code that provably achieve the capacity of memoryless symmetric channels [7] with low complexity, has been adopted for the enhanced mobile broadband (eMBB) control channels for the 5G New Radio (NR) interface, it’s necessary for us to investigate polar coded SCMA (PC-SCMA) system.
In [8], we proposed a joint iterative detection and decoding (JIDD) receiver for the uplink polar coded sparse code multiple access (PC-SCMA) system. In JIDD receiver, messages are exchanged between SCMA detector and polar decoder during each iteration. Note that different with [9], JIDD receiver only needs outer iterations and no inner iterations of constituent SCMA detector and polar decoder are needed. That is to say, SCMA detector outputs its extrinsic messages within one iteration and directly as the input a prior messages of polar decoder, and vice versa. Besides, we introduced a random interleaver between polar encoder and SCMA encoder which improves the performance further.
On the basis of [8], in this paper we firstly introduce the JIDD algorithm. Then, we use EXIT chart to get more insights into the inner massages passing in JIDD and investigate the convergence of JIDD receiver. Analysis of JIDD and the explanation that we introduce a weight factor \alpha
to JIDD are also given. Besides, we use EXIT chart to optimize \alpha
and the design \sigma
-value, which is the key parameter of the polar code construction methods (Gaussian Approximation method [10] or Bhattacharyya parameter bound method). Simulation results demonstrate that the JIDD receiver has better performance and lower complexity than the separate scheme. Specifically, when polar code length N = 256
and code rate R = 1/2
, JIDD outperforms the separate scheme 4.8dB and 6dB over AWGN channel and Rayleigh fading channel, respectively. When N = 1024
, R = 1/3
, JIDD receiver outperforms the separate scheme 3.4dB and 4.7dB over AWGN channel and Rayleigh fading channel, respectively. And under 150% system loading, JIDD only has 0.3dB performance loss compared with the single user uplink PC-SCMA over AWGN channel and 0.6dB performance loss over Rayleigh fading channel.
The main contributions of this paper are stated as follows. Firstly, a joint iterative detection and decoding algorithm for PC-SCMA system is proposed, which can provide the guidance on how to do the joint design for PC-SCMA system. It improves the performance of PC-SCMA system significantly while also save the complexity costs. Secondly, a weight factor is introduced to enhance the performance of PC-SCMA system further. This is due to the fact that the soft outputs of polar decoder are correlated with each other. The correlation can deteriorate the performance of the iterative system significantly. We find that we can decrease this correlation by adding partial a prior information to the soft outputs of the polar decoder and thus can improve the performance. Thirdly, we use EXIT chart to optimize the weight factor design. Meanwhile, the convergence of the system is also analyzed by using the EXIT chart. The validity of the EXIT chart is also verified by the simulation results. Finally, as the polar code is correlated with the application circumstance, such as the channel type, decoding method, we use the EXIT chart to help search for the best design parameter for polar code construction optimization. Also, the validity of using EXIT chart for polar code construction optimization is verified by the simulation results.
The remainder of this paper is organized as follows. Section II introduces the PC-SCMA system model. Section III provides the details of joint iterative detection and decoding algorithm. Convergence analysis and polar code construction based on EXIT chart analysis are provided in section IV. Optimal design for weight factor \alpha
is also discussed in this section. Section V presents some simulation results, and conclusions are made in Section VI.
SECTION II.
Polar Coded SCMA System Model
Fig. 1 shows the uplink polar coded SCMA system. Information bits of I
users \mathbf {U} = \{\mathbf {u}^{1},\mathbf {u}^{2},\cdots,\mathbf {u}^{I}\}
are encoded to \mathbf {C} = \{\mathbf {c}^{1},\mathbf {c}^{2},\cdots,\mathbf {c}^{I}\}
by the polar encoder, where for each user i, 1\le i \le I
, its information bits are \mathbf {u}^{i} = \{u^{i}_{1},u^{i}_{2},\cdots,u^{i}_{m}\}
and its coded bits are \mathbf {c}^{i} = \{c^{i}_{1},c^{i}_{2},\cdots,c^{i}_{N}\}
. Then, each user’s codeword is interleaved, which denoted by \{\mathbf {b}^{1},\mathbf {b}^{2},\cdots,\mathbf {b}^{I}\}
. The random interleaver can decrease the correlation of the adjacent word bits of the polar code which will deteriorate the performance of the system significantly. The effect of the interleaver will be analyzed thoroughly in Section IV-B. Supposing the constellation size of SCMA is M
, then every Q = \log _{2}(M)
bits of \mathbf {b}^{i}
are grouped and mapped to a J
-dimensional complex codeword \mathbf {x}^{i} = \{x_{1}^{i},x_{2}^{i},\cdots,x_{J}^{i}\}
by the SCMA encoder. Thus, the overall number of SCMA codewords is L = N/Q
.
Since the SCMA codewords have J
-dimensions, and each codeword consists of the symbols of I
-users, the overloading factor of SCMA is I/J
. For user i
, the SCMA encoder mapping function g_{i}
can be defined as g_{i}:\{b_{1}^{i},b_{2}^{i},\cdots,b_{Q}^{i}\} \to \{x_{1}^{i},x_{2}^{i},\cdots,x_{J}^{i}\}
, where x_{j}^{i} \in \mathbb {C}
. Note that each codeword of SCMA is sparse, and the elements to be zero or non-zero can be depicted as a indicator matrix or a factor graph. As shown in Fig. 2, an SCMA factor graph with 6 variable nodes (VNs) representing users/layers and 4 function nodes (FNs) representing resources is illustrated. The corresponding indicator matrix is denoted as \begin{equation*} {\mathbf {F}} = \left [{ {\begin{array}{*{20}{c}} 0& 1& 1& 0& 1& 0\\ 1& 0& 1& 0& 0& 1\\ 0& 1& 0& 1& 0& 1\\ 1& 0& 0& 1& 1& 0 \end{array}} }\right]\tag{1}\end{equation*}
View Source
\begin{equation*} {\mathbf {F}} = \left [{ {\begin{array}{*{20}{c}} 0& 1& 1& 0& 1& 0\\ 1& 0& 1& 0& 0& 1\\ 0& 1& 0& 1& 0& 1\\ 1& 0& 0& 1& 1& 0 \end{array}} }\right]\tag{1}\end{equation*}
In uplink polar coded SCMA system, we assume that the channel gains matrix between the base station and user i
at the l
-th block is denoted as \begin{align*} \mathbf {H}_{l}^{i}=&{\left [{ {\begin{array}{*{20}{c}} {h_{l,1}^{i}}& {}& {}& {}\\ {}& {h_{l,2}^{i}}& {}& {}\\ {}& {}& \ddots & {}\\ {}& {}& {}& {h_{l,J}^{i}} \end{array}} }\right] } \\= \,\, &{\text {diag}(h_{l,1}^{i},h_{l,2}^{i}\cdots,h_{l,J}^{i})}\tag{2}\end{align*}
View Source
\begin{align*} \mathbf {H}_{l}^{i}=&{\left [{ {\begin{array}{*{20}{c}} {h_{l,1}^{i}}& {}& {}& {}\\ {}& {h_{l,2}^{i}}& {}& {}\\ {}& {}& \ddots & {}\\ {}& {}& {}& {h_{l,J}^{i}} \end{array}} }\right] } \\= \,\, &{\text {diag}(h_{l,1}^{i},h_{l,2}^{i}\cdots,h_{l,J}^{i})}\tag{2}\end{align*}
where h_{l,j}^{i}
represents the channel gain between user i
and resource j
at the l
-th block. Consequently, at the receiver, the l
-th received symbols can be written as \begin{equation*} \mathbf {y}_{l} = \sum \limits _{i=1}^{I}{\mathbf {H}_{l}^{i} \mathbf {x}_{l}^{i}}+\mathbf {z}_{l}\tag{3}\end{equation*}
View Source
\begin{equation*} \mathbf {y}_{l} = \sum \limits _{i=1}^{I}{\mathbf {H}_{l}^{i} \mathbf {x}_{l}^{i}}+\mathbf {z}_{l}\tag{3}\end{equation*}
where 1 \leq l \leq L=N/Q
, \mathbf {y}_{l} = [y_{l,1},y_{l,2},\cdots,y_{l,J}]^{T}
, and \mathbf {x}_{l}^{i}=[x_{l,1}^{i}, x_{l,2}^{i},\cdots, x_{l,J}^{i}]^{T}
denotes the l
-th SCMA codeword of user i
. \mathbf {z}_{l} = [z_{l,1},z_{l,2},\cdots,z_{l,J}]^{T}
is the additive Gaussian noise, which is subjected to CN(0,N_{0}\mathbf {I})
.
Intuitively, at receiver, we can perform SCMA multiuser detection firstly, and then decode polar codes. We call this scheme the separate scheme. In separate scheme, we can use MPA for SCMA multi-user detection and soft-input-hard-output (SIHO) algorithm, such as Successive Cancellation (SC) [7], (Successive Cancellation List) SCL [11], (CRC-Aided SCL) CA-SCL [11], [12] decoding algorithm or (SISO) algorithm, such as belief propagation (BP) [13], soft cancellation (SCAN) algorithm [14] for polar decoding.
However, as the separate scheme is unable to make the most of internal messages of SCMA detector and polar decoder, the performance of this theme is undesirable. Thus, in this paper, we design a JIDD receiver shown in Fig. 1.
As shown in Fig. 1, the output extrinsic messages of SCMA L^{i}_{E_{1}}, 1\le i\le I
are de-interleaved and used as the input a prior messages of polar decoder, denoted as L^{i}_{A_{2}}, 1\le i\le I
. The output extrinsic messages of the polar decoder L^{i}_{E_{2}}, 1\le i\le I
is then interleaved and used as the input a prior messages of the SCMA detector, denoted as L^{i}_{A_{1}}, 1\le i\le I
. After several iterations, the receiver converges and outputs each user’s decoded information bits \hat {\mathbf {u}}^{1},\hat {\mathbf {u}}^{2},\cdots,\hat {\mathbf {u}}^{I}
. The details of JIDD algorithm are described in section III. Note that in JIDD receiver, in order to iteratively exchange their messages between the constituent SCMA detector and polar decoder, they must be SISO. And for SISO polar decoding algorithm, the SCAN algorithm has the same complexity per iteration as the BP algorithm but converges fast and needs less memory. Therefore, in this paper, we mainly focus on the SCAN decoding algorithm.
SECTION III.
Joint Iterative Detection and Decoding Receiver
In this section, the joint factor graph of uplink polar coded SCMA system is constructed and the details of JIDD algorithm are presented.
A. Joint Factor Graph for Polar Coded SCMA System
In JIDD, the factor graph of SCMA encoder and polar encoder are combined into a joint factor graph. An example of joint factor graph with \text {VNs}=6
, \text {FNs}=4
and polar code length N = 8
is shown in Fig. 3. L
SCMA detectors calculate the extrinsic messages of the SCMA codewords of all users, then the messages are demapped into a prior messages of each user’s polar decoder. After polar decoders return the extrinsic messages of each user’s polar codeword, they are mapped to a prior messages of L
SCMA codewords, which will be passed to the SCMA detectors again. Up to now, one iteration of message passing is completed, and another iteration will be performed until the receiver goes for convergence. Note that there are no inner iterations of SCMA detector and polar decoder, and only outer iterations are needed in JIDD.
For conveniently describing the JIDD algorithm, we denote some notations firstly. The messages passing from function node f_{j}
to variable node v_{i}
and the messages passing from variable node v_{i}
to function node f_{j}
are denoted as I_{f_{j} \to v_{i}}
and I_{v_{i} \to f_{j}}
, respectively. \{ \mathbf {S}_{i}^{v} \}
denotes the set of function nodes that connect to variable node v_{i}
, and \{\mathbf {S}_{j}^{f}\}
denotes the set of variable nodes that connect to function node f_{j}
. \{\mathbf {S}_{i}^{v} \backslash j\}
and \{\mathbf {S}_{j}^{f} \backslash i\}
denote excluding function node f_{j}
from the set of \{\mathbf {S}_{i}^{v}\}
and excluding variable node v_{i}
from the set of \{\mathbf {S}_{j}^{f}\}
, respectively. The priori information of the l
-th SCMA codeword for user i~\mathbf {x}_{l}^{i}
is denoted as P(\mathbf {x}_{l}^{i})
.
B. Message Passing Algorithm
The message passing process is mainly composed of FN Nodes update process, priori information update process and VN Nodes update process. In FN Nodes update process, the FN nodes update their information based on the received signals from the channel and pass the information to the neighboring VN nodes. This process is shown as the step ① in Fig. 3. The priori information update process is shown as the step ② to ⑤ in Fig. 3. In this process, the output extrinsic information of the FN Nodes update process is passed to the polar decoder. Then, a priori information of the VN nodes is calculated based on the output extrinsic messages of polar decoder. The VN Nodes update process which is the last process of one JIDD iteration is shown as the step ⑥ in Fig. 3,. In this process, the VN nodes update their information and pass it to the neighboring FN nodes. The details of these 3 processes are described as follows.
1) FN Nodes Update Process
Once the receiver receives signals, the FN node f_{j}
of the SCMA detector will update its information and pass it to its neighboring VN nodes. The messages pass from FN node f_{j}
to neighboring VN node v_{i}
can be expressed as \begin{align*} I_{f_{j} \to v_{i}}(\mathbf {x}^{i}_{l})=&\sum \limits _{\mathbf {x}^{p}_{l},p \in \{\mathbf {S}_{j}^{f} \backslash i\}} \bigg \lbrace P(y_{l,j} \vert \mathbf {x}_{l}^{i},\mathbf {x}_{l}^{p},p \in \{\mathbf {S}_{j}^{f} \backslash i\}) \\& \left.{ \cdot \, \prod \nolimits _{p \in \{\mathbf {S}_{j}^{f} \backslash i\}}I_{v_{p} \to f_{j}}(\mathbf {x}_{l}^{p}) }\right \rbrace, \quad 1 \leq l \leq L\tag{4}\end{align*}
View Source
\begin{align*} I_{f_{j} \to v_{i}}(\mathbf {x}^{i}_{l})=&\sum \limits _{\mathbf {x}^{p}_{l},p \in \{\mathbf {S}_{j}^{f} \backslash i\}} \bigg \lbrace P(y_{l,j} \vert \mathbf {x}_{l}^{i},\mathbf {x}_{l}^{p},p \in \{\mathbf {S}_{j}^{f} \backslash i\}) \\& \left.{ \cdot \, \prod \nolimits _{p \in \{\mathbf {S}_{j}^{f} \backslash i\}}I_{v_{p} \to f_{j}}(\mathbf {x}_{l}^{p}) }\right \rbrace, \quad 1 \leq l \leq L\tag{4}\end{align*}
where \begin{align*}&\hspace {-2pc} P(y_{l,j} \vert \mathbf {x}_{l}^{i},\mathbf {x}_{l}^{p},p \in \{\mathbf {S}_{j}^{f} \backslash i\}) \\=&\frac {1}{\pi N_{0}} \text {exp} \Bigg (-\frac {1}{N_{0}} \bigg \| y_{l,j}-h^{i}_{l,j}x_{l,j}^{i} \\&\qquad \qquad \left.{ \left.{ -\, \sum \nolimits _{p \in \{\mathbf {S}_{j}^{f} \backslash i\}} h^{p}_{l,j}x_{l,j}^{p}}\right \|^{2}}\right)\tag{5}\end{align*}
View Source
\begin{align*}&\hspace {-2pc} P(y_{l,j} \vert \mathbf {x}_{l}^{i},\mathbf {x}_{l}^{p},p \in \{\mathbf {S}_{j}^{f} \backslash i\}) \\=&\frac {1}{\pi N_{0}} \text {exp} \Bigg (-\frac {1}{N_{0}} \bigg \| y_{l,j}-h^{i}_{l,j}x_{l,j}^{i} \\&\qquad \qquad \left.{ \left.{ -\, \sum \nolimits _{p \in \{\mathbf {S}_{j}^{f} \backslash i\}} h^{p}_{l,j}x_{l,j}^{p}}\right \|^{2}}\right)\tag{5}\end{align*}
and N_{0}
represents the noise power spectral density.
Then, the extrinsic information of the symbol \mathbf {x}_{l}^{i}
can be computed as \begin{equation*} P_{e}^{S}(\mathbf {x}_{l}^{i}) = \prod \limits _{p \in \mathbf {S}_{i}^{v}} I_{f_{p} \to v_{i}}(\mathbf {x}_{l}^{i})\tag{6}\end{equation*}
View Source
\begin{equation*} P_{e}^{S}(\mathbf {x}_{l}^{i}) = \prod \limits _{p \in \mathbf {S}_{i}^{v}} I_{f_{p} \to v_{i}}(\mathbf {x}_{l}^{i})\tag{6}\end{equation*}
After that, the bits extrinsic information of SCMA detectors will be calculated according to the SCMA mapping function, which can be expressed as \begin{align*}&\hspace {-2.5pc}P_{e,\text {SCMA}}^{B} (b_{(l-1)Q+m}^{i} = 0) \\=&\sum \limits _{\mathbf {x}_{l}^{i,0} \in \{\mathbf {x}_{l}^{i} \vert q_{m}^{i} = 0\}}{P_{e}^{S}(\mathbf {x}^{i,0}_{l})}, \quad 1\leq m \leq Q\tag{7}\\&\hspace {-2.5pc}P_{e,\text {SCMA}}^{B} (b_{(l-1)Q+m}^{i}=1) \\=&\sum \limits _{\mathbf {x}_{l}^{i,1} \in \{\mathbf {x}_{l}^{i} \vert q_{m}^{i} = 1\}}{P_{e}^{S}(\mathbf {x}^{i,1}_{l})}, \quad 1\leq m \leq Q\tag{8}\end{align*}
View Source
\begin{align*}&\hspace {-2.5pc}P_{e,\text {SCMA}}^{B} (b_{(l-1)Q+m}^{i} = 0) \\=&\sum \limits _{\mathbf {x}_{l}^{i,0} \in \{\mathbf {x}_{l}^{i} \vert q_{m}^{i} = 0\}}{P_{e}^{S}(\mathbf {x}^{i,0}_{l})}, \quad 1\leq m \leq Q\tag{7}\\&\hspace {-2.5pc}P_{e,\text {SCMA}}^{B} (b_{(l-1)Q+m}^{i}=1) \\=&\sum \limits _{\mathbf {x}_{l}^{i,1} \in \{\mathbf {x}_{l}^{i} \vert q_{m}^{i} = 1\}}{P_{e}^{S}(\mathbf {x}^{i,1}_{l})}, \quad 1\leq m \leq Q\tag{8}\end{align*}
where \{\mathbf {x}_{l}^{i} \vert q_{m}^{i}=0 \}
means the SCMA codewords set whose elements satisfy the mapping relationship \{f_{i}: (q_{1}^{i},\cdots,q_{m-1}^{i},0,q_{m+1}^{i},q_{Q}^{i}) \to \mathbf {x}_{l}^{i}\}
and the meaning of \{\mathbf {x}_{l}^{i} \vert q_{m}^{i}=1 \}
is similar.
Additionally, since the input messages of the polar decoders are in the form of log-likelihood rate (LLR), we need further transforming the extrinsic bits information of the SCMA into the form of LLR. It can be expressed as \begin{equation*} L_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}) = \log \frac {P_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}=0)}{P_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}=1)}\tag{9}\end{equation*}
View Source
\begin{equation*} L_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}) = \log \frac {P_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}=0)}{P_{e,\text {SCMA}}^{B}(b_{(l-1)Q+m}^{i}=1)}\tag{9}\end{equation*}
Finally, extrinsic information of the SCMA detector is de-interleaved and used as a prior information of the polar decoder. This is written as \begin{equation*} L_{a,\text {polar}}^{B}\left ({\mathbf {c}^{i}}\right) = \Pi ^{-1}\left ({L_{e,\text {SCMA}}^{B}\left ({\mathbf {b}^{i}}\right)}\right)\tag{10}\end{equation*}
View Source
\begin{equation*} L_{a,\text {polar}}^{B}\left ({\mathbf {c}^{i}}\right) = \Pi ^{-1}\left ({L_{e,\text {SCMA}}^{B}\left ({\mathbf {b}^{i}}\right)}\right)\tag{10}\end{equation*}
2) Priori Information Update Process
When the extrinsic information of the SCMA detectors is de-interleaved and reaches the lower side of the polar decoder module in Fig. 3, the polar decoder will do the decoding process and output the messages. Then, the messages will be further transformed into a priori information of the SCMA detectors.
The polar code factor graph with code length N=8
is shown in Fig. 4(a), which is composed of \log _{2}(N)+1 =4
columns. Each of these two adjacent columns comprise N/2 = 4
unit factor graphs shown in Fig. 4(b). The factor graph has two associated LLR messages L_{s,t}
and R_{s,t}
, representing left messages and right messages, respectively, where s
and t
denote the raw and column index shown in Fig. 4(a). Firstly, for user i
, the left messages L_{0,t}^{i}
are initialized as a prior information of the polar decoder, i.e., L_{a,\text {polar}}^{B}
, and the right messages are initialized as \begin{equation*} R_{n,t}^{i} = \begin{cases} 0,& t\in \mathcal {A} \\ \infty,& t\in \mathcal {A}^{c} \end{cases}\tag{11}\end{equation*}
View Source
\begin{equation*} R_{n,t}^{i} = \begin{cases} 0,& t\in \mathcal {A} \\ \infty,& t\in \mathcal {A}^{c} \end{cases}\tag{11}\end{equation*}
where \mathcal {A}
is the set comprising information bits and \mathcal {A}^{c}
is the set comprising frozen bits.
Then, left messages and right messages will be passed towards the left and right direction of the factor graph, respectively. The messages passing processes on a unit factor graph are shown in Fig. 4(b), and they can be computed as [14] \begin{align*} L_{s+1,t_{2}}^{i}=&f(R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i},L_{s,t_{0}}^{i}) \\ L_{s+1,t_{3}}^{i}=&f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i}) +L_{s,t_{1}^{i}} \\ R_{s,t_{0}}^{i}=&f(R_{s+1,t_{2}}^{i},R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i}) \\ R_{s,t_{1}}^{i}=&R_{s+1,t_{3}}^{i}+f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i})\tag{12}\end{align*}
View Source
\begin{align*} L_{s+1,t_{2}}^{i}=&f(R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i},L_{s,t_{0}}^{i}) \\ L_{s+1,t_{3}}^{i}=&f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i}) +L_{s,t_{1}^{i}} \\ R_{s,t_{0}}^{i}=&f(R_{s+1,t_{2}}^{i},R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i}) \\ R_{s,t_{1}}^{i}=&R_{s+1,t_{3}}^{i}+f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i})\tag{12}\end{align*}
where f(a,b)
is approximated as \begin{equation*} f(a,b) \approx \text {sign}(a) \times \text {sign}(b) \times \text {min}\left ({\left |{ a }\right |,\left |{ b }\right | }\right)\tag{13}\end{equation*}
View Source
\begin{equation*} f(a,b) \approx \text {sign}(a) \times \text {sign}(b) \times \text {min}\left ({\left |{ a }\right |,\left |{ b }\right | }\right)\tag{13}\end{equation*}
For polar SCAN decoding algorithm, each iteration consists of interleaved left-direction and right-direction message updating process, which is similar to the schedule of the SC decoder. For the details of the polar SCAN decoding algorithm, we refer to [14].
After left messages and right messages reach the left side and right side of the polar factor graph, i.e. one iteration of polar code decoding, the output extrinsic messages of the polar decoder are interleaved and as a priori information of the SCMA detector. It can be expressed as \begin{align*}&\hspace {-2pc}L_{a,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i}) \\=&\Pi \left ({L_{e,\text {polar}}^{B}(c_{(l-1)Q+m}^{i})}\right) \\=&\Pi \left ({R_{0,c_{(l-1)Q+m}^{i}}+\alpha \frac {\bar R_{0,c_{(l-1)Q+m}^{i}}}{\bar L_{0,c_{(l-1)Q+m}^{i}}}L_{0,c_{(l-1)Q+m}^{i}} }\right)\tag{14}\end{align*}
View Source
\begin{align*}&\hspace {-2pc}L_{a,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i}) \\=&\Pi \left ({L_{e,\text {polar}}^{B}(c_{(l-1)Q+m}^{i})}\right) \\=&\Pi \left ({R_{0,c_{(l-1)Q+m}^{i}}+\alpha \frac {\bar R_{0,c_{(l-1)Q+m}^{i}}}{\bar L_{0,c_{(l-1)Q+m}^{i}}}L_{0,c_{(l-1)Q+m}^{i}} }\right)\tag{14}\end{align*}
where \bar R_{0,c_{(l-1)Q+m}^{i}}
and \bar L_{0,c_{(l-1)Q+m}^{i}}
are the average values of R_{0,c_{(l-1)Q+m}^{i}}
and L_{0,c_{(l-1)Q+m}^{i}}
, respectively. \alpha
is the weigh factor. Relationship between \alpha
and performance of the receiver will be analyzed in section IV.
Finally, the priori LLR information is transformed into the information of probability domain and re-mapped to the symbol messages of the SCMA decoder, which can be expressed as \begin{align*} P_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i} = q_{m}^{i}) = \frac {[L_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i})]^{1-q_{m}^{i}}}{1+L_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i})} \\{}\tag{15}\end{align*}
View Source
\begin{align*} P_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i} = q_{m}^{i}) = \frac {[L_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i})]^{1-q_{m}^{i}}}{1+L_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i})} \\{}\tag{15}\end{align*}
and \begin{equation*} P(\mathbf {x}_{l}^{i}) = \prod \limits _{m=1}^{Q}P_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i} = q_{m}^{i})\tag{16}\end{equation*}
View Source
\begin{equation*} P(\mathbf {x}_{l}^{i}) = \prod \limits _{m=1}^{Q}P_{p,\text {SCMA}}^{B}(c_{(l-1)Q+m}^{i} = q_{m}^{i})\tag{16}\end{equation*}
where q_{m}^{i} \in \{0,1\}
.
3) VN Nodes Update Process
Once VNs receive the a priori information of the symbols, they will update their information and pass it to the neighboring FNs. This message passing process is the last process of one JIDD iteration and the messages passed form VN node v_{i}
to FN node f_{j}
can be expressed as \begin{equation*} I_{v_{i} \to f_{j}}(\mathbf {x}^{i}_{l}) = P(\mathbf {x}_{l}^{i}) \prod \limits _{p \in \{\mathbf {S}_{i}^{v} \backslash j\}}I_{f_{p} \to v_{i}}(\mathbf {x}^{p}_{l})\tag{17}\end{equation*}
View Source
\begin{equation*} I_{v_{i} \to f_{j}}(\mathbf {x}^{i}_{l}) = P(\mathbf {x}_{l}^{i}) \prod \limits _{p \in \{\mathbf {S}_{i}^{v} \backslash j\}}I_{f_{p} \to v_{i}}(\mathbf {x}^{p}_{l})\tag{17}\end{equation*}
Finally, the JIDD algorithm for polar coded SCMA system is summarized in Algorithm 1.
Algorithm 1 Joint Iterative Detection and Polar Decoding
I_{v_{i} \to f_{j}}(\mathbf {x}_{l}^{i}) = \frac {1}{M},i = 1,\cdots,I,j \in \mathbf {S}_{i}^{v}, l = 1,\cdots, N/Q\,\,R_{n,t}^{i} = 0, t \in \mathcal {A}, R_{n,t}^{i} = \infty, t \in \mathcal {A}^{c}
.
2:
3:for \text {iter}=1,\cdots,\text {iter}\_{} \text{num}
do
4:FN Nodes Update Process:
10:
11:Priori Information Update Process:
13:\mathbf {L}_{0}^{i} =\Pi ^{-1}\left ({L_{e,\text {SCMA}}^{B}(\mathbf {c}^{i})}\right)
14:(\mathbf {L}_{n}^{i},\mathbf {R}_{0}^{i}) = \text {polar}\_{} \text{decoder}(\mathbf {L}_{0}^{i},\mathbf {R}_{n}^{i})
16:
20:VN Nodes Update Process: (17)
24:
26:\hat {\mathbf {u}}^{i} = {[\mathbf {L}_{n}^{i} < 0]}_{\mathcal {A}}
C. Complexity Analysis
The complexity of JIDD depends on the complexity of SCMA detection and polar decoding. Giving d_{f}
as the degree of the SCMA function nodes, M
as the size of code book and J
as the number of the function nodes, the detection complexity of each iteration of SCMA is \mathcal {O}(Jd_{f}M^{d_{f}})
[15]. For polar decoding, the complexity relies on the decoding methods. The complexities of SC, SCAN, SCL are \mathcal {O}(N\log N)
[7], \mathcal {O}(I_{scan}N\log N)
[14], [16] and \mathcal {O}(L_{scl}N\log N)
[11], respectively. I_{scan}
denotes the number of iterations of SCAN. L_{scl}
is list size of SCL and N
is the length of polar codes. Thus, Given I_{joi}
as the number of iterations of JIDD and I_{scma}
as the number of iterations of MPA (SCMA detection), we can summarize the complexity of JIDD and the separate scheme in Table. 1
SECTION IV.
Convergence Analysis and Polar Code Construction Based on Exit Chart
In this Section, extrinsic information transfer chart is evaluated to visualize the exchange of extrinsic information of the SCMA detector and polar decoder. The effects of random interleaver, impact of factor \alpha
and convergence of the JIDD receiver are analyzed based on EXIT chart.
Additionally, searching for the optimal value of \alpha
and optimization of polar code construction for the uplink polar coded SCMA system are performed in this section. We use the EXIT chart to guide our search for the optimal design \sigma
-value, which is the key parameter of the polar code construction method.
A. Exit Chart of the JIDD Receiver
As shown in Fig. 1, the SCMA detector converts the channel information and a prior information into the extrinsic information, which is interpreted as a prior information of the polar decoder. This messages passing process complies with ‘Turbo Principle’, which is very common in iterative system.
An EXIT chart can predict the behavior of the iterative decoder by solely analyzing the individual constituent decoders. Same as [17]–[19], we use I_{A}
to denote the mutual information between a prior information L_{A}
and BPSK modulated symbols X
and use I_{E}
to denote the mutual information between a prior information L_{E}
and BPSK modulated symbols X
, respectively. The work of plotting the JIDD’s EXIT chart is depicting the characteristics (I_{A},I_{E})
of SCMA detector and polar decoder into one figure.
1) Transfer Characteristics of SCMA Detector
The input of SCMA detector is the channel information Z
and a prior information L_{A_{1}}
. According to [17], L_{A_{1}}
can be seen as a Gaussian distributed variable and the mean \mu _{L_{A_{1}}}
is half of the variance \sigma ^{2}_{L_{A_{1}}}
. Thus, the conditional probability density function (PDF) is \begin{equation*} p_{L_{A_{1}}}(\xi |X=x) = \frac {1}{\sqrt {2\pi }\sigma _{A_{1}}}\text {exp}{\left ({-\frac {\left ({\xi -\frac {\sigma _{A_{1}}^{2}}{2}x}\right)^{2}}{2\sigma _{A_{1}}^{2}}}\right)}\tag{18}\end{equation*}
View Source
\begin{equation*} p_{L_{A_{1}}}(\xi |X=x) = \frac {1}{\sqrt {2\pi }\sigma _{A_{1}}}\text {exp}{\left ({-\frac {\left ({\xi -\frac {\sigma _{A_{1}}^{2}}{2}x}\right)^{2}}{2\sigma _{A_{1}}^{2}}}\right)}\tag{18}\end{equation*}
Then, the mutual information I_{L_{A_{1}}}
can be written as [18] \begin{equation*} I_{L_{A_{1}}}\left ({\sigma _{A_{1}}}\right) \!=\!\! \int _{-\infty }^{+\infty }\!\frac {e^{-\frac {\left ({\xi -\frac {\sigma _{A_{1}}^{2}}{2}}\right)^{2}}{2\sigma _{A_{1}}^{2}}}}{\sqrt {2\pi }\sigma _{A_{1}}} \!\cdot \!\left ({1-\text {ld}(1+e^{-\xi })}\right)d\xi\tag{19}\end{equation*}
View Source
\begin{equation*} I_{L_{A_{1}}}\left ({\sigma _{A_{1}}}\right) \!=\!\! \int _{-\infty }^{+\infty }\!\frac {e^{-\frac {\left ({\xi -\frac {\sigma _{A_{1}}^{2}}{2}}\right)^{2}}{2\sigma _{A_{1}}^{2}}}}{\sqrt {2\pi }\sigma _{A_{1}}} \!\cdot \!\left ({1-\text {ld}(1+e^{-\xi })}\right)d\xi\tag{19}\end{equation*}
The mutual information between the extrinsic information L_{E_{1}}
and BPSK modulated symbols X
is denoted as \begin{align*} I_{L_{E_{1}}}=&\frac {1}{2}\sum _{x\in \{\pm 1\}} \int _{-\infty }^{+\infty } f_{L_{E_{1}}}\left ({\xi |x}\right) \\&~\times \text {ld} \frac {2f_{L_{E_{1}}}\left ({\xi |x}\right)}{f_{L_{E_{1}}}\left ({\xi |x=+1}\right)+f_{L_{E_{1}}}\left ({\xi |x=-1}\right)}d\xi\tag{20}\end{align*}
View Source
\begin{align*} I_{L_{E_{1}}}=&\frac {1}{2}\sum _{x\in \{\pm 1\}} \int _{-\infty }^{+\infty } f_{L_{E_{1}}}\left ({\xi |x}\right) \\&~\times \text {ld} \frac {2f_{L_{E_{1}}}\left ({\xi |x}\right)}{f_{L_{E_{1}}}\left ({\xi |x=+1}\right)+f_{L_{E_{1}}}\left ({\xi |x=-1}\right)}d\xi\tag{20}\end{align*}
Viewing I_{L_{E_{1}}}
as a function of I_{L_{A_{1}}}
and E_{b}/N_{0}
, the extrinsic information transfer characteristics of SCMA are defined as \begin{equation*} I_{L_{E_{1}}} = T_{1}\left ({I_{L_{A_{1}}},E_{b}/N_{0}}\right)\tag{21}\end{equation*}
View Source
\begin{equation*} I_{L_{E_{1}}} = T_{1}\left ({I_{L_{A_{1}}},E_{b}/N_{0}}\right)\tag{21}\end{equation*}
Note that there is no need to characterize each user’s transfer function, since each user in SCMA is equivalent. We can simply characterize the transfer function of the average mutual information of I
-user’s [20].
Fig. 5 shows the transfer characteristics of SCMA detector over AWGN channel and Rayleigh fading channel. We restrict the rate of polar code to 1/2. The factor graph is shown in Fig. 2 and the codebooks are 4-ary that proposed in [21].
There are two important features of the SCMA detector’s transfer characteristics. The first one is that when I_{L_{A_{1}}}
is equal to 1 (perfect a prior information,) I_{L_{E_{1}}}
is still smaller than 1. The second one is that the transfer characteristic curve is almost a straight line with a low slope.
The reason for the first feature is due to the symbols received by SCMA detector have multiuser interference. I_{L_{A_{1}}}
equaling to 1 means that we know the interference perfectly. Thus, when I_{L_{A_{1}}}=1
, we can eliminate the multiuser’s interference perfectly at receiver. But since the noise of the channel, we are still confused about the current user’s symbol. Therefore, when I_{L_{A_{1}}}=1
, output extrinsic information is not perfect and I_{L_{E_{1}}}
is certainly smaller than 1. Note that in single user scheme, there is no multiuser interference, which is equivalent to multiuser scheme with perfect a prior information about the multiuser interference. It is obvious that the transfer characteristic curve of SCMA detector for single user is a horizontal line and intersects the curve of the multiuser scheme at the right-most point. This also predicts that iterative receiver composed of SCMA detector and arbitrary decoder will converge to single user bound.
The second feature indicates that given the channel information, the output extrinsic information of the detector will increase almost linearly with the increase of the input a prior information. The reason for the low slope is that the sparsity of SCMA codeword. Increase of a prior information has little contribution to the increase of output extrinsic information.
2) Transfer Characteristics of Polar Decoder
The polar decoder transfer characteristic is \begin{equation*} I_{L_{E_{2}}} = T_{2}\left ({I_{L_{A_{2}}}}\right).\tag{22}\end{equation*}
View Source
\begin{equation*} I_{L_{E_{2}}} = T_{2}\left ({I_{L_{A_{2}}}}\right).\tag{22}\end{equation*}
Fig. 6 shows the transfer characteristics of polar decoder. We use Gaussian approximation method as the polar construction method and SCAN algorithm as the decoding method.
Factor \alpha
introduced in (14) is 0.8, and the design \sigma
-value which is the only parameter of Gaussian approximation construction method is 0.9. Note that the axes are swapped: I_{L_{A_{2}}}
is on the ordinate and I_{L_{E_{2}}}
is on the abscissa.
We can see that when I_{L_{A_{2}}} < 1
, I_{L_{E_{2}}}
is able to reach 1. This means that SCAN algorithm has the ability of error correction within one iteration. Furthermore, given \alpha
, \sigma
and code length N
, the smaller rate of the code, the lower the curve. This is consistent with the fact that the lower code rate the better performance of the code. However, given \alpha
, \sigma
and code rate, the transfer characteristics of different code length N
cross each other. If I_{L_{A_{2}}}
-value is relatively small, the longer the code length, the smaller the I_{L_{E_{2}}}
-value, but when I_{L_{A_{2}}}
-value is relatively large, the longer the code length, the larger the I_{L_{E_{2}}}
-value. This is because the longer codeword makes the errors more diffusing when the prior message is small.
B. Effect of Factor \alpha
on the Performance of the JIDD Receiver
In (14), we introduced a weight factor \alpha
, but did not explain why should we introduced this factor and what is the optimal value of the factor. In this subsection, we use the EXIT chart to analyze the effect of the factor \alpha
on the performance of the JIDD receiver. Furthermore, we use the EXIT chart to guide our search for the optimal \alpha
-value. Compared with the simulation method, whose complexity increases sharply with the growth of the code length N
, finding the optimal \alpha
based on EXIT chart analysis is less complex.
According to section IV-A, we are able to obtain the EXIT chart of the JIDD receiver when we plot characteristics of SCMA detector and polar decoder into a single diagram.
Fig. 7 shows the EXIT charts and decoding trajectories with or without random interleaver. The SCMA detector transfer characteristic is taken from Fig. 5 when E_{b}/N_{0} = 2.5
dB. Factor \alpha
is taken from 0 to 1.8. The polar code length N = 256
, and code rate R = 1/2
. The intersection of two curves is the point that decoding trajectories through several iterations can reach possibly. I_{L_{E_{2}}}
which is the abscissa of the point represents the final detection and decoding result of the JIDD receiver. If the point is closer to the right, the better performance of JIDD is (I_{L_{E_{2}}}=1
represents perfect decoding information). From the figure, we can see that no matter what value of \alpha
is, the trajectories get stuck when the whole system without random interleaver. Moreover, when \alpha
is too small or too large the trajectories with random interleaver will also get stuck, and only 0.2\le \alpha \le 1.6
, can the trajectories reach the intersection of two curves.
The above-mentioned results are caused by the fact that we need to assume a prior information L_{A}
is uncorrelated as well as extrinsic information L_{E}
is uncorrelated when we use EXIT chart to analyze the performance of JIDD. The random interleaver between SCMA encoder and polar encoder can decrease the correlation of a prior information and correlation of extrinsic information. However, due to the “defect” of the soft-output decoding algorithm of polar code, the output extrinsic information is still correlated.
Considering factor graph of polar code shown in Fig. 4(a), the soft-output decoding result within one iteration of polar code is the right messages when \lambda = 0
. And the right messages within one unit factor graph shown in Fig. 4(b) are calculated as \begin{align*} R_{s,t_{0}}^{i}=&f(R_{s+1,t_{2}}^{i},R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i}) \\ R_{s,t_{1}}^{i}=&R_{s+1,t_{3}}^{i}+f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i})\tag{23}\end{align*}
View Source
\begin{align*} R_{s,t_{0}}^{i}=&f(R_{s+1,t_{2}}^{i},R_{s+1,t_{3}}^{i}+L_{s,t_{1}}^{i}) \\ R_{s,t_{1}}^{i}=&R_{s+1,t_{3}}^{i}+f(R_{s+1,t_{2}}^{i},L_{s,t_{0}}^{i})\tag{23}\end{align*}
Obviously, R_{s,t_{0}}^{i}
and R_{s,t_{1}}^{i}
are both the function of R_{s+1,t_{2}}^{i}
and R_{s+1,t_{3}}^{i}
. Thus, they are correlated with each other and we call this is the “defect” of soft-output decoding algorithm of polar code.
Since a prior information of polar code is uncorrelated, the solution in this paper is adding partial a prior information of polar code denoted as (14) to decrease the correlation of extrinsic information of polar decoder. The effect of weight factor \alpha
is shown in Fig. 7. Note that the purpose of factor \alpha
is only to decrease the correlation of output extrinsic information, i.e., to make the trajectories reach the intersection of two curves.
When the scope of \alpha
which can make the trajectories reach the intersection of two curves is obtained, the remaining work of finding the optimal \alpha
for best decoding performance of JIDD is searching for the \alpha
-value that can make the intersection of two curves to be rightmost.
In Fig. 8, the EXIT chart of JIDD with different values of \alpha
is shown. From the figure, we find that there is no significant difference in the location of the intersections. However, we can also see clearly that when \alpha = 1.5
the intersection is on the leftmost. Fig. 9 shows the BER performance of JIDD when number of iterations is 5. We can see that there is no big difference in the BER performance when choosing different values of \alpha
shown in Fig. 8. At the same time, the performance of \alpha = 1.5
is worst among other values of \alpha
shown in Fig. 8. Above BER performance results are consistent strictly with the results analyzed by EXIT chart. Thus, using EXIT chart to search the optimal value of \alpha
is valid. For simplicity, we can just choose \alpha = 0.5
as the optimal value for JIDD when polar code length N=256
and code rate R = 1/2
. It is worth noting that if we do not introduce the weight factor of \alpha
, i.e., \alpha = 0
, the BER performance at 10^{-4}
loses about 0.6dB when compared with the optimal \alpha
-value.
The BER performance of JIDD without random interleaver is also shown in Fig. 9. It can be seen that JIDD without random interleaver has high error floor and its performance is much worse than the scheme with random interleaver. This verifies the results of Fig. 7.
C. Convergence Analysis
In this subsection, we use the EXIT chart to analyze the convergence of JIDD. As Shown in Fig. 10, the number of iterations decreases with the increase of E_{b}/N_{0}
. And when E_{b}/N_{0}=5
dB the JIDD receiver converges at the number of iterations of 5 with polar code length N=256
and rate R=1/2
. The reason why we choose E_{b}/N_{0}=5
dB as the target is that E_{b}/N_{0}=5
dB is the turbo cliff of the BER(E_{b}/N_{0}
) plot of the JIDD with polar code length N=256
and rate R=1/2
. And only convergence analysis at turbo cliff of the BER(E_{b}/N_{0}
) plot can reflect the whole convergence of JIDD. Note that in Fig. 10 we count how many iterations have been taken when trajectories get stuck. There are several little changes at the end of the trajectories that we can not see directly from the figure. From Fig. 10 we can predict that there is low error floor of JIDD, since the abscissa of the intersection is very close to 1.
Fig. 11 shows how the performance of JIDD varies with the number of iterations under different polar codewords. we limit the BER of JIDD at about 10^{-5}
as this BER value is at the turbo cliff of BER(E_{b}/N_{0}
) plot of the JIDD. From the figure we can see that no matter what polar codes are the JIDD receiver converges at the number of iterations of 5.
D. Polar Code Construction
When we construct polar code, the main work is finding the design SNR or the design \sigma
to achieve the best performance. Different application scenarios have different design \sigma
. In [22], the design \sigma
for polar code over AWGN channel is \sqrt {1.261914} \approx 1.12
. The optimal design \sigma
can be found using Monte Carlo simulation. However, the complexity is too high and it costs too much time when code length is long and especially in iterative system when the number of iterations is large.
According to section IV-B, JIDD receiver achieves better performance when the intersection of characteristics of SCMA detector and polar decoder is more close to the right side. Thus, we can use the EXIT chart to guide our search for the optimal design \sigma
-value. As shown in Fig. 12, when polar code N=256
, R=1/2
, EXIT charts for different \sigma
-value over AWGN channel are plotted. It shows that when \sigma = 0.9
the intersections are rightmost, and when \sigma = 0.5
, 0.7 and 1.1 the intersections are in the middle position. It also can be seen that when \sigma = 1.3
the intersection is leftmost. According to the positions of the intersections shown in Fig. 12 and the rule that the more right position the better performance, we can predict that the JIDD has the best performance at \sigma =0.9
. While JIDD has the moderate performance at \sigma = 0.5
, 0.7 and 1.1 and the worst performance at \sigma =1.3
. Fig. 13 shows the simulation results. As we can see in Fig. 13, the system performance of different \sigma
values is consistent strictly with the results in Fig. 12.
SECTION V.
Performance Evaluation
In this section, the BER performances of PC-SCMA system under JIDD receiver over AWGN channel and Rayleigh channel are evaluated. The SCMA codebook is designed according to [21] with the indicator matrix defined as Fig. 2. Polar code is constructed by GA method or Bhattacharyya parameter bound method, and the design \sigma
is obtained according to the introduced method of section IV-D. Detection algorithm of SCMA and decoding algorithm of polar code are MPA and SCAN, respectively. Interleaver size is same as the length of polar code. Constellation size and system loading of SCMA are 4 and \lambda =150
%, respectively. Note that even though the paper is focused on QPSK modulation, which is defined by 3GPP as the only option for control channel in LTE system, however, the idea proposed in the paper can be extended to arbitrary M
-modulation schemes straightforwardly, i.e., constellation size of SCMA is M
.
In Fig. 14 and Fig. 15, we compare the BER performance of JIDD scheme and the separate scheme with different code lengths and code rates over AWGN channel. In separate scheme, the receiver firstly does the multi-user detection by SCMA detector then polar decoding using SCAN algorithm. The design \sigma
for GA polar code construction is \sqrt {1.261914} \approx 1.12
, which is designed by [22]. The BER performance of single user system is also compared.
In Fig. 14, the length of polar code is N=256
and the code rate is R=1/2
. The values of \alpha
and \sigma
are selected according to Table. 2, which shows the optimal values for the corresponding configurations, i.e., three different code lengths, 256, 512 and 1024, two different code rates, 1/2 and 1/3, and two types, i.e., AWGN and Rayleigh fading channels. In total, there are 12 configurations. Note that in Table. 2, \sigma = 0
denotes the polar code construction method is Bhattacharyya parameter bound method [7] while other values of \sigma
denote GA method. The JIDD schemes with 3, 5 and 6 iterations achieve about 4dB, 4.8dB and 4.8dB performance gain at \text {BER} = 10^{-5}
compared to the separate scheme, and has only about 0.3dB performance loss compared to the single user PC-SCMA system. From the figure, we can also see that JIDD converges when the times of iteration are 5, which verifies the result in section IV-C. Note that the number of iterations in MPA detection and SCAN decoding of separate scheme are both 6. Thus, according to Tabel. 1, the complexity of the separate scheme is 6(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
. When the times of iteration of JIDD are 3, the complexity of JIDD is 3(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
, which is about half of the separate scheme. When the times of iteration in JIDD are 5, the complexity of JIDD is 5(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
, which is still less than the separate scheme.
Fig. 14 also shows the results when there exist inner iterations in SCMA detector and polar decoder. We call this scheme the IDD scheme. For fair comparison, we limit the whole complexity of the IDD is 6(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
, which is still 20% higher than JIDD. As we can see, for the IDD schemes, the scheme that inner iteration times of SCMA detector, polar deocder and outer iteration times are 2, 2 and 3 has better performance than the scheme that inner iteration times of SCMA detector, polar deocder and outer iteration times are 3, 3 and 2. However, the JIDD without inner iterations has best performance when compared with the two IDD schemes.
In Fig. 15, the code length N=1024
and the code rate R=1/3
. We can see that the JIDD receiver with 3, 5 and 6 iterations achieves about 3dB, 3.4dB and 3.4dB performance gain compared to the separate scheme. The design \sigma
is 0.9 and \alpha =0.3
. Furthermore, when the number of iterations in JIDD is 5, though the complexity is less than the separate scheme, the JIDD has only 0.3dB performance loss compared to the single user polar coded SCMA system. This result is same with the result in Fig. 14.
For the Rayleigh fading channel, the BER performances of JIDD receiver for PC-SCMA system are demonstrated in Fig. 16 and Fig. 17. The values of \alpha
and \sigma
are selected according to Table. 2. We use construction method proposed in [23] for the separate scheme and the polar code QPSK scheme. It can be observed that the JIDD receiver outperforms the separate scheme significantly. This demonstrates that the proposed method is also suitable for Rayleigh fading channel.
Fig. 15 to Fig. 17 also give the BER performance when row-column block interleaver are employed. The size of the column is fixed to 32 and the size of row is equal to N
/32, where N
is the code length. It can be seen that the BER performances are almost same with each other when row-column block interleaver and random interleaver are employed.
Reference [11] demonstrates that polar code with CA-SCL decoding algorithm is able to achieve comparative or better BER performance compared with state-of-the-art channel codes, e.g., LDPC codes and Turbo codes. Thus, in Fig. 18, we compare the BER performance of JIDD with the separate scheme under CA-SCL polar decoding. The list size of CA-SCL decoding algorithm is 16 and CRC is 8 bits long. From Fig. 18, we can see that JIDD scheme with polar code N = 256, R=1/2
and N=1024, R=1/3
outperform the separate scheme with CA-SCL polar decoder about 2.9dB and 1.4dB, respectively. The complexity for the separate scheme with SCL polar decoder is 6\mathcal {O}(Jd_{f}M^{d_{f}})+16\mathcal {O}(N\log N)
. It can be seen that the complexity is more than JIDD, whose complexity is 5(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
. Hence, according to above discussion, the JIDD scheme has a better performance and less complexity.
Fig. 19 shows the BER performance comparison between JIDD and JDD proposed in [9]. All parameters excluding detection and decoding method are same, such as polar codes both are N=1024, R=1/2
, constellations size and systems loading of SCMA both are 4 or 16 and \lambda = 150
%. From Fig. 19 we can see that JIDD outperforms JDD about 2dB at \text {BER} = 10^{-4}
when the constellation size of SCMA is 4. In addition, Fig. 19 also compares the BER performance of JIDD and JDD when SCMA extends to a higher-order modulation (16QAM). It can be shown that JIDD can still outperform JDD about 2dB at \text {BER} = 10^{-4}
. The complexities of JDD and JIDD are comparable as the complexities of JDD in [9] and our JIDD are 4\mathcal {O}(Jd_{f}M^{d_{f}})+16\mathcal {O}(N\log N)
and 5(\mathcal {O}(Jd_{f}M^{d_{f}})+\mathcal {O}(N\log N))
, respectively. In summary, the simulation results show that our proposed JIDD method with the optimized parameter and polar code is superior to the JDD method proposed in [9].
In this paper, we developed a joint iterative detection and decoding receiver for uplink polar coded SCMA system. A joint algorithm was proposed based on the joint factor graph of SCMA detector and polar decoder. EXIT chart is used to analyze the convergence of JIDD and guide our search for optimal weight factor \alpha
and design \sigma
of polar code construction method. Simulation results and EXIT chart analysis both show that JIDD converges when iterations are 5 and thus the complexity is small. Compared with the separate scheme, the JIDD receiver has less complexity while achieves significantly performance gain. Conclusively, the polar coded SCMA system with JIDD receiver can be a good candidate for multiple access scheme in 5G communication system.