forward error correction (fec) techniques for optical ... · pdf file5 bell laboratories how...
TRANSCRIPT
![Page 1: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/1.jpg)
1
Bell Laboratories
Forward Error Correction (FEC)techniques for optical communications
IEEE 802.3 High-Speed Study Group Plenary meeting, Montreal
July 1999
Kamran Azadet, Mark YuLucent TechnologiesPhone: 732-949-7280Email: [email protected] [email protected]
![Page 2: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/2.jpg)
2
Bell Laboratories
Outline
q Why FEC ?q Cyclic codes - Overviewq Algorithms and implementation
q Encoderq Decoder
q Performance analysisq Latency issuesq Summary
![Page 3: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/3.jpg)
3
Bell Laboratories
Why FEC ?
![Page 4: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/4.jpg)
4
Bell Laboratories
Why FEC ?
q FEC lowers BER by a great deal for low overheadq E.g. for RS(255,239) overhead is 6%: For input BER=10-4, output
BER=10-14 !q Very low overhead codes exist (less than 0.1%) and have been
widely used in other optical communication applicationsq Possible trade-off between performance and overhead (illustrated in this
talk)
q Overheadq increased rate -> slightly reduces the overall coding gainq electronics cost (MUX/DEMUX if line rate is increased)q adds FEC circuitry (encoder is simpler than decoder)
![Page 5: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/5.jpg)
5
Bell Laboratories
How to incorporate FEC in 10GbE ?
q WAN applications incorporate already FEC, solutions arecurrently proprietary. There is however an on-going effort toadopt an “in-band” FEC standard in 10G SONET (most likelybased on a BCH-3 code)
q There may be ways to exploit already existing overhead in theEthernet LAN (IPG?)q However available overhead may be limitedq Ethernet packets are variable size -> decoding would be more complicated !
q For increased performance, line rate could be slightly increasedq fixed length blocks are preferable
q FEC can be combined with constrained codes such as 8b/10b(or 16b/18b), or with zero-overhead scrambled codes.
![Page 6: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/6.jpg)
6
Bell Laboratories
Cyclic codes - overview
![Page 7: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/7.jpg)
7
Bell Laboratories
Some FEC definitions
q Systematic block codeq An encoder accept k information symbols and appends separately a set of r
redundant symbols (parity bits) derived from the information symbols. Note theinformation word is not disturbed in any way in the encoder. This code is called(n, k) code, where n=k+r.
q Since code space is enlarged and codewords are a constrained subset, errordetection and correction is possible based on maximum likelihood decoding.
q Hamming distance of two codewords: number of non-zero elementsin the codeword formed by their difference
q Hamming distance of a code = d (is the minimum distance betweentwo codewords)
q Singleton bound: d ≤ n - k + 1
Information bitsRedundant
bits
k
n
r
![Page 8: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/8.jpg)
8
Bell Laboratories
Some FEC definitions - cont.
q Cyclic codeq An (n, k) code is cyclic if a cyclic shift of a codeword is also a codeword.q Associated with a generating polynomial (usually implemented as LFSR)q Two representations of a codeword w= (w0,w1, …, wn-2 , wn-1) <->
W(x)=w0+w1x+…+wn-2 xn-2 + wn-1 xn-1
q Examples of popular systematic cyclic block codes: binaryBCH, Reed-Solomonq Reed-Solomon is famous for its ability to correct “bursty” errors.
![Page 9: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/9.jpg)
9
Bell Laboratories
Galois fields
q Theory developed by french mathematician E. Galoisq Galois Fields: for a prime p, GF(p) denote the integer ring
(over [+,x]) modulo pq Example: GF(2): addition is modulo-2 addition / XOR-gate
multiplication is modulo-2 multiplication / AND-gate Simple codes such as Hamming codes or binary BCH codes
are built over GF(2).q Galois Fields definition can be generalized to GF(pm), for
instance GF(28), where words are Bytes and not bits (this isused in Reed-Solomon codes)
![Page 10: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/10.jpg)
10
Bell Laboratories
Hamming code
q The well-known (2n-1, 2n-n-1) code with Hamming distance of 3is capable of correcting 1 error
q Error syndrome gives the error locationq Easy to decode, but only correct one error
q Are there codes able to correct more than one error and easy todecode?
![Page 11: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/11.jpg)
11
Bell Laboratories
RS code
q RS(n,k) consists of all polynomials of degree at most n that aremultiples of the generator polynomial g(x) = (x-1)(x-α1)…(x-α2t-1), where α is a primitive element ofGF(2m)
q Minimum distance between codewords is d=n-k=2t+1, thusRS(n,k) can correct t symbols
q 2t Erasures can be corrected (an Erasure is an error with knownposition)
![Page 12: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/12.jpg)
12
Bell Laboratories
BCH codes
q The cyclic code of length n over GF(q), n coprime with q, whosegenerator polynomial is g(x). RS code is a subclass of BCHcode
q Binary BCH code: a BCH code on GF(2), i.e., q=2q Binary BCH codes are most popularq BCH codes usually correct few bits in a block (1-error correcting
or Hamming, 2-error correcting, 3-error correcting, etc.)q Encoding and decoding procedures are similar to those of RS
code, except there is no need to compute error magnitude forbinary BCH code
![Page 13: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/13.jpg)
13
Bell Laboratories
Algorithms and implementation
- Encoder -
![Page 14: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/14.jpg)
14
Bell Laboratories
RS encoding
q Send W(x) = xn-kD(x) - r(x), where D(x) is the informationsymbols, and r(x) is the remainder of xn-kD(x) divided by thegenerating polynomial G(x)q W(x) is a codeword, because G(x) divides W(x)q W(x) is systematic, i.e., redundant symbols are added after information
symbols
![Page 15: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/15.jpg)
15
Bell Laboratories
RS encoding (2)
q RS is a cyclic code and often implemented as a LFSR withGF(2m) operators
![Page 16: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/16.jpg)
16
Bell Laboratories
Algorithms and implementation
- Decoder -
![Page 17: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/17.jpg)
17
Bell Laboratories
RS decoding
First some more definitions:q Error word polynomial e(x) = e0+e1x+…+en-1xn-1
q The received word polynomial is given by w(x) = c(x) + e(x)q Syndromes
Sj=w(αj) = for j = 0, …, 2t-1q Syndromes can be computed using the Horner algorithm:
∑−
=
1
0
n
i
ij
ieα
![Page 18: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/18.jpg)
18
Bell Laboratories
RS decoding - cont.
q Suppose that there are r errors, r <= t, occurredq at locations i1, …, ir (let Xl=α il )q with values ei1, …, eir (let Yl = eil
αil = eil Xl )
q Reformulate Sj = ==>
2t equations for 2r unknowns, r<= t
∑=
r
i
ji
i
le1
α
•
=
−−−
− r
t
r
tt
r
r
tY
Y
Y
XXX
XXXXXX
S
S
S
......
..................
...1
0
1212
2
12
1
11
2
1
1
00
2
0
1
12
1
0
![Page 19: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/19.jpg)
19
Bell Laboratories
RS decoding - cont.
q Define error locator polynomials(x) = (1-xX1)(1-xX2)…(1-xXr) = srxr + … + s1x + 1
q Inverse of zeros of s(x) gives error locations
q Multiplying both sides with YiXij+r and letting x=Xi
-1=> s(Xi-1 )=0,
for all i,j, we get
q M is singular if m>r !q So we can determine how many errors have occurred
≡
−
−−
=
+
+
−
−+
+
M
S
SS
s
ss
SSS
SSSSSS
r
r
r
r
r
rrr
r
r
2
2
1
1
1
121
132
21
........................
![Page 20: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/20.jpg)
20
Bell Laboratories
RS decoding steps
1. Compute Syndromes Si= w(αi), for I=1,..,2t
2. Determine the maximum number r so that M is nonsingular. r is then the number of errors occurred.
3. Find the coefficients of the error-locator polynomial (solving the key equation) by computing
4. Solve s(x)=0
5. Find error locations
6. Compute error magnitude at error locations and correct theerrors
× +
+
−
r
r
r
S
SS
M
2
2
1
1
...
![Page 21: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/21.jpg)
21
Bell Laboratories
RS decoder architecture
ErrorDetection
ErrorCorrection
![Page 22: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/22.jpg)
22
Bell Laboratories
More on RS decoding algorithms
q Clearly finding |M| and M-1 is not easy for large tq Fortunately, RS has been researched and widely used in many
applications for a long time, therefore there are more efficientalgorithms for each task.
q E.g.,q to solve the key equation ----> Euclidean algorithm, Berlekamp algorithm,
Berlekamp-Massey algorithmq to find roots of s(x) ----> Chien Search algorithm
q to compute error magnitude -----> Forney algorithm
![Page 23: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/23.jpg)
23
Bell Laboratories
Performance analysis
![Page 24: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/24.jpg)
24
Bell Laboratories
Performance analysis
0.15%
0.32%
0.48%
3%6%12%
OverheadBCH-1
BCH-2
BCH-3
RS-4RS-8
RS-16Code
BCH-1 = BCH(8191,8178)BCH-2 = BCH(8191,8165)BCH-3 = BCH(8191,8152)RS-4 = RS(255,247)RS-8 = RS(255,239)RS-16 = RS(255,223)
UNCODED
![Page 25: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/25.jpg)
25
Bell Laboratories
RS codes: simulated results
![Page 26: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/26.jpg)
26
Bell Laboratories
An alternative representation
q The above coding gains (in dB) do not map directly in opticalgain (in dBm)
q Optical gain depends on channel and receiver responseq Usually optical power is proportional to detector current, and not
to electrical power !q Input BER versus output BER is a unique representation of
the performance of a given code. It does not depend on opticalresponse. It is very useful for comparing the performance ofdifferent codes with variable size / overhead.
![Page 27: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/27.jpg)
27
Bell Laboratories
Input BER versus Output BER
BCH-1 = BCH(8191,8178)BCH-2 = BCH(8191,8165)BCH-3 = BCH(8191,8152)RS-4 = RS(255,247)RS-8 = RS(255,239)RS-16 = RS(255,223)
UNCODED
BCH-2
BCH-3
RS-4 RS-8RS-16
BCH-1
![Page 28: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/28.jpg)
28
Bell Laboratories
Latency issues
![Page 29: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/29.jpg)
29
Bell Laboratories
Latency issues
q Latency is obviously implementation dependantq In many cases, total latency of encoding + decoding can be on
the order of 2n-3n (n block size)q For instance for RS(255,239) total latency could potentially be
~3x255x8x100ps < 1µsq Some existing FEC chips used in WAN have 30µs total latency
(longer blocks, lower overhead)q Propagation time in fiber:
q 300m -> 1µsq 3km -> 10µsq 30km -> 100µs
q In LAN applications, smaller block sizes are preferable (tominimize buffer size).
![Page 30: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/30.jpg)
30
Bell Laboratories
Summary
![Page 31: Forward Error Correction (FEC) techniques for optical ... · PDF file5 Bell Laboratories How to incorporate FEC in 10GbE ? qWAN applications incorporate already FEC, solutions are](https://reader034.vdocuments.mx/reader034/viewer/2022051507/5a797b887f8b9a5a438c273d/html5/thumbnails/31.jpg)
31
Bell Laboratories
Summary
q Conventional FEC schemes can achieve 6dB coding gain ormore without need for “soft decisions”
q Error correction on the decode side is up to implementersq Parity check could be used to perform bit alignment (in a serial
approach) or de-skewing (in a WDM approach)q Parity check could be used to indicate link qualityq Clear trade-off between FEC performance on one hand and
[complexity,latency,overhead] on the other handq Simple FEC codes exist (Hamming, binary BCH)q BCH & RS codes can be (are) implemented in generic CMOS
technology