Open Access
This article is

- freely available
- re-usable

*Algorithms*
**2019**,
*12*(8),
151;
https://doi.org/10.3390/a12080151

Article

Soft Iterative Decoding Algorithms for Rateless Codes in Satellite Systems

^{1}

College of Information Engineeing, Yangzhou University, Yangzhou 225009, China

^{2}

Division of Electronic Engineeing, IT Convergence Research Center, Chonbuk National University, Jeonju 54896, Korea

^{*}

Author to whom correspondence should be addressed.

Received: 30 May 2019 / Accepted: 27 July 2019 / Published: 29 July 2019

## Abstract

**:**

The satellite system is one of the most efficient means for broadcasting due to its wide service coverage as well as the fact that it can provide high data rate services by using high frequency bands. However, there are a number of problems in the satellite system, such as a long round trip delay (RTD) and heterogeneity of the channel conditions of the earth stations. Even though utilizing adaptive coding and modulation (ACM) is almost mandatory for the satellite systems using high frequency bands due to the serious rain fading, the long RTD makes it difficult to quickly respond to channel quality information, resulting in a decrease in the efficiency of ACM. A high heterogeneity of earth stations caused by a wide service coverage also makes it difficult to apply a uniform transmission mode, and thus satellite systems require receiver-dependent transmission modes. A rateless code can be an effective means to compensate for these disadvantages of satellite systems compared to terrestrial wireless systems. This paper presents soft iterative decoding algorithms for efficient application of rateless codes in satellite systems and demonstrates that rateless codes can be effectively used for hybrid automatic repeat request schemes.

Keywords:

rateless codes; soft iterative decoding; Tanner graph; LDPC codes; satellite systems## 1. Introduction

The rateless code is designed to generate infinite length of parities for a given length of information word, k, resulting in its code rate to be $k/\infty \approx 0$. Because of this rateless characteristic, it is often called a fountain code, and parity bits can be transmitted until perfect recovery of information is achieved. This eventually leads to capacity-achieving performance without any channel state information (CSI) report, and thus it can be efficiently utilized in unidirectional services such as multi-casting and broadcasting services. A receiver in a heterogeneous channel condition can access the ongoing mutli-cast session at an arbitrary time and can receive the message until it recovers the information without any error. Luby proposed the first class of rateless codes; they were called Luby transform (LT) codes [1]. Later, raptor codes were proposed in order to compensate for the disadvantages of LT codes; the typical design of a raptor code concatenated an LT code with a low-density parity check (LDPC) code [2].

Due to this strong advantage of rateless codes, evolved multimedia broadcast multicast services (eMBMS) introduced in the third-generation partnership project (3GPP) adopted forward error correction (FEC) schemes with rateless codes in the application layer [3]. Satellite systems are an effective means of providing MBMS, and thus utilizations of rateless codes have been considered to provide efficient satellite broadcasting services [4,5,6,7]. For example, in order to overcome the heterogeneity of the receivers and reduce the number of retransmissions, the packet level FEC scheme using LT codes was incorporated in a satellite data broadcasting system in [4]. In addition, raptor codes were investigated in combination with the digital video broadcasting via satellite (DVB-S) specification, which is one of the most popular standards for broadcasting satellite services (BSS) [5,6]. A cross-layer design of LT codes and LDPC codes was attempted for satellite multimedia broadcasting and multi-cast services, and the optimum parameters were designed to improve throughput performance for satellite multimedia transmission [7].

Considering that satellite bandwidth is a very expensive resource, recent satellite systems are required to adopt spectrally efficient transmission schemes, such as high-order modulation schemes and capacity-limiting FEC schemes. In addition, adaptive resource utilization, which is often referred to as adaptive coding and modulation (ACM) is needed in order to counteract various channel impairments in the physical (PHY) layer aspects. These requirements were reflected in the recent standards for satellite broadcasting services, such as digital video broadcasting—second generation satellite (DVB-S2) and its extension (DVB-S2X). Adaptive usage of resources, i.e., ACM requires closer interaction between the medium access control (MAC) and the PHY layers for optimum resource allocation. The hybrid automatic repeat request (HARQ) is an example of a cross-layer approach, where end to end data reliability is provided through a combination of PHY, data link, and transport layers.

Modern satellite communication and broadcasting standards specify LDPC codes as an FEC coding scheme, and LDPC codes are known to provide excellent decoding performance by virtue of soft iterative decoding [8]. Even though multiple code rates of LDPC codes are defined for utilization of ACM in the existing satellite standards such as DVB-S2 and DVB-S2X, LDPC codes do not have their own rate compatibilities, i.e, multiple code rates cannot be generated from a single mother code. For this reason they cannot be directly applied to HARQ schemes which require rate-compatible FEC schemes to process incremental redundancy operations. In this regard, combining a rateless code with the existing LDPC code can be a solution [6].

Motivated by the previous works, this paper presents two proposals to apply rateless codes for HARQ in satellite systems in order to provide efficient data broadcasting services. We especially focus on compensating rain fading in satellite systems by utilizing efficient soft iterative decoding algorithms for the proposed rateless coded schemes. The first proposal is to use rateless codes in the PHY layer to accomplish Type-II HARQ, by applying an efficient parallel soft iterative decoding algorithm to the rateless LDPC coded scheme proposed in [6]. We present the detailed equations and flowchart for the proposed algorithm and demonstrate the performance over a rain fading channel in the satellite system. The second one is to use rateless codes in the MAC layer for a cross-layer coding scheme. For this, we also present the detailed equations and flowchart for the soft iterative decoding algorithm based on the Tanner graph of the cross-layer code. Simulation results are demonstrated over an additive Gaussian noise channel and a rain fading channel.

The remaining part of this paper is organized as follows. After this introduction, we first review the concept of HARQ schemes with rateless codes. Section 3 proposes two HARQ schemes with rateless codes, and for both of the schemes we propose soft iterative decoding algorithms. Section 4 presents performance simulation results over satellite channels and demonstrates the excellence of the proposed schemes. Finally, Section 5 concludes the paper.

## 2. HARQ Transmissions with Rateless Codes

#### 2.1. Rateless Codes

In a transmission system using rateless codes, parities for a given piece of information can be continuously received until the perfect recovery of the original information is achieved. This way, quality of service (QoS) can be guaranteed independent of the channel condition. A block diagram for a transmission system using a rateless code is represented in Figure 1. The encoder at the transmitter continuously generates parity bits for the information word,

**u**, with a length of k and forms a codeword,**c**. The encoding process is performed using a predetermined degree distribution, and it can be continued infinitely, resulting in infinite length of**c**.The encoding process is first started by generating the degree d of the encoding symbol, which is randomly chosen from the given degree distribution. The encoder, then estimates the encoding symbol by selecting d neighbouring variable nodes and taking the exclusive—or operation of the values in the variable nodes. The degree distribution is critical to the performance of the rateless code. The robust soliton distribution (RSD) is first proposed for the LT code [1], and later the Poisson robust soliton distribution (PRSD) was proposed to improve the decoding efficiency and the symbol-recovery probability [9]. More detailed information on the encoding of the rateless code can be found in [10].

After this encoding process, the transmitter maps a part of the codeword

**c**to modulation symbols and sends them through the channel, and this mapping and transmission processes also continue as more parities are generated. The decoder at the receiver starts its process if a sufficient number of received signals are collected. In this case, the demodulator produces the bitwise estimation vector,**r**, for decoding. If the decoding is successfully completed with the given collected signal set, then the ACK signal is sent to the transmitter. Otherwise, the receiver collects more signals for increased parities, and the decoding is performed with increased length of the codeword.A hard decision decoding method was originally utilized for rateless codes, because they were first proposed for erasure channels. Recently, soft iterative decoding algorithms were applied to rateless codes in order to use them in wireless systems where a large amount of coding gain was required to combat harsh channel conditions [6,10]. Since the encoding process of a rateless code is performed over a graph, an iterative decoding method based on belief propagation could easily be adopted.

#### 2.2. HARQ with Rateless Codes

An HARQ scheme is a combination of an FEC scheme with a classical ARQ scheme. HARQ schemes are classified into three types. In a type-I scheme, the same codeword is retransmitted whenever NACK is received. On the other hand, in a type-II or type-III scheme, the very first transmission packet contains only systematic bits or systematic bits with a few parity bits. As the retransmission steps increase, the type-II scheme transmits newly-generated incremental redundancy bits, while the type-III scheme transmits the previously-transmitted bits along with newly-generated incremental redundancies.

Therefore, an FEC scheme used in a type-II or type-III HARQ scheme should have rate-compatibility, i.e., codes with various code rates can be generated with a mother code, so that a single encoder and decoder can be utilized. For this reason, codes based on convolutional codes which have inherent rate compatible characteristics are usually adopted for application in HARQ schemes. Because a rateless code can continuously generate parity bits, it can provide rate compatible characteristics and thus can be used in type-II and type-III HARQ schemes.

## 3. Efficient Soft Iterative Decoding Algorithms for HARQ with Rateless Codes in Satellite Systems

#### 3.1. HARQ for Satellite Systems

Even though the HARQ scheme has been considered to be an efficient means for terrestrial wireless communication systems, direct application of HARQ to a satellite system may cause serious issues due to a long round trip delay, which reaches up to 0.25 seconds for geostationary earth orbit (GEO) satellite systems. For this reason, a number of research studies have developed satellite-specific HARQ schemes [11]. However, most of these previous proposals were focused on modifying conventional HARQ schemes for delay sensitive satellite systems, instead of the specific incremental redundancy schemes and decoding methods.

The performance of type-I hybrid ARQ relies heavily on the error correction capability of the FEC code used. This scheme is not adequate for mobile satellite channels with high time or frequency selectivities because the fixed FEC code cannot efficiently manage the limited channel resources as the satellite channel conditions change. Recent satellite systems designed to provide high data rate services such as high-definition digital television (HDTV) services usually use GEO and high frequency bands over 10 GHz, and these high frequency bands have severe time selectivities due to rain fading. In this situation, type-II and type-III HARQ can be an effective solution when combined with ACM.

A type-II scheme transmits only the added parity blocks at every retransmission, so it is suitable for the system with prevailed line of sight (LOS) conditions or with a mild rain fading condition. A type-III scheme transmits a complementary code by combining the added parity with the previous transmission, so every transmission has self-decodability and it is advantageous for heavy fading conditions.

#### 3.2. HARQ with Rateless LDPC Codes

#### 3.2.1. Operational Principle

A raptor code is a concatenated code with an inner LT code and an outer LDPC code [2], and the structures of the inner and outer codes are generally analyzed with Tanner graphs. With a systematic LT code as the inner component, which has a rateless property and can be formulated by its own parity check equation similar to that of the LDPC code, the whole concatenated code can be considered as a rateless LDPC code.

In Figure 2, a satellite system using an HARQ scheme is shown, where ACM is operated with the conventional LDPC code defined in the existing standards, and incremental redundancies are accomplished by employing rateless LDPC codes [6]. At the encoder in the transmission part, the conventional LDPC encoder takes
where
and $\mathsf{\Lambda}=c$ln$(k/\delta )\sqrt{k}$ for some suitable constant $c>0$, $\delta $ is an allowable failure probability, and $\beta ={\sum}_{i=1}^{k}[\rho \left(i\right)+\tau \left(i\right)]$. In this study, $\delta =0.9$ and $c=0.32$.

**u**as the information word, and generates the codeword**U**. For the LDPC code specified in the DVB-S2/S2X, the size of**U**is 64,800 and 16,200 bits for normal and short frames, respectively. Then, an LDPC codeword,**U**forms the systematic part of the inner LT code, and parity words, ${\mathbf{p}}_{1},{\mathbf{p}}_{2},\dots $ are generated infinitely by the LT encoder. In our application, we use the following RSD to generate the parity words [1].
$$\sigma \left(i\right)=\left[\rho \right(i)+\tau (i\left)\right]/\beta ,\mathrm{for}i=1,\dots ,k,$$

$$\rho \left(i\right)=\left\{\begin{array}{cc}1/k,\hfill & \mathrm{for}i=1,\hfill \\ \frac{1}{i(i-1)},\hfill & \mathrm{for}i=2,\dots ,k,\hfill \end{array}\right.$$

$$\tau \left(i\right)=\left\{\begin{array}{cc}\mathsf{\Lambda}/\left(ik\right),\hfill & \mathrm{for}i=1,\dots ,k/\mathsf{\Lambda}-1,\hfill \\ \mathsf{\Lambda}\mathrm{ln}(\mathsf{\Lambda}/\delta )/k,\hfill & \mathrm{for}i=k/\mathsf{\Lambda},\hfill \\ 0,\hfill & \mathrm{for}i=k/\mathsf{\Lambda}+1,\dots ,k,\hfill \end{array}\right.$$

The codeword

**c**from the rateless LDPC encoder consists of**U**and ${\mathbf{p}}_{i}$s, and ${\mathbf{p}}_{i}$s are accumulated in the buffer. A type-II HARQ scheme can be operated by using this rateless LDPC code as follows:**U**is transmitted at the first transmission. If the decoding of**U**fails, a part of the generated parity blocks, say ${\mathbf{p}}_{1}$, is transmitted in the second transmission. If the decoding of**U**combined with ${\mathbf{p}}_{1}$ fails again, more parity blocks, ${\mathbf{p}}_{2},{\mathbf{p}}_{3},\dots $ are transmitted until the ACK for successful decoding is received or until the limited number of retransmissions is reached.#### 3.2.2. Soft Iterative Decoding Algorithms

At the receiver, joint iterative decoding with soft information can be performed by adopting the modified Tanner graph approach [12]. Figure 3 shows the Tanner graph of the rateless LDPC code, and two component codes, i.e., the LT and LDPC codes are connected by sharing the same bit nodes in the Tanner graph. This node sharing in the Tanner graph can lead to a parallel decoding process at each component code; a similar approach was attempted earlier in the orthogonal frequency division multiplexing (OFDM) system [13].

Referring to the outer LDPC code part of the Tanner graph in Figure 3, nodes ${c}_{1}$ to ${c}_{K}$ are included in the systematic part, i.e., original information, while nodes ${c}_{K+1}$ to ${c}_{k}$ are included in the parity part. We note that k is the length of the systematic part of the inner LT code, and it is the same as the length of the outer LDPC codeword of N. Therefore, there is direct connection with ${c}_{K+1}$ to ${c}_{k}$ to the check nodes ${P}_{1}$ to ${P}_{N-K}$ of the outer LDPC code. The nodes ${c}_{k+1}$ to ${c}_{n}$ denote the parity part of the inner LT code, and are used to form check nodes ${p}_{1}$ to ${p}_{n-k}$. As shown in the figure, the inner and outer codes in the Tanner graph are represented by check and bit nodes; the same decoding algorithm can be used. In addition, bit nodes of both codes are shared, so there will be automatic interaction between two decoders and this enables the parallel processing of two iterative decoders.

In order to feed input to the decoder, the demodulated soft information, ${r}_{i}$, for the ith transmitted signal, ${c}_{i}$, given the ith received signal, ${\gamma}_{i}$, is estimated by using a soft demapping method [14,15], which is an approximation of the following equation [8].

$${r}_{i}=log\left(\frac{Pr({c}_{i}=1|{\gamma}_{i})}{Pr({c}_{i}=0|{\gamma}_{i})}\right).$$

Then, the joint iterative soft decoding is started by initializing the a priori information as the soft information on the bit nodes, ${\lambda}_{i}^{\left(\mathrm{R}\right)}$, and it is used for both LT and LDPC codes due to the bit node sharing property in the Tanner graph. After initializing ${\lambda}_{i}^{\left(\mathrm{R}\right)}={r}_{i}$, soft information exchanges are iteratively performed from bit to check nodes and vice versa at both codes. At the initial iteration, soft information from bit node i to check node t of the LT code, ${\mu}_{i,t}$, is initialized with ${\lambda}_{i}^{\left(\mathrm{R}\right)}$ as follows:
where ${R}_{i}$ is the set of indices for the check nodes connecting to bit node i.

$${\mu}_{i,t}={\lambda}_{i}^{\left(\mathrm{R}\right)},\phantom{\rule{0.277778em}{0ex}}t\in {R}_{i},$$

Afterwards, soft information between check node t and bit node i, ${\omega}_{t,i}$ and ${\mu}_{i,t}$ are alternately estimated for soft information exchange across the nodes, as follows:
where ${C}_{t}$ is the set of indices for the bit nodes connecting to check node t. After every iteration of estimating ${\omega}_{t,i}$ and ${\mu}_{i,t}$, the soft output from LT decoding, ${\lambda}_{i}^{\left(\mathrm{LT}\right)}$, is estimated as follows:

$${\omega}_{t,i}=2{tan}^{-1}\left(\prod _{s\in {C}_{t},s\ne i}tanh\frac{{\mu}_{s,t}}{2}\right),$$

$${\mu}_{i,t}={\lambda}_{i}^{\left(\mathrm{R}\right)}+\sum _{y\in {R}_{i},y\ne t}\left({\omega}_{y,i}\right),$$

$${\lambda}_{i}^{\left(\mathrm{LT}\right)}=\sum _{t\in {R}_{i}}({\omega}_{t,i}+{\mu}_{i,t}).$$

Then, the parity check equation is established using the hard decision values of the soft output as follows, in order to determine whether the decoding process needs to be continued:
where ${\widehat{c}}_{i}$s is the hard decision of ${\lambda}_{i}^{\left(\mathrm{LT}\right)}$s. If the above parity check equation is satisfied, the decoding process for the LT code will stop here. Otherwise, the soft outputs are used to update soft information on the bit nodes by setting ${\lambda}_{i}^{\left(\mathrm{R}\right)}={\lambda}_{i}^{\left(\mathrm{LT}\right)}$, and also they are used to initiate the decoding process in the LDPC decoder. In other words, soft information from bit to check node is initialized as follows:

$$\underset{i\in {C}_{t}}{\u2a01}{\widehat{c}}_{i}=0,\phantom{\rule{0.277778em}{0ex}}1\le t\le n-k,$$

$${v}_{i,{t}^{\prime}}={\lambda}_{i}^{\left(\mathrm{R}\right)},\phantom{\rule{0.277778em}{0ex}}{t}^{\prime}\in {N}_{i}.$$

Then, soft information exchanges are made by estimating the following equations alternatively.
where ${E}_{{t}^{\prime}}$ is the set of indices for the bit nodes connecting to check node ${t}^{\prime}$, and ${N}_{i}$ is the set of indices for the check nodes connecting to bit node i. After every alternative estimation of the above two equations, the soft output from the LDPC decoder:
and the following parity check equation is estimated.
where ${\widehat{I}}_{i}$ is the hard decision of the soft output and ${\mathbf{H}}^{T}$ is the transpose of the parity check matrix, $\mathbf{H}$, for the LDPC code. If the parity check equation is satisfied, then the decoding stops by producing the final decoded information. On the other hand, if the maximum number of iterations is not reached, then the final soft output is used to update soft information on the bit nodes, i.e., ${\lambda}_{i}^{\left(\mathrm{R}\right)}={\lambda}_{i}^{\left(\mathrm{LDPC}\right)}$, and next joint iteration from LT decoding is repeated. A complexity reduced algorithm in the log-domain with a correction factor can be applied to both of the component codes DVBS2-LDPC [16] by replacing Equations (6) and (11) with Equations (15) and (16), respectively.
where $\mathsf{\Phi}(a,b)=\mathrm{sign}\left(a\right)\mathrm{sign}\left(b\right)\mathrm{min}\left(\right|a|,|b\left|\right)+{\mathrm{LUT}}_{g}(a,b),$ and ${\mathrm{LUT}}_{g}(a,b)$ is a correction factor that is expressed as ${\mathrm{LUT}}_{g}(a,b)=log(1+{e}^{-|a+b|})-log(1+{e}^{-|a-b|}).$

$${w}_{{t}^{\prime},i}=2{tan}^{-1}\left(\prod _{s\in {E}_{{t}^{\prime}},s\ne i}tanh\frac{{v}_{s,{t}^{\prime}}}{2}\right),$$

$${v}_{i,{t}^{\prime}}={\lambda}_{i}^{\left(\mathrm{R}\right)}+\sum _{y\in {N}_{i},y\ne {t}^{\prime}}\left({w}_{y,i}\right),\phantom{\rule{0.277778em}{0ex}}1\le {t}^{\prime}\le N-K,\phantom{\rule{0.277778em}{0ex}}1\le i\le k,$$

$${\lambda}_{i}^{\left(\mathrm{LDPC}\right)}=\sum _{{t}^{\prime}\in {N}_{i}}({w}_{{t}^{\prime},i}+{v}_{i,{t}^{\prime}}),\phantom{\rule{0.277778em}{0ex}}i\le k,$$

$$\widehat{\mathbf{I}}{\mathbf{H}}^{T}=0,$$

$${\omega}_{t,i}={\mathsf{\Phi}}_{s\in {C}_{t},s\ne i}\left({\mu}_{s,t}\right),$$

$${w}_{{t}^{\prime},i}={\mathsf{\Phi}}_{s\in {E}_{{t}^{\prime}},s\ne i}\left({v}_{s,{t}^{\prime}}\right),$$

The above joint decoding process can be processed in parallel in order to accelerate the processing speed. Figure 4 shows the flow chart of the parallel decoding algorithm. In this method, the LT and LDPC decoders perform soft message exchanging processes in parallel. While steps 1-0 to 1-2 in the flowchart are performed in the LT decoder, steps 2-0 to 2-2 can be performed in the LDPC decoder. Afterwards, if step 3-3 for soft output estimation is performed as follows, then the decoding speed can be doubled.

$${\lambda}_{i}^{\left(\mathrm{Para}\right)}=\sum _{t\in {R}_{i}}({\omega}_{t,i}+{\mu}_{i,t})+\sum _{{t}^{\prime}\in {N}_{i}}({w}_{{t}^{\prime},i}+{v}_{i,{t}^{\prime}}),$$

Afterwards, the hard decision on this soft output is used for the parity check in Equation (14). The decoding process will be continued if the parity check equation is not satisfied, by updating soft estimations on the bit nodes using the soft output, i.e.:

$${\lambda}_{i}^{\left(\mathrm{R}\right)}={\lambda}_{i}^{\left(\mathrm{Para}\right)}.$$

With the proposed parallel decoding algorithm, both component decoders utilize the combined information from both decoders as in Equation (17), resulting in increased reliability and eventually early convergence.

#### 3.3. HARQ with Cross-Layer Rateless Codes

#### 3.3.1. Operational Principle

Figure 5 shows a block diagram of the satellite system using a cross-layer code using rateless codes. At the transmitter, the encoding process at the MAC layer is performed by the LT encoder, and after the fragmentation, PHY layer encoding with the LDPC encoder and modulation processes are cascaded sequentially. The binary information,

**I**, with a size of k is encoded by the systematic LT code in the MAC layer, yielding an output bit stream**u’**with an arbitrary size of n. To generate parity words of the LT code, we use the following polynomial degree distribution [17].
$$\begin{array}{ccc}\mathsf{\Omega}\left(x\right)\hfill & =\hfill & 0.007969x+0.493572{x}^{2}+0.166220{x}^{3}+0.072464{x}^{4}+0.082558{x}^{5}\hfill \\ & & +0.056058{x}^{8}+0.037229{x}^{9}+0.055590{x}^{19}+0.025023{x}^{65}+0.003135{x}^{66}.\hfill \end{array}$$

In the fragmentation module,

**u’**is divided into several packets each of length K; each packet represented by**u**is encoded by an LDPC encoding module, yielding an LDPC codeword**c**of length N which is modulated and transmitted through the channel.At the receiver, the LDPC decoder starts decoding once it receives soft information from the demodulator, and passes the final estimation to the MAC layer, whether or not the parity check equation is satisfied. If a sufficient number of LDPC decoded packets are collected by the LT decoder in the MAC layer, then the LT decoder is activated. If the decoding is successfully completed, then the ACK signal will be sent to the transmitter. Otherwise, the collection of the LDPC decoded packets will continue for the next decoding attempt. In a typical tandem way of decoding, final estimation on the information is made from the hard or soft decoding of the LT code in the MAC layer.

#### 3.3.2. Soft Iterative Decoding Algorithms

For the decoding of these cross-layer codes, the joint iterative soft decoding principle can also be applied when we interpret both codes with the Tanner graphs, as shown in Figure 6. Upon receiving soft information bits from the channel, the LDPC decoder in the PHY layer estimates its soft output information and passes this to the LT decoder in the MAC layer. Subsequently, the LT decoder in the MAC layer performs its own soft iterative decoding and terminates the joint iterative decoding if a stopping criterion is satisfied. Otherwise, the LT decoder feeds its soft information back to the LDPC decoders, so that the LDPC decoding process is reactivated with updated soft information.

Assuming the same soft iterative principle as in the rateless LDPC codes, before the decoding starts, the soft input information for the LDPC decoders, ${r}_{i}$, in Equation (4) is estimated. With these initial values, the LDPC decoders utilize them as a priori information, and initialize soft information from bit to check node as follows:
where ${v}_{i,{t}^{\prime}}^{\ell}$ denotes ${v}_{i,{t}^{\prime}}$ inside the $\ell =\lfloor i/K\rfloor $-th LDPC code block, and ${N}_{i}$ is the set of indices for check nodes connecting to bit node i. After this initialization, soft information between the bit and check nodes is alternately estimated as follows:
where ${w}_{{t}^{\prime},i}^{\ell}$ denotes ${w}_{{t}^{\prime},i}$ inside the ℓth fragmented LDPC code block, and ${E}_{{t}^{\prime}}$ is the set indices for the bit nodes connecting to check node ${t}^{\prime}$.

$${v}_{i,{t}^{\prime}}^{\ell}={r}_{\ell K+i},{t}^{\prime}\in {N}_{i},\phantom{\rule{0.277778em}{0ex}}1\le i\le K,$$

$${w}_{{t}^{\prime},i}^{\ell}=2{tan}^{-1}\left(\prod _{s\in {E}_{{t}^{\prime}},s\ne i}\frac{{v}_{s,{t}^{\prime}}^{\ell}}{2}\right),1\le {t}^{\prime}\le N-K,$$

$${v}_{i,{t}^{\prime}}^{\ell}={r}_{\ell K+i}+\sum _{y\in {N}_{i},y\ne {t}^{\prime}}\left({w}_{y,i}^{\ell}\right).$$

After every alternative estimation of ${v}_{i,{t}^{\prime}}^{\ell}$ and ${w}_{{t}^{\prime},i}^{\ell}$, the soft output is estimated as follows:

$${\widehat{m}}_{\ell K+i}^{\ell}=\sum _{{t}^{\prime}\in {N}_{i}}({w}_{{t}^{\prime},i}^{\ell}+{v}_{i,{t}^{\prime}}^{\ell}).$$

If the LDPC decoding process is finished either the maximum number of iterations, ${\beta}_{max}$ is reached, or the parity check equation is satisfied, the final estimation on the bit nodes is passed to the LT decoder and is used to initialize soft information on encoding nodes as follows:

$${c}_{j}^{\prime}={\widehat{m}}_{j\%K}^{\ell}.$$

With these initial values, the soft information exchanges are made between the encoding and information nodes using the following equations [18,19]:
where ${\chi}_{j}$ is the set indices for the information nodes connecting to the encoding node, j.
where ${\epsilon}_{i}$ is the set of indices for the encoding nodes connecting to information node, i. The above iterative estimations of soft information exchanges are continued until the maximum number of iterations ${\alpha}_{max}$, is reached or a stopping criterion is satisfied. If a systematic LT code is used, then the parity check equation is used for a stopping criterion. The final soft output information is estimated by:

$$L\left({f}_{j,i}\right)=2{\mathrm{tan}}^{-1}\left(\mathrm{tan}\mathrm{h}\frac{{c}_{j}^{\prime}}{2}\xb7\prod _{x\in {\chi}_{j},\phantom{\rule{0.277778em}{0ex}}x\ne i}\mathrm{tan}\mathrm{h}\frac{L\left({h}_{x,j}\right)}{2}\right),$$

$$L\left({h}_{i,j}\right)=\sum _{e\in {\epsilon}_{i},e\ne j}L\left({f}_{e,i}\right),$$

$${\widehat{u}}_{i}=\sum _{e\in {\epsilon}_{i}}L\left({f}_{e,i}\right).$$

If the iterative process inside the LT decoder in the MAC layer is finished, then the soft output for the information nodes is fed back to the LDPC decoder in the PHY layer as follows:
As in the case of decoding for rateless LDPC codes, the log-domain min-sum algorithm with a correction factor can be applied to reduce the computational complexity [8].

$${r}_{i}={\widehat{u}}_{i},\phantom{\rule{0.277778em}{0ex}}i\le k.$$

In a word, the cross-layer joint decoding, shown in Figure 7, is performed as follows. The LDPC decoders in the PHY layer feed the soft information in Equation (23) to the LT decoder in MAC layer after performing Equations (20) to (22). Subsequently, the LT decoder in the MAC layer performs Equations (24) to (27) and terminates the joint iterative decoding if a stopping criterion is satisfied. Otherwise, the LT decoder will feed its soft information to LDPC decoders with Equation (28) for the next joint iterative decoding until the predetermined maximum number of iterations, ${\eta}_{max}$ is reached.

## 4. Simulation Results

We first investigate the performance of the cross-layer coding scheme. As a reference performance, the bit error rate (BER) performance with the tandem soft iterative decoding is first estimated. In order to investigate the performance of the proposed HARQ for the incremental redundancy with FEC scheme, we employ a simple binary phase shift keying (BPSK) modulation. In the MAC layer, the LT codes with a degree distribution specified in [17] were used, while in the PHY layer the LDPC code specified in DVB-S2 with length of $N=16200$ and code rate of $1/4$ is applied. The maximum number of iterations for both the MAC-layer LT code and the PHY-layer LDPC codes are set to 40. We assume $k\le K$ to ensure the cross-layer decoding attempt once the decoding is finished by the first LDPC decoder.

Figure 8 shows the BER performance comparisons of the proposed cross-layer joint iterative decoding scheme with ${\eta}_{max}=2$ compared to the conventional tandem decoding and non-systematic LT codes, when $k=K$ and $k=K/2$. We first compare the performance over an additive white Gaussian noise (AWGN) channel, for relative performance comparison of decoding schemes applied to the cross-layer codes. In the figure, ${R}^{-1}=k/n$, denotes the inverse of the code rate of the LT code. As shown in the figure, regardless of ${R}^{-1}$, the proposed decoding method outperforms the existing tandem decoding, which achieves better performance than the case with a non-systematic code. Then, a satellite rain fading channel with a Ka frequency band is applied [20]. Dynamic rain fading data with a second interval is generated, and the maximum fading value is set to 28 dB. The simulation results over a rain fading channel in Figure 8 demonstrate exactly the same trend we found in the AWGN channel, so the proposed decoding method for the cross-layer code outperforms the others.

Next we assess the performance of the proposed rateless LDPC coding scheme over the satellite rain fading channel. The BER performance of the proposed HARQ scheme is compared with that of the conventional LDPC codes, where the proposed HARQ accomplishes type-II incremental redundancy with rateless LDPC codes. Figure 9 compares the BER performance of the proposed scheme over the rain fading satellite channel with a Ka frequency band [20]. In the simulation, short frame sized LDPC codes defined in the DVB-S2 are used with a number of code rates, R, and rain attenuation data of about 12 hours are synthesized with a time interval of second unit and with a maximum fading value of 24 dB. The maximum numbers of iterations are limited to 20, 40, and 3 for LT decoding, LDPC decoding, and joint iterative decoding, respectively. The maximum number of retransmissions allowed is determined by when the inverse of the code rate of the LT code, ${R}^{-1}$, reaches up to 4.

From the simulation, the average ${R}^{-1}$ values observed from all the rateless codes range from 1.000072 to 1.014061, implying that additional redundancies used can almost be ignored compared to the conventional LDPC codes. Considering this, the results in Figure 9 demonstrate that, with the use of rateless codes, rain fading can be effectively compensated for without an appreciable amount of additional resources being required. For example, the rateless LDPC code of which the component LDPC code has an R of 7/9 can produce a better performance than the conventional LDPC code with an R of 4/9, and produces an almost identical performance to that of the conventional LDPC code with an R of 1/3.

## 5. Conclusions

This paper introduced two promising applications of rateless codes for satellite systems, with efficient soft iterative decoding algorithms for performance enhancement. By utilizing the inherent incremental redundancy capability of rateless codes, they can be applied to the HARQ scheme in satellite systems. Because many recent satellite broadcasting systems adopt LDPC codes which do not have inherent rate compatibility, direct application to HARQ may come with a number of problems. The study results presented in this paper showed that combining existing LDPC codes with rateless codes either in the PHY or MAC layer can be an effective solution. Related studies with extensive simulations with various system configurations and scenarios, including raptor-like LDPC codes adopted in the 5G NR, should be conducted in the future.

## Author Contributions

Conceptualization and methodology, M.Z. and S.K.; software and data curation, M.Z. and S.C.; validation, S.K.; writing—original draft preparation, review and editing, S.K.; funding acquisition, M.Z. and S.K.

## Funding

This research was supported by National Natural Science Foundation of China (Grant No. 61601403) and Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(2017R1D1A1B03027939)

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Luby, M. LT Codes. In Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science, Vancouver, BC, Canada, 19 November 2002; pp. 271–280. [Google Scholar]
- Shokrollahi, A. Raptor Codes. IEEE Trans. Inf. Theory
**2006**, 52, 2551–2567. [Google Scholar] [CrossRef] - Thota, J.; Bulut, B.; Doufexi, A.; Armour, S. Performance Evaluation of Multicast Video Distribution with User Cooperation in LTE-A Vehicular Environments. In Proceedings of the 2017 IEEE 86th Vehicular Technology Conference (VTC-Fall), Toronto, ON, Canada, 24–27 September 2017. [Google Scholar]
- Zhu, H.; Li, G.; Xie, Z. Advanced LT codes in Satellite Data Broadcasting System. In Proceedings of the 11th IEEE Singapore International Conference on Communication Systems, Guangzhou, China, 19–21 November 2008; pp. 1430–1435. [Google Scholar]
- Hagh, M.J.; Soleymani, M.R. Constellation Rotation for DVB Multiple Access Channels with Raptor coding. IEEE Trans. Broadcast.
**2013**, 59, 290–297. [Google Scholar] [CrossRef] - Zhang, M.; Li, C.; Kim, S. Efficient Utilization of Rateless LDPC Codes for Satellite Broadcasting Services. In Proceedings of the 2016 International Conference on Wireless Communications & Signal Processing (WCSP 2016), Yangzhou, China, 13–15 October 2016. [Google Scholar]
- Wang, Z.; Wang, Z.; Gu, X.; Guo, Q. Cross-layer design of LT codes and LDPC codes for satellite multimedia broadcast/multicast services. Chin. J. Aeronaut.
**2013**, 26, 1269–1275. [Google Scholar] [CrossRef] - Eroz, M.; Sun, F.; Lee, L. DVB-S2 Low Density Parity Check Codes with Near Shannon Limit Performance. Int. J. Satell. Commun. Netw.
**2004**, 22, 269–279. [Google Scholar] [CrossRef] - Yao, W.; Yi, B.; Huang, T. Poisson robust soliton distribution for LT codes. IEEE Commun. Lett.
**2016**, 20, 1499–1502. [Google Scholar] [CrossRef] - Zhang, M.; Kim, S. An Efficient Encoding Scheme for LT codes with Soft Iterative Decoding. IET Commun.
**2018**, 12, 1624–1629. [Google Scholar] [CrossRef] - Hong, T.C.; Kang, K.-S.; Ku, B.-J.; Chang, D.-I. Receiver memory management method for HARQ in LTE-based satellite communication system. Int. J. Satell. Commun. Netw.
**2017**. [Google Scholar] [CrossRef] - Zhang, M.; Kim, S.; Chang, J.Y.; Kim, W.-Y. A New Soft Decoding Method for Systematic Raptor Codes. IET Commun.
**2015**, 9, 1933–1940. [Google Scholar] [CrossRef] - Wen, L.; Razavi, R.; Imran, M.A.; Xiao, P. Design of joint sparse graph for OFDM system. IEEE Trans. Wirel. Commun.
**2014**, 14, 1823–1836. [Google Scholar] [CrossRef] - Zhang, M.; Kim, S.; Kim, Y. Universal Soft Decision Demodulator for M-ary Adaptive Modulation Systems. In Proceedings of the 2012 18th Asia-Pacific Conference on Communications (APCC), Jeju Island, South Korea, 15–17 October 2012; pp. 574–578. [Google Scholar]
- Zhang, M.; Kim, Y. Universal Soft Demodulation Schemes for M-ary Phase Shift Keying and Quadrature Amplitude Modulation. IET Commun.
**2016**, 10, 316–326. [Google Scholar] [CrossRef] - Zhang, M.; Kim, S. A New Soft Decoding Method for Systematic LT Codes. In Proceedings of the 20th European Wireless Conference, Barcelona, Spain, 14–16 May 2014; pp. 1–6. [Google Scholar]
- Hu, K.; Castura, J.; Mao, Y. Performance-Complexity Tradeoffs of Raptor Codes over Gaussian Channels. IEEE Commun. Lett.
**2007**, 11, 343–345. [Google Scholar] [CrossRef] - Jenka, H.; Mayer, T.; Stockhammer, T.; Xu, W. Soft Decoding of LT-codes for Wireless Broadcast. Available online: https://www.eurasip.org/Proceedings/Ext/IST05/papers/390.pdf (accessed on 28 July 2019).
- Ma, Y.; Yuan, D.; Zhang, H. Fountain Codes and Applications to Reliable Wireless Broadcast System. In Proceedings of the Information Theory Workshop, Chengdu, China, 22–26 October 2006; pp. 66–70. [Google Scholar]
- Zhang, M.; Kim, S. A Statistical Approach for Dynamic Rain Attenuation Model. In Proceedings of the 29th AIAA International Communications Satellite Systems Conference, Nara, Japan, 28 November–1 December 2011. [Google Scholar]

**Figure 2.**Hybrid automatic repeat request (HARQ) transmissions with rateless low-density parity check (LDPC) codes in satellite systems.

**Figure 4.**The flow chart of the parallel soft iterative decoding algorithm for the proposed rateless LDPC used for the HARQ scheme.

**Figure 8.**Bit error rate (BER) performance of the proposed cross-layer rateless codes over an additive white Gaussian noise (AWGN) and rain fading channel.

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).