Spatially-coupled (SC) low-density parity-check (LDPC) codes , which are the convolutional counterparts of LDPC codes , have drawn attention of many researchers. An applicable way to decode an SC LDPC code is to use a sliding windowed decoder [3, 4]. Compared to the full block decoding (FBD) which decodes the entire codeword of an SC LDPC code with full flooding schedule , the sliding windowed decoder shifts along the Tanner graph and focuses on decoding only a portion of a codeword at a time, which results in a lower decoding latency and memory requirement. Since the windowed decoding architecture causes performance degradation compared to the FBD , most of the previous work, such as [8, 9, 7], focused on improving the performance of the sliding windowed decoder with soft-decision decoding algorithms such as sum-product algorithm (SPA). It is well-known that SPA leads to a high decoding complexity as soft information is passed along the edges in the Tanner graph . Therefore, the reliability-based decoding algorithms which only pass hard information along the edges in the Tanner graph, are investigated by many researchers to obtain a lower decoding complexity with acceptable performance degradation [11, 12, 13]. As shown in , the conventional weighted bit-flipping (WBF) algorithm assigns fixed weights obtained from received signals to the checksums. The algorithm proposed in  allocates multiple voting levels to the unsatisfied checksums in order to improve the decoding performance.
In this letter, we investigate sliding windowed decoder for SC LDPC codes with the conventional WBF algorithm . We observe that there is a significantly high error floor when the conventional WBF algorithm is used for windowed decoding of SC LDPC codes. Since a sliding windowed decoder only covers a portion of the full Tanner graph, there exists variable nodes (VNs) that have neighbouring check nodes (CNs) outside the decoding window. Thus, the messages sent out from these VNs may not be reliable. These unreliable messages are propagated to the next window and deteriorate the error rate performance of the code. Motivated by this observation, we propose a new approach to perform windowed decoding by only reserving the reliable messages between two adjacent windows. In addition, we consider an improved stopping rule for the windowed decoding scheme. We demonstrate that the proposed reliability-based windowed decoding (RBWD) scheme can significantly reduce the error floor of the SC LDPC codes constructed from protographs. More importantly, the bit error rate (BER) performance of the RBWD scheme approaches that of FBD within dB, which is highly desirable for applications with a low decoding complexity requirement.
Ii Windowed Decoding and WBF Algorithm
Ii-a Sliding Windowed Decoder for SC LDPC Codes
Let be a base matrix of size for a -regular protograph LDPC code, where and are the number of rows and columns in , respectively. The base matrix of an SC LDPC code can be generated from as
where is called syndrome former memory and is known as termination length. Each of size is a descendent matrix of such that , where the set of matrices is obtained by performing edge spreading . In this letter, we consider full edge spreading  for the construction of SC LDPC codes, i.e., , where . After edge spreading and graph expansion operation with lifting size , a full parity-check matrix of an SC LDPC code can be obtained.
In , a sliding windowed decoder was proposed. Instead of performing FBD over the whole base matrix , the sliding windowed decoder uses a window of size covering CNs and VNs. The decoding window slides from time index to time index which associates with different window positions in . In a decoding window, an iterative message-passing decoding algorithm is performed between all VNs and CNs. The decoding process stops if a valid codeword is found or a predetermined maximum number of iterations is reached. Then the decoding window shifts by CNs vertically and VNs horizontally where the VNs shifted out of the decoding window are called target symbols.
Ii-B The Conventional WBF Algorithm
Denoted by an parity-check matrix.
For and , let and be the sets of indices of all the nonzero elements in the -th row and -th column of , respectively.
Define as the soft-decision received sequence at the channel output.
Let be the hard decision sequence obtained from as follow: for and for .
Denoted by the syndrome vector computed for the flipping metric at the
the syndrome vector computed for the flipping metric at the-th iteration. The conventional WBF algorithm computes the flipping metric of each VN at the -th iteration according to 
where is a weighted factor given by Then the candidate bit(s) to be flipped can be determined by
The process repeats until all the parity-check equations are satisfied or a preset maximum number of iterations is reached. As shown in , the conventional WBF algorithm may flip multiple bits selected from in one iteration. Although the multi-bit flipping (MBF) rule leads to a fast convergence speed, carefully designed loop removal mechanisms are required to avoid the decoding process to be trapped in an infinite loop due to its greediness . An alternative flipping rule for the conventional WBF algorithm is to randomly flip one bit in at each iteration , which is also called the single-bit flipping WBF (SBF-WBF) decoding algorithm.
Iii Reliability-based Windowed Decoding for SC LDPC Codes
By employing the sliding windowed decoder with the conventional WBF algorithm for SC LDPC codes, we observe a considerable performance loss caused by error floor. In this section, we propose a partial message reservation (PMR) method and a partial syndrome check (PSC) stopping rule for the windowed decoder, to solve this problem.
Iii-a The PMR Method
Due to the structure of the sliding windowed decoder, we observe that some of the VNs in the decoding window have neighboring CNs outside the window. We call these VNs as incomplete VNs and the others as complete VNs for this decoding window. It was shown in  that the performance of the conventional WBF algorithm highly relies on a large column weight of the given parity-check matrix for an LDPC code. However, in the construction defined by Eq. (1), the incomplete VNs have a lower column weight than that of complete VNs. Therefore, the messages passed along the edges connected to the incomplete VNs are less reliable than that associated with the complete VNs.
It is well-known that the good performance of SC LDPC codes with windowed decoding comes from reliable messages passed from one window to the next. To avoid the error propagation of unreliable messages from the incomplete VNs, we propose a PMR method for the sliding windowed decoder. Let and represent the sets of indices for complete VNs and incomplete VNs in a decoding window, respectively. Define as the decoded codeword for the current window at time index , where . The outgoing message from the -th VN in the current decoding window to the next window can be given by
where . This means that only the messages from complete VNs in the -th window are reserved for the -th window. Note that the window size is chosen to ensure that the number of complete VNs in a decoding window is larger than that of incomplete VNs, so that more reliable messages can be reserved and propagated to the next window. We will show in Fig. 3 that this PMR method can significantly improve the error floor performance of the proposed RBWD scheme.
Iii-B The PSC Stopping Rule
When decoding an LDPC code with parity-check matrix of size , all the parity-check equations need to be satisfied to get a valid codeword. An efficient stopping rule based on soft bit error indicators was introduced in  for sliding windowed decoder. However, this method can not be directly applied to a RBWD scheme since only hard information is passed along the edges in the Tanner graph.
By making use of the reliable messages, a PSC stopping rule is applied to the windowed decoding scheme. In particular, our stopping rule only focuses on the parity-check equations of complete VNs in a decoding window. To be specific, define as the number of parity-check equations in one decoding window considered by the PSC stopping rule. The first parity-check rows are checked in each decoding window. Once these parity-check equations are satisfied or the preset maximum number of iterations is reached, the decoding window slides to the next position. Note that a PSC stopping rule is also proposed in . However, it only checks a fixed number of syndromes that belong to the target symbols. In our proposed PSC stopping rule, all reliable VNs are considered. When , the number of complete VNs in one decoding window is larger than that of target symbols, which leads to a more strict stopping rule and ensures the messages from complete VNs to be more reliable.
An example of the proposed sliding windowed decoder with and at time index is illustrated in Fig. 1. The first VNs are complete VNs and the last VNs are incomplete VNs. Note that only the first CNs are considered for the parity-check equations since these CNs connect to the complete VNs. The last updated messages of the first complete VNs are reserved for the decoding process at time index .
Iii-C The Proposed RBWD Scheme
Denoted by an parity-check matrix for one decoding window, where and . Let be the syndrome vector computed by the PSC stopping rule at the -th iteration. Assume that vector is the decoded codeword of the -th iteration at time index . Define and as the sets of indices of all the nonzero elements in the -th row and -th column of , respectively. Set the maximum number of decoding iterations as . By combining the PMR and PSC with the SBF-WBF algorithm, the proposed RBWD scheme is summarized in Algorithm 1.
Note that the performance gain of the proposed RBWD scheme originates from the discarding of unreliable messages from previous decoding window to perform message-passing decoding in the current window. To demonstrate this, we evaluate the BER performance of complete and incomplete VNs for various window positions. Fig. 2 depicts the BER for both complete and incomplete VNs of an SC LDPC code constructed from a -regular protograph LDPC code with , at different window positions. The decoding window size is set to . It can be seen that for both the SBF-WBF algorithm and the proposed RBWD decoding scheme, incomplete VNs always have a higher BER than complete VNs. For instance, the BER of incomplete VNs by using RBWD scheme is nearly two times as that of the complete VNs for all window positions. The difference of BER for those two types of VNs can be even larger for the SBF-WBF algorithm. This indicates that the messages from incomplete VNs are less reliable than that from complete VNs.
It can also be seen that the BER for both complete and incomplete VNs of the SBF-WBF algorithm increases with the sliding of the decoding window. For example, the BER of complete and incomplete VNs for the SBF-WBF algorithm increases more than ten times from the first decoding window to the -th decoding window for the simulated SC LDPC code. On the other hand, the BER of both complete and incomplete VNs for the proposed RBWD scheme remains almost the same for all decoding window positions. This means that by only reserving the messages from the complete VNs in the RBWD scheme, we prevent the “contamination” of the reliable messages from the unreliable messages. As a result, the BER performance of the proposed decoding scheme is substantially improved.
Iv Numerical Results
In this section, we investigate the error rate performance and the decoding complexity of the proposed RBWD scheme. Binary phase shift keying (BPSK) modulation and additive Gaussian noise channels are considered in all simulations. The maximum number of iterations is 200 for all windowed decoding schemes and it is 2000 for FBD.
Iv-a Error Rate Performance
An SC LDPC code is constructed from a -regular protograph LDPC code with full edge-spreading, i.e., . We set the termination length , the resultant base matrix is expanded with lifting size . As a result, we obtain a length-38024 SC LDPC code with large VN degrees. The BER and frame error rate (FER) of the length-38024 SC LDPC code decoded by various decoding schemes are shown in Fig. 3. Here MBF-PMR and SBF-PMR represent the RBWD scheme without applying the proposed PSC stopping rule. The BER and FER of the FBD and the sliding windowed decoder based on the SBF-WBF algorithm are also shown in the figure for comparison. We see that the proposed PMR method dramatically improves the error rate performance. Moreover, the proposed stopping rule further reduces the error floor and achieves the BER performance within dB from that of the FBD.
Note that the proposed RBWD scheme also works for SC LDPC codes with small VN degrees. To clarify the generality, we constructed an SC LDPC code from a -regular protograph LDPC code. After applying the edge spreading matrices and set the termination length , a length-38016 SC LDPC code can be obtained by graph expansion with lifting size . As shown in Fig. 4, the proposed RBWD scheme works for SC LDPC codes with small VN degrees in the sense that the BER performance of the RBWD scheme can approach that of the FBD.
Iv-B Complexity Comparison
In this section, we compare the complexity of the proposed RBWD scheme with that of the MBF-PMR and the SBF-PMR schemes. Note that we only consider the decoding schemes based on the conventional WBF algorithm since it only exchanges one bit information between CNs and VNs, which has a lower decoding complexity than SPA. In addition, we define as the average number of updates processed by a VN in one decoded codeword, which can be given by
where is defined as the total number of updates processed by a VN at the -th window during the decoding process. The comparison of for the length-38024 SC LDPC code decoded by MBF-PMR, SBF-PMR, and the proposed RBWD scheme is shown in Table I. Note that for a fair comparison we fix for all windowed decoding schemes, i.e., each decoding window covers 9506 bits in order to keep the same decoding latency. It can be seen that for SNR from dB to dB, our proposed RBWD scheme requires about half number of updates compared to that of MBF-PMR and SBF-PMR.
In this letter, we proposed a RBWD scheme for SC LDPC codes. The proposed scheme propagates the reliable messages from complete VNs between two consecutive decoding windows, which substantially improves the error rate performance. The proposed stopping rule in the RBWD scheme further reduces the error floor by operating on the parity-check equations that only involve complete VNs. Numerical results showed that the proposed RBWD scheme can approach the BER performance of the FBD within dB.
-  D. G. M. Mitchell, M. Lentmaier, and D. J. Costello, “Spatially coupled LDPC codes constructed from protographs,” IEEE Trans. Inf. Theory, vol. 61, pp. 4866–4889, Sep. 2015.
-  R. Gallager, “Low-density parity-check codes,” IRE Trans. on Inf. Theory, vol. 8, pp. 21–28, Jan. 1962.
-  A. R. Iyengar, M. Papaleo, P. H. Siegel, J. K. Wolf, A. Vanelli-Coralli, and G. E. Corazza, “Windowed decoding of protograph-based LDPC convolutional codes over erasure channels,” IEEE Trans. Inf. Theory, vol. 58, pp. 2303–2320, Apr. 2012.
-  M. Zhu, D. G. M. Mitchell, M. Lentmaier, D. J. Costello, and B. Bai, “Braided convolutional codes with sliding window decoding,” IEEE Trans. Commun., vol. 65, pp. 3645–3658, Sep. 2017.
F. R. Kschischang and B. J. Frey, “Iterative decoding of compound codes by probability propagation in graphical models,”IEEE J. Select. Areas Commun., vol. 16, pp. 219–230, Feb. 1998.
-  Y. Xie, L. Yang, P. Kang, and J. Yuan, “Euclidean geometry-based spatially coupled LDPC codes for storage,” IEEE J. Select. Areas Commun., vol. 34, pp. 2498–2509, Sep. 2016.
-  M. Lentmaier, M. M. Prenda, and G. P. Fettweis, “Efficient message passing scheduling for terminated LDPC convolutional codes,” in Proc. IEEE Int. Sympos. on Inf. Theory, pp. 1826–1830, Jul. 2011.
-  I. Ali, J. H. Kim, S. H. Kim, H. Kwak, and J. S. No, “Improving windowed decoding of SC LDPC codes by effective decoding termination, message reuse, and amplification,” IEEE Access, Feb. 2017.
-  N. U. Hassan, A. E. Pusane, M. Lentmaier, G. P. Fettweis, and D. J. Costello, “Non-uniform window decoding schedules for spatially coupled LDPC codes,” IEEE Trans. Commun., pp. 501–510, Feb. 2017.
-  T. Mohsenin, D. N. Truong, and B. M. Baas, “A low-complexity message-passing algorithm for reduced routing congestion in LDPC decoders,” IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 57, pp. 1048–1061, May 2010.
-  W. Ryan and S. Lin, Channel codes: classical and modern. Cambridge University Press, 2009.
-  N. Q. Nhan, T. M. N. Ngatched, O. A. Dobre, P. Rostaing, K. Amis, and E. Radoi, “Multiple-votes parallel symbol-flipping decoding algorithm for non-binary LDPC codes,” IEEE Commun. Lett., vol. 19, pp. 905–908, Jun. 2015.
-  Z. Liu and D. A. Pados, “A decoding algorithm for finite-geometry LDPC codes,” IEEE Trans. Commun., vol. 53, pp. 415–421, Mar. 2005.