# An LDPC-RS Concatenation and Decoding Scheme to Lower the Error Floor for FTN Signaling
## 3 LDPC-RS Concatenation Code
### Perturbation BP Decoder  
One reason for the error floor is that the BP decoder cannot correct nodes for some code structures and absorbing sets, becoming trapped in incorrect states. One example of the (6, 3) trapping set is given in Figure 4, where all variable nodes \(v_{1},v_{2},v_{3}\) are incorrect and where check nodes are too weak to correct them, so all three variable nodes remain erroneous. Finally, several uncorrected error bits can be corrected using concatenated RS code due to its definite error correction ability. When using a parallel RS encoder or decoder, latency and complexity can be lowered. Moreover, the BP decoder will sometimes encounter errors with very few LLRs, while adding some low-level noise to the decoder can actually improve decoding performance. Figure 4: One example of BP decoding in a (6, 3) trapping set. Three variable nodes all have incorrect negative values, meanwhile relevant check nodes are weak and cannot provide error correction during BP iterations. Figure 3: Proposed LDPC-RS concatenation code. With concatenation and shortening, the code rate is 0.42. This phenomenon is called stochastic resonance and was found in many devices and research fields and studied using [25] for bit-flipping decoding. In this work, we adopted this method in the soft decision BP decoder, adding a low level of noise to nodes while decoding, and called it the perturbation BP decoder. We modified the message from check node \(i\) to each relevant variable node \(j\) by adding noise (perturbation) to affect or flip the signs of small absolute value LLRs, which are believed to be less reliable, as follows:  
\[L^{\prime}_{ij}=2\tanh^{-1}(L_{i}/\tanh(\frac{Z_{ij}}{2}))+n_{p}, \tag{18}\]  
where \(n_{p}\) is low-level i.i.d. random noise, irrelevant to \(i,j\), with the expectation that \(E(n_{p})=0\), and variance \(Var(n_{p})=\sigma_{np}^{2}\) is irrelevant to \(i,j\). Its power \(\sigma_{np}^{2}\) can be chosen in practice, and its type was chosen to be Gaussian here; thus,  
\[E(L^{\prime}_{ij})=E(L_{ij}), \tag{19}\] \[Var(L^{\prime}_{ij})=Var(L_{ij})+\sigma_{np}^{2}.\]  
Note that adding noise (perturbation) to LLRs is a more general form of adding the same offset value, which has been shown to be effective in a hard decision bit-flipping decoder. The perturbation decoder proposed here can be seen as a soft bit-flipping BP decoder. From a statistical viewpoint, it adds power \(\sigma_{np}^{2}\) to LLRs of small absolute value. Since \(E(n_{p})=0\), the summation of i.i.d. random Gaussian noise will tend toward a small value near zero, so for variable node \(j\), the updating rule becomes  
\[Z^{\prime}_{j}=l_{j}+\sum_{i\in M(j)}L^{\prime}_{ij}\approx l_{j}+\sum_{i\in M (j)}L_{ij}=Z_{j}, \tag{20}\]  
and the message passed from variable node \(j\) to each relevant check node \(i\) is  
\[Z^{\prime}_{ij}=Z^{\prime}_{j}-L^{\prime}_{ij}\approx Z_{ij}. \tag{21}\]  
Therefore, perturbation here only affects unreliable check nodes with very small absolute value \(L_{ij}\), making them perturbed. The histogram in Figure 5 illustrates the value distribution of \(L^{\prime}_{ij}\) when \(\sigma_{np}=10^{-4}\), showing that perturbation has almost no effect on the value distribution of \(L^{\prime}_{ij}\). Therefore, perturbation decoding can help to perturb the less confident \(L^{\prime}_{ij}\) without destroying the original value distribution of \(L^{\prime}_{ij}\) or hindering the BP decoding scheme and decision. Figure 6 shows a (6, 3) trapping set of three variable nodes that remain erroneous during iterations and may be corrected with perturbation in check-to-variable messages. Since all three variable nodes are incorrect, perturbation here may flip their signs and therefore  
Figure 5: Value distribution of \(L^{\prime}_{ij}\). will not hinder BP decoding but rather provide the possibility for error correction.