1. Introduction
In an integrated communication system [
1], Shannon’s separation principle indicates that arbitrarily high reliability can be attained for infinite source and channel code block lengths. In a nonasymptotic regime, a joint source-channel coding (JSCC) [
2] design can be more attractive, allowing source redundancy and channel information to be exchanged iteratively to improve decoding performance. In addition, the JSCC system can also reduce decoding complexity and transmission delay, which results in its successful application in image and video transmission [
3,
4].
A JSCC scheme based on double low-density parity-check (D-LDPC) codes was proposed [
2]; in this scheme, one LDPC is for source compression and another is for channel error-control. As the LDPC code can be represented by a Tanner graph, a belief propagation (BP) decoding algorithm can be applied. The source and channel coding structures both perform BP decoding, pass decoding information to each other and accomplish information exchange. However, this is a parallel decoding method and needs multiple pieces of calculation hardware working simultaneously. This high decoding complexity is not suitable for low-complexity green communication systems, e.g., Internet of Things (IoT) [
5].
1.1. Related Work and Motivation of Shuffled Scheduling Decoding
Recently, the concept of shuffled scheduling decoding [
6], a kind of serial decoding, was introduced into the D-LDPC codes system [
7]. This can lower the decoding hardware complexity and reduce the number of decoding iterations (an iteration indicates all of the VNs and CNs being updated one time). In order to take full advantage of the linking relationship, a more generalized shuffled scheduling decoding algorithm [
8] was proposed. However, this algorithm respectively applied the shuffled scheduling strategy to source decoding and channel decoding, which in fact is a separated decoding method, denoted as the separated shuffled scheduling decoding (SSSD) algorithm. Compared with the conventional BP decoding algorithm, the SSSD algorithm has a higher decoding latency.
In this paper, a joint shuffled scheduling decoding algorithm will be proposed for the D-LDPC codes system from a global viewpoint. The proposed algorithm is the generalization version of the SSSD algorithm. It considers the Tanner graph of source and channel coding structure as a whole and applies shuffled decoding. Moreover, the joint Tanner graph can be divided into a number of groups to trade off the decoding performance and decoding latency. The grouping relies on the types or on the code-length. We describe the decoding algorithm as a joint group shuffled scheduling decoding (JGSSD) algorithm. Specifically, if the grouping divides the Tanner graph into two parts, i.e., the source and channel parts, then the JGSSD algorithm changes to the SSSD algorithm.
1.2. Related Work on D-LDPC Codes Systems
In recent years, a large amount of research has focused on the investigation of the D-LDPC codes system [
9,
10,
11]. The main difference between the D-LDPC system and single channel LDPC code systems is the consideration of nonuniform sources and source coding. For the D-LDPC codes system, the source coding may cause the loss of original information and trigger the phenomenon of error floor. In order to improve the performance of the error floor region, a linking matrix is set up between the variable nodes (VNs) of the source code and the check nodes (CNs) of the channel codes [
12], and more original information participates in coding. The improvement of the error floor can be evaluated by the source decoding threshold and analyzed by the source protograph EXIT (SPEXIT) algorithm [
13]. The linking matrix is further optimized for high-entropy sources [
14]. The source LDPC coding matrix can be also optimized to match the source statistic [
15] as well as the joint optimization of the source coding matrix and linking matrix [
16].
On the other hand, the source redundancy left in the source coding affects the specific structure of the D-LDPC codes. Firstly, the effect of the source statistic is analyzed over the Rayleigh fading channel compared with reception diversity [
17]. The channel decoding threshold can be evaluated using the joint protograph EXIT (JPEXIT) algorithm, by which the channel P-LDPC codes [
18] and the allocation [
19,
20] of an important structure, i.e., degree-2 VNs [
21], are redesigned. Several works are also performed for the joint component design, including the optimized source and channel pairs [
22] and the joint coding matrix [
23,
24].
In addition, an information shortening strategy was conducted to reduce the effects of the short cycles in the Tanner graph [
25]. The D-LDPC codes system was also considered in some nonstandard coding channels [
26,
27,
28]. Spatially coupled LDPC codes were introduced into the D-LDPC codes system [
29]; these can perform sliding window decoding (SWD) for significantly reduced latency and complexity requirements. A proposed SWD algorithm [
30] with variable window size was optimized for balancing performance and complexity. The D-LDPC codes system has been applied to image transmission [
31,
32].
1.3. Main Contribution
The aforementioned D-LDPC codes systems mostly perform BP decoding algorithms. In this paper, a joint decoding viewpoint is introduced, and shuffled scheduling decoding for the D-LDPC codes system is generalized.
The novelty and contributions of this paper can be summarized as follows:
- (1)
From a global viewpoint, the D-LDPC codes structure is considered as a whole, and a joint shuffled scheduling decoding strategy is introduced to the D-LDPC codes system.
- (2)
A grouping method for the joint shuffled scheduling decoding strategy, which relies on the types or the length of the VNs, is introduced.
- (3)
A novel EXIT algorithm to calculate the channel and source decoding thresholds for the general D-LDPC coding structure with the JGSSD algorithm is proposed.
- (4)
A comparison between the SSSD algorithm and the JGSSD algorithm is conducted, including decoding performance, decoding complexity and decoding latency.
The main differences between the present work and previous work are shown in
Table 1.
1.4. Paper Organization
The remainder of the paper is organized as follows. In
Section 2, we describe the preliminaries of the D-LDPC codes. The joint shuffled scheduling decoding algorithm with grouping strategy is proposed in
Section 3. An EXIT algorithm for analyzing the D-LDPC codes system with JGSSD algorithm is presented in
Section 4. A simulation and comparisons are conducted in
Section 5. Finally,
Section 6 draws the conclusions of this paper.
3. Joint Group Shuffled Scheduling Decoding Algorithm
It can be observed that the BP and SSSD algorithms mentioned above are both types of iterative decoding method between the source decoder and channel decoder. The shuffled scheduling decoding is only respectively applied in source decoding and channel decoding, and not applied to the update of and . Thus, the SSSD algorithm is in fact a separated decoding method.
Here, considering that the vector
satisfies
where
and
, so that
.
Thus, the combined Tanner graph of the source part and the channel part can be considered a joint Tanner graph. We apply the BP decoding to the D-LDPC codes system, and this is denoted as a joint BP decoding (JBP) algorithm. For ease of description of the JBP algorithm, several types of LLRs are defined, and k-th iteration is assumed.
represents the LLR of the n-th bit of original source .
represents the LLR of the n-th bit of codeword .
represents the LLR from the m-th CN to the n-th VN at k-th iteration.
represents the LLR from the n-th VN to the m-th CN at k-th iteration.
represents the LLRs of the n-th bit at k-th iteration.
Based on the above definitions, the decoding procedure is described as follows.
Initialization: The initial LLR of VNs can be calculated by
and
where
is the
n-th received signal and
is the noise variance, and the LLRs are 0 for the punctured bits. Furthermore, the
can be calculated by
, where
is the average transmitted energy per source information bit, and
is the noise power spectral density.
Step 1: Update C2V messages, for
and
,
Step 2: Update V2C messages, for
and
,
and
where
denotes all CNs connected to the
n-th VN. For
, if
,
; otherwise,
, where
is the estimated bit codeword.
Step 3: Stopping condition: if or , the iteration will stop; otherwise, set and go to Step 1, where is the maximum iteration of decoding.
For the joint shuffled scheduling BP algorithm, the initialization and stopping conditions remain the same as in the JBP algorithm. The only difference between the two algorithms lies in the updating procedure. For the updated C2V message, certain
have been updated in Step 2 and can be used instead of
in Step 1 to calculate the remaining values
. Thus, the updated C2V message can be modified as follows:
However, it is observed that one iteration of the standard JBP algorithm can be fully processed in parallel, while that of a shuffled JBP algorithm becomes totally serial, and this will bring about a large decoding latency. To decrease decoding latency and keep the parallelism advantages of the standard JBP, the concept of grouping is introduced, and the decoding algorithm is developed into a joint group shuffled scheduling decoding (JGSSD) algorithm. Before performing BP decoding, the decoding information is first divided into a certain number of groups. The updating of information in each group is processed in parallel, but the processing of groups remains serial. In detail, the VNs are divided into a number of groups according to certain criteria, i.e.,
where
,
is the number of groups and
is the size of
. Thus, the updated C2V message can be modified as follows:
For
, i.e.,
and
,
where
denotes all VNs connected to the
m-th CN,
denotes all CNs connected to the
n-th VN,
denotes all VNs in
excluding the
n-th VN,
is the size of the sum of the former sets
.
For the JGSSD algorithm, we can group the based on code length. For example, we assumed that the VNs are divided into groups on average, and that each group contains VNs (assuming mod for simplicity). We can also group the according to the types of VNs. For example, and of length and of length . Now, the JGSSD becomes the IBP algorithm. If the and are further divided into and groups, respectively, this grouping strategy makes the algorithm change to be the SSSD version.
4. Analysis of the D-LDPC Codes System with JGSSD Algorithm
4.1. Joint Shuffled Extrinsic Information Algorithm
EXIT analysis can reflect the ultimate performance of a D-LDPC codes system by calculating the decoding threshold of its corresponding protograph. Although an EXIT algorithm for analyzing the decoding threshold of the D-LDPC codes system with shuffled scheduling has been proposed in [
34], it only aimed at the
with
. In addition, the EXIT algorithm is comprised of source and channel parts, just like the decoding procedure. Thus, it is not suitable for the D-LDPC codes system with general structure and JGSSD algorithm. In this section, a joint shuffled extrinsic information transfer (JSEXIT) algorithm is proposed.
Firstly, five types of mutual information (MI) are defined as:
: the extrinsic MI from j-th VN to i-th CN at k-th iteration;
: the extrinsic MI from i-th CN to j-th VN at k-th iteration;
: the a priori MI from j-th VN to i-th CN at k-th iteration;
: the a priori MI from i-th CN to j-th VN at k-th iteration;
: the MI between a posteriori LLR evaluated by j-th VN and the corresponding source bit at k-th iteration.
In addition, an indicator function is defined as follows:
and if a VN is punctured, its initial LLR value is 0. Moreover,
represents the MI between a binary bit and its corresponding LLR value
) represent the Gaussian distribution with expectation
and variance
, given by [
2]
Then, the VNs of the joint protograph are divided into a number of groups according to certain criteria, i.e.,
where
,
is the number of groups and
is the size of
.
Finally, the proposed JSEXIT algorithm for the D-LDPC codes system over AWGN channel is described as follows.
Step 1: The MI update from VNs to CNs
For
and
The function
is defined as [
2]
where
is an MI calculation between the VN of the source and the distribution
.
Further, and with .
For
and
For
and
Step 2: The MI update from CNs to VNs
For
,
and
where
and set
. Further,
denotes all VNs connected to the
i-th CN excluding the
j-th VN,
is the size of the sum of the former sets
. It is noted that in the calculation of
, partial
has been updated to replace the
, which is reflected in the different calculations of
and
.
Step 3: The APP-LLR MI evaluation
For
and
where
.
The procedure of Steps 1 to 3 is performed iteratively until or the maximum iteration is reached.
Remarks: If the maximum iteration is set to a large value, like the conventional EXIT algorithm, then the JSEXIT algorithm cannot reflect its advantage of shuffled scheduling, as with the larger iteration number in shuffled scheduling decoding, which has similar performance to that of the standard BP algorithm. We set the maximum iteration to 20 here for this reason. Therefore, the decoding threshold has a gap compared with that of the conventional EXIT algorithm, but it can provide comparable results.
4.2. Decoding Threshold Calculation
The MI
can be viewed as a function of independent variables
,
,
and
, i.e.,
where
can be calculated from
. The channel decoding threshold
indicates the performance of the water-fall region, which is the minimum value to make all
1 for a given
. The
indicates the performance of the error floor level, which is the maximum value to make all
1 when
. The
and
will also be calculated when a different
is set. Without loss of generality, two examples using regular LDPC codes as source and channel code are presented as follows, where
is with
and another
is with
. The regular source and channel protographs with degree-3 VNs are given by
The nonzero
is represented by
Thus, the
and
are respectively represented by
The source decoding thresholds
and channel decoding thresholds
for different grouping strategies are calculated and shown in
Table 2 and
Table 3. It can be seen that 1) the JSEXIT algorithm can calculate the decoding threshold regardless of the
or
; 2) with the increase of
, the source coding threshold becomes large and the channel threshold becomes small. For example, with
at source statistic
, the case of
outperforms the cases of
,
,
and
by 0.12 dB, 0.35 dB, 1.17 dB and 1.27 dB, respectively.
6. Conclusions
In this paper, a JGSSD algorithm for the D-LDPC codes system is proposed. The proposed algorithm considers the D-LDPC coding structure as a whole. In order to analyze the performance of different grouping strategies, a JSEXIT algorithm is proposed for the general D-LDPC coding structure, i.e., both the cases of and . It can be seen that both the source decoding threshold and the channel decoding threshold improve as increases. The BER simulation is in line with the EXIT analysis, i.e., the BER performance has a better coding gain or lower error floor level when the has a higher value. In addition, the decoding complexity and decoding latency are also compared, and it is shown that the larger gives a lower decoding complexity but a higher decoding latency. Thus, a suitable shuffled scheduling decoding algorithm should give overall consideration to factors including performance, complexity and latency, and the JGSSD algorithm provides an intelligent choice. In future, the performance of the JGSSD algorithm can be studied for specific applications, such as multiple fading channels, and the optimization of the D-LDPC coding structure with the aid of the JSEXIT algorithm for different grouping strategies can be studied.