Вы находитесь на странице: 1из 6

Globecom 2013 - Optical Networks and Systems Symposium

Iterative Hard-Decision Decoding of Braided BCH


Codes for High-Speed Optical Communication
Yung-Yih Jian, Henry D. Pfister, Krishna R. Narayanan Raghu Rao and Raied Mazahreh
Dept. of Electrical and Computer Engineering Xilinx, Inc.
Texas A&M University, College Station, TX Austin, TX and Sandy, Utah

Abstract—Designing error-correcting codes for optical com- are possible for the existing ITU-T G.709 OTN frame structure
munication is challenging mainly because of the high data rates with 7% overhead [6], [7], [8], [9].
(e.g., 100 Gbps) required and the expectation of low latency, The main contributions of this paper are the definition of
low overhead (e.g., 7% redundancy), and large coding gain (e.g.,
>9dB). Although soft-decision decoding (SDD) of low-density a new extrinsic iterative decoding rule that improves perfor-
parity-check (LDPC) codes is an active area of research, the mance and is analyzable via density evolution, the construction
mainstay of optical transport systems is still the iterative hard- of modified TBBCs with bit grouping to reduce decoding de-
decision decoding (HDD) of generalized product codes with lay, and the simulation of two G.709 compatible constructions.
algebraic syndrome decoding of the component codes. This is
because iterative HDD allows many simplifications and SDD of II. BACKGROUND
LDPC codes results in much higher implementation complexity. A. Product Codes
In this paper, we use analysis and simulation to evaluate Product codes were introduced by Elias in 1954 and their
tightly-braided block codes with BCH component codes for high-
speed optical communication. Simulation of the iterative HDD iterative HDD was proposed by Abramson in 1968 [10], [11].
shows that these codes are competitive with the best schemes Given two linear component codes with lengths m and n, the
based on HDD. Finally, we suggest a specific design that is idea is to form an m × n array of bits and require that each
compatible with the G.709 framing structure and exhibits a row is codeword of the length-n code and that each column
coding gain of >9.35 dB at 7% redundancy under iterative HDD is a codeword of the length-m linear code. This results in
with a latency of approximately 1 million bits.
Index Terms—optical communications, braided block codes,
a length N = mn linear code whose minimum distance is
iterative decoding, syndrome decoding the product the minimum distances of the component codes.
It is worth noting that iterative HDD of product codes was
proposed well before the recent revolution in coding theory
I. I NTRODUCTION but iterative decoding of product codes became popular only
In this paper, we describe a forward error correction (FEC) after the advent of iterative SDD based on the turbo principle
scheme for optical transport networks (OTNs) that uses a [12], [13].
modified construction of tightly-braided block codes (TBBCs) B. Generalized Product Codes
with Bose-Chaudhuri-Hocquengham (BCH) component codes. We use the term generalized product code to refer to any
TBBCs are a family of generalized product codes with a code where the code bits can: (i) be permuted into an array
continuous streaming structure that are well suited for hard- with rows of length-n and each row is a codeword of a length-
ware implementation [1]. Our construction is motivated by n linear code and (ii) be permuted into another array with
the generalized product codes described in [2] and the recent rows of length-m and each row is a codeword of a length-m
successes of low-density parity-check (LDPC) convolutional linear code. Instead of the block length N = mn required by
codes (or spatially-coupled LDPC codes) [3], [4], [5]. Similar product codes, one needs only that m and n divide N . Also,
to other FEC schemes based on generalized product codes, the permutation between the two arrays of row codewords can
TBBCs with BCH component codes achieve excellent perfor- be arbitrary, instead of just a rectangular interleaver. These
mance with low-complexity iterative HDD. codes can also be seen as generalized LDPC (GLDPC) codes
Recently, coding for OTNs has seen a resurgence in popular- [14], [15] with degree-2 bits.
ity among researchers in coding and communications. While
optimized LDPC and protograph LDPC codes can approach C. Iterative Hard-Decision Decoding
capacity, the required complexity is significant. OTNs have the In this section, we describe message-passing hard-decision
additional challenge of high code rates (e.g., 7% redundancy) decoding for generalized product codes. We highlight the
and very high data rates (e.g., 100 Gb/s) and, hence, the per- difference between conventional decoding, which we call
bit decoding complexity must be kept very low. One benefit of intrinsic message passing (IMP), and the approach from [5],
the 100 Gb/s rate is that a decoding delay of 10 microseconds which we call extrinsic message passing (EMP). In EMP
translates to a processing delay of one million bits. Based on algorithms, messages passed on edges in the Tanner graph are
this, a number of researchers have shown that significant gains computed only from their extrinsic information. For certain

978-1-4799-1353-4/13/$31.00 ©2013 IEEE 2376


Globecom 2013 - Optical Networks and Systems Symposium

(`) (`)
random ensembles, this enables analysis via density evolution. replaced by 0 and then computes ŵj,k,0 = Dt (ν j,k,0 ) and
We emphasize that this is different than the conventional (h (`) i (`) 
iterative HDD rule typically used by product and generalized (`) ŵj,k,0 if Dt ν̂j,k,0 6= fail
product codes. µ̂ik ,j,0 = k
fail otherwise.
Consider the Tanner graph of a generalized product code
where each code bit is represented by a variable node and (`) (`) (`)
Likewise, the second BDD defines ν̂j,k,1 , (ν̂i1 ,j , . . . , ν̂in ,j )
each code constraint is represented by a constraint node. Let except that the k-th element is replaced by 1 and then
(`) (`) (`)
r be the vector of channel output bits, νi,j ∈ {0, 1} be the computes ŵj,k,1 = Dt (ν j,k,1 ) and
messages passed from the i-th bit node to the j-th constraint
(`) (h (`) i (`) 
node in the `-th iteration, and µi,j ∈ {0, 1} be the messages (`) ŵj,k,1 if Dt ν̂j,k,1 6= fail
passed from the j-th constraint node to the i-th bit node µ̂ik ,j,1 = k
fail otherwise.
in the `-th iteration. We assume the constraint nodes define
an (n, k, dmin ) component code C with dmin = 2t + 1. Let (`)
One can see that the message µ̂i,j will be in the set
Dt : {0, 1}n → C ∪ {fail} be the operator defined by
{(0, 0), (1, 1), (0, 1), (0, fail), (fail, 1), (fail, fail)}.
bounded distance decoding (BDD) with decoding radius t.
The message-passing rule for the i-th bit node is
The bounded distance component decoder either returns a 
(`)
codeword or declares failure and returns fail.
0 if µ̂i,j 0 = (0, 0)


1) Intrinsic Message Passing : For a bit node i and a (`+1)
ν̂i,j , (`) (3)
constraint node j, let N (i) = {j, j 0 } be the constraint-node  1 if µ̂i,j 0 = (1, 1)

(`) (`) (`) r otherwise.
neighbors of i. Let ν j , (νi1 ,j , . . . , νin ,j ) be the collection i
of the all input messages to the j-th constraint node in the `-th (0)
iteration and assume that ik = i (i.e., bit i is the k-th bit in the The iteration is initialized by setting ν̂i,j = ri for each bit
(`) (`) (`)
j-th code constraint). Let wj , (w1,j , . . . , wn,j ) = Dt (ν j )
(`) node i and all j ∈ N (i).
(`)
be the output of the BDD decoder applied to the input By replacing the k-th element of ν̂ j with both 0 and
(`)
messages at the j-th constraint node. Then, the message- 1, the computed output µ̂ik ,j remains independent of the
passing rules, for each constraint node j, are (`)
incoming message ν̂ik ,j on that edge. Therefore, only extrinsic
νi,j
(`+1) (`)
= µi,j 0 (1) information is used in the computation of the output message
 on the (ik , j) edge from the j-th constraint node. The out-
w(`) if
(`) 
Dt ν j 6= fail put message from a bit node depends only on the channel
(`) k,j
µik ,j = (2) observation and the input from the other edge. Therefore,
ν (`)
ik ,j otherwise.
this defines an extrinsic message-passing algorithm with hard-
(0) decision messages.
The iteration starts by initializing νi,j = ri for each bit node 3) Low-Complexity EMP Algorithm: As described above,
i and all j ∈ N (i). From (1) and (2), one can see that the the EMP algorithm needs to run the BDD algorithm 2n times
IMP algorithm only uses channel outputs at the beginning of to compute the output messages from a single constraint node.
the iterations, and then, exchanges the output of the constraint The primary purpose of that description was to demonstrate
nodes in the subsequent iterations. The IMP is the conventional that the algorithm is indeed an EMP algorithm. Now, we show
approach used for the iterative HDD of product codes. that exactly the same outputs can be computed with a single
2) Extrinsic Message Passing: In the IMP message-passing decode and some post processing. In the `-th iteration, let
(`)
rule (2), the computation of the output message µik ,j passed (`)
w , Dt (ν̂ j ) be the output of the BDD at the j-th constraint
(`)
from j to ik uses the input message νik ,j . This violates (`)
node with ν̂ j as an input. In this case, we will see that one
the principle of using only extrinsic information in message- (`+1) (`)
can calculate ν̂ j directly from ν̂ j . In this section, the
passing rules. To rectify this, the following modification was (`)
proposed in [5] (though it was described slightly differently). µ̂ik ,j messages are used only to explain the correctness of the
We note that the messages in the EMP decoder are denoted simplified algorithm. Consider the following facts.
(`) (`)
by ν̂i,j and µ̂i,j to distinguish them from the IMP decoder. Fact 1. If w = fail, then at least one element of µ̂ik ,j will
(`)
(`)
Let ν̂i,j ∈ {0, 1} be the message passed by the EMP be a fail for all k = 1, 2, . . . , n. By (3), one can show that
(`+1)
algorithm from the i-th bit node to the j-th constraint node ν̂ik ,j 0 = rik for all k = 1, 2, . . . , n.
(`) (`) (`)
and let ν̂ j , (ν̂i1 ,j , . . . , ν̂in ,j ) be the collection of all input (`)
messages to the j-th constraint node in the `-th iteration. Fact 2. If w 6= fail and dH (ν̂ j , w) < t, then one can
(`) (`)
Assume also that ik = i (i.e., the i-th bit node is bit k show that µ̂ik ,j,0 = µ̂ik ,j,1 for all k = 1, 2, . . . , n. Thus, we
in the j-th code constraint). To compute the EMP message (`+1) (`)
have ν̂ik ,j 0 = µ̂ik ,j,0 for all k = 1, 2, . . . , n.
(`) (`) (`) 
µ̂i,j , µ̂i,j,0 , µ̂i,j,1 from the j-th constraint node to the i-
(`)
th bit node, BDD is performed twice. The first BDD defines Fact 3. If w 6= fail and dH (ν̂ j , w) = t, then first suppose
(`) (`) (`) (`) (`)
ν̂j,k,0 , (ν̂i1 ,j , . . . , ν̂in ,j ) except that the k-th element is that wk = ν̂ik ,j for some k. One can see that µ̂ik ,j must not

2377
Globecom 2013 - Optical Networks and Systems Symposium

(`+1) (0) (0) (0) (0) (0) (5) (6) (7)


x−4 x−3 x−2 x−1 x(9)
(8)
(9) (9) (9) (9)
be (0, 0) or (1, 1). Thus, we know ν̂ik ,j 0 = rik . On the other x0 x1 x2 x3 x4 0 x1 x2 x3 x4
(`) (`) (0)
x−1 (1)
x0
(1)
x1
(1)
x2
(1)
x3
(1)
x4
(6)
x−4
(7)
x−3
(8) (9)
x−2 x−1 x(10) (10) (10) (10) (10)
x1 x2 x3 x4
hand, suppose that wk 6= ν̂ik ,j . One can show that µ̂ik ,j,0 = 0
(0) (1) (2) (2) (2) (2) (2) (7) (8) (9) (10)
(`) (`+1) x−2 x−1 x0 x1 x2 x3 x4 x−4 x−3 x−2 x−1 x(11) (11) (11) (11) (11)
x1 x2 x3 x4
µ̂ik ,j,1 = wk . Therefore, ν̂ik ,j 0 = wk . 0
(0) (1) (2) (8) (9) (10) (11)
x−3 x−2 x−1 x(3)
0
(3) (3) (3) (3) (12) (12) (12) (12) (12)
x1 x2 x3 x4 x−4 x−3 x−2 x−1 x0 x1 x2 x3 x4
Using these facts, we define the low-complexity EMP- (0) (1) (2) (3) (4) (4) (4) (4) (4) (9) (10) (11) (12)
(`) x−4 x−3 x−2 x−1 x0 x1 x2 x3 x4 x−4 x−3 x−2 x−1 x(13)
0
(13) (13) (13) (13)
x1 x2 x3 x4
HDD decoder in Algorithm 1. Since the distance dH (ν̂ j , w) (1) (2) (3) (4) (10) (11) (12) (13)
0 x−4 x−3 x−2 x−1 x(5) (5) (5) (5) (5)
x1 x2 x3 x4 x−4 x−3 x−2 x−1
is automatically obtained while performing BDD, the only 0
(2) (3) (4) (5) (6) (6) (6) (6) (6) (11) (12) (13)
0 0 x−4 x−3 x−2 x−1 x0 x1 x2 x3 x4 x−4 x−3 x−2
overhead of the MP-HDD algorithm is a little Boolean logic.
(3) (4) (5) (6) (12) (13)
0 0 0 x−4 x−3 x−2 x−1 x(7)
0
(7) (7) (7) (7)
x1 x2 x3 x4 x−4 x−3
Algorithm 1 The low-complexity EMP-HDD algorithm 0 0 0 0
(4)
x−4
(5)
x−3
(6)
x−2
(7)
x−1 (8)
x0
(8)
x1
(8)
x2
(8)
x3
(8)
x4
(13)
x−4
Iteration `: For each constraint node j,
(`) Figure 1. Codeword of a TBBC with modulo presentation.
• Compute w = Dt (ν̂ j ).
• For k = 1, . . . , n, (i)
containing x0 [1]. A block of codewords is n consecutive
(`) (`+1)
– if dH (ν̂ j , w) > t, then ν̂ik ,j 0 = rik batches of systematic and parity bits (i.e., n2 bits in total).
(`) (`+1) In this paper, we assume the component codes are BCH
– elseif dH (ν̂ j , w) < t, then ν̂ik ,j 0 = wk
(`+1)   codes and that HDD is used. In this case, the decoding
– else ν̂ik ,j 0 = 1 − ν̂ik ,j rik OR wk OR (rik wk ).
complexity can be significantly reduced by cleverly computing
and updating the syndromes associated with each codeword.
D. Tightly-Braided Block Codes This technique is part of the product-code folklore and is
discussed for OTNs in [6], [8].
TBBCs are a family of generalized product codes that
Braided codes have now been identified as an early instance
were introduced by Truhachev, Lentmaier, and Zigangirov in
of spatially-coupled codes [16], [4]. It is now known that the
2002 [1]. Similar to product codes, these codes are based on
performance of iterative decoding for spatially-coupled codes
horizontal and vertical component block codes. In contrast to
can be much better than their uncoupled cousins due to a
finite rectangular product codes, a TBBC codeword can be
phenomenon known as threshold saturation. In particular, the
seen either as a diagonal band in an infinite-dimensional array
initial code bits (e.g., bits in the top left corner of Fig. 1)
(e.g., see [1, Fig. 2a]) or as a product code with cyclically
participate in code constraints where half of the code bits are
shifted column codes and staggered row codes (e.g., see
known to be zero. These known-zero bits allow decoding to get
Fig. 1). Since each symbol is protected by one horizontal and
started at much higher noise levels. Once started, the decoding
one vertical component code, the important parity-on-parity
continues to progress as long as the noise level is less than a
property of product codes is preserved. This structure also
noise threshold that is strictly larger than the noise threshold
allows for a low-complexity systematic encoder.
of the product code based on the same component codes.
In this paper, we focus on the case where the horizontal and
vertical component codes are identical and have odd length. E. Density Evolution Analysis
Fig. 1 shows a partial codeword for the case where they are For some families of generalized product codes with random
both (n, k) = (9, 6) codes. In comparison to [1, Fig. 2a], this permutations (e.g., GLDPC codes), one can define ensembles
figure uses a modulo n wrapping of the row index to map of increasing length and rigorously use density evolution to
the semi-infinite diagonal band onto a semi-infinite rectangle. identify the noise threshold of the ensemble [16]. For the
The systematic bits are shown in blue, the parity bits in red, binary erasure channel, this can be done both for intrinsic
and the boundaries of the row codewords are shown with (i.e. peeling) and extrinsic (i.e., message passing) decoding.
a green border. In general, the codeword boundary of each But, for binary symmetric channel, there is a possibility of
column code is cyclically shifted downward with respect to miscorrection and the calculation is only rigorous for EMP
the previous column. If the column code happens to be cyclic, decoding. For example, this is done for spatially-coupled
then this detail is inconsequential and the constraint is simply GLDPC codes with fixed component codes in [5].
that every column must be a codeword. For that reason, the For product codes, a similar calculation can be done for
codeword boundaries of the column codes are not highlighted. a sequence of ensembles where the length of the component
The natural systematic encoder for TBBCs processes sys- codes becomes unbounded but the error-correction capability
tematic bits in batches
(i)  of size K = 2k−n andn+1 the i-th
batch is stays fixed (e.g., sequences of t-error-correcting BCH codes
denoted xj for j ∈ −(k − n+1 2 ), . . . , (k − 2 ) in Fig. 1. of increasing length) [17]. If there is a genie that prevents
All bits to the left of the first column are assumed to be 0 miscorrection, then there is a rigorous decoding threshold for
and the bottom left corner (marked in gray) is also initialized the average number of channel errors in each code. Similar
to 0. Likewise, parity bits are generated in batches of size arguments can be applied to compute thresholds for braided
(i)
P = 2(n − k) and the i-th batch is denoted by xj for codes. The asymptotic noise threshold associated with the
n−1 n−1
|j| ∈ (k − 2 ), . . . , 2 . The parity bits are computed standard product code based on (1020,988) shortened BCH
by placing the i-th batch of systematic bits in the array and component codes is approximately p = 0.005. Assuming one
then applying a systematic encoder to the row/column codes can achieve an output BER of 10−15 for this input BER, this

2378
Globecom 2013 - Optical Networks and Systems Symposium

corresponds to a normalized coding gain [2, §7.1.3] of B. Decoding Delay


erfc−1 (0.005)
   
239 TBBCs based on BCH component codes and algebraic
20 log10 − 10 log10 ≈ 9.50 dB. syndrome decoding are a natural choice for OTNs because they
erfc−1 (10−15 ) 255
offer better performance at the expense of a longer decoding
III. B RAIDED C ODES FOR O PTICAL C OMMUNICATION delay, when the delay is measured in bits. Due to the high
data rates involved, the long delay in bits becomes a short
A. Coding for Optical Communication
delay in time when measured in seconds. Justesen seems to
Coding for optical communications has a long history and be the first researcher who suggested their use in OTNs [7].
we only have space to discuss a few results that are particularly Even with this effect, the delay becomes prohibitive when one
relevant. We start by noting that coding for optical systems wants high code rates (i.e., high-rate component codes) and
system began with a (255, 239) Reed-Solomon code over low error floors (e.g., component codes with t ≥ 3). For this
GF(256). For this code, algebraic HDD corrects up to 8 reason, there is always interest in reducing the decoding delay
symbols errors and provides a coding gain of 6.2 dB. As data without degrading performance.
rates increased and coding become more important, a number Therefore, we also consider a modified family of TBBCs
of proposals for improved coding schemes were collected in that reduces the decoding delay of TBBCs. The idea is to let
the ITU-T Recommendation G.975.1 [2]. These schemes have each entry in the array represent a group of b bits, where b
rates close to 239/255 (to match the original RS code) and divides n and n/b is odd. These b bits are all contained in
are now referenced by the appendix where they appeared. In the same row codeword and the same column codeword. This
Appendix I.3 of G.975.1, a serial concatenation of an outer change simply scales the horizontal and vertical dimensions
RS and an inner BCH codes is described that achieves 8.99 of Fig. 1 down by a factor b but leaves the encoding and
dB of NCG at 10−15 BER under iterative HDD. In Appendix decoding operations essentially the same. Recall that a block
I.9, a generalized product code is described based on a single of codewords is defined to be n consecutive batches of
(1020,988) t = 3 BCH component code with 2 extra parity systematic and parity bits (i.e., n2 bits in total). For a decoder
bits and this scheme is reported to achieve 8.67 dB of coding with W blocks of decoding delay, the decoding delay in bits
gain at 2 · 10−14 BER. With some post processing to remove is reduced by a factor of b because a block of codewords
the error floor, it seems that the coding gain of I.9 can be now contains b(n/b)2 = n2 /b bits. On the other hand, the
improved to roughly 9.2 dB at 10−15 BER. The (1020,988) error floor is increased because the row and column codes
BCH discussed above can be constructed by shortening the now overlap in b bits rather than 1 bit.
(1023,991) BCH code we discuss in Section III-C. In fact, our
use of this BCH code was motivated by the I.9 construction. C. G.709 Compatible Construction
Djordjevic et al. consider the soft-decision iterative de- Now, we describe TBBCs whose parameters are compatible
coding of GLDPC codes for optical communication in [18] with the ITU-T G.709 OTN frame structure [19]. In particular,
and report promising results but the decoding complexity of an optical frame consists of KF = 122368 information bits and
soft-decision decoding is much higher than syndrome-based PF =8192 parity bits in an overall length of NF =130560 bits.
HDD. In 2010, Justesen and his coauthors [6], [7] identified Let g̃(x) be the generator for the (n, k) = (1023, 993)
generalized product codes with BCH component codes as primitive narrow-sense 3-error-correcting BCH code. We con-
a very promising solution for this problem and described sider TBBCs where the component code, which is used by
some decoding thresholds and error floor estimates. However, both rows and columns, is a (1023, 991) BCH code whose
they do not present simulation results for braided codes or generator polynomial is g(x) = (x2 + 1)g̃(x). The additional
describe a G.709 compatible construction. In 2012, Smith et al. factor of x2 +1 forces the codewords bits at odd/even positions
introduced “staircase codes” and showed that they achieve 9.41 to separately have even parity1 and increases the minimum
dB of NCG at 10−15 BER [8]. Their construction produces a distance to 8. An efficient high-throughput syndrome decoder
generalized product code that is very similar to the blockwise for this code can be built by directly computing and factoring
variant of braided codes described in [1]. Indeed, they are an the error-locator polynomial (e.g., see [8]).
excellent choice for optical communication. Therefore, the systematic encoder for this TBBC accepts
In 2011, we began analyzing the iterative HDD of spatially- K = 2k − n = 959 systematic bits and outputs P = 2(n −
coupled GLDPC codes for optical communication [5] and ex- k) = 64 parity bits during each encoding stage. Since each
perimenting with practical implementations based on TBBCs. optical frame consists of PF = 8192 parity bits, it makes
We have found that, depending on the parameters, TBBCs have sense to combine PF /P = 128 input batches to form one
performance and implementation advantages over staircase optical frame. The only problem is that this requires too many
codes. In particular, the continuous streaming structure of the systematic bits for the optical frame. Therefore, we shorten
encoder and decoder is quite amenable to hardware implemen- the TBBC by modifying the encoder to accept K 0 = K − 3 =
tation and the longer coupling window between codes provides 956 systematic bits (with the 3 missing bits set to 0) and
more coding gain. To make a fair comparison between these puncturing these 3 zeros from transmitted stream. With this
types of systems, however, one must carefully control for the 1 Using this knowledge during BCH decoding significantly reduces the

decoding complexity and delay. probability of miscorrection.

2379
Globecom 2013 - Optical Networks and Systems Symposium

modification, the encoder requires exactly 128K 0 = 122368 = picking any nc row and nc column cells such that each row
KF systematic bits to encode one OTN frame. intersects each column. Then, the number of errors assigned to
This construction works for the standard TBBC (i.e., b = 1) the nc × nc cells in the intersection is chosen to be a circulant
and also for the modified construction with bit grouping b = 3 matrix a whose first row is some set of nc numbers that sum
(e.g., 3 × 341 = 1023). Moreover, the decoding delay in bits up to t + 1. This construction implies each of the nc chosen
of the b = 3 construction is a factor of 3 smaller than the rows (and columns) will have exactly t + 1 errors.
b = 1 system for similar performance. We also note that the If b > t, then nc = 1 and, hence, smin = t + 1, which
bit ordering can be chosen so that a slightly-modified decoding is generally much too small for optical applications. In this
rule guarantees the correction of burst errors of at most 6120/b paper, we are primarily interested in the case when t = 3 and
bits (e.g., 2040 bits for b = 3). b = 3 where the minimal stopping sets have nc = 2, smin = 8,
IV. E RROR F LOOR A NALYSIS and the errors are confined to a 2 × 2 block of cells. Given the
cell locations associated with a 2 × 2 block of errors, there are
A. Stopping Set Analysis of BER Floor 34 error patterns of the form (2, 2; 2, 2), 9 error patterns of the
Definition 4. A stopping set S is a subset of bit positions form (1, 3; 3, 1) and 9 error patterns of the form (3, 1; 1, 3),
(i.e., each position in this set represents a bit error) such that resulting in a total of 99 stopping sets of size 8 for every 2 × 2
every row and column codeword with at least one bit in the block. For each of these blocks, the fraction of bits in error
set must contain at least t + 1 bits in the set. is 8/12 = 2/3. Therefore, the overall bit error probability
This is the natural generalization of stopping sets [20] to due to stopping sets of size 8 is P8 = (2/3) · 99A2,2 p8 ≈
generalized product codes and it has been considered a number 8.53 × 10−13 for p = 0.0045. For the same cell locations,
of times before [21], [17], [8]. If initial set of errors contains one may also have stopping sets with 10, 11, or 12 errors
a stopping set S, then there will be at least |S| errors at the but their contribution is essentially negligible. This is because
output of the iterative decoder. Therefore, the error floor is their multiplicity is basically the same but the extra factor of
generally dominated by the minimal stopping sets. Let smin p reduces the contribution by 0.0045 ≈ 1/200. There are also
be the minimum number of bits in any stopping set. oscillatory decoding failures due to miscorrection with ≥ 9
In the following discussion, we will estimate the error floor errors (e.g., 5 errors are required in one row or column).
due to stopping sets of size smin . Recall that in the modified B. Post Processing
coding scheme discussed in Section III-B, each entry in the A simple form of post processing can be used to lower
array represents a group of b bits. We will refer to a group of this error floor. When exactly two row codewords and two
b bits as a cell. This means that a group of b bits participate column codewords fail to decode, then we can identify the
in the same row code and the same column code and hence, b problematic 2 × 2 block of cells. If all the bits in these cells
has an significant effect on smin and, hence, on the error floor. are erased, then every column codeword and row codeword
To enumerate all stopping sets, we consider c×d rectangular has 6 erasures. Since dmin = 8, every 6 erasure pattern is
arrays of integers a = {ai,j } where all row and column sums correctable and, hence, all the 8 error patterns can be corrected
are at least t + 1. Let Ac,d be the average number of ways that using an erasure decoder. With this simple post processing, the
a c × d array can be placed into a rectangular intersection of minimum stopping set size is increased to 12 and the dominant
row and column cells containing a randomly chosen cell. For event is given by a 3 × 3 block of cells in error (e.g., a is
a picture, see Fig. 1 or the unwrapped version [1, Fig. 2a]. To a circulant matrix with first row (2, 1, 1)). For this block, the
compute Ac,d , we focus on error patterns whose top-left cell is fraction of bits in error is 12/27 = 4/9 and the the overall
the i-th cell
 (numbered from i = 0) of a row. In this case, there bit error probability due to these patterns is given by P12 =
i
are c−1 ways to choose c − 1 row cells below the first row 3! 94 39 A3,3 p12 ≈ 3.56 × 10−15 for p = 0.0045. All 12 error
and inside the diagonal band and there are n/b−i−1

d−1 ways to patterns can also be corrected with post processing but this is
choose d − 1 column cells to the right of the i-th cell. This not discussed further due to space constraints.
implies the average number of c × d rectangular intersection V. S IMULATION R ESULTS
patterns that contain a randomly chosen cell is given by
To evaluate TBBCs for high-speed optical communication,
n/b−1   
b X i n/b − i − 1 we have simulated the G.709 compatible construction de-
Ac,d = cd ,
n i=0 c − 1 d−1 scribed in Section III-C. A binary symmetric channel model
is used. Fig. 2 shows simulation curves for a variety of
where the sum gives the total number whose top-left cells are parameters. A sliding window decoder is used that introduces
on a particular row, the factor cd accounts for the size of each W blocks of delay (i.e., W n2 code bits or W Kn systematic
pattern, and the nb normalizes by the number of cells in one bits). After a new block of codewords is received, the decoder
Qc a,Qthe
row. For a fixed
d
number
b
 of compatible bit error patterns performs I iterations of row/column decodes on the codewords
is given by i=1 j=1 ai,j . in memory before outputting hard decisions for the oldest
Let nc = d t+1
b e denote the least number of cells that can block of codewords [1].
contain t + 1 bit errors. It can be seen that the minimum Results are presented for both the conventional IMP decoder
stopping set size is smin = nc (t + 1). This can be seen by (denoted by D = 1) and the improved EMP decoder (denoted

2380
Globecom 2013 - Optical Networks and Systems Symposium

Normalized Coding Gain (dB) for Output BER of 10−15 Normalized Coding Gain (dB) for Output BER of 10−15
9.59 9.5 9.4 9.3 9.19 9.07 8.94 9.5 9.47 9.45 9.43 9.4 9.38 9.35
10−2 10−2
W = 6, I = 6, b = 1, D = 1 W = 4, I = 4, b = 1, D = 1
10−3 W = 6, I = 6, b = 1, D = 2 10−3 W = 4, I = 4, b = 1, D = 2
I.3 W = 5, I = 5, b = 1, D = 1
10−4 I.9 10−4 W = 5, I = 5, b = 1, D = 2
Staircase W = 4, I = 4, b = 3, D = 1
10−5 10−5 W = 4, I = 4, b = 3, D = 2
W = 5, I = 5, b = 3, D = 1
10−6 10−6 W = 5, I = 5, b = 3, D = 2
Output BER

Output BER
10−7 10−7

10−8 10−8

10−9 10−9

10−10 10−10

10−11 10−11

10−12 10−12
5.4 5.2 5 4.8 4.6 4.4 4.2 4 3.8 3.6 3.4 3.2 3 5 4.95 4.9 4.85 4.8 4.75 4.7 4.65 4.6 4.55 4.5 4.45 4.4
Input BER ·10−3 Input BER ·10−3
Figure 2. Simulation results are shown for the proposed codes and compared with I.3, I.9, and staircase codes (using data from [2], [8]).

by D = 2). Due to software simulations, the normalized [5] Y.-Y. Jian, H. D. Pfister, and K. R. Narayanan, “Approaching capacity
coding gain (NCG) at 10−15 BER is estimated by comparing at high rates with iterative hard-decision decoding,” in Proc. IEEE Int.
Symp. Inform. Theory, 2012, pp. 2696–2700.
with other systems whose NCG at 10−15 BER is known from [6] J. Justesen, K. J. Larsen, and L. A. Pedersen, “Error correcting coding
hardware experiments. The results show that the system with for OTN,” IEEE Commun. Magazine, vol. 48, no. 9, pp. 70–75, 2010.
parameters (W, I, b, D) = (4, 5, 3, 2) achieves roughly 9.36 [7] J. Justesen, “Performance of product codes and related structures with
iterated decoding,” IEEE Trans. Commun., vol. 59, no. 2, pp. 407–415,
dB NCG with 1.15 million systematic bits of delay. These 2011.
parameters work well for this construction because increasing [8] B. P. Smith, A. Farhood, A. Hunt, F. R. Kschischang, and J. Lodge,
either the number of iterations to I = 6 or the number of “Staircase Codes: FEC for 100 Gb/s OTN,” J. Lightwave Technol.,
vol. 30, no. 1, pp. 110–117, 2012.
blocks to W = 5 (i.e, roughly 1.5 million systematic bits of [9] M. Scholten, T. Coe, and J. Dillard, “Continuously-interleaved BCH
delay) provides roughly 0.01 dB of gain. Likewise, the results (CI-BCH) FEC delivers best in class NECG for 40G and 100G metro
show that decreasing number of iterations to I = 4 reduces applications,” in Proc. OFC/NFOEC, San Diego, CA, 2010, pp. 21–25.
[10] P. Elias, “Error free coding,” IRE Trans. Inform. Theory, vol. 4, no. 4,
the NCG to 9.32 dB. These performance results are similar to pp. 29–37, Sept. 1954.
those of Scholten et al. (e.g., NCG of 9.35 dB with a delay [11] N. Abramson, “Cascade decoding of cyclic product codes,” IEEE Trans.
of roughly 1 million systematic bits) in [9]. Comparing with Commun. Tech., vol. 16, no. 3, pp. 398–402, 1968.
[12] J. Lodge, R. Young, P. Hoeher, and J. Hagenauer, “Separable MAP
[8], one finds that staircase codes achieve 9.41 dB NCG with “filters” for the decoding of product and concatenated codes,” in Proc.
1.7 million systematic bits of delay. IEEE Int. Conf. Commun., vol. 3, 1993, pp. 1740–1745.
[13] R. M. Pyndiah, “Near-optimum decoding of product codes: Block turbo
VI. C ONCLUSION codes,” IEEE Trans. Commun., vol. 46, no. 8, pp. 1003–1010, Aug.
1998.
An FEC scheme for OTNs is described based on TBBCs [14] M. Lentmaier and K. S. Zigangirov, “On generalized low-density parity-
check codes based on Hamming component codes,” IEEE Commun.
with BCH component codes. Simulation results are presented Letters, vol. 3, pp. 248–250, Aug. 1999.
for the iterative HDD of a code in this family whose pa- [15] J. Boutros, O. Pothier, and G. Zemor, “Generalized low density (Tanner)
rameters are compatible with the ITU-T G.709 OTN framing codes,” in Proc. IEEE Int. Conf. Commun., vol. 1, no. 9, June 1999, pp.
441–445.
structure. The results show this code achieves an estimated [16] M. Lentmaier and G. P. Fettweis, “On the thresholds of generalized
NCG of 9.36 dB at 10−15 BER with a delay of 1.15 million LDPC convolutional codes based on protographs,” in Proc. IEEE Int.
bits. The performance of this scheme is competitive with the Symp. Inform. Theory, Austin, TX, 2010, pp. 709–713.
[17] J. Justesen and T. Hoholdt, “Analysis of iterated hard decision decoding
best published results in this area [9], [8]. of product codes with Reed-Solomon component codes,” in Proc. IEEE
Inform. Theory Workshop, Sept. 2007, pp. 174–177.
R EFERENCES [18] I. B. Djordjevic, O. Milenkovic, and B. Vasic, “Generalized low-density
parity-check codes for optical communication systems,” J. Lightwave
[1] A. J. Feltstrom, D. Truhachev, M. Lentmaier, and K. S. Zigangirov, Technol., vol. 23, no. 5, p. 1939, 2005.
“Braided block codes,” IEEE Trans. Inform. Theory, vol. 55, no. 6, pp. [19] Network node interface for the optical transport network (OTN), ITU-T
2640–2658, 2009. Recommedation G.709, 2004.
[2] Forward Error Correction for High Bit-Rate DWDM Submarine Sys- [20] C. Di, D. Proietti, E. Telatar, T. J. Richardson, and R. Urbanke, “Finite-
tems, ITU-T Recommedation G.975.1, 2004. length analysis of low-density parity-check codes on the binary erasure
[3] M. Lentmaier, A. Sridharan, D. J. Costello, and K. S. Zigangirov, channel,” IEEE Trans. Inform. Theory, vol. 48, no. 6, pp. 1570–1579,
“Iterative decoding threshold analysis for LDPC convolutional codes,” June 2002.
IEEE Trans. Inform. Theory, vol. 56, no. 10, pp. 5274–5289, Oct. 2010. [21] M. Schwartz, P. H. Siegel, and A. Vardy, “On the asymptotic perfor-
[4] S. Kudekar, T. J. Richardson, and R. L. Urbanke, “Threshold saturation mance of iterative decoders for product codes,” in Proc. IEEE Int. Symp.
via spatial coupling: Why convolutional LDPC ensembles perform so Inform. Theory, 2005, pp. 1758–1762.
well over the BEC,” IEEE Trans. Inform. Theory, vol. 57, no. 2, pp.
803–834, 2011.

2381

Вам также может понравиться