#include <itpp/comm/reedsolomon.h>
Inheritance diagram for itpp::Reed_Solomon:
Public Member Functions | |
Reed_Solomon (int in_m, int in_t) | |
Class constructor for the ![]() ![]() | |
virtual | ~Reed_Solomon () |
Destructor. | |
virtual void | encode (const bvec &uncoded_bits, bvec &coded_bits) |
Encoder function. | |
virtual bvec | encode (const bvec &uncoded_bits) |
Encoder function. | |
virtual void | decode (const bvec &coded_bits, bvec &decoded_bits) |
Decoder function. | |
virtual bvec | decode (const bvec &coded_bits) |
Decoder function. | |
virtual void | decode (const vec &received_signal, bvec &output) |
Decode a vec of received data. | |
virtual bvec | decode (const vec &received_signal) |
Decode a vec of received data. | |
virtual double | get_rate () |
Gets the rate of the RS-code. | |
Protected Attributes | |
int | m |
Internal encoder/decoder parameters. | |
int | t |
int | k |
int | n |
int | q |
GFX | g |
The generator polynomial of the RS code. |
Uses the Berlkamp-Massey algorithm for decoding as described in: S. B. Wicker, "Error Control Systems for digital communication and storage," Prentice Hall.
The code is - ary of length
capable of correcting
errors.
Definition at line 54 of file reedsolomon.h.
itpp::Reed_Solomon::Reed_Solomon | ( | int | in_m, | |
int | in_t | |||
) |
Class constructor for the - ary,
error correcting RS-code.
Definition at line 56 of file reedsolomon.cpp.
References g, k, m, n, itpp::pow2i(), q, itpp::GFX::set(), and t.
virtual itpp::Reed_Solomon::~Reed_Solomon | ( | ) | [inline, virtual] |
void itpp::Reed_Solomon::encode | ( | const bvec & | uncoded_bits, | |
bvec & | coded_bits | |||
) | [virtual] |
Encoder function.
Implements itpp::Channel_Code.
Definition at line 72 of file reedsolomon.cpp.
References itpp::floor(), g, k, m, n, q, and itpp::GF::set().
Referenced by encode().
bvec itpp::Reed_Solomon::encode | ( | const bvec & | uncoded_bits | ) | [virtual] |
Encoder function.
Implements itpp::Channel_Code.
Definition at line 96 of file reedsolomon.cpp.
References encode().
void itpp::Reed_Solomon::decode | ( | const bvec & | coded_bits, | |
bvec & | decoded_bits | |||
) | [virtual] |
Decoder function.
Implements itpp::Channel_Code.
Definition at line 103 of file reedsolomon.cpp.
References itpp::divgfx(), itpp::floor(), itpp::formal_derivate(), g, k, m, n, q, itpp::GFX::set_degree(), and t.
Referenced by decode().
bvec itpp::Reed_Solomon::decode | ( | const bvec & | coded_bits | ) | [virtual] |
Decoder function.
Implements itpp::Channel_Code.
Definition at line 181 of file reedsolomon.cpp.
References decode().
void itpp::Reed_Solomon::decode | ( | const vec & | received_signal, | |
bvec & | decoded_bits | |||
) | [virtual] |
Decode a vec of received data.
Implements itpp::Channel_Code.
Definition at line 189 of file reedsolomon.cpp.
References it_error.
bvec itpp::Reed_Solomon::decode | ( | const vec & | received_signal | ) | [virtual] |
Decode a vec of received data.
Implements itpp::Channel_Code.
Definition at line 194 of file reedsolomon.cpp.
References it_error.
virtual double itpp::Reed_Solomon::get_rate | ( | void | ) | [inline, virtual] |
Gets the rate of the RS-code.
Implements itpp::Channel_Code.
Definition at line 76 of file reedsolomon.h.
int itpp::Reed_Solomon::m [protected] |
Internal encoder/decoder parameters.
Definition at line 80 of file reedsolomon.h.
Referenced by decode(), encode(), and Reed_Solomon().
GFX itpp::Reed_Solomon::g [protected] |
The generator polynomial of the RS code.
Definition at line 82 of file reedsolomon.h.
Referenced by decode(), encode(), and Reed_Solomon().
Generated on Sat Aug 25 23:37:30 2007 for IT++ by Doxygen 1.5.2