Fast implmentation of various forward error correction algorithms optimized for embedded systems. The crate contains:
- A Convolutional encoder and BCJR decoder.
- A Turbo encoder and decoder.
- An iterative QPP interleaver, with parameters from
3GPP
. - Rate matching puncturer.
- An 8-state BCJR
3GPP
decoder, parallelized using theSIMD
instructions.
Add the crate to your Cargo.toml
dependencies:
[dependencies]
fastfec = { git = "https://github.com/rmja/fastfec" }
There are a series of references that are needed to understand the code in this repository:
- Implementation of 3GPP LTE QPP Interleaver for SiLago by Spandan Dey
- Turbo Codes in UMTS/WiMAX/LTE Systems: Solutions for an Efficient FPGA Implementation by Christian ANGHEL
- From BCJR to Turbo decoding: MAP algorithms made easier by Silvio A. Abrantes
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.