Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reed-Solomon Decoding

I've got a sequence of 28 bytes, which are supposedly encoded with a Reed-Solomon (28, 24, 5) code. The RS code uses 8-bit symbols and operates in GF(28). The field generator polynomial is x8+x4+x3+x2+1. I'm looking for a simple way to decode this sequence, so I can tell if this sequence has errors.

I've tried the Python ReedSolomon module, but I'm not even sure how to configure the codec properly for my RS code (e.g. what's the first consecutive root of the field generator polynomial, what's the primitive element). I also had a look at Schifra, but I couldn't even compile it on my Mac.

I don't care too much about the platform (e.g. Python, C, Scilab) as long as it is free.

like image 555
geschema Avatar asked Nov 04 '09 08:11

geschema


People also ask

What is Reed-Solomon code describe its decoding process?

Reed-Solomon code is a subclass of non-binary BCH codes. The encoder of Reed-Solomon codes differs from a binary encoder in that it operates on multiple bits rather than individual bits. So basically, Reed-Solomon codes help in recovering corrupted messages that are being transferred over a network.

What are RS codes explain?

4 Reed-Solomon codes. Reed-Solomon (RS) codes are an important subclass of non-binary BCH codes. RS codes have a true minimum distance which is the maximum possible for a linear (n, k) code, as in Equation 14.27. They are therefore examples of maximum-distance-separable codes.

How does Reed-Solomon code work in QR codes?

The Reed-Solomon method, used in QR codes, works in a similar way to the parity error correction used earlier in this chapter - it adds extra bits to the data so that errors can be corrected. However, the Reed-Solomon code is able to deal with a lot more errors in the data than the parity method can.

How does error correction code works?

An error correcting code (ECC) is an encoding scheme that transmits messages as binary numbers, in such a way that the message can be recovered even if some bits are erroneously flipped. They are used in practically all cases of message transmission, especially in data storage where ECCs defend against data corruption.


1 Answers

I successfully built an embedded data comms project that used Reed Solomon error correction a few years ago. I just had a look at it to refresh my memory, and I found that I used a fairly lightweight, GPL licenced, C language subsystem published by a well known guy named Phil Karn to do the encoding and decoding. It's only a few hundred lines of code, but it's pretty intense stuff. However I found I didn't need to understand the math to use the code.

Googling Phil Karn Reed Solomon got me this document.

Which looks like a decent place to start. Hope this helps.

like image 143
Bill Forster Avatar answered Oct 03 '22 21:10

Bill Forster