SlideShare a Scribd company logo
Understanding Reed-Solomon code
Jeffrey.Wang

2019.12.16
Abstraction
• Reed-Solomon code RS(544,514) is applied in 200/400GBASE-R
FEC(Forward Error Correction).

• The big picture of the coding math is like the following:
514-symbol
block
bits stream
514-symbol
message block
30-symbol
parity block
divide by and
keep the remainder
g(x)
544-symbol codeword block 544-symbol received block
Errors
Syndromes
Calculate the syndromes with g(x)
Error location
Error locator polynomial
544-symbol Corrected codeword
Error value
514-symbol message
drop parity block
Encoder Decoder
Finite Field
• Reed-Solomon algorithm is defined on finite field. So what is that?

• First of all, the ‘field’ is defined as a set with the following character:

• two operations ‘Addition’ and ‘Multiplication’ defined on it.

• closed on these operations.

• commutative, associative and distributive laws hold.

• additive and multiplicative identity elements.

• additive inverse for every element.

• multiplicative inverse for every non-zero element.

• ‘Real number’ set is a field.

• ‘Integer’ set is not a field. (e.g. Number 2 doesn’t have a
multiplicative inverse which is also an integer)
Finite Field
• The ‘Finite field’ is a field with finite elements, as it says in its
name. (Finite field is also called ‘Galois field’ named after
Evariste Galois (1811–1832))

• How can a field be ‘finite’? The key is ‘modulo’. Operations
become ‘addition with modulo ’ and multiplication with
modulo ’. ( is short for prime)

• An example, a finite field has 3 elements: 0, 1, 2.
Operations with modulo 3. The operations meet all the items in
field definition.

• or is a finite field if is a prime number.
p
p p
GF(3)
GF(p) GF(pm
) p
1 + 2 = 3 (mod 3) = 0
2 × 2 = 4 (mod 3) = 1
Finite Field
• About the prime number . 

• integer set {0, 1, 2} is a finite field,
called . (3 is a prime number)

• integer set {0, 1, 2, 3} is not a finite
field, (4 is not a prime number),
because element 2 doesn’t have a
multiplicative inverse. So there’s
no .

• But we can make the field with 4
elements a finite field if we change the
rules a little

• a set with four elements {00, 01, 10,
11} is a finite field, called
p
GF(3)
GF(4)
GF(22
)
+ 0 1 2
0 0 1 2
1 1 2 0
2 2 0 1
x 0 1 2
0 0 0 0
1 0 1 2
2 0 2 1
+ 0 1 2 3
0 0 1 2 3
1 1 2 3 0
2 2 3 0 1
3 3 0 1 2
x 0 1 2 3
0 0 0 0 0
1 0 1 2 3
2 0 2 0 2
3 0 3 2 1
+ 00 01 10 11
00 00
 01 10 11
01 01 00 11 10
10 10 11 00 01
11 11 10 01 00
x 00 01 10 11
00 00 00 00 00
01 00 01 10 11
10 00 10 11 01
11 00 11 01 10
Finite Field
• Here we introduce the ‘Polynomial’. We can use polynomials
to present the elements in with coefficients from
.

• Operations will be like the following: (Note that the
coefficients are from )
GF (2m
)
GF (2)
GF (2)
11000001 : x7
+ x6
+ 1 = 1x7
+ 1x6
+ 0x5
+ 0x4
+ 0x3
+ 0x2
+ 0x1
+ 1x0
Addition Multiplication
Finite Field
• Then we get back to the add and multiply operation matrix
in .

• Represent the elements with polynomials

• We should use modulo to keep the elements ‘finite’. And the
polynomial is used, which also called the
primitive polynomial.

• Take the red cell for example:
GF(22
)
x2
+ x + 1
+ 00 01 10 11
00 00
 01 10 11
01 01 00 11 10
10 10 11 00 01
11 11 10 01 00
x 00 01 10 11
00 00 00 00 00
01 00 01 10 11
10 00 10 11 01
11 00 11 01 10 00 ⇒ 0x + 0
01 ⇒ 0x + 1
10 ⇒ 1x + 0
11 ⇒ 1x + 1
x + 1
× x
= x2
+ x (mod x2
+ x + 1)
= 1
Finite Field
• Another character is, let be the primitive element, then we can use power of this
element to generate all the non-zero elements in the finite field . See the following
example in :
α = x
GF (2m
)
GF (24
)
Similar polynomial also used for PRBS
Prime polynomial
Encoder
• 400GBASE-R module FEC encoder defined in IEEE 802.3 119.2.4.6.

• RS(544,514). Reed-Solomon code

• k=514 message symbols, code word length 544 symbols

• m=10 means each symbol has 10 bits. 

• 2t=30 symbols, can correct t=15 symbols.
Encoder
• The big picture of the encoder is divide the message polynomial
(multiply ) by the generating polynomial , then use the remainder
as parity to combine with message to get the final code word.
x2t
g(x)
p(x)
mk−1xn−1
+ ⋯ + m1x2t+1
+ m0x2t
+ 0x2t−1
+ ⋯ + 0x + 0
% g2tx2t
+ ⋯ + g1x + g0
p2t−1x2t−1
+ ⋯ + p1x + p0
(mk−1xk−1
+ ⋯ + m1x + m0) × x2t
=
g(x) =
2t−1
∏
j=0
(x − αj
)
mk−1xn−1
+ ⋯ + m1x2t+1
+ m0x2t
+ p2t−1x2t−1
+ ⋯ + p1x + p0
Message symbols Parity symbols
Code word symbols
Encoder - Example
• Let’s take a simple example to look
into the division operation.

• Message is {1,2,3,4,5,6,7,8,9,10,11}

• Parity is {3,3,12,12}

• The final code word is
{1,2,3,4,5,6,7,8,9,10,11,3,3,12,12}

• Generating polynomial


• Prime polynomial is 

• RS(15,11) on
g(x) = x4
+ 15x3
+ 3x2
+ x + 12
x4
+ x + 1
GF(24
)
Encoder
• IEEE gives the definition of generating polynomial .

• Use the simple one in last page to see how the calculation done.
g(x)
g(x) =
2t−1
∏
j=0
(x − αj
) = g2tx2t
+ ⋯ + g1x + g0
g(x) =
3
∏
j=0
(x − 2j
) = (x − 1) (x − 2) (x − 4) (x − 8)
= (x2
− 3x + 2) (x − 4) (x − 8)
= (x3
− 7x2
+ 14x − 8) (x − 8)
= (x4
− 7x3
+ 14x2
− 8x − 8x3
+ 13x2
− 9x + 12)
= x4
+ 15x3
+ 3x2
+ x + 12
7 × 8 = (x2
+ x + 1)x3
= x5 + x4 + x3
= x(x + 1) + (x + 1) + x3
= x2
+ x + x + 1 + x3
= x3
+ x2
+ 1
= 13
−7 − 8 = 7 + 8
= (x2
+ x + 1) + x3
= x3
+ x2
+ x + 1
= 15
• Keep in mind that all the addition and multiplication are defined in GF(24
)
Encoder
• We can calculate the using the same method with the following
parameters:

• Coefficients calculated with python(use modified pyfinite lib).

• Coefficients in IEEE.
gi
α = 2 x10
+ x3
+ 1
Exactly the same
(Primitive polynomial)
Encoder
• After we figure out all the detail of the calculation, let’s hold on a moment
to see what’s the mathematical idea behind the calculation.

• The final codeword is combined with message and parity symbols. And
the parity comes from the remainder. So the codeword can be divided by
. That means are roots of the codeword polynomial.g(x) αj
% = 0
2t−1
∏
j=0
(x − αj
)mk−1xn−1
+ ⋯ + m1x2t+1
+ m0x2t
+ p2t−1x2t−1
+ ⋯ + p1x + p0
Message symbols Parity symbols
C(x) = cn−1xn−1
+ ⋯ + c1x + c0
C(αj
) = CHT
= [c0 c1 ⋯ cn−1]
1 1 1 ⋯ 1
1 α1
α2
⋯ α2t−1
1 α2
α4
⋯ α(2t−1)2
⋯ ⋯ ⋯ ⋯ ⋯
1 αn−1
α2(n−1)
⋯ α(2t−1)(n−1)
= O1×2t
• Rewrite the equation in matrix
Encoder
• This equation means the codeword subspace is perpendicular
to the ’s row space.HT
[c0 c1 ⋯ cn−1]
1 1 1 ⋯ 1
1 α1
α2
⋯ α2t−1
1 α2
α4
⋯ α(2t−1)2
⋯ ⋯ ⋯ ⋯ ⋯
1 αn−1
α2(n−1)
⋯ α(2t−1)(n−1)
= O1×2t
• The encoder mapping the -dimensional original message into
-dimensional space. The -dimensional codeword subspace is
perpendicular to -dimensional subspace. 

• If the transmission introduce any error make to , then
they’re not perpendicular any more. Then we know there are
errors, and maybe we can correct the errors.
k mk
n k
2t (2t = n − k)
C(x) R(x)
Decoder
• The result of is no longer Zero-matrix if there are errors.

• The result will be S. (short for Syndromes)
RHT
[r0 r1 ⋯ rn−1]
1 1 1 ⋯ 1
1 α1
α2
⋯ α2t−1
1 α2
α4
⋯ α(2t−1)2
⋯ ⋯ ⋯ ⋯ ⋯
1 αn−1
α2(n−1)
⋯ α(2t−1)(n−1)
= S
• We can correct the message if we know the error locations and
error values.
Decoder
• If there are errors.

• We can see that the ‘Syndromes’ are only affected by errors, no
matter what the codeword is.

• If there are errors and , then we can find the errors and
correct them.

• What we are going to do is to solve equations to get errors location
and errors value , with the known ‘Syndromes’
v v ≤ t
Xj Yj Si
R(x) = C(x) + E(x)
R(αi
) = C(αi
) + E(αi
) = 0 + E(αi
) = Si
Si = E(αi
)
= Y1αie1 + Y2αie2 + ⋯ + Yvαiev
= Y1Xi
1 + Y2Xi
2 + ⋯ + YvXi
v =
v
∑
j=1
YjXi
j
Decoder - Error locator
• Errors locator polynomial

• Since are roots of this equation

• With , we got equation group with equations.
And solve the equation group to get the coefficients
X−1
j
i = (0,1,⋯, v − 1) v
(Λ1, Λ2, ⋯, Λv)
Λ(x) = (1 + X1x)(1 + X2x)⋯(1 + Xvx)
= 1 + Λ1x + Λ2x2
+ ⋯ + Λvxv
0 = 1 + Λ1X−1
j + Λ2X−2
j + ⋯ + ΛvX−v
j
0 = YjXi+v
j + Λ1YjXi+v−1
j + ⋯ + ΛvYjXi
j
0 =
v
∑
j=1
YjXi+v
j +
v
∑
j=1
Λ1YjXi+v−1
j + ⋯ +
v
∑
j=1
ΛvYjXi
j
0 = Si+v + Λ1Si+v−1 + ⋯ + ΛvSi
Multiply YjXi+v
j
Add up for all j
Decoder - Error evaluation
• Get the roots of the locator equation, we got the error locations
.

• After substitute the error locations with solved values, here’s coming to the
final calculation: find the error values.

• Recover the codeword with error polynomial and drop the parity symbols. We
get the transmitted message.

• It’s better to go through all the calculation with our simple example. (P.S. the
algorithms for RS(544,514) are much more complex than in the simple
example)
(X1, X2, ⋯, Xv)
Xj
(1 + X1x)(1 + X2x)⋯(1 + Xvx) = 1 + Λ1x + Λ2x2
+ ⋯ + Λvxv
Si = Y1Xi
1 + Y2Xi
2 + ⋯ + YvXi
v
C(x) = R(x) − E(x)
Decoder - Example
• First, use received symbols to get the ‘Syndromes’.
[12 12 7 3 11 10 9 8 7 0 5 4 3 2 1]
1 1 1 1
1 2 4 8
1 4 3 12
1 8 12 10
1 3 5 15
1 6 7 1
1 12 15 8
1 11 9 12
1 5 2 10
1 10 8 15
1 7 6 1
1 14 11 8
1 15 10 12
1 13 14 10
1 9 13 15
= [2 10 9 1]
errors
Syndromesreceived codeword
parity check matrix
Here we use the parity check matrix. Divide the codeword
with with do the same thing.g(x)
Decoder - Example
• Error locator polynomial
0 = Si+v + Λ1Si+v−1 + ⋯ + ΛvSi
v = 2
0 = S2 + Λ1S1 + Λ2S0
0 = S3 + Λ1S2 + Λ2S1
S0 = 2
S1 = 10
S2 = 9
S3 = 1
9 = 10Λ1 + 2Λ2
1 = 9Λ1 + 10Λ2
Λ1 = 14
Λ2 = 14
Λ(x) = 1 + 14x + 14x2
= (1 + 4x)(1 + 10x)
Si = Y14i
+ Y210i
2 = Y1 + Y2
10 = 4Y1 + 10Y2
Y1 = 4
Y2 = 6
E(x) = Y1xe1 + Y2xe2 = 4x2
+ 6x9
X1 = 4
X2 = 10
e1 = 2
e2 = 9
Decoder - Example
• Decode finish
E(x) = 6x9
+ 4x2
R(x) = 1x14
+ 2x13
+ 3x12
+ 4x11
+ 5x10
+ 0x9
+ 7x8
+ 8x7
+ 9x6
+ 10x5
+ 11x4
+ 3x3
+ 7x2
+ 12x + 12
C(x) = 1x14
+ 2x13
+ 3x12
+ 4x11
+ 5x10
+ 6x9
+ 7x8
+ 8x7
+ 9x6
+ 10x5
+ 11x4
+ 3x3
+ 3x2
+ 12x + 12
[1 2 3 4 5 6 7 8 9 10 11]
Reference
• IEEE 802.3 119.2.4.6

• https://content.sakai.rutgers.edu/access/content/user/ak892/
Reed-SolomonProjectReport.pdf

• SC390 Introduction to Forward Error Correction, Frank
Kschischang, Univ. of Toronto, Canada.

• https://users.math.msu.edu/users/jhall/classes/codenotes/
GRS.pdf

• http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/
WHP031.pdf

More Related Content

What's hot

Reed solomon code
Reed solomon codeReed solomon code
Reed solomon code
Melaku Bayih Demessie
 
LDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check MatrixLDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check Matrix
Kavi
 
LDPC Codes
LDPC CodesLDPC Codes
LDPC Codes
Sahar Foroughi
 
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI Alliance
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
Rakeshkumar Sachdev
 
VERILOG CODE FOR Adder
VERILOG CODE FOR AdderVERILOG CODE FOR Adder
VERILOG CODE FOR Adder
Rakesh kumar jha
 
linear equalizer and turbo equalizer
linear equalizer and turbo equalizerlinear equalizer and turbo equalizer
linear equalizer and turbo equalizer
Divya_mtech
 
Basic of AI Accelerator Design using Verilog HDL
Basic of AI Accelerator Design using Verilog HDLBasic of AI Accelerator Design using Verilog HDL
Basic of AI Accelerator Design using Verilog HDL
Joohan KIM
 
LDPC Encoding
LDPC EncodingLDPC Encoding
LDPC Encoding
Bhagwat Singh Rathore
 
Performance Analysis Of Different Digital Modulation Scheme
Performance Analysis Of Different Digital Modulation SchemePerformance Analysis Of Different Digital Modulation Scheme
Performance Analysis Of Different Digital Modulation Scheme
Ajay Walia
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
Ola Mashaqi @ an-najah national university
 
Vlsi interview questions1
Vlsi  interview questions1Vlsi  interview questions1
Vlsi interview questions1
SUKESH Prathap
 
VHDL Part 4
VHDL Part 4VHDL Part 4
VHDL Part 4
Abhilash Nair
 
Data types in verilog
Data types in verilogData types in verilog
Data types in verilog
Nallapati Anindra
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
raju reddy
 
ASIC_Design.pdf
ASIC_Design.pdfASIC_Design.pdf
ASIC_Design.pdf
Ahmed Abdelazeem
 
Convolution codes and turbo codes
Convolution codes and turbo codesConvolution codes and turbo codes
Convolution codes and turbo codes
Manish Srivastava
 
prescalers and dual modulus prescalers
 prescalers and dual modulus prescalers prescalers and dual modulus prescalers
prescalers and dual modulus prescalers
Sakshi Bhargava
 
Physical design
Physical design Physical design
Physical design
Mantra VLSI
 
Memory ECC - The Comprehensive of SEC-DED.
Memory ECC - The Comprehensive of SEC-DED. Memory ECC - The Comprehensive of SEC-DED.
Memory ECC - The Comprehensive of SEC-DED.
Sk Cheah
 

What's hot (20)

Reed solomon code
Reed solomon codeReed solomon code
Reed solomon code
 
LDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check MatrixLDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check Matrix
 
LDPC Codes
LDPC CodesLDPC Codes
LDPC Codes
 
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
VERILOG CODE FOR Adder
VERILOG CODE FOR AdderVERILOG CODE FOR Adder
VERILOG CODE FOR Adder
 
linear equalizer and turbo equalizer
linear equalizer and turbo equalizerlinear equalizer and turbo equalizer
linear equalizer and turbo equalizer
 
Basic of AI Accelerator Design using Verilog HDL
Basic of AI Accelerator Design using Verilog HDLBasic of AI Accelerator Design using Verilog HDL
Basic of AI Accelerator Design using Verilog HDL
 
LDPC Encoding
LDPC EncodingLDPC Encoding
LDPC Encoding
 
Performance Analysis Of Different Digital Modulation Scheme
Performance Analysis Of Different Digital Modulation SchemePerformance Analysis Of Different Digital Modulation Scheme
Performance Analysis Of Different Digital Modulation Scheme
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
Vlsi interview questions1
Vlsi  interview questions1Vlsi  interview questions1
Vlsi interview questions1
 
VHDL Part 4
VHDL Part 4VHDL Part 4
VHDL Part 4
 
Data types in verilog
Data types in verilogData types in verilog
Data types in verilog
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
ASIC_Design.pdf
ASIC_Design.pdfASIC_Design.pdf
ASIC_Design.pdf
 
Convolution codes and turbo codes
Convolution codes and turbo codesConvolution codes and turbo codes
Convolution codes and turbo codes
 
prescalers and dual modulus prescalers
 prescalers and dual modulus prescalers prescalers and dual modulus prescalers
prescalers and dual modulus prescalers
 
Physical design
Physical design Physical design
Physical design
 
Memory ECC - The Comprehensive of SEC-DED.
Memory ECC - The Comprehensive of SEC-DED. Memory ECC - The Comprehensive of SEC-DED.
Memory ECC - The Comprehensive of SEC-DED.
 

Similar to Understanding Reed-Solomon code

P7
P7P7
2. Fixed Point Iteration.pptx
2. Fixed Point Iteration.pptx2. Fixed Point Iteration.pptx
2. Fixed Point Iteration.pptx
saadhaq6
 
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptxchapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
Surendra Loya
 
Unit 1 PDF.pptx
Unit 1 PDF.pptxUnit 1 PDF.pptx
Unit 1 PDF.pptx
ChandraV13
 
Chapter 1 digital systems and binary numbers
Chapter 1 digital systems and binary numbersChapter 1 digital systems and binary numbers
Chapter 1 digital systems and binary numbers
Mohammad Bashartullah
 
Universal Coding of the Reals: Alternatives to IEEE Floating Point
Universal Coding of the Reals: Alternatives to IEEE Floating PointUniversal Coding of the Reals: Alternatives to IEEE Floating Point
Universal Coding of the Reals: Alternatives to IEEE Floating Point
inside-BigData.com
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7
Sai Kumar
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
Aniruddh Tyagi
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
aniruddh Tyagi
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
aniruddh Tyagi
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
Dr. C.V. Suresh Babu
 
Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010
Felicia Fort, MBA
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
ihji
 
Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)
asghar123456
 
Interpolation.pptx
Interpolation.pptxInterpolation.pptx
Interpolation.pptx
RamilDTolentino
 
Integration techniques
Integration techniquesIntegration techniques
Integration techniques
Krishna Gali
 
Teknik Simulasi
Teknik SimulasiTeknik Simulasi
Teknik Simulasi
Rezzy Caraka
 
unit-i-number-systems.pdf
unit-i-number-systems.pdfunit-i-number-systems.pdf
unit-i-number-systems.pdf
RameshK531901
 
Amth250 octave matlab some solutions (2)
Amth250 octave matlab some solutions (2)Amth250 octave matlab some solutions (2)
Amth250 octave matlab some solutions (2)
asghar123456
 
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptx
sulekhasaxena2
 

Similar to Understanding Reed-Solomon code (20)

P7
P7P7
P7
 
2. Fixed Point Iteration.pptx
2. Fixed Point Iteration.pptx2. Fixed Point Iteration.pptx
2. Fixed Point Iteration.pptx
 
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptxchapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
chapter1digitalsystemsandbinarynumbers-151021072016-lva1-app6891.pptx
 
Unit 1 PDF.pptx
Unit 1 PDF.pptxUnit 1 PDF.pptx
Unit 1 PDF.pptx
 
Chapter 1 digital systems and binary numbers
Chapter 1 digital systems and binary numbersChapter 1 digital systems and binary numbers
Chapter 1 digital systems and binary numbers
 
Universal Coding of the Reals: Alternatives to IEEE Floating Point
Universal Coding of the Reals: Alternatives to IEEE Floating PointUniversal Coding of the Reals: Alternatives to IEEE Floating Point
Universal Coding of the Reals: Alternatives to IEEE Floating Point
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 
Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
 
Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)
 
Interpolation.pptx
Interpolation.pptxInterpolation.pptx
Interpolation.pptx
 
Integration techniques
Integration techniquesIntegration techniques
Integration techniques
 
Teknik Simulasi
Teknik SimulasiTeknik Simulasi
Teknik Simulasi
 
unit-i-number-systems.pdf
unit-i-number-systems.pdfunit-i-number-systems.pdf
unit-i-number-systems.pdf
 
Amth250 octave matlab some solutions (2)
Amth250 octave matlab some solutions (2)Amth250 octave matlab some solutions (2)
Amth250 octave matlab some solutions (2)
 
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptx
 

Recently uploaded

spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
Ratnakar Mikkili
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 

Recently uploaded (20)

spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 

Understanding Reed-Solomon code

  • 2. Abstraction • Reed-Solomon code RS(544,514) is applied in 200/400GBASE-R FEC(Forward Error Correction). • The big picture of the coding math is like the following: 514-symbol block bits stream 514-symbol message block 30-symbol parity block divide by and keep the remainder g(x) 544-symbol codeword block 544-symbol received block Errors Syndromes Calculate the syndromes with g(x) Error location Error locator polynomial 544-symbol Corrected codeword Error value 514-symbol message drop parity block Encoder Decoder
  • 3. Finite Field • Reed-Solomon algorithm is defined on finite field. So what is that? • First of all, the ‘field’ is defined as a set with the following character: • two operations ‘Addition’ and ‘Multiplication’ defined on it. • closed on these operations. • commutative, associative and distributive laws hold. • additive and multiplicative identity elements. • additive inverse for every element. • multiplicative inverse for every non-zero element. • ‘Real number’ set is a field. • ‘Integer’ set is not a field. (e.g. Number 2 doesn’t have a multiplicative inverse which is also an integer)
  • 4. Finite Field • The ‘Finite field’ is a field with finite elements, as it says in its name. (Finite field is also called ‘Galois field’ named after Evariste Galois (1811–1832)) • How can a field be ‘finite’? The key is ‘modulo’. Operations become ‘addition with modulo ’ and multiplication with modulo ’. ( is short for prime) • An example, a finite field has 3 elements: 0, 1, 2. Operations with modulo 3. The operations meet all the items in field definition. • or is a finite field if is a prime number. p p p GF(3) GF(p) GF(pm ) p 1 + 2 = 3 (mod 3) = 0 2 × 2 = 4 (mod 3) = 1
  • 5. Finite Field • About the prime number . • integer set {0, 1, 2} is a finite field, called . (3 is a prime number) • integer set {0, 1, 2, 3} is not a finite field, (4 is not a prime number), because element 2 doesn’t have a multiplicative inverse. So there’s no . • But we can make the field with 4 elements a finite field if we change the rules a little • a set with four elements {00, 01, 10, 11} is a finite field, called p GF(3) GF(4) GF(22 ) + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 x 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1 + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 x 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 + 00 01 10 11 00 00 01 10 11 01 01 00 11 10 10 10 11 00 01 11 11 10 01 00 x 00 01 10 11 00 00 00 00 00 01 00 01 10 11 10 00 10 11 01 11 00 11 01 10
  • 6. Finite Field • Here we introduce the ‘Polynomial’. We can use polynomials to present the elements in with coefficients from . • Operations will be like the following: (Note that the coefficients are from ) GF (2m ) GF (2) GF (2) 11000001 : x7 + x6 + 1 = 1x7 + 1x6 + 0x5 + 0x4 + 0x3 + 0x2 + 0x1 + 1x0 Addition Multiplication
  • 7. Finite Field • Then we get back to the add and multiply operation matrix in . • Represent the elements with polynomials • We should use modulo to keep the elements ‘finite’. And the polynomial is used, which also called the primitive polynomial. • Take the red cell for example: GF(22 ) x2 + x + 1 + 00 01 10 11 00 00 01 10 11 01 01 00 11 10 10 10 11 00 01 11 11 10 01 00 x 00 01 10 11 00 00 00 00 00 01 00 01 10 11 10 00 10 11 01 11 00 11 01 10 00 ⇒ 0x + 0 01 ⇒ 0x + 1 10 ⇒ 1x + 0 11 ⇒ 1x + 1 x + 1 × x = x2 + x (mod x2 + x + 1) = 1
  • 8. Finite Field • Another character is, let be the primitive element, then we can use power of this element to generate all the non-zero elements in the finite field . See the following example in : α = x GF (2m ) GF (24 ) Similar polynomial also used for PRBS Prime polynomial
  • 9. Encoder • 400GBASE-R module FEC encoder defined in IEEE 802.3 119.2.4.6. • RS(544,514). Reed-Solomon code • k=514 message symbols, code word length 544 symbols • m=10 means each symbol has 10 bits. • 2t=30 symbols, can correct t=15 symbols.
  • 10. Encoder • The big picture of the encoder is divide the message polynomial (multiply ) by the generating polynomial , then use the remainder as parity to combine with message to get the final code word. x2t g(x) p(x) mk−1xn−1 + ⋯ + m1x2t+1 + m0x2t + 0x2t−1 + ⋯ + 0x + 0 % g2tx2t + ⋯ + g1x + g0 p2t−1x2t−1 + ⋯ + p1x + p0 (mk−1xk−1 + ⋯ + m1x + m0) × x2t = g(x) = 2t−1 ∏ j=0 (x − αj ) mk−1xn−1 + ⋯ + m1x2t+1 + m0x2t + p2t−1x2t−1 + ⋯ + p1x + p0 Message symbols Parity symbols Code word symbols
  • 11. Encoder - Example • Let’s take a simple example to look into the division operation. • Message is {1,2,3,4,5,6,7,8,9,10,11} • Parity is {3,3,12,12} • The final code word is {1,2,3,4,5,6,7,8,9,10,11,3,3,12,12} • Generating polynomial • Prime polynomial is • RS(15,11) on g(x) = x4 + 15x3 + 3x2 + x + 12 x4 + x + 1 GF(24 )
  • 12. Encoder • IEEE gives the definition of generating polynomial . • Use the simple one in last page to see how the calculation done. g(x) g(x) = 2t−1 ∏ j=0 (x − αj ) = g2tx2t + ⋯ + g1x + g0 g(x) = 3 ∏ j=0 (x − 2j ) = (x − 1) (x − 2) (x − 4) (x − 8) = (x2 − 3x + 2) (x − 4) (x − 8) = (x3 − 7x2 + 14x − 8) (x − 8) = (x4 − 7x3 + 14x2 − 8x − 8x3 + 13x2 − 9x + 12) = x4 + 15x3 + 3x2 + x + 12 7 × 8 = (x2 + x + 1)x3 = x5 + x4 + x3 = x(x + 1) + (x + 1) + x3 = x2 + x + x + 1 + x3 = x3 + x2 + 1 = 13 −7 − 8 = 7 + 8 = (x2 + x + 1) + x3 = x3 + x2 + x + 1 = 15 • Keep in mind that all the addition and multiplication are defined in GF(24 )
  • 13. Encoder • We can calculate the using the same method with the following parameters: • Coefficients calculated with python(use modified pyfinite lib). • Coefficients in IEEE. gi α = 2 x10 + x3 + 1 Exactly the same (Primitive polynomial)
  • 14. Encoder • After we figure out all the detail of the calculation, let’s hold on a moment to see what’s the mathematical idea behind the calculation. • The final codeword is combined with message and parity symbols. And the parity comes from the remainder. So the codeword can be divided by . That means are roots of the codeword polynomial.g(x) αj % = 0 2t−1 ∏ j=0 (x − αj )mk−1xn−1 + ⋯ + m1x2t+1 + m0x2t + p2t−1x2t−1 + ⋯ + p1x + p0 Message symbols Parity symbols C(x) = cn−1xn−1 + ⋯ + c1x + c0 C(αj ) = CHT = [c0 c1 ⋯ cn−1] 1 1 1 ⋯ 1 1 α1 α2 ⋯ α2t−1 1 α2 α4 ⋯ α(2t−1)2 ⋯ ⋯ ⋯ ⋯ ⋯ 1 αn−1 α2(n−1) ⋯ α(2t−1)(n−1) = O1×2t • Rewrite the equation in matrix
  • 15. Encoder • This equation means the codeword subspace is perpendicular to the ’s row space.HT [c0 c1 ⋯ cn−1] 1 1 1 ⋯ 1 1 α1 α2 ⋯ α2t−1 1 α2 α4 ⋯ α(2t−1)2 ⋯ ⋯ ⋯ ⋯ ⋯ 1 αn−1 α2(n−1) ⋯ α(2t−1)(n−1) = O1×2t • The encoder mapping the -dimensional original message into -dimensional space. The -dimensional codeword subspace is perpendicular to -dimensional subspace. • If the transmission introduce any error make to , then they’re not perpendicular any more. Then we know there are errors, and maybe we can correct the errors. k mk n k 2t (2t = n − k) C(x) R(x)
  • 16. Decoder • The result of is no longer Zero-matrix if there are errors. • The result will be S. (short for Syndromes) RHT [r0 r1 ⋯ rn−1] 1 1 1 ⋯ 1 1 α1 α2 ⋯ α2t−1 1 α2 α4 ⋯ α(2t−1)2 ⋯ ⋯ ⋯ ⋯ ⋯ 1 αn−1 α2(n−1) ⋯ α(2t−1)(n−1) = S • We can correct the message if we know the error locations and error values.
  • 17. Decoder • If there are errors. • We can see that the ‘Syndromes’ are only affected by errors, no matter what the codeword is. • If there are errors and , then we can find the errors and correct them. • What we are going to do is to solve equations to get errors location and errors value , with the known ‘Syndromes’ v v ≤ t Xj Yj Si R(x) = C(x) + E(x) R(αi ) = C(αi ) + E(αi ) = 0 + E(αi ) = Si Si = E(αi ) = Y1αie1 + Y2αie2 + ⋯ + Yvαiev = Y1Xi 1 + Y2Xi 2 + ⋯ + YvXi v = v ∑ j=1 YjXi j
  • 18. Decoder - Error locator • Errors locator polynomial • Since are roots of this equation • With , we got equation group with equations. And solve the equation group to get the coefficients X−1 j i = (0,1,⋯, v − 1) v (Λ1, Λ2, ⋯, Λv) Λ(x) = (1 + X1x)(1 + X2x)⋯(1 + Xvx) = 1 + Λ1x + Λ2x2 + ⋯ + Λvxv 0 = 1 + Λ1X−1 j + Λ2X−2 j + ⋯ + ΛvX−v j 0 = YjXi+v j + Λ1YjXi+v−1 j + ⋯ + ΛvYjXi j 0 = v ∑ j=1 YjXi+v j + v ∑ j=1 Λ1YjXi+v−1 j + ⋯ + v ∑ j=1 ΛvYjXi j 0 = Si+v + Λ1Si+v−1 + ⋯ + ΛvSi Multiply YjXi+v j Add up for all j
  • 19. Decoder - Error evaluation • Get the roots of the locator equation, we got the error locations . • After substitute the error locations with solved values, here’s coming to the final calculation: find the error values. • Recover the codeword with error polynomial and drop the parity symbols. We get the transmitted message. • It’s better to go through all the calculation with our simple example. (P.S. the algorithms for RS(544,514) are much more complex than in the simple example) (X1, X2, ⋯, Xv) Xj (1 + X1x)(1 + X2x)⋯(1 + Xvx) = 1 + Λ1x + Λ2x2 + ⋯ + Λvxv Si = Y1Xi 1 + Y2Xi 2 + ⋯ + YvXi v C(x) = R(x) − E(x)
  • 20. Decoder - Example • First, use received symbols to get the ‘Syndromes’. [12 12 7 3 11 10 9 8 7 0 5 4 3 2 1] 1 1 1 1 1 2 4 8 1 4 3 12 1 8 12 10 1 3 5 15 1 6 7 1 1 12 15 8 1 11 9 12 1 5 2 10 1 10 8 15 1 7 6 1 1 14 11 8 1 15 10 12 1 13 14 10 1 9 13 15 = [2 10 9 1] errors Syndromesreceived codeword parity check matrix Here we use the parity check matrix. Divide the codeword with with do the same thing.g(x)
  • 21. Decoder - Example • Error locator polynomial 0 = Si+v + Λ1Si+v−1 + ⋯ + ΛvSi v = 2 0 = S2 + Λ1S1 + Λ2S0 0 = S3 + Λ1S2 + Λ2S1 S0 = 2 S1 = 10 S2 = 9 S3 = 1 9 = 10Λ1 + 2Λ2 1 = 9Λ1 + 10Λ2 Λ1 = 14 Λ2 = 14 Λ(x) = 1 + 14x + 14x2 = (1 + 4x)(1 + 10x) Si = Y14i + Y210i 2 = Y1 + Y2 10 = 4Y1 + 10Y2 Y1 = 4 Y2 = 6 E(x) = Y1xe1 + Y2xe2 = 4x2 + 6x9 X1 = 4 X2 = 10 e1 = 2 e2 = 9
  • 22. Decoder - Example • Decode finish E(x) = 6x9 + 4x2 R(x) = 1x14 + 2x13 + 3x12 + 4x11 + 5x10 + 0x9 + 7x8 + 8x7 + 9x6 + 10x5 + 11x4 + 3x3 + 7x2 + 12x + 12 C(x) = 1x14 + 2x13 + 3x12 + 4x11 + 5x10 + 6x9 + 7x8 + 8x7 + 9x6 + 10x5 + 11x4 + 3x3 + 3x2 + 12x + 12 [1 2 3 4 5 6 7 8 9 10 11]
  • 23. Reference • IEEE 802.3 119.2.4.6 • https://content.sakai.rutgers.edu/access/content/user/ak892/ Reed-SolomonProjectReport.pdf • SC390 Introduction to Forward Error Correction, Frank Kschischang, Univ. of Toronto, Canada. • https://users.math.msu.edu/users/jhall/classes/codenotes/ GRS.pdf • http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/ WHP031.pdf