IT++ Logo Newcom Logo

itpp::Reed_Solomon Class Reference
[Forward Error Correcting Codes]

Reed-Solomon Codes. More...

#include <itpp/comm/reedsolomon.h>

Inheritance diagram for itpp::Reed_Solomon:

itpp::Channel_Code List of all members.

Public Member Functions

 Reed_Solomon (int in_m, int in_t)
 Class constructor for the $2^m$ - ary, $t$ error correcting RS-code.
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.

Detailed Description

Reed-Solomon Codes.

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 $2^m$ - ary of length $2^m-1$ capable of correcting $t$ errors.

Definition at line 54 of file reedsolomon.h.


Constructor & Destructor Documentation

itpp::Reed_Solomon::Reed_Solomon ( int  in_m,
int  in_t 
)

Class constructor for the $2^m$ - ary, $t$ 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]

Destructor.

Definition at line 59 of file reedsolomon.h.


Member Function Documentation

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.

References k, and n.


Member Data Documentation

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().


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Sat Aug 25 23:41:04 2007 for IT++ by Doxygen 1.5.2