SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Introduction to
     Reed-Solomon Code

             Peng Xu
C5000 Software Development Group
      Texas Instruments Inc.
         Stafford, Texas
What is Reed-Solomon Code?
♦ Word-oriented non-binary BCH code
♦ Simplicity, Robustness and good
  performance for burst errors
♦ Code block length N = 2 − 1
                            m


♦ t errors correcting capacity with 2t parity
  check words
♦ Galois Field based coding technique
Generator Polynomial
♦ The generator polynomial determines the
 properties of the code:

  G(x) = (x −α          m0 +1
                                )(x −α    m0 +2
                                                  ) (x −α   m0 +2t
                                                                     )
                                 2t −1
       = x + g2t−1x
               2t
                                         + + g1x + g0x      0



   where   α    is a primitive element of GF ( 2 m )

           m0       is some integer usually set to 0
Encoding RS Codes
 C ( x) = D( x) ⋅ x 2t − [ D( x) ⋅ x 2t mod G ( x)]
 where C(x) is the transmitted codeword polynomial, of
       degree N-1
       D(x) is the user data polynomial, of degree K-1
       G(x) is the generator polynomial of the code, of
       degree 2t

 and        N – K = 2t


       d K −1 d K − 2     d1    d0    c2t −1 c2t − 2        c1   c0

                   User Data                       Parity
Encoding RS Codes
− d0 ,   ,− d K − 2 , − d K −1

            +
  -D(x)

                                 − g 2t −1                   − g1        − g0




                                    +                         +
                   c2t −1                    c2 t − 2   c1          c0



                   RS Encoder Polynomial Remainder Circuit
Decoding RS Codes
let    R(x) = C(x) + E(x)

where R(x) is the received message polynomial with errors
      C(x) is the transmitted correct codeword polynomial
      E(x) is the unknown error polynomial

let    S(x) = R(x) mod G(x) = E(x) mod G(x)

where S(x) is the syndrome of the received message
      G(x) is the generator polynomial of the code
RS Decoding Procedure
1.   Calculate Syndrome Ei = r(αi ) i = 0,1,...,2t −1
2.   Calculate Error Locator Polynomial Λ (x)
     using Berlekamp–Massey algorithm
3.   Determine the roots of Λ (x) which are related
     to the error locations using Chien Search
4.   Calculate the coefficients of the error evaluator
     polynomial Ω(x) using Forney Algorithm
5.   Calculate the error magnitude
6.   Recover the corrected codeword
Syndrome &
Error Locator polynomial
Syndrome             Ei = r (α i ) i = 0,1,...,2t − 1
Error Locator polynomial v
                 Λ( x) = ∏ (1 − α ) = 1 + Λ1 x1 +
                                 ljx
                                                             Λv xv
                                j =1

where the        are the index of the           errors
            lj                              v
                 Et −1     E0          Λ1            Et
                                                =
                 E2t −2   Et −1 Λ t                 E2t −1
Berlekamp-Massey Algorithm
This algorithm was developed by Berlekmap
and Massey to solve the problem of
determining the error locator polynomial.

It reduces the complexity from O(t 3 ) of
matrix inversion to O(t 2 ) .
Chien Search
 Factoring the roots of the error locator
 polynomial is typically done by evaluating
 it at every point and testing to see if the
 result is zero.

 The Chien search is a way of doing this
 which has a fairly regular structure.
Forney algorithm
Error Evaluator polynomial
              E ( x)Λ( x) = Ω( x)( x n − 1)


Error Value

                       α k Ω(α − k )
                  ek =
                        Λ′(α −k )
Future Tasks
♦ More flexible generator polynomial?
♦ More Logarithm tables of GF?
♦ Convert C54x to C55x codes?
♦ Application Notes?
♦ More…

Contenu connexe

Tendances

Tele4653 l11
Tele4653 l11Tele4653 l11
Tele4653 l11
Vin Voro
 
79ecb3d9 65f4-4161-b97d-63711df5d6c5
79ecb3d9 65f4-4161-b97d-63711df5d6c579ecb3d9 65f4-4161-b97d-63711df5d6c5
79ecb3d9 65f4-4161-b97d-63711df5d6c5
spoider
 

Tendances (19)

fghdfh
fghdfhfghdfh
fghdfh
 
Anfis.rpi04
Anfis.rpi04Anfis.rpi04
Anfis.rpi04
 
Tele4653 l11
Tele4653 l11Tele4653 l11
Tele4653 l11
 
Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法
 
Encoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlabEncoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlab
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
 
Knowledge Engineering in FOL.
Knowledge Engineering in FOL.Knowledge Engineering in FOL.
Knowledge Engineering in FOL.
 
Digital Electronics Question Bank
Digital Electronics Question BankDigital Electronics Question Bank
Digital Electronics Question Bank
 
EE8351 DLC
EE8351 DLCEE8351 DLC
EE8351 DLC
 
NCCU CPDA Lecture 12 Attribute Based Encryption
NCCU CPDA Lecture 12 Attribute Based EncryptionNCCU CPDA Lecture 12 Attribute Based Encryption
NCCU CPDA Lecture 12 Attribute Based Encryption
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoder
 
Solutions to online rsa factoring challenges
Solutions to online rsa factoring challengesSolutions to online rsa factoring challenges
Solutions to online rsa factoring challenges
 
79ecb3d9 65f4-4161-b97d-63711df5d6c5
79ecb3d9 65f4-4161-b97d-63711df5d6c579ecb3d9 65f4-4161-b97d-63711df5d6c5
79ecb3d9 65f4-4161-b97d-63711df5d6c5
 
boolean algebra and logic simplification
boolean algebra and logic simplificationboolean algebra and logic simplification
boolean algebra and logic simplification
 
Rsa
RsaRsa
Rsa
 
Digital logic circuit
Digital logic circuitDigital logic circuit
Digital logic circuit
 
Chapter 3: Simplification of Boolean Function
Chapter 3: Simplification of Boolean FunctionChapter 3: Simplification of Boolean Function
Chapter 3: Simplification of Boolean Function
 
Number Theory for Security
Number Theory for SecurityNumber Theory for Security
Number Theory for Security
 

Similaire à IntrRSCode

Reed_Solomon_Implementation
Reed_Solomon_ImplementationReed_Solomon_Implementation
Reed_Solomon_Implementation
ramya c b
 
basicsofcodingtheory-160202182933-converted.pptx
basicsofcodingtheory-160202182933-converted.pptxbasicsofcodingtheory-160202182933-converted.pptx
basicsofcodingtheory-160202182933-converted.pptx
upendrabhatt13
 
Case Study (All)
Case Study (All)Case Study (All)
Case Study (All)
gudeyi
 
Paper computer
Paper computerPaper computer
Paper computer
bikram ...
 
Paper computer
Paper computerPaper computer
Paper computer
bikram ...
 
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
 

Similaire à IntrRSCode (20)

The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Reed solomon Encoder and Decoder
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and Decoder
 
Reed_Solomon_Implementation
Reed_Solomon_ImplementationReed_Solomon_Implementation
Reed_Solomon_Implementation
 
Understanding Reed-Solomon code
Understanding Reed-Solomon codeUnderstanding Reed-Solomon code
Understanding Reed-Solomon code
 
basicsofcodingtheory-160202182933-converted.pptx
basicsofcodingtheory-160202182933-converted.pptxbasicsofcodingtheory-160202182933-converted.pptx
basicsofcodingtheory-160202182933-converted.pptx
 
CRC JAVA CODE
CRC JAVA CODECRC JAVA CODE
CRC JAVA CODE
 
2003 Ames.Models
2003 Ames.Models2003 Ames.Models
2003 Ames.Models
 
Hamming codes
Hamming codesHamming codes
Hamming codes
 
Case Study (All)
Case Study (All)Case Study (All)
Case Study (All)
 
Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.
 
Paper computer
Paper computerPaper computer
Paper computer
 
Paper computer
Paper computerPaper computer
Paper computer
 
kactl.pdf
kactl.pdfkactl.pdf
kactl.pdf
 
3320 cyclic codes.ppt
3320 cyclic codes.ppt3320 cyclic codes.ppt
3320 cyclic codes.ppt
 
1508.07756v1
1508.07756v11508.07756v1
1508.07756v1
 
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
 
Lecture5
Lecture5Lecture5
Lecture5
 
Integration with kernel methods, Transported meshfree methods
Integration with kernel methods, Transported meshfree methodsIntegration with kernel methods, Transported meshfree methods
Integration with kernel methods, Transported meshfree methods
 
Codes and Isogenies
Codes and IsogeniesCodes and Isogenies
Codes and Isogenies
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 

Plus de aniruddh Tyagi

Plus de aniruddh Tyagi (20)

whitepaper_mpeg-if_understanding_mpeg4
whitepaper_mpeg-if_understanding_mpeg4whitepaper_mpeg-if_understanding_mpeg4
whitepaper_mpeg-if_understanding_mpeg4
 
BUC BLOCK UP CONVERTER
BUC BLOCK UP CONVERTERBUC BLOCK UP CONVERTER
BUC BLOCK UP CONVERTER
 
digital_set_top_box2
digital_set_top_box2digital_set_top_box2
digital_set_top_box2
 
Discrete cosine transform
Discrete cosine transformDiscrete cosine transform
Discrete cosine transform
 
DCT
DCTDCT
DCT
 
EBU_DVB_S2 READY TO LIFT OFF
EBU_DVB_S2 READY TO LIFT OFFEBU_DVB_S2 READY TO LIFT OFF
EBU_DVB_S2 READY TO LIFT OFF
 
ADVANCED DVB-C,DVB-S STB DEMOD
ADVANCED DVB-C,DVB-S STB DEMODADVANCED DVB-C,DVB-S STB DEMOD
ADVANCED DVB-C,DVB-S STB DEMOD
 
DVB_Arch
DVB_ArchDVB_Arch
DVB_Arch
 
haffman coding DCT transform
haffman coding DCT transformhaffman coding DCT transform
haffman coding DCT transform
 
Classification
ClassificationClassification
Classification
 
tyagi 's doc
tyagi 's doctyagi 's doc
tyagi 's doc
 
quantization_PCM
quantization_PCMquantization_PCM
quantization_PCM
 
ECMG & EMMG protocol
ECMG & EMMG protocolECMG & EMMG protocol
ECMG & EMMG protocol
 
7015567A
7015567A7015567A
7015567A
 
Basic of BISS
Basic of BISSBasic of BISS
Basic of BISS
 
euler theorm
euler theormeuler theorm
euler theorm
 
fundamentals_satellite_communication_part_1
fundamentals_satellite_communication_part_1fundamentals_satellite_communication_part_1
fundamentals_satellite_communication_part_1
 
quantization
quantizationquantization
quantization
 
art_sklar7_reed-solomon
art_sklar7_reed-solomonart_sklar7_reed-solomon
art_sklar7_reed-solomon
 
DVBSimulcrypt2
DVBSimulcrypt2DVBSimulcrypt2
DVBSimulcrypt2
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

IntrRSCode

  • 1. Introduction to Reed-Solomon Code Peng Xu C5000 Software Development Group Texas Instruments Inc. Stafford, Texas
  • 2. What is Reed-Solomon Code? ♦ Word-oriented non-binary BCH code ♦ Simplicity, Robustness and good performance for burst errors ♦ Code block length N = 2 − 1 m ♦ t errors correcting capacity with 2t parity check words ♦ Galois Field based coding technique
  • 3. Generator Polynomial ♦ The generator polynomial determines the properties of the code: G(x) = (x −α m0 +1 )(x −α m0 +2 ) (x −α m0 +2t ) 2t −1 = x + g2t−1x 2t + + g1x + g0x 0 where α is a primitive element of GF ( 2 m ) m0 is some integer usually set to 0
  • 4. Encoding RS Codes C ( x) = D( x) ⋅ x 2t − [ D( x) ⋅ x 2t mod G ( x)] where C(x) is the transmitted codeword polynomial, of degree N-1 D(x) is the user data polynomial, of degree K-1 G(x) is the generator polynomial of the code, of degree 2t and N – K = 2t d K −1 d K − 2 d1 d0 c2t −1 c2t − 2 c1 c0 User Data Parity
  • 5. Encoding RS Codes − d0 , ,− d K − 2 , − d K −1 + -D(x) − g 2t −1 − g1 − g0 + + c2t −1 c2 t − 2 c1 c0 RS Encoder Polynomial Remainder Circuit
  • 6. Decoding RS Codes let R(x) = C(x) + E(x) where R(x) is the received message polynomial with errors C(x) is the transmitted correct codeword polynomial E(x) is the unknown error polynomial let S(x) = R(x) mod G(x) = E(x) mod G(x) where S(x) is the syndrome of the received message G(x) is the generator polynomial of the code
  • 7. RS Decoding Procedure 1. Calculate Syndrome Ei = r(αi ) i = 0,1,...,2t −1 2. Calculate Error Locator Polynomial Λ (x) using Berlekamp–Massey algorithm 3. Determine the roots of Λ (x) which are related to the error locations using Chien Search 4. Calculate the coefficients of the error evaluator polynomial Ω(x) using Forney Algorithm 5. Calculate the error magnitude 6. Recover the corrected codeword
  • 8. Syndrome & Error Locator polynomial Syndrome Ei = r (α i ) i = 0,1,...,2t − 1 Error Locator polynomial v Λ( x) = ∏ (1 − α ) = 1 + Λ1 x1 + ljx Λv xv j =1 where the are the index of the errors lj v Et −1 E0 Λ1 Et = E2t −2 Et −1 Λ t E2t −1
  • 9. Berlekamp-Massey Algorithm This algorithm was developed by Berlekmap and Massey to solve the problem of determining the error locator polynomial. It reduces the complexity from O(t 3 ) of matrix inversion to O(t 2 ) .
  • 10. Chien Search Factoring the roots of the error locator polynomial is typically done by evaluating it at every point and testing to see if the result is zero. The Chien search is a way of doing this which has a fairly regular structure.
  • 11. Forney algorithm Error Evaluator polynomial E ( x)Λ( x) = Ω( x)( x n − 1) Error Value α k Ω(α − k ) ek = Λ′(α −k )
  • 12. Future Tasks ♦ More flexible generator polynomial? ♦ More Logarithm tables of GF? ♦ Convert C54x to C55x codes? ♦ Application Notes? ♦ More…