# Soft Iterative Decoding Algorithms for Rateless Codes in Satellite Systems
## 3 Efficient Soft Iterative Decoding Algorithms for HARQ with Rateless Codes in Satellite Systems
### HARQ with Cross-Layer Rateless Codes
#### 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. Figure 5: A block diagram of the satellite system using a cross-layer code. 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:  
\[v_{i,t^{\prime}}^{\ell}=r_{\ell K+i},t^{\prime}\in N_{i},\;1\leq i\leq K, \tag{20}\]  
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:  
\[w_{t^{\prime},i}^{\ell}=2\tan^{-1}\left(\prod_{s\in E_{\ell},s\
eq i}\frac{v_{ s,t^{\prime}}^{\ell}}{2}\right),1\leq t^{\prime}\leq N-K, \tag{21}\]  
Figure 6: Tanner graph for the cross-layer codes. where \(w^{\ell}_{t^{\prime},i}\) denotes \(w_{t^{\prime},i}\) inside the \(\ell\)th fragmented LDPC code block, and \(E_{t^{\prime}}\) is the set indices for the bit nodes connecting to check node \(t^{\prime}\). \[v^{\ell}_{i,t^{\prime}}=r_{\ell K+i}+\sum_{y\in N_{i};y\
eq t^{\prime}}(w^{\ell }_{y,i}). \tag{22}\]  
After every alternative estimation of \(v^{\ell}_{i,t^{\prime}}\) and \(w^{\ell}_{t^{\prime},i}\), the soft output is estimated as follows:  
\[\hat{m}^{\ell}_{\ell K+i}=\sum_{t^{\prime}\in N_{i}}(w^{\ell}_{t^{\prime},i}+v ^{\ell}_{i,t^{\prime}}). \tag{23}\]  
The iterations from Equations (21) to (23) are continued inside the LDPC decoder. 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^{\prime}_{j}=\hat{m}^{\ell}_{j\infty K}. \tag{24}\]  
With these initial values, the soft information exchanges are made between the encoding and information nodes using the following equations [18; 19]:  
\[L(f_{j,i})=2\text{tan}^{-1}\left(\tanh\frac{c^{\prime}_{j}}{2}\cdot\prod_{x \in\chi_{j},\,x\
eq i}\tanh\frac{L(h_{x,j})}{2}\right), \tag{25}\]  
where \(\chi_{j}\) is the set indices for the information nodes connecting to the encoding node, \(j\). \[L(h_{i,j})=\sum_{e\in i,e\
eq j}L(f_{e,i}), \tag{26}\]  
where \(\varepsilon_{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:  
Figure 5:0  
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:  
Figure 5:1  
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].