Beruflich Dokumente
Kultur Dokumente
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
(`) (`)
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
2378
Globecom 2013 - Optical Networks and Systems Symposium
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