---
title: Staircase Decoding in Optical Communications
url: https://www.emergentmind.com/topics/staircase-decoding
type: topic
---

# Staircase Decoding in Optical Communications

Staircase decoding is best understood as an instance of syndrome-domain, bounded-distance, iterative decoding performed over a sliding window of received blocks. In the classical bit-degree-\(2\) case, each bit is protected by exactly two component codewords—one “horizontal” constraint and one “vertical” constraint—and the decoder alternates between these two families of constraints, passing hard decisions, or in some variants limited soft information, until convergence or a fixed iteration limit is reached [2310.16165]. In 2012, staircase codes were introduced as forward-error-correction suitable for high-speed optical communications, and an ITU-T G.709-compatible staircase code with rate \(R=239/255\) was reported to achieve a net coding gain of \(9.41\) dB at output BER \(10^{-15}\), with an error floor at \(4.0\times 10^{-21}\) [1201.4106].

## 1. Canonical decoding model

Classical staircase codes are defined on an infinite sequence of binary blocks \(B_0,B_1,\dots\), with \(B_0\) initialized to all zero. For an extended binary BCH component code \(\mathcal C\) with parameters \((n_c,k_c,t)\), minimum distance \(d_0\ge 2t+2\), the staircase blocks are \(w\times w\) matrices with \(w=n_c/2\), and each row of \([B_{i-1}^T \parallel B_i]\) is a codeword in \(\mathcal C\). In this notation the code rate is \(R=1-p/w=2k_c/n_c-1\), where \(p=n_c-k_c\) [1811.08857].

The decoding window contains a fixed number of consecutive blocks. Iterative decoding then applies bounded-distance decoding (BDD) to all component codewords inside that window, with any accepted flips immediately reflected in adjacent component words. Published schedules differ in traversal order but preserve the same principle. One description alternates between all “horizontal” component codewords formed by \((B_{i-1})^T\parallel B_i\) and all “vertical” component codewords formed by \(B_i\parallel (B_{i+1})^T\), stopping when no component decoder makes any flips or when a fixed maximum number of iterations is reached, often \(3\)–\(6\) [2310.16165]. Another description performs a backward pass over row-wise component codewords and then a forward pass over the transpose direction, updating adjacent syndromes after each corrected flip [1201.4106].

This baseline decoder is a hard-decision message-passing architecture: component decoders exchange only bit flips or corrected hard decisions, not full posterior distributions. That restriction is the source of the architecture’s very low internal data flow, but it also makes the decoder sensitive to failures and miscorrections.

## 2. Bounded-distance decoding, miscorrections, and stall patterns

For a received length-\(n_c\) vector \(r\), BDD has three canonical outcomes. It succeeds if there exists a unique codeword \(c\in\mathcal C\) with \(d_H(r,c)\le t\), fails if all codewords are farther than \(t\), and miscorrects if it outputs some \(\tilde c\neq c\) with \(d_H(r,\tilde c)\le t\), even though that output is undesired [1811.08857]. In staircase decoding, miscorrections are particularly damaging because they are injected back into neighboring component constraints and can propagate across the window.

One response that remains entirely in the hard-decision and syndrome domain is anchor-based miscorrection suppression. In the miscorrection-free decoder, a set of trusted “anchor” codewords is maintained together with frozen codewords and conflict associations. A newly decoded component is frozen if its proposed flips conflict with an anchor whose conflict count is still below threshold \(T\), whereas anchors with too many conflicts are backtracked. The paper uses \(T=1\) and also reduces the error-correcting radius from \(t\) to \(t-1\) for newly entering edge codewords. For the example with \(\nu=8\), \(n=256\), \(t=2\), \(W=8\), and \(\ell=7\), the proposed algorithm recovers virtually all of the \(0.4\) dB gap between conventional and idealized decoding at post-FEC BER \(10^{-9}\), matching the idealized curve down to BERs below \(10^{-12}\), and reduces the error floor by more than an order of magnitude [1709.06827].

The residual error floor is commonly described in terms of stall patterns. A \((K,L)\) stall pattern is a set of bit-errors supported on \(K\) rows and \(L\) columns such that every involved row and every involved column contains at least \(t+1\) errors. The minimal case is \(K=L=t+1\), with \(\epsilon_{\min}=(t+1)^2\). A low-complexity stall-resolution method forms a mask from the intersection of nonzero row- and column-syndrome indicators and flips the corresponding bits; this provably resolves all minimal \((t+1,t+1)\) stall patterns. For a code with \(m=255\), \([510,491]\), \(t=2\), and rate \(236/255\), the predicted error floor drops from about \(2\times 10^{-10}\) to about \(9\times 10^{-15}\) [1704.01893]. In the earlier G.709-compatible \(t=3\) design, minimal stalls have exactly \(4\) rows \(\times 4\) columns, hence \(|s|=16\), and the union-bound analysis yields an error floor of approximately \(4.0\times 10^{-21}\) [1201.4106].

## 3. Reliability-aided hard-decision decoding

A major line of work preserves the staircase decoder’s algebraic BDD core but augments its outer decisions with a small amount of soft information. In the marked-bit decoder, the receiver computes per-bit LLRs
\[
\lambda_{l,k}=\log \sum_{s_i:\,\text{bit }k=0}\exp\!\bigl(-(y_l-\sqrt{\rho}\,s_i)^2/2\bigr)-\log \sum_{s_i:\,\text{bit }k=1}\exp\!\bigl(-(y_l-\sqrt{\rho}\,s_i)^2/2\bigr),
\]
uses \(|\lambda_{l,k}|\) as a reliability measure, marks bits with \(|\lambda_{l,k}|\ge \delta\) as highly reliable bits (HRBs), and among the remaining bits in the last block or blocks selects the \(t+1\) or fewer least reliable as highly unreliable bits (HUBs). Miscorrection detection is triggered if the BDD flips would conflict with a zero-syndrome codeword in the previous block or if any flipped bit in the newest block is an HRB. Bit flipping is then applied in two cases: after BDD failure, the decoder flips the single least reliable HUB; after detected miscorrection, it computes \(j=d_0-w_H(e)-t\) and flips the \(j\) least reliable HUBs before rerunning BDD. The BCH decoder internals are unchanged, and the soft-information memory is restricted to the last two blocks in the window [1811.08857].

For staircase codes with \(2\)-error-correcting BCH component codes, this soft-aided bit-marking algorithm improves upon standard SCC decoding by up to \(0.30\) dB at BER \(10^{-7}\), while an idealized genie-aided bound gives \(0.63\) dB. The same work reports a relative complexity increase of only around \(4\%\) at BER \(10^{-4}\), decreasing as the channel improves, and extends the method to product codes, where gains of up to \(0.44\) dB at BER \(10^{-8}\) are reported [1902.01178].

The improved SABM decoder generalizes the marking into three reliability levels. A bit is marked as HRB if \(|\lambda|\ge T_{\text{HRB}}\), as uncertain if \(T_{\text{HUB}}\le |\lambda|<T_{\text{HRB}}\), and as HUB if \(|\lambda|<T_{\text{HUB}}\). The decoder applies the soft-aided procedure to multiple SCC blocks, classifies HUBs by threshold rather than sorting, and randomly selects the HUBs to be flipped. For BCH\((256,239,2)\)-based SCCs, gains of up to \(0.53\) dB with respect to SABM and \(0.91\) dB with respect to standard SCC decoding at BER \(10^{-6}\) are reported; with \(1\)-bit reliability marking, the gain penalty is up to \(0.25\) dB together with a significantly reduced memory requirement [2103.09991].

A later parameter-optimization study emphasizes that the marking thresholds and the number of modified component decodings heavily affect the performance of iSABM-SCC. With optimized thresholds and decoding counts, the gap to the achievable information rates of hard-decision codes is reduced to \(0.26\)–\(1.02\) dB for code rates \(0.74\)–\(0.87\) in AWGN with \(8\)-ary pulse amplitude modulation, and the obtained reach increase is up to \(22\%\) for data rates between \(401\) Gbps and \(468\) Gbps in an optical fiber channel [2105.05419].

## 4. Ternary, error-and-erasure, and hybrid decoders

Another family of staircase decoders replaces the binary hard-decision front end by a ternary quantizer with outputs \(\{0,1,?\}\), where the third symbol denotes an erasure. On a BI-AWGN channel, the quantizer uses symmetric thresholds \(\pm T\), and the component decoder performs classical error-and-erasure decoding or its simplified form EaED\(^+\), which corrects patterns satisfying a combined errors-and-erasures condition. Density evolution is then carried out with two state variables, the error probability and the erasure probability of VN-to-CN messages. The resulting analysis can optimize both component-code configurations and channel quantizer levels, and Monte Carlo simulations show that additional coding gains of up to \(0.6\) dB are possible at only a small additional increase in complexity compared to traditional binary message passing [2103.05716].

Full extrinsic message passing (EMP) on the error-and-erasure channel is substantially more expensive than intrinsic message passing, because a naive implementation would require one extrinsic component decode per bit. A simplified EMP construction derives the extrinsic outputs from a single intrinsic decode plus logical distance updates that exploit the algebraic structure of the component code and the EaE rule. In the heuristic h-LCEA version, the average number of BDD steps is exactly one per row or column, and for a \((511,483,3)\) staircase code after \(20\) half-iterations the reported gain is about \(0.35\) dB relative to iBDD-IMP, with up to \(0.2\) dB improvement compared to standard EMP decoding [2201.08322].

The BEE-SCC decoder combines reliability weighting with a second decoding attempt based on error-and-erasure decoding. One branch performs iBDD-CR, combining BDD outputs with channel LLRs through an optimized LUT and then hard-deciding; the second branch marks the two least reliable positions as erasures, performs algebraic EED, and compares the two candidate outputs by a generalized-distance score. Only binary messages and a failure flag are exchanged between component decoders. For SCCs based on eBCH \((255,231,t=3)\) with \(256\)-QAM, BEE-SCC achieves a gain of \(0.88\) dB over iBDD and \(0.27\) dB over iBDD-CR at BER \(10^{-7}\), corresponding to a \(33\%\) optical-reach increase over iBDD with bit-interleaved coded modulation using \(256\) quadrature amplitude modulation [2008.02181].

A more recent soft-aided hard-decision decoder, DRSD, uses an erasure threshold on the channel magnitude, a small integer dynamic reliability score \(d_i\) per bit, and an anchor threshold schedule \(T_a(x)=2(x+1)\) for all but the oldest block in a window. Each component word is decoded by an error-and-erasure decoder with candidate rejection based on “anchor bits,” and the reliability scores are incremented or decremented according to whether a bit was stable or flipped. For a rate-\(0.811\) staircase code with shortened \([255,231,t=3]\) BCH components, \(W=7\), and \(\ell_{\max}=8\), DRSD requires \(3.85\) dB at BER \(10^{-5}\), compared with \(4.34\) dB for iBDD, and achieves about \(0.6\) dB gain over iBDD at BER \(10^{-7}\); the reported complexity is less than \(25\%\) of a full soft-decision turbo-product decoder in gate count and less than \(10\%\) in internal message flow [2404.19532].

## 5. Structural generalizations of staircase decoding

The classical staircase construction can be generalized by increasing the number of component codewords protecting each bit. In generalized staircase codes with arbitrary bit degree \(d=M+1\), the construction is specified by \(M+1\) permutations \(\pi_0,\dots,\pi_M\), a Golomb ruler \(0=d_0<d_1<\dots<d_M\), and a systematic \(t\)-error-correcting component code of length \((M+1)S\). The parity-check constraint is imposed on the concatenated row
\[
\Pi_M(B_{i-d_M})\parallel \Pi_{M-1}(B_{i-d_{M-1}})\parallel \cdots \parallel \Pi_1(B_{i-d_1})\parallel B_i.
\]
Because the Golomb-ruler and net properties ensure that any two component codewords intersect in at most one bit, the guaranteed minimum weight of an error pattern that can evade all \(d\) decoders is \(d\,t+1\). The generalized iterative decoder still operates in a sliding window and still applies bounded-distance decoding to each component syndrome, but its complexity scales as \(O(\text{max\_iter}\cdot W\cdot d\cdot S)\). Simulations with \(d=4\) and \(5\), \(t=1\) Hamming components, and various \(S\) show error floors below \(10^{-15}\); one example with \(S=669\), \(M=3\), \(d=4\), \(W=21\), and \(3\) iterations reports a \(0.585\) dB gap to the hard-decision Shannon limit at BER below \(10^{-15}\) [2310.16165].

Sub-block rearranged staircase codes modify the block geometry instead of the bit degree. Each code block is obtained by encoding rearranged preceding code blocks and a new information block, where the rearrangement involves sub-block decomposition and transposition. The construction can produce block sizes equal to \(1/q\) of those of conventional staircase codes while keeping the same rate and component codes, which makes it possible to use stronger algebraic component codes at similar block size. Decoding remains iterative bounded-distance decoding in a sliding window, but each received block must first be “un-permuted” into the format expected by the component-word decoders. Density evolution and stall-pattern analysis show that the proposed codes can outperform conventional staircase codes in both waterfall and error-floor regions, and the performance can be further improved by using a large coupling width [2201.09415].

## 6. Soft-in/soft-out component decoders and implementation trade-offs

Staircase decoding has also been combined with polar component codes. In the systematic polar-staircase construction, each global iteration sweeps through a sequence of stairs, decodes each systematic polar block by a SCAN decoder, and injects overlap extrinsic LLRs into adjacent stairs. Density evolution is used to order bit-channels, and an additional burst-recovery procedure replaces corrupted overlap LLRs by their twins from neighboring stairs before SCAN decoding. For rate \(R=5/6\), \(N=2048\), \(M=600\), \(I_{\text{iter}}=4\), and \(I_{\max}=4\), the polar-staircase scheme reaches BLER \(10^{-4}\) at about \(4.0\) dB on AWGN, about \(0.2\) dB better than the LDPC-stair reference, and the reported end-to-end latency is about \(220\) cycles versus about \(413\) cycles for the LDPC comparison [1805.10082].

A later non-systematic polar staircase framework adds CRC outer codes, polar-aware interleavers, and soft-in/soft-out polar decoders such as Soft-SCL, SCAN, and SCANL. The receiver stores channel reliabilities \(C_k\) and extrinsic LLRs \(\Gamma_k\) for a window of \(W+1\) blocks, forms APP inputs by combining them, and can skip future decodings once the CRC on a half-codeword passes. In simulations with \(N=128\), \(R=7/8\), and \(W=10\), this CRC-aided reduction cuts the number of decodings by about \(55\)–\(63\%\) at a BER penalty of only \(0.1\)–\(0.15\) dB at \(10^{-6}\). Relative to prior systematic polar staircase work, BER improvements of up to \(0.9\) dB are reported, or alternatively considerable complexity reduction at the same BER [2105.09104].

A different soft staircase direction keeps the blockwise sliding-window architecture but replaces BDD by Chase-II list decoding with a fixed, iteration-independent weighting coefficient \(\gamma\). In this decoder, all constituent decodes use the same \(\gamma=2^{-17}\), all computations remain in the log domain, and the extrinsic update is \(\widetilde l_i^{\mathrm e}=\widetilde l_i^{\mathrm{app}}-l_i\). For a staircase code of rate about \(0.867\) with window size \(w=8\), the proposed decoder requires about \(3.60\) dB at BER \(10^{-6}\), compared with about \(3.82\) dB for a Chase-Pyndiah-like sliding-window reference, a gain of \(0.22\) dB. Because \(\gamma=2^{-17}\), it can be implemented as a simple right-shift rather than a family of iteration-dependent coefficients [2605.13201].

This suggests that staircase decoding now spans a broad implementation spectrum: pure syndrome-domain BDD, hard-decision miscorrection suppression, marked-bit and ternary hybrid decoders, and soft-in/soft-out or list-based windowed decoders. Across that spectrum, the central structural idea remains unchanged: overlapping component-code constraints are processed locally within a sliding window, and decoder design is driven by the trade-off between miscorrection control, error-floor suppression, soft-information usage, and hardware data flow.

Source: https://www.emergentmind.com/topics/staircase-decoding