DSP and FEC Library
fec-3.0.1.tar.bz2 (7 August 2007)
This library package provides several forward error correction (FEC)
decoders and accelerated primitives useful in digital signal
processing (DSP). Except for the Reed-Solomon codecs, these functions
take full advantage of the MMX, SSE and SSE2 SIMD instruction sets on
Intel/AMD IA-32 processors and the Altivec/VMX/Velocity Engine SIMD
instruction set on the G4 and G5 PowerPC.
Version 3.0.1, released 7 August 2007, fixes a bug in the CCSDS Reed-Solomon
encoder.
The new Intel Macs are not yet supported. Stay tuned.
The library includes Viterbi decoders for the following convolutional codes:
rate 1/2 k=7
rate 1/2 k=9
rate 1/3 k=9
rate 1/6 k=15 ("Cassini")
plus two Reed-Solomon encoder-decoders:
one optimized for the (255,223) CCSDS standard code
a general purpose encoder/decoder for arbitrary RS codes
and three low-level 16-bit DSP support routines:
signed dot product
peak detection
sum-of-squares (energy) computation
This library is licensed under the "lesser" GNU General Public License.
Older FEC Software
Optimized Reed-Solomon encoder/decoder with x86asm assist for (255,223)
code on Intel CPUs
This is older code without CCSDS support. It is not yet integrated into the fec library above.
C++ class library for galois field arithmetic and algebra, with RS encoder/decoder
This is a class library for doing finite field arithmetic and algebra over
GF(256). Two classes are defined: galois and
polynomial,
implementing galois field elements and polynomials over galois field elements,
respectively. A (255,223) Reed-Solomon encoder and decoder functionally
equivalent (but much slower than) my C version is included to demonstrate
the use of the library. Because of its slow speed, the C++ version is primarily
intended for educational use; it was my first non-trivial C++ program.
(This version doesn't do the CCSDS standard).
Convolutional (Fano) decoder, version 1.1
Last modified: 7 August 2007