Visible to Intel only — GUID: hqy1527116036963
Ixiasoft
Visible to Intel only — GUID: hqy1527116036963
Ixiasoft
2.2. Error Correction Codes
In binary codes, the encoder and decoder operate on a bit basis. The 10GBASE-KR Fire Code FEC is an example of a binary code. In non-binary codes, the encoder and decoder operate on a byte or symbol basis. Symbols may be any number of bits. Galois finite field arithmetic is used and the Reed Solomon code is an example of a non-binary code.
Cyclic block codes are defined by a generator polynomial g(x). Encoding consists of adding a set of parity bits or symbols onto the data to create a code word, also called a codeword or a block. The parity is the remainder of the block from the polynomial division of the data bits by g(x). This is easily implemented using a linear feedback shift register (LFSR). Error detection and correction calculates the syndrome of the received code word. The syndrome is the difference between the locally-generated and received parity. If the syndrome is zero, the code word is correct. If the syndrome is non-zero, then the syndrome can determine the most likely error.