Skip to content

Simple decoding of a class of Reed-Solomon codes beyond the half-distance boundary

License

Notifications You must be signed in to change notification settings

OlegMazurov/ErrorZ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ErrorZ

The ErrorZ project implements the error correcting code I described in my paper published in the Russian journal Autometria in 1996 (original paper in Russian). The journal was translated and published in the USA by Allerton Press, Inc. as Optoelectronics, Instrumentation and Data Processing.

The main idea was to work in a finite field of a large size, say GF(2^64), but use locators from its proper subfield, f.e. GF(2^8). That limits the maximal length of the code but dramatically increases its decoding ability as we now can easily increase the number of equations for the locator polynomial coefficients by simply raising each equation to the power of the size of the subfield, 2^8. For example, the (256, 248) code can be quite reliably decoded when the number of errors is 7 as opposed to 4 for the analogous Reed-Solomon code. The probability of rejected or wrong decoding at the same time remains negligible, which along with the simplicity of the decoding procedure makes the code interesting from a practical perspective.

Performance improvements that would compromise the simplicity of the implementation have not been attempted. I hope to write up a document (current version) providing a gentle introduction to Reed-Solomon codes, my algorithm, and some extensions.

How to build, test, and run

The project uses Java 8 and Maven (3.3.9), though it doesn't really have any dependencies. To run tests:

    mvn test

To create a jar file:

    man package

To run tests from jar:

    java -jar target/ErrorZ-1.0.0.jar

How to build, test, and run without Maven

To build

    mkdir -p target/classes
    javac -sourcepath src/main/java -d target/classes src/main/java/org/mazurov/errorz/*.java

To test

    java -cp target/classes org.mazurov.errorz.Main

License

ErrorZ is licensed under the Apache License, Version 2.0.

For additional information, see the LICENSE file.

About

Simple decoding of a class of Reed-Solomon codes beyond the half-distance boundary

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages