- What this repository is about
- BCH and Reed Solomonlementation notes
- Chase-2 decoding
- Getting up and running
- License
- Bucket
This repository follows the development of Ethernet physical layer work groups 802.3df and 802.3dj. The idea is to provide open source reference implementation, that could also be used for validation. Finally, the intent is to be used for simulation, to help decision making at the work group.
The decoder for BCH and RS codes are from this repository, where you can find an encoder (which is just polynomial division), which I used to check encoder definition in the 802.3 physical layer amendment.
A chase-2 decoder for clause 177.5 that is riding on a hard decision Hamming decoder.
Other than cloning this project and setting an environment that has all the requirements (listed in requirements.txt), you would need to let python know where the files are. This can be done either by setting a system environment that has the path to the project, and which the modules are set to look for (REEDSOLOMON), or, hard coding it into the modules.
Feel free to use this project under the MIT license. If you decide to reference it, please use:
@misc{ieee8023python,
title = "Reference implementation of coding methods for IEEE 802.3 .df and .dj standards",
author = "{Omer S. Sella}",
howpublished = "\url{https://github.com/Omer-Sella/802.3}",\
year = 2024,
}
Clause 177.5 using Viterbi that relies on a Viterbi decoder from my [Viterbi repository](https://github.com/Omer-Sella/viterbi "Viterbi decoder implementation(s)" and other work from Euclid, which is where I keep most of my DNA-data-storage work.