WO2022005292A1 - Hybrid decoding of product and staircase codes using bounded distance decoding and error and erasure decoding - Google Patents

Hybrid decoding of product and staircase codes using bounded distance decoding and error and erasure decoding Download PDF

Info

Publication number
WO2022005292A1
WO2022005292A1 PCT/NL2021/050423 NL2021050423W WO2022005292A1 WO 2022005292 A1 WO2022005292 A1 WO 2022005292A1 NL 2021050423 W NL2021050423 W NL 2021050423W WO 2022005292 A1 WO2022005292 A1 WO 2022005292A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
ibdd
bdd
hard decision
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/NL2021/050423
Other languages
French (fr)
Inventor
Alireza SHEIKH
Alex Enrique ALVARADO SEGOVIA
Alexandre Graell I Amat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eindhoven Technical University
Original Assignee
Eindhoven Technical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eindhoven Technical University filed Critical Eindhoven Technical University
Publication of WO2022005292A1 publication Critical patent/WO2022005292A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Definitions

  • the present disclosure relates to decoding. Particular embodiments relate to a method for decoding received data encoded using an error correction code, and a related computer program, a related computer program product, and a related device.
  • the measure of reliability is calculated during the first decoding step.
  • the reliability may be obtained during, and preferably as a by-product of, the first decoding step.
  • the measure of reliability is calculated by determining a density evolution at constraint nodes of a Tanner graph of an ensemble comprising a class of the error correction code.
  • the hard decision is extended by one extra bit in each of its dimensions, wherein the one extra bit is 1 if either or both of the BDD decoding and the EED decoding were successful and is 0 if both of the BDD decoding and the EED decoding failed.
  • a computer program comprising instructions configured for, when executed by a processor, causing the processor to perform the method of any previously described embodiment.
  • a computer program product storing the computer program according to the above-described embodiment on a storage device.
  • a device preferably an optical transport network device or a wireless network device, comprising:
  • the device comprises a comparison circuit configured for comparing the first distance metric and the second distance metric, outputting one of the BDD decoded data and the EED decoded data based on an outcome of the comparing, and for updating the hard decision using the returned decoded data.
  • Figure 6 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, or transmission reach improvement of one or more embodiments according to the present disclosure with respect to known techniques;
  • Figure 8 schematically illustrates operation of an embodiment of a method according to the present disclosure on a staircase code, SCC;
  • Figure 13 schematically illustrates an embodiment of a method according to the present disclosure.
  • Figures 3 and 4 show respectively a schematic of iBDD-CR [16] for decision on code bit at iteration I by ith row decoding with input ; and a schematic of iBDD-CR [16] for decision on code bit at iteration I by ith row decoding with input ; and a schematic of iBDD-CR [16] for decision on code bit at iteration I by ith row decoding with input ; and a schematic of iBDD-
  • Figure 5 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, of one or more embodiments according to the present disclosure with respect to known techniques for PC with component code Ci;
  • Figure 6 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, or transmission reach improvement of one or more embodiments according to the present disclosure with respect to known techniques.
  • the performance is of iBDD, ideal iBDD, iBDD-SR, iBDD-CR, and BEE-PC for PC with component code C2 in the BICM with (a) 4-QAM, (b) 16-QAM, (c) 64-QAM, and (d) 256-QAM modulation (e)
  • Figures 9, 10, 11 and 12 schematically illustrate graphs showing a comparison of performance expressed as a bit error rate, BER, or spectral efficiency, SE, of one or more embodiments according to the present disclosure with respect to known techniques.
  • Figure 9 shows a comparison between the simulation results of iBDD-CR for SCC and PC as well as the DE analysis of iBDD-CR for SC-GLDPC and GLDPC ensembles for (a) component code C 2 (b) component code C3.
  • Figure 11 shows a performance comparison of iBDD, AD, iBDD-SR, iBDD-CR, and BEE-SCC for SCC with component code C3.
  • the method 100 further comprises in a second decoding step 106 determining 107 at least two least reliable bits of the hard decision received data, based on the calculated measure of reliability; decoding 108 the received data, using error and erasure decoding, EED, wherein the determined at least two least reliable bits are considered to be erased; and determining 109 a second distance metric between the EED decoded data and the hard decision.
  • the method 100 further comprises comparing 110 the first distance metric and the second distance metric; and, based on an outcome of the comparing 110, outputting 111, i.e. returning an output as a result of the method to an entity or process that executed the method, e.g. called for execution of the method it in a device such as device 200 of Figure 14, one of the BDD decoded data and the EED decoded data.
  • method 100 and further developed embodiments thereof allow implementations wherein only so-called hard messages are exchanged between component codes, which improves overall efficiency, and thus allows for improved data rates.
  • Figure 14 schematically illustrates an embodiment of a device 200 according to the present disclosure.
  • the device 200 may preferably be an optical transport network device or a wireless network device, or may be a device coupled to a memory bank and adapted to correct storage errors of data stored on the memory bank.
  • the device 200 comprises at least one processor 201 and at least one memory 202.
  • the memory 202 stores a computer program according to any above-described embodiment.
  • the processor 201 is operatively coupled to the memory 202, such that it can execute instructions of the computer program in order to perform the method according to any above-described embodiment.
  • PCs Product codes
  • SCCs staircase codes
  • iBDD low-complex iterative bounded distance decoding
  • the performance of iBDD can be improved using soft-aided (hybrid) algorithms.
  • the latest algorithm in this class of decoders is called iBDD with combined reliability (iBDD- CR), recently proposed for PCs.
  • iBDD-CR we generalize iBDD-CR and improve on its performance, and thus, the contributions of the present disclosure are two.
  • iBDD-CR we extend iBDD-CR to SCCs, where the reliability of BDD outbound messages is estimated through density evolution analysis of the underlying spatially- coupled low-density parity check ensemble.
  • the second contribution is to propose two novel decoding algorithms for PCs and SCCs which improve upon iBDD-CR.
  • the new algorithms use an extra decoding attempt based on error and erasure decoding of the component codes.
  • the proposed algorithms can be efficiently implemented because only the exchange of hard messages between the component decoders is required, making them an attractive solution for high throughput fiber-optic systems.
  • algorithm may refer to a method, and should not be construed to be limited to a strict computer-science interpretation.
  • an algorithm may refer to a practical method, executed on real data stemming from a physical origin, and e.g. executed in a physical device.
  • next-generation optical line cards target data rate of 1 Tb/s/l and beyond.
  • Reliable transmission at such high data rates cannot be achieved using off-the-shelf digital signal processing (DSP) nor by exclusively relying on the improvement of integrated circuits (due to the end of Moore’s law [3]).
  • FEC Forward error correction
  • Designing high-performance FEC decoders for ultra high-speeds is very challenging due to the strict latency and power constraints.
  • PCs Product codes
  • SCCs staircase codes
  • SDD Soft-decision decoding
  • TPD turbo product decoding
  • HDD hard decision decoding
  • hybrid decoding architectures have been proposed for both PCs and SCCs, which provide a suitable performance-complexity trade-off between SDD and HDD [11]-[16]
  • the idea of hybrid schemes is to employ HDD as the decoding core, while exploiting the channel log-likelihood ratios (LLRs) to improve the overall decoder performance.2
  • LLRs channel log-likelihood ratios
  • the soft-aided bit-marking (SABM) decoder was proposed for PCs and SCCs based on flipping the least reliable bits and a heuristic miscorrection detection procedure.
  • the performance of SABM was further improved for PCs based by combining SABM with SR principle [15]
  • iBDD-CR iterative bounded distance decoding with combined reliability
  • iBDD-CR we extend to SCCs.
  • preferred embodiments perform density evolution (DE) analysis for iBDD-CR employing the spatially-coupled GLDPC (SCGLDPC) ensemble, as the code ensemble containing the SCCs.
  • the derived DE may provide an accurate estimate of the reliability of HDD outputs for SCCs, which is exploited in iBDD-CR.
  • decoding algorithms for PCs and SCCs are proposed based on improving the iBDD- CR architecture with error and erasure decoding (EDD) of the component codes.
  • EDD error and erasure decoding
  • Product-like codes is a family of codes constructed by serial concatenation of component codes.
  • binary PCs and SCCs we briefly review the structure of PCs and SCCs and also explain the channel model considered in the present disclosure. The last part of this section describes the recently introduced iBDD-CR algorithm.
  • C be a Bose-Chaudhuri-Hocquenghem (BCH) code constructed over the Galois field GF(2 V ).
  • a PC with (n; k) component codes is defined as the set of all arrays such that each row and column of C is a valid codeword of C.
  • Fig. 1(a) shows the schematic of a PC code array encompassing , as a code bit corresponding to the second row and second column component codes of a PC.
  • PCs are conventionally decoded based on BDD of component codes.
  • BDD corrects all error patterns with maximum Hamming weight t. If the weight of the error pattern is larger than t and there exists another codeword with Hamming distance less than t to the received codeword, BDD introduces miscorrections. Otherwise, BDD fails, where conventionally it is considered that BDD outputs its input.
  • iBDD iterative applying the BDD on row and column codes
  • Fig. 1(b) shows an schematic of the SCC comprising the blocks , and as a code bit corresponding to the second row and second column of
  • Bo is an all-zeros matrix which initializes the decoding procedure of the SCCs.
  • SCCs are decoded in a windowed-decoding fashion, i.e. , each row of for staircase blocks within a decoding window is decoded based on BDD [5]
  • BDD BDD
  • BICM bit-interleaved coded modulation
  • M 2 -QAM
  • BRGC binary reflected Gray code
  • the AWGN channel output at time instant i corresponding to transmitted symbol x, X is given by where n C h is the number of channel uses corresponding to a PC or SCC block,
  • the log likelihood ratio (LLR) of the k-th bit level of is given as where are sets of size 2 m symbols with 0 and 1 as the kth bit of the corresponding BRGC label, respectively.
  • LLR log likelihood ratio
  • BEE binary message passing based on error and erasure decoding
  • the LLR on the code bit ci;j after BDD at iteration ‘ is given as [16, Eq. (9)] where is the channel LLR and can be computed using a look-up table
  • GD generalized distance
  • FIG. 2 shows the block diagram of the proposed BEE algorithm for PCs. Without loss of generality, we explain the BEEPC decision corresponding to the ith row decoding of PC at iteration ‘. BEE-PC encompasses two decoding attempts, each corresponding to a branch, or also decoding step, in Fig. 2. First, we explain the upper branch of Fig.
  • Comparing the candidate codeword with the minimum score is chosen as the BEE-PC decision and the corresponding BDD outcome is used for updating the input for column decoding in the next iteration, i.e. ,
  • the channel LLRs are employed as the input LLRs of both BDD and EED blocks, i.e., .
  • the BEE-PC decoding output yields from the branch with lowest score, i.e., the decoding output is
  • Fig. 5 we show the bit error rate (BER) performance of BEE-PC for a PC with component code Ci and transmission over the bi-AWGN channel.
  • BER bit error rate
  • BEE-PC outperforms all other algorithms where the performance gain of BEE-PC over conventional iBDD is 0.68 dB. Furthermore, the gap between BEE-PC and TPD is 0.43 dB. Therefore, BEE-PC can close 0.62% of the gap between (full hard) iBDD and (full soft) TPD. We highlight that the performance of iGMDD-SR, SABM-SR, and BMP-GMDD is close to BEE-PC.
  • BMP-GMDD requires up to 30% more message exchanging between component codes than BEE-PC
  • iGMDD-SR and SABM-SR require exchanging soft messages between component decoders, which yields significantly higher decoder data flow than BEE-PC (see Sec. V-B and Table III for high level complexity discussion of different algorithms).
  • Fig. 6(a)-(d) the performance of iBDD, ideal iBDD, iBDD-SR, iBDD-CR, and BEE- PC for a PC with component code C2 are shown for transmission in a BICM (employing random interleaver) with 4-QAM, 16-QAM, 64-QAM, and 256-QAM, respectively.
  • BICM deployment random interleaver
  • BEE-PC outperforms all other decoders and the gain with respect to iBDD increases using higher order modulation.
  • the performance gain of BEE-PC over iBDD is 0.46 dB, 0.7 dB, 0.79 dB, and 0.88 dB for 4-QAM, 16-QAM, 64- QAM, and 256-QAM, respectively.
  • Fig. 6(e) shows the spectral efficiency (SE) versus the optical reach improvement of BEE-PC over iBDD as well as the original optical reach of iBDD, for transmission on a BICM employing PC with the same component code considered in Fig. 6(a)-(d).
  • SE spectral efficiency
  • reach efficiency h defined as the reach improvement of BEE-PC over iBDD normalized to the original reach of iBDD.
  • reach efficiency h defined as the reach improvement of BEE-PC over iBDD normalized to the original reach of iBDD.
  • increasing the spectral efficiency results in a smaller reach enhancement and larger h.
  • the reach increase for 4-QAM, 16-QAM, 64- QAM, and 256-QAM are 1600 km, 640 km, 240 km, and 80 km, respectively.
  • Fig. 4 a schematic of the iBDD-CR decision for the code bit corresponding to the decoding iteration I is shown.
  • the core of iBDD-CR is to compute .
  • the components of this LUT are optimized for an GLDPC ensemble using DE analysis and used for implementing the iBDD-CR for PCs, as a code contained in the GLDPC ensemble.
  • this DE analysis we extend this DE analysis to SC-GLDPC ensemble, which allows to find the LUT for SCCs and implement the iBDD-CR.
  • Fig. 7 shows the Tanner graph of a SC-GLDPC ensemble with n 2 /4 degree-2 variable nodes (VNs) and n/2 constraint nodes (CNs) of degree-n.
  • the coupling memory of this SCGLDPC ensemble is 2. Therefore, the VNs at spatial position i are randomly connected to CNs at spatial position i and i + 1. This randomness is denoted in Fig. 7 by the edge interleavers t .
  • CNs at spatial position i are randomly (denoted in Fig. 7 by the edge interleavers t ') connected to VNs at spatial position i - 1 and i. Comparing Fig. 1 (b) with Fig.
  • SCCs can be constructed as a particular instance of SC-GLDPC ensemble, where n/2 BCH component code corresponds to CNs and n 2 /4 code bits of B, corresponds to VNs in spatial position i.
  • SCCs are deterministic codes (see [27]), i.e. , the connections of VNs and CNs are determined by the SCC structure, which is not random.
  • the reason for analyzing the SC-GLDPC ensemble instead of the Tanner graph of SCCs is that the randomization in the SC-GLDPC ensemble significantly simplifies the DE analysis. Under other assumptions such as extrinsic message passing [28, Sec. 11— B], BICM channel mixing [29, Sec. IV-A], and employing channel adapters in BICM [30], in what follows we generalize the DE analysis of iBDD-CR originally derived for GLDPC ensemble in [16, Sec. IV], to SC-GLDPC ensemble.
  • BCH codes as the CNs.
  • iBDD-CR for the GLDPC ensemble [16, Sec. IV]
  • M and noise variance o 2 the output message error probability of the iBDD-CR at CNs and iteration I is given by where g( ) is defined by [16, Eq. (15)] and denotes the input message error probability of CNs.
  • pch defined as the channel output error probability yielded by employing hard detection on channel LLRs.
  • the difference between the Tanner graph of GLDPC codes and SC-GLDPC ensembles is the existence of coupling memory in the Tanner graph of the SC-GLPDC ensemble.
  • BEE-SCC is inspired by iBDD-CR and utilizes the GD metric (5).
  • Fig. 8 shows the schematic of BEE-SCC in making a decision for the jth row of . Similar to Sec. IV, we denote by the hard decision input of BEE-SCC corresponding to .
  • the lower branch of Fig. 8 serves as a second decoding attempt.
  • the 2 least reliable bits of according to reliability vector are erased and passed to the algebraic EED [25, Sec. 6.6], although a greater number of least reliable bits may also be erased - in that case, it is preferred to erase an even number of bits, as erasing an odd number of bits does not contribute extra to the EED decoding.
  • EED algebraic EED
  • iBDD-CR and BEE-SCC are compared with iBDD, ideal iBDD, AD, and iBDD-SR for SCCs with C 2 and C3 component codes, and transmission over the bi-AWGN channel.
  • BEE-SCC and iBDD-CR outperform all other algorithms.
  • the gain of iBDD-CR and BEE-SCC over iBDD is 0.41 dB and 0.55 dB for SCC with C 2
  • the same gains are 0.33 dB and 0.44 dB for SCC with C 3 .
  • BEE-PC and BEE-SCC Two algorithms employ an erasure attempt to improve the performance of iBDD-CR.
  • the EED is successful if , where d m m is the minimum Hamming distance of the component code [25, Sec. 6]
  • the second attempt can correct more errors if the least reliable bits corresponds to error bits.
  • BEE-PC The main difference between BEE-PC and BEE-SCC is that each algorithm exploits different soft information values for the erasure attempt. In order to efficiently perform the erasure attempt one needs a reliability measure. In BEEPC, is used to find the two least reliable bits of (see Fig. 2). If we use the architecture of iBDDCR to implement BEE-PC, we have to exchange soft values between component decoders, yielding a significantly higher internal decoder data flow compared to iBDD-CR. To avoid exchanging of the soft values between component codes, BEE-PC modified the iBDD-CR architecture such that the
  • BDD/EED decisions i.e., are exchanged (c.f. Fig. 3 and the first branch of Fig. 2).
  • both (hard) decisions and LLRs used in BEE-PC can be computed internally in the decoder using , channel LLRs, and iBDD-CR LUT.
  • BEE-PC outputs with ternary components , and send it to the column decoder. Therefore, it may seem that the contribution of message exchanging of BEE-PC in decoder data flow is higher than that of iBDD-CR and iBDD, which both exchange only binary messages. However, in what follows, we will show that we can implement BEEPC more efficiently than a plain ternary message passing between component codes.
  • BDD/EDD decoding 1 ⁇ using the mapping according to . Furthermore, we assume that the extra bit is 0, corresponds to BDD/EDD failure. In this case the other n are 0. With this simple bit extension and mapping, become binary, at the cost of sending only one extra bit per component code. As the component code of a PC is typically long to reduce the error floor, the contribution of exchanging this extra bit on decoder data flow is negligible. For instance, BEE-PC decoding of a PC with BCH component length of 255 and 511, requires only an extra message exchanging of 0.4% and 0.2%, respectively, compared to iBDD-CR and conventional iBDD. As shown in Sec.
  • BEE-SCC only exchanges (binary) hard decisions between component decoders (see (18) and Fig. 8), hence, the contribution of message exchanging of BEE-PC in decoder data flow is the same as iBDD-CR and conventional iBDD.
  • Two other implementation aspects we consider here are decoding complexity of EDD and LLR calculations.
  • BDD is usually implemented based on Berlekamp-Massey decoding of BCH codes [32].
  • EED can also be implemented by modifying the Berlekamp-Massey algorithm, hence, the complexities of EED decoding and BDD are roughly similar [33]
  • BEE-PC and BEE-SCC require to compute channel LLRs for the code bits, store channel LLRs, and a sorting algorithm to find the two least reliable bits per component code.
  • the memory required for BEE-PC and BEE- SCC is static, as the LLRs are not updated during the decoding iterations. It is known that static memory is significantly less costly than dynamic memory in hardware implementation [10].
  • Ciena “Waveserver 5,” https://media.ciena.com/documents/ Waveserver _- 5_DS.pdf.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

A method for hybrid decoding received data encoded using an error correction code, wherein the method comprises steps of mapping (101) the received data to a hard decision using a pre- defined mapping table, decoding (102) the received data using bounded distance decoding, BDD, determining (102) a first distance metric between the BDD decoded data and the hard decision, calculating (105) a measure of reliability of bits of the hard decision, determining (107) at least two least reliable bits of the hard decision received data, based on the calculated reliability, decoding (108) the received data, using error and erasure decoding, BED, wherein the determined at least two least reliable bits are considered to be erased, determining (109) a second distance metric between the BED decoded data and the hard decision, comparing (110) the first distance metric and the second distance metric, and based on an outcome of the comparing, outputting (111) one of the BDD decoded data and the EED decoded data. This method of hybrid decoding can be applied to decoding of product codes or staircase codes.

Description

HYBRID DECODING OF PRODUCT AND STAIRCASE CODES USING BOUNDED DISTANCE DECODING AND ERROR AND ERASURE DECODING
FIELD OF THE INVENTION
The present disclosure relates to decoding. Particular embodiments relate to a method for decoding received data encoded using an error correction code, and a related computer program, a related computer program product, and a related device.
BACKGROUND
The transmission rate of a single fibre has increased by a factor of 8000 over the past 30 years. Currently available optical line cards feature data rates of 800 Gb/s/l, and next-generation optical line cards target data rates of 1 Tb/s/ l and beyond, to cope with the growing applications such as cloud computing, internet-of-things, and video- on-demand. Reliable transmission at such high data rates cannot be achieved using standard digital signal processing (DSP) blocks, by exclusively relying on the improvement of integrated circuits, due to the end of Moore's law. Therefore, forward error correction (FEC), as an essential component of the receiver DSP, should be adapted accordingly to cope with the current trends on data rate. Designing high- performance FEC decoders for ultra-high speeds is very challenging due to the strict latency and power constraints.
Product codes (PCs) and staircase codes (SCCs) are popular FEC codes, FECs, for high-throughput applications such as fiberoptic systems and have been included in several recommendations (e.g., ITU-T G.709.2/Y.1331.2 and 400ZR). Soft-decision decoding (SDD) of PCs, also known as turbo product decoding (TPD), was proposed already more than 20 years ago in. TPD provides significant gains at the cost of high internal decoding data flow due to the iterative exchange of soft messages. Such soft message passing entails high decoding complexity, e.g., 10 W power consumption for 128 Gbps line rate. An alternative is to employ iterative hard decision decoding (HDD) for PCs and SCCs. HDD requires much lower decoding complexity (e.g., 0.62 W for 317 Gbps information rate), however, it entails large performance losses (1-2 dB depending on code rate) compared to SDD.
Recently, several hybrid decoding architectures have been proposed for both PCs and SCCs, which provide a suitable performance-complexity tradeoff between SDD and HDD. However, the data rate these recently proposed hybrid decoding architectures can achieve can still be improved upon.
SUMMARY OF THE INVENTION
It is an object of embodiments according to the present disclosure to solve the above- mentioned problems. In particular, it is an object of embodiments according to the present disclosure to provide higher data rates.
Therefore, in a first aspect, there is provided a method for decoding received data encoded using an error correction code; the method comprising:
- mapping the received data to a hard decision using a pre-defined mapping table;
- decoding the received data using bounded distance decoding, BDD, in a first decoding step; and
- determining a first distance metric between the BDD decoded data and the hard decision in the first decoding step;
- calculating a measure of reliability of bits of the hard decision; and
- determining at least two least reliable bits of the hard decision received data, based on the calculated reliability, in a second decoding step;
- decoding the received data, using error and erasure decoding, EED, wherein the determined at least two least reliable bits are considered to be erased, in the second decoding step; and
- determining a second distance metric between the EED decoded data and the hard decision, in the second decoding step; and the method further comprising:
- comparing the first distance metric and the second distance metric; and - based on an outcome of the comparing, outputting one of the BDD decoded data and the EED decoded data.
By combining the first decoding step, which is based on BDD, with the second decoding step, which is based on EED, or, in other words, by basing the final output value of the decoding method on the outcome of two different decoding attempts, embodiments according to this method improve robustness, and thus allows for improved data rates.
In particular, by determining a distance metric for each of the two decoding steps, there is provided a handy way of comparing the quality of their resulting decoding outcomes, which allows to keep performance high, and thus allows for improved data rates.
Moreover, embodiments according to the present method allow implementations wherein only so-called hard messages are exchanged between component codes, which improves overall efficiency, and thus allows for improved data rates.
In an embodiment, the error correction code is any one of: a product code; and a staircase code.
Advantageously, these classes of codes lend themselves readily to BDD and EED decoding. Nevertheless, it may be considered to use other types of error correction codes, as long as they are compatible with BDD decoding as well as with EED decoding.
In an embodiment, the measure of reliability is calculated during the first decoding step.
In this way, there is no separate calculation step that is required, but advantageously the reliability may be obtained during, and preferably as a by-product of, the first decoding step. In an embodiment, the measure of reliability is calculated by determining a density evolution at constraint nodes of a Tanner graph of an ensemble comprising a class of the error correction code.
In this way, look-up tables, LUTs, for calculating the measure of reliability can advantageously be determined.
In a further developed embodiment, the ensemble is a generalized low-density parity check ensemble when the error correction code is a product code; and the ensemble is a spatially coupled generalized low-density parity check ensemble when the error correction code is a staircase code.
In an embodiment, the measure of reliability of the bits of the received data is a log- likelihood ratio for the hard decision.
In this way, the measure of reliability has sufficient granularity, and moreover can be calculated relatively efficiently.
In an embodiment, the first decoding step and the second decoding step are performed in parallel.
In this way, overall time efficiency can be improved by better using available computation, since the step of comparing can take place as soon as both distance metrics are available.
In an embodiment, the hard decision is extended by one extra bit in each of its dimensions, wherein the one extra bit is 1 if either or both of the BDD decoding and the EED decoding were successful and is 0 if both of the BDD decoding and the EED decoding failed.
In this way, decoding may take place on binary vectors rather than ternary vectors while still indicating to future decoding attempts whether any decoding attempts were successful or whether both decoding attempts were unsuccessful, thus improving efficiency and, in turn, allowing higher data rates.
Moreover, as component codes are typically relatively long in order to reduce the error floor, the added overhead of one extra bit is relatively low.
In an embodiment, the first distance metric and the second distance metric are generalized distance metrics, wherein a generalized distance metric is represented as:
Figure imgf000006_0001
Nevertheless, in other embodiments, other types of distance metrics may be considered, for example in order to benefit from a higher speed of calculation. In another embodiment, the first distance metric and the second distance metric may even be different types of distance metrics, as long as a valid comparison can still be made between them.
In an embodiment, the method is iterated for a number of iterations, alternating over row decoding and column decoding of the received data.
In a further developed embodiment, the hard decision is updated using the returned decoded data over each iteration.
In this way, improved decoding results from decoding, say, a row can advantageously influence future decoding attempts of, say, a column sharing an item with the row, because that item in that column can be assumed to be correct with higher probability.
In a second aspect, there is provided a computer program comprising instructions configured for, when executed by a processor, causing the processor to perform the method of any previously described embodiment. In a third aspect, there is provided a computer program product storing the computer program according to the above-described embodiment on a storage device.
In a fourth aspect, there is provided a device, preferably an optical transport network device or a wireless network device, comprising:
- at least one processor; and
- at least one memory, the memory storing the computer program according to the above-described embodiment.
The skilled person will understand that, mutatis mutandis, analogous considerations and advantages may apply to embodiment according to the computer program, the computer program product, and the device, to those that were described above with respect to embodiments of the method. In particular, the computer program may be extended to comprise code function blocks corresponding with specific functionality of specific embodiments of the method.
In an embodiment, the device comprises a comparison circuit configured for comparing the first distance metric and the second distance metric, outputting one of the BDD decoded data and the EED decoded data based on an outcome of the comparing, and for updating the hard decision using the returned decoded data.
BRIEF DESCRIPTION OF THE DRAWINGS
The above-described embodiments should not be construed as limiting to the present disclosure, whose scope is defined only by the appended claims. The above-described embodiments can be more fully understood with the help of the description below and with the appended drawings, in which:
Figure 1 schematically illustrates a product code, PC, in pane (a) and a staircase code, SCC, in pane (b);
Figure 2 schematically illustrates operation of an embodiment of a method according to the present disclosure on a product code, PC; Figures 3 and 4 show respectively a schematic of iBDD-CR for decision on code bit at iteration I by ith row decoding with input
Figure imgf000008_0001
; and a schematic of iBDD-
CR for decision on code bit
Figure imgf000008_0002
at iteration I;
Figure 5 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, of one or more embodiments according to the present disclosure with respect to known techniques, for PC with component code ;
Figure imgf000008_0007
Figure 6 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, or transmission reach improvement of one or more embodiments according to the present disclosure with respect to known techniques;
Figure 7 schematically illustrates a Tanner graph of a SC-GLDPC ensemble comprising SCC;
Figure 8 schematically illustrates operation of an embodiment of a method according to the present disclosure on a staircase code, SCC;
Figures 9, 10, 11 and 12 schematically illustrate graphs showing a comparison of performance expressed as a bit error rate, BER, or spectral efficiency, SE, of one or more embodiments according to the present disclosure with respect to known techniques;
Figure 13 schematically illustrates an embodiment of a method according to the present disclosure; and
Figure 14 schematically illustrates an embodiment of a device according to the present disclosure,.
DETAILED DESCRIPTION
Figure 1 schematically illustrates a product code, PC, in pane (a) and a staircase code, SCC, in pane (b). Fig. 1. (a) Schematic of an PC with n = 6. The code bit corresponding to the second row and second column codes is marked in green (b) Schematic of an SCC with n = 6 containing blocks
Figure imgf000008_0003
Figure imgf000008_0004
and
Figure imgf000008_0005
. The code bit corresponding to the second row and column codes in
Figure imgf000008_0006
is marked. Figure 2 schematically illustrates operation of an embodiment of a method according to the present disclosure on a product code, PC. In other words, Figure 2 shows a schematic of BEE-PC corresponding to decoding of the ith row of PC at iteration I.
Figures 3 and 4 show respectively a schematic of iBDD-CR [16] for decision on code bit at iteration I by ith row decoding with input
Figure imgf000009_0001
; and a schematic of iBDD-
CR for decision on code bit
Figure imgf000009_0002
at iteration I.
Figure 5 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, of one or more embodiments according to the present disclosure with respect to known techniques for PC with component code Ci;
Figure 6 schematically illustrates a graph showing a comparison of performance expressed as a bit error rate, BER, or transmission reach improvement of one or more embodiments according to the present disclosure with respect to known techniques. The performance is of iBDD, ideal iBDD, iBDD-SR, iBDD-CR, and BEE-PC for PC with component code C2 in the BICM with (a) 4-QAM, (b) 16-QAM, (c) 64-QAM, and (d) 256-QAM modulation (e) The optical reach improvement of BEE-PC over iBDD as well as the original optical reach of iBDD, corresponding to (a)-(d).
Figure 7 schematically illustrates a Tanner graph of a SC-GLDPC ensemble comprising SCC. The SC-GLDPC ensemble with
Figure imgf000009_0003
degree-2 VNs and n/2 CNs of degree-n. The ith spatial position is shaded in red.
Figure imgf000009_0004
and
Figure imgf000009_0005
are random interleavers corresponding to VNs and CNs, resp., at ith spatial position.
Figure 8 schematically illustrates operation of an embodiment of a method according to the present disclosure on a staircase code, SCC. The schematic of BEE-SCC corresponding to the decision on jth row of
Figure imgf000009_0006
Figures 9, 10, 11 and 12 schematically illustrate graphs showing a comparison of performance expressed as a bit error rate, BER, or spectral efficiency, SE, of one or more embodiments according to the present disclosure with respect to known techniques.
In particular, Figure 9 shows a comparison between the simulation results of iBDD-CR for SCC and PC as well as the DE analysis of iBDD-CR for SC-GLDPC and GLDPC ensembles for (a) component code C2 (b) component code C3.
Figure 10 shows a performance comparison of iBDD, AD, iBDD-SR, iBDD-CR, and BEE-SCC for staircase code with component code C2.
Figure 11 shows a performance comparison of iBDD, AD, iBDD-SR, iBDD-CR, and BEE-SCC for SCC with component code C3.
Figure 12 shows a performance comparison of iBDD, ideal iBDD, iBDD-CR, and BEESCC for a BICM system with 256-QAM and SCC with component code C2.
Reference will further be made to Figures 1-12 in the description below, describing several exemplary embodiments.
Figure 13 schematically illustrates an embodiment of a method 100 according to the present disclosure. The method 100 is for decoding received data encoded using an error correction code. The method 100 comprises mapping 101 the received data to a hard decision using a pre-defined mapping table. The method 100 further comprises in a first decoding step 102 decoding 103 the received data using bounded distance decoding, BDD and determining 104 a first distance metric between the BDD decoded data and the hard decision. The method 100 further comprises calculating 105 a measure of reliability of bits of the hard decision. The method 100 further comprises in a second decoding step 106 determining 107 at least two least reliable bits of the hard decision received data, based on the calculated measure of reliability; decoding 108 the received data, using error and erasure decoding, EED, wherein the determined at least two least reliable bits are considered to be erased; and determining 109 a second distance metric between the EED decoded data and the hard decision. The method 100 further comprises comparing 110 the first distance metric and the second distance metric; and, based on an outcome of the comparing 110, outputting 111, i.e. returning an output as a result of the method to an entity or process that executed the method, e.g. called for execution of the method it in a device such as device 200 of Figure 14, one of the BDD decoded data and the EED decoded data.
As described above, by combining the first decoding step, which is based on BDD, with the second decoding step, which is based on EED, or, in other words, by basing the final output value of the decoding method on the outcome of two different decoding attempts, embodiments according to this method improve robustness, and thus allows for improved data rates.
In particular, by determining a distance metric for each of the two decoding steps, there is provided a handy way of comparing the quality of their resulting decoding outcomes, which allows to keep performance high, and thus allows for improved data rates.
Moreover, method 100 and further developed embodiments thereof allow implementations wherein only so-called hard messages are exchanged between component codes, which improves overall efficiency, and thus allows for improved data rates.
Figure 14 schematically illustrates an embodiment of a device 200 according to the present disclosure. The device 200 may preferably be an optical transport network device or a wireless network device, or may be a device coupled to a memory bank and adapted to correct storage errors of data stored on the memory bank. The device 200 comprises at least one processor 201 and at least one memory 202. The memory 202 stores a computer program according to any above-described embodiment. The processor 201 is operatively coupled to the memory 202, such that it can execute instructions of the computer program in order to perform the method according to any above-described embodiment.
Product codes (PCs) and staircase codes (SCCs) are conventionally decoded based on low-complex iterative bounded distance decoding (iBDD) of the component codes. The performance of iBDD can be improved using soft-aided (hybrid) algorithms. The latest algorithm in this class of decoders is called iBDD with combined reliability (iBDD- CR), recently proposed for PCs.
In example embodiments described in the present disclosure, we generalize iBDD-CR and improve on its performance, and thus, the contributions of the present disclosure are two. First, we extend iBDD-CR to SCCs, where the reliability of BDD outbound messages is estimated through density evolution analysis of the underlying spatially- coupled low-density parity check ensemble. The second contribution is to propose two novel decoding algorithms for PCs and SCCs which improve upon iBDD-CR. The new algorithms use an extra decoding attempt based on error and erasure decoding of the component codes. The proposed algorithms can be efficiently implemented because only the exchange of hard messages between the component decoders is required, making them an attractive solution for high throughput fiber-optic systems. Simulation results show that our algorithms based on two decoding attempts offer gains of up to 0.88 dB for both PCs and SCCs. These gains correspond to a 33% optical reach enhancement over iBDD with bit-interleaved coded modulation using 256 quadrature amplitude modulation.
It is to be noted that the term algorithm may refer to a method, and should not be construed to be limited to a strict computer-science interpretation. In other words, as used in the present disclosure, an algorithm may refer to a practical method, executed on real data stemming from a physical origin, and e.g. executed in a physical device.
The transmission rate of a single optical fiber has increased by a factor of 8000 over the past 30 years [1] Recently, a chip set with the capacity of 800 Gbit/s/l has become commercially available [2] To cope with the growth of applications such as cloud computing, internet-of-things, video-on-demand, etc., next-generation optical line cards target data rate of 1 Tb/s/l and beyond. Reliable transmission at such high data rates cannot be achieved using off-the-shelf digital signal processing (DSP) nor by exclusively relying on the improvement of integrated circuits (due to the end of Moore’s law [3]). Forward error correction (FEC) is an essential component of the receiver DSP and should be adapted accordingly to cope with the current trends on data rate. Designing high-performance FEC decoders for ultra high-speeds is very challenging due to the strict latency and power constraints.
Product codes (PCs) [4] and staircase codes (SCCs) [5] are popular FECs for high- throughput applications such as fiber optic systems and have been included in several recommendations (e.g., ITU-T G.709.2/Y.1331.2 [6] and 400ZR [7]). Soft-decision decoding (SDD) of PCs — also known as turbo product decoding (TPD) — was proposed already more than 20 years ago in [8] TPD provides significant gains at the cost of high internal decoding data flow due to the iterative exchange of soft messages. Such soft message passing entails high decoding complexity, e.g., 10 W power consumption for 128 Gbps line rate [9]1. An alternative is to employ iterative hard decision decoding (HDD) for PCs and SCCs. HDD requires much lower decoding complexity (e.g., 0.62 W for 317 Gbps information rate [10]), however, it entails large performance losses (1-2 dB depending on code rate) compared to SDD. it Recently, several hybrid decoding architectures have been proposed for both PCs and SCCs, which provide a suitable performance-complexity trade-off between SDD and HDD [11]-[16] The idea of hybrid schemes is to employ HDD as the decoding core, while exploiting the channel log-likelihood ratios (LLRs) to improve the overall decoder performance.2 In [11] and [12] two decoding algorithms for PCs were proposed based on generalized minimum distance decoding [24] In [13], a low-complex decoding algorithm based on the scaled reliability (SR) concept (called iBDD-SR) was presented for both PC and SCCs. SR models the reliability of HDD outputs based on combining the scaled HDD output with channel LLRs. In [14], the soft-aided bit-marking (SABM) decoder was proposed for PCs and SCCs based on flipping the least reliable bits and a heuristic miscorrection detection procedure. The performance of SABM was further improved for PCs based by combining SABM with SR principle [15]
The latest algorithm in the class of hybrid decoding architectures was introduced in [16], where a novel decoding technique for PCs called iterative bounded distance decoding with combined reliability (iBDD-CR) was presented. iBDDCR computes an accurate estimate for the reliability of HDD outputs for decoding of PCs. This estimate is found based on density evolution (DE) analysis on the underlying generalized low- density parity-check (GLDPC) code ensemble. Employing the iBDD-CR decoder for SCCs demands finding an accurate estimate of the reliability of the HDD outputs for SCCs, which is not necessarily the same as PCs.
The present disclosure extends our recent contribution [16] in two different directions. First, in various embodiments, we extend iBDD-CR to SCCs. In particular, preferred embodiments perform density evolution (DE) analysis for iBDD-CR employing the spatially-coupled GLDPC (SCGLDPC) ensemble, as the code ensemble containing the SCCs. The derived DE may provide an accurate estimate of the reliability of HDD outputs for SCCs, which is exploited in iBDD-CR. Second, in various embodiments, decoding algorithms for PCs and SCCs are proposed based on improving the iBDD- CR architecture with error and erasure decoding (EDD) of the component codes. We show that the proposed decoders can be efficiently implemented by only exchanging hard messages between component codes. We also perform an algorithmic level complexity comparison between our proposed schemes and decoders of [11]-[16], [21] Simulations results depict that the proposed schemes for both PCs and SCCs provide up to 0.88 dB gain compared to (standard) HDD based on iBDD of the component codes, for transmission in bit-interleaved coded modulation (BICM) using 256 quadrature amplitude modulation (QAM). Such gains are predicted to yield up to 33% optical reach improvement compared to original optical reach of iBDD for BICM with 256-QAM.
The remainder of the present disclosure is organized as follows. In Sec. II, some preliminaries and the system model are explained, and the iBDD-CR algorithm is reviewed. An example embodiment of the new hybrid decoding algorithm for PCs and SCCs is introduced in Secs. Ill and IV, resp. In Sec. V we explain the heuristics behind the proposed hybrid decoders and analyze the complexity of the proposed hybrid decoding schemes. Conclusions are drawn in Sec. VI.
II. PRELIMINARIES
Product-like codes is a family of codes constructed by serial concatenation of component codes. In the present disclosure, we consider binary PCs and SCCs. In the following, we briefly review the structure of PCs and SCCs and also explain the channel model considered in the present disclosure. The last part of this section describes the recently introduced iBDD-CR algorithm.
A. Product and Staircase Codes
Let C be a Bose-Chaudhuri-Hocquenghem (BCH) code constructed over the Galois field GF(2V). The codeword length of C is n = 2V -1-s and the number of its information bits is k = 2V - vt - 1 - s, where t is the error correction capability and s is the shortening parameter of C. A PC with (n; k) component codes is defined as the set of all
Figure imgf000015_0006
arrays such that each row and column of C is a valid codeword of C. The rate
Figure imgf000015_0005
of such PC is R = k2/n . Fig. 1(a) shows the schematic of a PC code array encompassing
Figure imgf000015_0001
, as a code bit corresponding to the second row and second column component codes of a PC. PCs are conventionally decoded based on BDD of component codes. BDD corrects all error patterns with maximum Hamming weight t. If the weight of the error pattern is larger than t and there exists another codeword with Hamming distance less than t to the received codeword, BDD introduces miscorrections. Otherwise, BDD fails, where conventionally it is considered that BDD outputs its input. We refer to iterative applying the BDD on row and column codes as iBDD.
A SCC comprises the set of all matrices B, of size n/2 c n/2 , i = 1 ; 2; ... , such that each row of the matrix
Figure imgf000015_0002
is a valid codeword in C. Each matrix B, contains n/2 (n - k) parity bits out of (n2)/4 code bits, hence, the corresponding code rate is R = 1 - 2(n-k)/n . Fig. 1(b) shows an schematic of the SCC comprising the blocks
Figure imgf000015_0003
, and as a code bit corresponding to the second row and second column of
B,. Note that Bo is an all-zeros matrix which initializes the decoding procedure of the SCCs. SCCs are decoded in a windowed-decoding fashion, i.e. , each row of
Figure imgf000015_0004
for staircase blocks within a decoding window is decoded based on BDD [5] We also refer to iteratively applying the BDD on component codes of SCC within the decoding window, as iBDD.
B. System Model
We consider bit-interleaved coded modulation (BICM) based on M2-QAM. In BICM, the code bits are interleaved and then mapped to the constellation points using the binary reflected Gray code (BRGC) mapping. The real and imaginary part of an M2-QAM symbol with M = 2m are both selected from the set
Figure imgf000016_0001
normalizes the constellation energy to unity. Due to the symmetry of the M2-QAM constellation, we only consider transmission of the real part of the M2-QAM symbol.
The AWGN channel output at time instant i corresponding to transmitted symbol x, X is given by
Figure imgf000016_0002
where nCh is the number of channel uses corresponding to a PC or SCC block,
Figure imgf000016_0006
The log likelihood ratio (LLR) of the k-th bit level of is given as
Figure imgf000016_0007
Figure imgf000016_0003
where
Figure imgf000016_0008
are sets of size 2m symbols with 0 and 1 as the kth bit of the corresponding BRGC label, respectively. For the special case of the binary input AWGN (bi-AWGN) channel,
Figure imgf000016_0009
.
C. iBDD with Combined Reliability
In Secs. Ill and IV, we propose an embodiment of a novel hybrid decoding algorithm, which we call binary message passing based on error and erasure decoding (BEE). BEE is an improved variant of our recently introduced iBDD-CR algorithm. Here we briefly review the architecture of iBDD-CR, which is shown in Fig. 3.
Let us denote by
Figure imgf000016_0004
the decoding output of the n column codes at iteration 1 - 1, i.e.,
Figure imgf000016_0005
corresponds to the decision on code bit The input of the row decoder at iteration I is
Figure imgf000017_0008
. In the following, we just explain the decoding of the ith row code at iteration I, using the input
Figure imgf000017_0001
We denote by
Figure imgf000017_0002
the output of BDD corresponding to code bit In case of correct
Figure imgf000017_0009
decoding or miscorrection, BDD outputs a codeword, hence, we assume
Figure imgf000017_0010
using the mapping
Figure imgf000017_0011
Furthermore, in case of BDD failure, we assume
The LLR on the code bit ci;j after BDD at iteration ‘ is given as [16, Eq. (9)]
Figure imgf000017_0003
where is the channel LLR and
Figure imgf000017_0004
can be computed using a look-up table
(LUT) based on
Figure imgf000017_0005
(see [16, Theorem. 1]). Then,
Figure imgf000017_0012
is mapped to a hard decision using
Figure imgf000017_0006
where B( ) is the mapping
Figure imgf000017_0007
After applying this procedure to all row codes, the matrix
Figure imgf000017_0013
is formed and used as the input for the n column decoders. The column decoding is similar to the row counterpart. The decoding continues by iterating between row and column decoding for a given number of iterations. The additional component of iBDD-CR compared to iBDD is shown as “iBDD-CR core” in Fig. 3. As can be seen, the operations in iBDD-CR core is based on soft values, however, only (binary) hard messages are exchanged between component decoders. Therefore, the contribution of message exchanging between component codes in the overall internal decoder data flow of iBDD-CR is the same as iBDD [16], III. HYBRID DECODING OF PCS A. Generalized Distance Metric
BEE-PC exploits the so-called generalized distance (GD) metric, originally introduced in [24], in order to improve the performance of iBDD-CR. GD is defined as follows. Let
Figure imgf000018_0003
be a binary vector with reliability
Figure imgf000018_0004
. The GD between a and the binary vector
Figure imgf000018_0006
is
Figure imgf000018_0005
where
Figure imgf000018_0007
is the normalized I, i.e. ,
Figure imgf000018_0001
. One can interpret GD as a soft version of the Hamming distance, e.g., assuming
Figure imgf000018_0009
for and for
Figure imgf000018_0008
dGD(a; b) corresponds to the Hamming distance between a and b.
B. BEE-PC Algorithm Fig. 2 shows the block diagram of the proposed BEE algorithm for PCs. Without loss of generality, we explain the BEEPC decision corresponding to the ith row decoding of PC at iteration ‘. BEE-PC encompasses two decoding attempts, each corresponding to a branch, or also decoding step, in Fig. 2. First, we explain the upper branch of Fig.
Figure imgf000018_0010
contains the BDD outcome of n column decoders at iteration I - 1, corresponding to the ith row of the PC codeword, where the components are
Figure imgf000018_0014
explained in iBDD-CR decoder
Figure imgf000018_0011
channel LLRs
Figure imgf000018_0012
Figure imgf000018_0013
, and the iBDD-CR LUT, the LLR vector can be computed, where the corresponding (binary) hard messages are
Figure imgf000018_0002
Then, BDD is performed with the input
Figure imgf000019_0001
, which yields
Figure imgf000019_0002
with three possible values for the components, i.e., {+1, -1} and 0. Using
Figure imgf000019_0003
and the iBDD-CR LUT, the
Figure imgf000019_0004
is computed and the candidate decision
Figure imgf000019_0005
is formed as
Figure imgf000019_0006
. Finally,
Figure imgf000019_0007
as the score of candidate decision
Figure imgf000019_0008
is computed as
Figure imgf000019_0009
where 2n is a constant discussed in Sec.V-A. The second branch of Fig. 2 serves as another decoding attempt based on EED. The two least reliable bits of
Figure imgf000019_0011
Figure imgf000019_0010
are found based on and then erased. Then, the algebraic EED is performed on
Figure imgf000019_0012
based on [25, Sec. 6.6]. Let
Figure imgf000019_0013
be the outcome of EED with three possible values for the components, i.e., {+1, -1} in case of decoding with the mapping according to
Figure imgf000019_0014
, and 0 if EED fails. Similar to what explained for the first branch, the second candidate decision is formed as ,
Figure imgf000019_0015
where the LLR vector
Figure imgf000020_0005
is computed using
Figure imgf000020_0006
, and the iBDD-
Figure imgf000020_0002
Figure imgf000020_0001
CR LUT. Finally, as the score of candidate decision is computed as
Figure imgf000020_0003
Comparing
Figure imgf000020_0007
the candidate codeword with the minimum score is chosen as the BEE-PC decision and the corresponding BDD outcome is used for updating the input for column decoding in the next iteration, i.e. ,
Figure imgf000020_0004
After decoding of all rows of the PC at iteration I,
Figure imgf000020_0008
is utilized as the input to column decoders. To initialize the algorithm, the channel LLRs are employed as the input LLRs of both BDD and EED blocks, i.e.,
Figure imgf000020_0009
. In the last iteration
(Imax) , the BEE-PC decoding output yields from the branch with lowest score, i.e., the decoding output is
Figure imgf000020_0010
C. Numerical Results
In this section, we evaluate the performance of several exemplary embodiments of BEE-PC. Throughout the present disclosure, we consider an extended BCH (eBCH) code Ci, and BCH codes C2 and C3 as the component codes, where the corresponding parameters, PC and SCC rates, hard decision (HD) and soft decision (SD) Shannon limits at PC and SCC rates are given in Table I.
Figure imgf000021_0004
Figure imgf000021_0005
We also consider 10 iterations of BEE-PC appended with 2 iBDD iterations. The decision rule of type (4) is unable to correct errors with high reliabilities (code bits in error with high
Figure imgf000021_0003
). This is because for PCs and
Figure imgf000021_0001
Figure imgf000021_0002
for SCCs, i.e., the decision on a code bit is overridden by the channel error. Therefore, the appended iBDD iterations (which disregard reliabilities in the decision rule) helps the decoder to correct the errors with high reliability (see [13, Sec. VI]). For the sake of fairness, we evaluate all other algorithms with the total of 12 iterations.
In Fig. 5, we show the bit error rate (BER) performance of BEE-PC for a PC with component code Ci and transmission over the bi-AWGN channel. For the sake of comparison, we also depict the performance of iBDD, AD [21], iBDD-SR [13], SABM [14], iBDD-CR [16], iGMDD-SR [11], SABMSR [15], We also plot the performance of ideal iBDD which disregards miscorrections using a genie approach, turbo product decoding (TPD) based on the Chase-Pyndiah algorithm [8], and HD and SD Shannon limits. We highlight that iBDD and AD should be compared to HD capacity. However, all other algorithms should be compared to SD capacity, as they all exploit channel LLRs in the decoding rule. As it can be seen, BEE-PC outperforms all other algorithms where the performance gain of BEE-PC over conventional iBDD is 0.68 dB. Furthermore, the gap between BEE-PC and TPD is 0.43 dB. Therefore, BEE-PC can close 0.62% of the gap between (full hard) iBDD and (full soft) TPD. We highlight that the performance of iGMDD-SR, SABM-SR, and BMP-GMDD is close to BEE-PC. However, BMP-GMDD requires up to 30% more message exchanging between component codes than BEE-PC, and both iGMDD-SR and SABM-SR require exchanging soft messages between component decoders, which yields significantly higher decoder data flow than BEE-PC (see Sec. V-B and Table III for high level complexity discussion of different algorithms).
In Fig. 6(a)-(d) the performance of iBDD, ideal iBDD, iBDD-SR, iBDD-CR, and BEE- PC for a PC with component code C2 are shown for transmission in a BICM (employing random interleaver) with 4-QAM, 16-QAM, 64-QAM, and 256-QAM, respectively. As can be seen, BEE-PC outperforms all other decoders and the gain with respect to iBDD increases using higher order modulation. In particular, the performance gain of BEE-PC over iBDD is 0.46 dB, 0.7 dB, 0.79 dB, and 0.88 dB for 4-QAM, 16-QAM, 64- QAM, and 256-QAM, respectively. Fig. 6(e) shows the spectral efficiency (SE) versus the optical reach improvement of BEE-PC over iBDD as well as the original optical reach of iBDD, for transmission on a BICM employing PC with the same component code considered in Fig. 6(a)-(d). In order to predict the transmission reach, we used the enhanced Gaussian noise model [26] with fiber parameters summarized in Table.
III, evaluated at the optimal launched power. We also show reach efficiency h defined as the reach improvement of BEE-PC over iBDD normalized to the original reach of iBDD. As can be seen, increasing the spectral efficiency results in a smaller reach enhancement and larger h. In particular, the reach increase for 4-QAM, 16-QAM, 64- QAM, and 256-QAM are 1600 km, 640 km, 240 km, and 80 km, respectively.
IV. HYBRID DECODING OF SCCS
In this section, we extend iBDD-CR to SCCs through analyzing the decoding behavior using DE for SC-GLDPC ensemble, as the code ensemble encompassing SCCs. Then, we propose an example embodiment of a novel decoding algorithm for SCCs, which improves upon iBDD-CR and is similar in spirit to the BEEPC.
A. iBDD-CR decoding of SCCs Without loss of generality, we assume that and
Figure imgf000023_0017
are within the decoding window and we explain the decision of iBDD-CR at iteration I corresponding to
Figure imgf000023_0001
, which is located in
Figure imgf000023_0015
and also in the j-th row of .
Figure imgf000023_0016
Let us assume that
Figure imgf000023_0002
is the hard decision inputs of iBDD-CR corresponding to
Figure imgf000023_0008
and
Figure imgf000023_0013
is the corresponding channel LLRs.
We denote by the out
Figure imgf000023_0003
Figure imgf000023_0014
put of BDD on the jth row of corresponding to code bit
Figure imgf000023_0004
has three possible values, i.e. ,
. Furthermore, at the de
Figure imgf000023_0005
Figure imgf000023_0009
coding iteration I, let be the
LLR of code bit
Figure imgf000023_0006
after BDD. The hard decision on the code bit
Figure imgf000023_0010
produced by the jth row decoder is formed as
Figure imgf000023_0007
After updating is used as the input for iBDD-CR decoder, which decodes each row of
Figure imgf000023_0012
, This procedure continues until all blocks within the decoding window are decoded for a given number of iterations. In
Fig. 4, a schematic of the iBDD-CR decision for the code bit
Figure imgf000023_0011
corresponding to the decoding iteration I is shown. As can be seen from Fig. 4, the core of iBDD-CR is to compute
Figure imgf000024_0002
. As explained
Figure imgf000024_0001
can be computed using a LUT (see [16, Table I & II]). In [16] the components of this LUT are optimized for an GLDPC ensemble using DE analysis and used for implementing the iBDD-CR for PCs, as a code contained in the GLDPC ensemble. In the following, we extend this DE analysis to SC-GLDPC ensemble, which allows to find the LUT for SCCs and implement the iBDD-CR.
B. DE Analysis of iBDD-CR for SC-GLDPC
Fig. 7 shows the Tanner graph of a SC-GLDPC ensemble with n2/4 degree-2 variable nodes (VNs) and n/2 constraint nodes (CNs) of degree-n. The coupling memory of this SCGLDPC ensemble is 2. Therefore, the VNs at spatial position i are randomly connected to CNs at spatial position i and i + 1. This randomness is denoted in Fig. 7 by the edge interleavers t . Furthermore, CNs at spatial position i are randomly (denoted in Fig. 7 by the edge interleavers t ') connected to VNs at spatial position i - 1 and i. Comparing Fig. 1 (b) with Fig. 7, one can infer that SCCs can be constructed as a particular instance of SC-GLDPC ensemble, where n/2 BCH component code corresponds to CNs and n2/4 code bits of B, corresponds to VNs in spatial position i. We highlight that SCCs are deterministic codes (see [27]), i.e. , the connections of VNs and CNs are determined by the SCC structure, which is not random. The reason for analyzing the SC-GLDPC ensemble instead of the Tanner graph of SCCs is that the randomization in the SC-GLDPC ensemble significantly simplifies the DE analysis. Under other assumptions such as extrinsic message passing [28, Sec. 11— B], BICM channel mixing [29, Sec. IV-A], and employing channel adapters in BICM [30], in what follows we generalize the DE analysis of iBDD-CR originally derived for GLDPC ensemble in [16, Sec. IV], to SC-GLDPC ensemble.
Let us assume BCH codes as the CNs. In the DE analysis of iBDD-CR for the GLDPC ensemble [16, Sec. IV], it is shown that for a given one dimensional modulation order M and noise variance o2, the output message error probability of the iBDD-CR at CNs and iteration I is given by
Figure imgf000025_0003
where g( ) is defined by [16, Eq. (15)] and
Figure imgf000025_0001
denotes the input message error probability of CNs. Note that
Figure imgf000025_0004
initializes the DE, where pch defined as the channel output error probability yielded by employing hard detection on channel LLRs. The difference between the Tanner graph of GLDPC codes and SC-GLDPC ensembles is the existence of coupling memory in the Tanner graph of the SC-GLPDC ensemble. To incorporate the effect of coupling in the DE analysis of SC-GLDPC, we should track message error probability corresponding to each spatial position. As we are interested in iBDD-CR for SCCs in the present disclosure, in what follows we consider SC-GLDPC ensemble with coupling width of 2, similar to Fig. 7.
We denote by
Figure imgf000025_0002
the average bit error probability from CNs at spatial position i to connected VNs at positions i and i-1. Furthermore, We denote by x(i) (l) the average bit error probability from VNs at spatial position i to the connected CNs at spatial
Figure imgf000025_0005
can be calculated as
Figure imgf000025_0006
where (10) is employed to compute (12). Recall that window decoder is usually employed for decoding of SCCs. To account for the effect of window decoding in DE analysis of SC-GLDPC ensemble, we assume that the messages only exchange between VN to CNs within the decoding window, i.e. , the first and last VN (CN) position in the decoding window only connects to one CN (VN) which is located in the decoding window. Concretely, let W be the set of spatial positions within the decoding window and
Figure imgf000026_0001
be the average bit error probability from VNs at spatial position within the decoding window.
Figure imgf000026_0002
Employing
Figure imgf000026_0003
- in (11)— (12) yields the DE recursion for the SC-GLDPC ensemble at position i and iteration 1 + 1, which is given as
Figure imgf000026_0004
As shown in [16], the computation of g( ) for a DE recursion of GLDPC ensemble results in a LUT for the values of
Figure imgf000026_0005
(see Fig. 3). Similarly, the computation of
(13) for SC-GLDPC ensemble yields a LUT for the values of
Figure imgf000026_0006
corresponding to spatial position i (see Fig. 4). Due to this similarity and for the sake of compactness of the present disclosure, we refer to employ (13) in [16, Proposition 1] for computing the component values of LUTs.
C. BEE-SCC Algorithm
In this section, an example embodiment of a heuristic decoding algorithm is developed for SCCs. We refer to this new algorithm as binary message passing based on error and erasure decoding of SCCs, in short BEE-SCC. Similar to BEE-PC, BEE-SCC is inspired by iBDD-CR and utilizes the GD metric (5). Fig. 8 shows the schematic of BEE-SCC in making a decision for the jth row of . Similar to Sec. IV, we
Figure imgf000026_0007
denote by
Figure imgf000027_0005
the hard decision input of BEE-SCC corresponding to .
Figure imgf000027_0006
We start by explaining the upper branch of Fig. 8, which has some similarities to iBDD- CR. Following the iBDD-CR algorithm with input
Figure imgf000027_0001
the candidate decision
Figure imgf000027_0007
is computed as
Figure imgf000027_0008
where B( ) applies on each component of
Figure imgf000027_0009
. Then, by employing (5),
Figure imgf000027_0012
defined as the score of candidate decision
Figure imgf000027_0002
is computed as
Figure imgf000027_0003
The lower branch of Fig. 8 serves as a second decoding attempt. In particular, the 2 least reliable bits of
Figure imgf000027_0004
according to reliability vector
Figure imgf000027_0010
are erased and passed to the algebraic EED [25, Sec. 6.6], although a greater number of least reliable bits may also be erased - in that case, it is preferred to erase an even number of bits, as erasing an odd number of bits does not contribute extra to the EED decoding. We denote by
Figure imgf000027_0011
the output of EED with three possible values for the components. Using the same LUT iBDD-CR utilizes, the LLR
Figure imgf000028_0008
is computed. Then, the candidate decision
Figure imgf000028_0001
is formed as
Figure imgf000028_0002
Figure imgf000028_0003
where B( ) applies on each component of
Figure imgf000028_0004
. Afterwards, as the score of candidate decision
Figure imgf000028_0005
is computed as
Figure imgf000028_0006
Finally, the candidate codeword with the minimum score is selected and updates
Figure imgf000028_0007
D. Numerical Results
In this section, we evaluate the performance of example embodiments of iBDD-CR and BEE-SCC. We consider a window decoder with a size of 7 staircase blocks and maximum of 10 iterations, appended with 2 iBDD iterations (see Sec. Ill-C for discussion of appended iBDD iterations). We consider SCCs with even length component codes, hence, when necessary, one bit shortening is done to have the even component code length for SCCs. In order to evaluate the derived DE of iBDD-CR for SCGLDPC ensemble (see Sec. IV- B), in Fig. 9, we compare DE performance with the performance of SCCs with C2 and C3 component codes for transmission over the bi-AWGN channel. For the sake of comparison, we also show the performance of the PCs with the same component codes and DE performance of the GLDPC ensemble [16, Fig. 4], As it can be seen in Fig. 9, DE can predict the performance of SCC with good accuracy and the gap between simulation results and DE is reduced by increasing the code block length (c.f. the gap between dotted curves with solid curves of Fig. 9(a) and Fig. 9(b)). Furthermore, the spatial-coupling gain of SCC over the corresponding PC is also well- predicted by the DE analysis. Therefore, the derived DE for iBDD-CR in Sec. IV-B can be also used for the parameter optimization of SCCs, similar to the approach taken in [31] for parameter optimization of PCs.
In Figs. 10 and 11 , the performance of iBDD-CR and BEE-SCC are compared with iBDD, ideal iBDD, AD, and iBDD-SR for SCCs with C2 and C3 component codes, and transmission over the bi-AWGN channel. One can see that BEE-SCC and iBDD-CR outperform all other algorithms. In particular the gain of iBDD-CR and BEE-SCC over iBDD is 0.41 dB and 0.55 dB for SCC with C2, and the same gains are 0.33 dB and 0.44 dB for SCC with C3.
In Fig. 12, we consider BICM system (employing random interleaver) with 256-QAM and C2 as component code, where the performance of iBDD, ideal iBDD, iBDD-CR, and BEESCC are compared. For a BER of 10-7, the performance gain of BEE-SCC and iBDD-CR over iBDD is 0.61 dB and 0.88 dB, respectively. Comparing Fig. 12 with Fig. 10 reveals that the performance improvement of the proposed schemes over iBDD increases by employing the higher order modulation. Finally, employing the GN model and fiber parameters given in Table II, BEE-SCC yields 80 km reach enhancement compared to iBDD, corresponding to reach efficiency of h = 33%.
Comparing Figs. 5, 6, 10, and 11 , one can see that the performance gain of BEE-PC and BEE-SCC over iBDD depends on the component codes. In particular, for a given component code length n, reducing t increases this gain. Furthermore, for a given component code length t, reducing n also increases performance gain. This is due to fact that the probability of component decoding miscorrections and failures increases in such cases, hence, BEE-PC and BEE-SCC (which deal with recovering the miscorrections and failures) can improve more the performance of (standard) iBDD.
V. BEE-PC AND BEE-SCC: HEURISTICS AND COMPLEXITY
A. Heuristics
Some similarities of respective embodiments of BEE-PC and BEE-SCC may be noted. Both algorithms employ an erasure attempt to improve the performance of iBDD-CR. For a component code containing e errors and s erasures, the EED is successful if
Figure imgf000030_0006
Figure imgf000030_0007
, where dmm is the minimum Hamming distance of the component code [25, Sec. 6] The first attempt of BEE-SCC (corresponding to the upper branches in Fig. 4 and Fig. 8) considers s = 0, therefore it is capable of correcting up to
Figure imgf000030_0001
, i.e., t errors. However, the second attempt (corresponding to the lower branch in Fig. 4 and Fig. 8) considers s = 2, hence it is capable of correcting errors and 2 erasures. One can easily check that
Figure imgf000030_0002
Figure imgf000030_0003
therefore, the second attempt can correct more errors if the least reliable bits corresponds to error bits.
For a component code of length n, one can show that (5) is upper bounded by 2n, hence the definition of
Figure imgf000030_0004
and
Figure imgf000030_0005
for both BEE-PC and BEE-SCC (see (6), (7), (15), and (17)) ensures that the candidate codeword is selected from the branch without a decoding failure.
We also highlight that both BEE-PC and BEE-SCC heuristically employs the same LUT for both decoding attempts. As shown in [16, Appendix A], components of the LUT are derived based on analyzing the behavior of BDD. Following the DE steps in [16], we found that employing EED should in principle yield a new LUT, but unfortunately, finding the exact components of this LUT requires computing of some probabilities which seems to be intractable. Therefore, we pragmatically resorted to the same LUT as given by the DE analysis for iBDD-CR.
The main difference between BEE-PC and BEE-SCC is that each algorithm exploits different soft information values for the erasure attempt. In order to efficiently perform the erasure attempt one needs a reliability measure. In BEEPC,
Figure imgf000031_0005
is used to find the two least reliable bits of
Figure imgf000031_0006
(see Fig. 2). If we use the architecture of iBDDCR to implement BEE-PC, we have to exchange soft values
Figure imgf000031_0001
between component decoders, yielding a significantly higher internal decoder data flow compared to iBDD-CR. To avoid exchanging of the soft values between component codes, BEE-PC modified the iBDD-CR architecture such that the
BDD/EED decisions, i.e.,
Figure imgf000031_0002
are exchanged (c.f. Fig. 3 and the first branch
Figure imgf000031_0003
of Fig. 2). With this modification, both (hard) decisions and LLRs
Figure imgf000031_0007
used in BEE-PC can be computed internally in the decoder using
Figure imgf000031_0008
, channel LLRs, and iBDD-CR LUT.
In BEE-SCC
Figure imgf000031_0009
is used to find the two least reliable bits of
Figure imgf000031_0010
Note that according to the derived DE in Sec. IV-B,
Figure imgf000031_0011
is the reliability of iBDD-CR output
Figure imgf000031_0004
(see Fig. 8). However, in BEE-SCC we pragmatically employ it as the reliability measure for
Figure imgf000032_0003
. The motivation is that BDD reveals also some information about its input, e.g., in the case of decoding failure it shows that the input is not within the t distance of any codewords. We highlight that using
Figure imgf000032_0004
as the reliability measure for erasure attempt has also a practical implication.
Figure imgf000032_0005
is computed inside the decoder by the first decoding attempt
(see first branch of Fig. 8), hence, there is no need to exchange any soft value between component decoders in order to erase the two least reliable bits for the second decoding attempt. We remark that in principle, one can employ the BEE-PC architecture for SCCs as well. However, we found that such scheme yields minor performance improvement compared to iBDD-CR.
B. Complexity
A detailed complexity comparison between BEE-PC, BEESCC, hybrid decoding algorithms [11]-[16], and the AD decoder [21] requires hardware implementation of each decoder, and comparing the corresponding energy consumption. This implementation is beyond the scope of the present disclosure, and thus, here we only consider an algorithmic-level comparison. In the following, we first evaluate the contribution of message exchanging between component codes of BEE-PC and BEESCC in the overall internal decoder data flow, as an essential metric for high- throughput systems [5] Then, we compare other implementation requirements of BEE- PC and BEE-SCC with [11]— [16], [21] from an algorithmic level perspective.
As explained in Sec. Il-C, for the ith row decoding of PC, BEE-PC outputs
Figure imgf000032_0001
with ternary components
Figure imgf000032_0002
, and send it to the column decoder. Therefore, it may seem that the contribution of message exchanging of BEE-PC in decoder data flow is higher than that of iBDD-CR and iBDD, which both exchange only binary messages. However, in what follows, we will show that we can implement BEEPC more efficiently than a plain ternary message passing between component codes.
Recall that the components of
Figure imgf000033_0004
are ternary because BDD or EDD may fail.
In such case, all components of
Figure imgf000033_0005
are zero. If the row decoder can somehow indicate the failure to column decoder (and vice versa), then the components of
Figure imgf000033_0001
become binary. For the efficient implementation of BEE-PC, we suggest to extend
Figure imgf000033_0002
by one bit, i.e. ,
Figure imgf000033_0003
is extended from a length n vector to a vector of length n + 1. We consider that the extra bit is 1 if
Figure imgf000033_0006
corresponds to
BDD/EDD decoding.
Figure imgf000033_0007
, 1} using the mapping according to
Figure imgf000033_0008
. Furthermore, we assume that the extra bit is 0,
Figure imgf000033_0009
corresponds to BDD/EDD failure. In this case the other n
Figure imgf000033_0010
are 0. With this simple bit extension and mapping,
Figure imgf000033_0011
become binary, at the cost of sending only one extra bit per component code. As the component code of a PC is typically long to reduce the error floor, the contribution of exchanging this extra bit on decoder data flow is negligible. For instance, BEE-PC decoding of a PC with BCH component length of 255 and 511, requires only an extra message exchanging of 0.4% and 0.2%, respectively, compared to iBDD-CR and conventional iBDD. As shown in Sec. IV-C, BEE-SCC only exchanges (binary) hard decisions between component decoders (see (18) and Fig. 8), hence, the contribution of message exchanging of BEE-PC in decoder data flow is the same as iBDD-CR and conventional iBDD. Two other implementation aspects we consider here are decoding complexity of EDD and LLR calculations. BDD is usually implemented based on Berlekamp-Massey decoding of BCH codes [32]. EED can also be implemented by modifying the Berlekamp-Massey algorithm, hence, the complexities of EED decoding and BDD are roughly similar [33] BEE-PC and BEE-SCC require to compute channel LLRs for the code bits, store channel LLRs, and a sorting algorithm to find the two least reliable bits per component code. We highlight that the memory required for BEE-PC and BEE- SCC is static, as the LLRs are not updated during the decoding iterations. It is known that static memory is significantly less costly than dynamic memory in hardware implementation [10].
Figure imgf000034_0001
In Table III, we compare different features of AD [21], iBDD-SR [13], SABM [14], iBDD- CR [16], SABM-SR [15], iGMDD-SR [11], and BMP-GMDD [12] algorithms with BEE- PC and BEE-SCC.7 As can be seen from this table, some of the proposed algorithms are evaluated for PCs or for transmission over the bi-AWGN channel, however, the others are investigated for both PCs and SCCs and CM scheme. Furthermore, one can see that each algorithm requires different memory types and message passing. We highlight that the contribution of message passing on decoder data flow is estimated based on BCH component parameters n = 255, n = 511, and t = f2; 3; 4g, which is also considered in the literature [11]-[16], [21]. VI. CONCLUSIONS
In the present disclosure, we extended the recently introduced iBDDCR algorithm for PCs to SCCs, through DE analysis of the SC-GLDPC ensemble, as the code ensemble encompassing PCs. Then, embodiments relating to two novel decoding methods for PCs and SCCs are proposed, which aim to enhance the iBDD-CR using a second decoding attempt based on EED of the component codes. We have shown that the contribution of messages exchanged between component codes on decoder data flow of the BEE-PC and BEE-SCC is roughly similar to (standard) iBDD, which makes BEE- PC and BEE-SCC suitable for next generation high-throughput systems. Simulation results revealed that both BEE-PC and BEE-SCC offer gains up to 0.88 dB compared to iBDD for transmission on BICM using 256-QAM. Finally, we found that the performance gain of BEE-PC and BEESCC over iBDD may further depend on component code parameters and constellation size.
REFERENCES
[1] Huawei, “White paper on technological developments of optical networks,” https://www-file.huawei.com/-
/media/CORPORATE/PDF/white%20paper/White-Paper-onTechnological-
Developments-of-Optical-Networks.pdf,.
[2] Ciena, “Waveserver 5,” https://media.ciena.com/documents/ Waveserver _- 5_DS.pdf.
[3] A. Steegen, “Vision: Technologies to extend semiconductor scaling,”
IMEC magazine, Jan. 2017.
[4] P. Elias, “Error-free coding,” Trans. IRE Professional Group on Inf.
Theory, vol. 4, no. 4, pp. 29-37, Sep. 1954.
[5] B. P. Smith, A. Farhood, A. Hunt, F. R. Kschischang, and J. Lodge, “Staircase codes: FEC for 100 Gb/s OTN,” IEEE/OSA J. Lightw.
Technol., vol. 30, no. 1 , pp. 110-117, Jan. 2012.
[6] ITU-T Recommendation G.975.1/Y.1331.2, “Long-reach interface,”
Tech. Rep., 2018.
[7] OIF Optical Internetworking Forum, “Implementation agreement 400ZR,” Tech. Rep., Jan. 2018. [8] R. M. Pyndiah, “Near-optimum decoding of product codes: block turbo codes,” IEEE Trans. Commun., vol. 46, no. 8, pp. 1003-1010, Aug.
1998.
[9] Viasat, “Viasat SDFEC 66200 200 Gbps SDFEC,” available at: https://tinyurl.com/ybckl2eb.
[10] C. Fougstedt and P. Larsson-Edefors, “Energy-efficient high-throughput VLSI architectures for product-like codes,” J. Lightw. Technol., vol. 37, no. 2, pp. 477-485, Jan. 2019.
[11] A. Sheikh, A. Graell i Amat, G. Liva, C. Hager, and H. D. Pfister, “On low-complexity decoding of product codes for high-throughput fiberoptic systems,” in Proc. IEEE Int. Symp. on Turbo Codes & Iterative
Inf. Proc. (ISTC), Hong Kong, Dec. 2018.
[12] A. Sheikh, A. Graell i Amat, and G. Liva, “Binary message passing decoding of product codes based on generalized minimum distance decoding,” in Proc. 53rd Annu. Conf. Inf. Sciences and Systems (CISS),
Baltimore, MD, Mar. 2019.
[13] - , “Binary message passing decoding of product-like codes,” IEEE
Trans. Commun., vol. 67, no. 12, pp. 1558-0857, Dec. 2019.
[14] Y. Lei, B. Chen, G. Liga, X. Deng, Z. Cao, J. Li, K. Xu, and A. Alvarado, “Improved decoding of staircase codes: The soft-aided bit-marking (SABM) algorithm,” IEEE Trans. Commun., vol. 67, no. 12, pp. 8220- 8232, Dec. 2019.
[15] G. Liga, A. Sheikh, and A. Alvarado, “A novel soft-aided bit-marking decoder for product codes,” Proc. Eur. Conf. Opt. Commun. (ECOC),
Sep. 2019.
[16] A. Sheikh, A. Graell i Amat, G. Liva, and A. Alvarado,
“Refined reliability combining for binary message passing decoding of product codes,” arXiv, 2020. [Online], Available: https://arxiv.org/abs/2006.00070
[17] M. Barakatain and F. R. Kschischang, “Low-complexity concatenated LDPC-staircase codes,” IEEE/OSA J. Lightw. Technol., vol. 36, no. 12, pp. 2443-2449, Jun. 2018. [18] T. J. Richardson and R. L. Urbanke, “The capacity of low-density paritycheck codes under message-passing decoding,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 599-618, 2001.
[19] G. Lechner, T. Pedersen, and G. Kramer, “Analysis and design of binary message passing decoders,” IEEE Trans. Commun., vol. 60, no. 3, pp.
601-607, Mar. 2012.
[20] F. Steiner, E. B. Yacoub, B. Matuz, G. Liva, and A. G. i Amat, “One and two bit message passing for SC-LDPC codes with higher-order modulation,” IEEE/OSA J. Lightw. Technol., vol. 37, no. 23, pp. 5914- 5925, Dec. 2019.
[21] C. Hager and H. D. Pfister, “Approaching miscorrection-free performance of product codes with anchor decoding,” IEEE Trans. Commun., vol. 66, no. 7, pp. 2797-2808, Jul. 2018.
[22] G. Montorsi and S. Benedetto, “High throughput two-stage soft/hard codecs for optical communications,” in Proc. IEEE Int. Symp. on Turbo Codes & Iterative Inf. Proc. (ISTC), Hong Kong, Dec. 2018.
[23] G. Montorsi, “Low complexity two-stage decoders for bawgn,” in ICC 2019 - 2019 IEEE International Conference on Communications (ICC),
Shanghai, China, May 2019.
[24] G. Forney, “Generalized minimum distance decoding,” IEEE Trans. Inf.
Theory, vol. 12, no. 2, pp. 125-131, Apr. 1966.
[25] S. Lin and D. J. Costello Jr., Error Control Coding, Second Edition.
Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 2004.
[26] A. Carena, G. Bosco, V. Curri, Y. Jiang, P. Poggiolini, and F. Forghieri,
“EGN model of non-linear fiber propagation,” Opt. Express, vol. 22, no. 13, pp. 16 335-16 362, Jun. 2014.
[27] C. Hager, H. D. Pfister, A. Graell i Amat, and F. Brannstrom, “Density evolution for deterministic generalized product codes on the binary erasure channel at high rates,” IEEE Trans. Inf. Theory, vol. 63, no. 7, pp. 4357-4378, Jul. 2017.
[28] Y. Jian, H. D. Pfister, and K. R. Narayanan, “Approaching capacity at high rates with iterative hard-decision decoding,” IEEE Trans. Inf.
Theory, vol. 63, no. 9, pp. 5752-5773, Sep. 2017. [29] Q. Xie, Z. Wang, and Z. Yang, “Simplified soft demapper for APSK with product constellation labeling,” vol. 11, no. 7, pp. 2649-2657, 2012.
[30] J. Hou, P. H. Siegel, L. B. Milstein, and H. D. Pfister, “Capacityapproaching bandwidth-efficient coded modulation schemes based on low-density parity-check codes,” IEEE Trans. Inf. Theory, vol. 49, no. 9, pp. 2141-2155, Sep. 2003.
[31] A. Sheikh, A. Graell i Amat, G. Liva, and A. Alvarado, “On parameter optimiation of product codes for iterative bounded distance decoding with scaled reliability,” in Proc. Eur. Conf. Opt. Commun. (ECOC),
Dublin, Ireland, Sep. 2019.
[32] J. Justesen, K. J. Larsen, and L. A. Pedersen, “Error correcting coding for OTN,” IEEE Commun. Magazine, vol. 48, no. 9, pp. 70-75, Sep.
2010.
[33] R. E. Blahut, Algebraic Codes for Data Transmission. Cambridge University Press, 2003
SELECTED ABBREVIATIONS
ASIC Application-Specific Integrated Circuit
AWGN Additive White Gaussian Noise
BCH Bose-Chaudhuri-Hocquenghem
BDD Bounded Distance Decoding
BEE Binary Message Passing based on EED
BER Bit Error Rate
BICM Bit-Interleaved Coded Modulation
BRGC Binary Reflected Gray Code
CN Constraint Node
DE Density Evolution
DSP Digital Signal Processing eBCH Extended BCH
EDFA Erbium-Doped Fibre Amplifier
EED Error and Erasure Decoding
FEC Forward Error Correction
FPGA Field-Programmable Gate Array GD Generalized Distance
GLDPC Generalized Low-Density Parity Check
HDD Hard Decision Decoding iBDD Iterative BDD iBDD-CR iBDD with Combined Reliability
ITU-T International Telecommunication Union Telecommunication
Standardization Sector LLR Log-Likelihood Ratio
LUT Look-Up Table OTN Optical Transport Network
OTU Optical Transport Unit
PC Product Code
QAM Quadrature Amplitude Modulation
SABM Soft-Aided Bit-Marking SCC Staircase Code
SC-GLDPC Spatially Coupled GLDPC
SDD Soft Decision Decoding
SE Spectral Efficiency
VN Variable Node

Claims

1. A method for decoding received data encoded using an error correction code; the method comprising:
- mapping the received data to a hard decision using a pre-defined mapping table;
- decoding the received data using bounded distance decoding, BDD, in a first decoding step; and
- determining a first distance metric between the BDD decoded data and the hard decision in the first decoding step;
- calculating a measure of reliability of bits of the hard decision; and
- determining at least two least reliable bits of the hard decision received data, based on the calculated measure of reliability, in a second decoding step;
- decoding the received data using error and erasure decoding, EED, in the second decoding step, wherein the determined at least two least reliable bits are considered to be erased; and
- determining a second distance metric between the EED decoded data and the hard decision in the second decoding step; and the method further comprising:
- comparing the first distance metric and the second distance metric; and
- based on an outcome of the comparing, outputting one of the BDD decoded data and the EED decoded data.
2. The method of claim 1, wherein the error correction code is any one of: a product code; and a staircase code.
3. The method of any previous claim, wherein the measure of reliability is calculated during the first decoding step.
4. The method of any previous claim, wherein the measure of reliability is calculated by determining a density evolution at constraint nodes of a Tanner graph of an ensemble comprising a class of the error correction code.
5. The method of claim 4, wherein the ensemble is a generalized low-density parity check ensemble when the error correction code is a product code; and wherein the ensemble is a spatially coupled generalized low-density parity check ensemble when the error correction code is a staircase code.
6. The method of any previous claim, wherein the measure of reliability of the bits of the received data is a log-likelihood ratio for the hard decision.
7. The method of any previous claim, wherein the first decoding step and the second decoding step are performed in parallel.
8. The method of any previous claim, wherein the hard decision is extended by one extra bit in each of its dimensions, wherein the one extra bit is 1 if either or both of the BDD decoding and the EED decoding were successful and is 0 if both of the BDD decoding and the EED decoding failed.
9. The method of any previous claim, wherein the first distance metric and the second distance metric are generalized distance metrics, wherein a generalized distance metric is represented as:
Figure imgf000041_0001
10. The method of any previous claim, iterated for a number of iterations, alternating over row decoding and column decoding of the received data.
11. The method of claim 10, wherein the hard decision is updated using the returned decoded data over each iteration.
12. A computer program comprising instructions configured for, when executed by a processor, causing the processor to perform the method of any previous claim.
13. A computer program product storing the computer program of claim 12 on a storage device.
14. A device, preferably an optical transport network device or a wireless network device, comprising:
- at least one processor; and
- at least one memory, the memory storing the computer program of claim 12.
15. The device of claim 14, comprising a comparison circuit configured for comparing the first distance metric and the second distance metric, outputting one of the BDD decoded data and the EED decoded data based on an outcome of the comparing, and for updating the hard decision using the returned decoded data.
PCT/NL2021/050423 2020-07-02 2021-07-02 Hybrid decoding of product and staircase codes using bounded distance decoding and error and erasure decoding Ceased WO2022005292A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063047296P 2020-07-02 2020-07-02
US63/047,296 2020-07-02

Publications (1)

Publication Number Publication Date
WO2022005292A1 true WO2022005292A1 (en) 2022-01-06

Family

ID=76859693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NL2021/050423 Ceased WO2022005292A1 (en) 2020-07-02 2021-07-02 Hybrid decoding of product and staircase codes using bounded distance decoding and error and erasure decoding

Country Status (1)

Country Link
WO (1) WO2022005292A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1028533A1 (en) * 1999-02-09 2000-08-16 Tandberg Television ASA Decoding an input digital signal
WO2003103152A2 (en) * 2002-05-31 2003-12-11 Koninklijke Philips Electronics N.V. Soft decoding of linear block codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1028533A1 (en) * 1999-02-09 2000-08-16 Tandberg Television ASA Decoding an input digital signal
WO2003103152A2 (en) * 2002-05-31 2003-12-11 Koninklijke Philips Electronics N.V. Soft decoding of linear block codes

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
A. SHEIKHA. GRAELL I AMATG. LIVAC. HAGERH. D. PFISTER: "On low-complexity decoding of product codes for high-throughput fiberoptic systems", PROC. IEEE INT. SYMP. ON TURBO CODES & ITERATIVE
C. FOUGSTEDTP. LARSSON-EDEFORS: "Energy-efficient high-throughput VLSI architectures for product-like codes", J. LIGHTW. TECHNOL., vol. 37, no. 2, January 2019 (2019-01-01), pages 477 - 485, XP011710939, DOI: 10.1109/JLT.2019.2893039
J. HOUP. H. SIEGELL. B. MILSTEINH. D. PFISTER: "Capacityapproaching bandwidth-efficient coded modulation schemes based on low-density parity-check codes", IEEE TRANS. INF. THEORY, vol. 49, no. 9, September 2003 (2003-09-01), pages 2141 - 2155
Q. XIEZ. WANGZ. YANG, SIMPLIFIED SOFT DEMAPPER FOR APSK WITH PRODUCT CONSTELLATION LABELING, vol. 11, no. 7, 2012, pages 2649 - 2657
R. M. PYNDIAH: "Near-optimum decoding of product codes: block turbo codes", IEEE TRANS. COMMUN., vol. 46, no. 8, pages 1003 - 1010, XP000782280, DOI: 10.1109/26.705396
ROBERT MORELOS-ZARAGOZA: "The Art of Error Correcting Coding. Chapters 5 and 7.", 1 January 2006 (2006-01-01), XP055123297, Retrieved from the Internet <URL:NA> [retrieved on 20140613] *
SHEIKH ALIREZA ET AL: "Binary Message Passing Decoding of Product-Like Codes", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ. USA, vol. 67, no. 12, 1 December 2019 (2019-12-01), pages 8167 - 8178, XP011762240, ISSN: 0090-6778, [retrieved on 20191216], DOI: 10.1109/TCOMM.2019.2940180 *
SHEIKH ALIREZA ET AL: "Novel High-Throughput Decoding Algorithms for Product and Staircase Codes Based on Error-and-Erasure Decoding", JOURNAL OF LIGHTWAVE TECHNOLOGY, IEEE, USA, vol. 39, no. 15, 7 May 2021 (2021-05-07), pages 4909 - 4922, XP011866496, ISSN: 0733-8724, [retrieved on 20210715], DOI: 10.1109/JLT.2021.3078172 *
SHEIKH ALIREZA ET AL: "On Low-Complexity Decoding of Product Codes for High-Throughput Fiber-Optic Systems", PROC. 2018 IEEE 10TH INTERNATIONAL SYMPOSIUM ON TURBO CODES & ITERATIVE INFORMATION PROCESSING (ISTC), IEEE, 3 December 2018 (2018-12-03), pages 1 - 5, XP033506478, DOI: 10.1109/ISTC.2018.8625279 *

Similar Documents

Publication Publication Date Title
US7203893B2 (en) Soft input decoding for linear codes
US10560120B2 (en) Elementary check node processing for syndrome computation for non-binary LDPC codes decoding
Jeong et al. SC-Fano decoding of polar codes
Koike-Akino et al. Iteration-aware LDPC code design for low-power optical communications
Sheikh et al. Novel high-throughput decoding algorithms for product and staircase codes based on error-and-erasure decoding
US10476523B2 (en) Elementary check node-based syndrome decoding using pre-sorted inputs
Lei et al. Improved decoding of staircase codes: The soft-aided bit-marking (SABM) algorithm
Sheikh et al. On low-complexity decoding of product codes for high-throughput fiber-optic systems
Lei et al. Decoding staircase codes with marked bits
Matsumine et al. Rate-adaptive concatenated multi-level coding with novel probabilistic amplitude shaping
Cammerer et al. Triggering wave-like convergence of tail-biting spatially coupled LDPC codes
US11290128B2 (en) Simplified check node processing in non-binary LDPC decoder
Hadavian et al. Ordered reliability direct error pattern testing (ORDEPT) algorithm
CN103457612B (en) For the iteration soft-decision decoding method of reed-solomon-convolution cascaded code
Wu et al. Polar codes for low-complexity forward error correction in optical access networks
Ullah et al. Multi-Stage Threshold Decoding for High Rate Convolutional Codes for Optical Communications
WO2022005292A1 (en) Hybrid decoding of product and staircase codes using bounded distance decoding and error and erasure decoding
Tajima et al. Iterative decoding based on concatenated belief propagation for CRC-aided polar codes
Sheikh et al. On product codes with probabilistic amplitude shaping for high-throughput fiber-optic systems
Zhu et al. A class of staircase codes with mixed components and its low-complexity decoding
Djordjevic et al. Reverse concatenated coded modulation for high-speed optical communication
Matuz et al. A robust pulse position coded modulation scheme for the Poisson channel
Chen et al. Design of Polar Turbo Product Codes for Optical Fiber Communications Based on FPGA
Gong et al. Bipartite belief propagation polar decoding with bit-flipping
Scholl et al. An efficient soft decision reed-solomon decoder for moderate throughput

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21740265

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21740265

Country of ref document: EP

Kind code of ref document: A1