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

Class for binary, narrow-sense BCH codes. More...

#include <bch.h>

List of all members.

Public Member Functions

 BCH (int in_n, int in_k, int in_t, const ivec &genpolynom, bool sys=false)
 Initialize a (n,k)-code that can correct t errors.
 BCH (int in_n, int in_t, bool sys=false)
 Initialize a (n,k)-code that can correct t errors.
virtual ~BCH ()
 Destructor.
virtual void encode (const bvec &uncoded_bits, bvec &coded_bits)
 Encode a bvec of indata.
virtual bvec encode (const bvec &uncoded_bits)
 Encode a bvec of indata.
virtual void decode (const bvec &coded_bits, bvec &decoded_bits)
 Decode a bvec of coded data.
virtual bvec decode (const bvec &coded_bits)
 Decode a bvec of coded data.
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 () const
 Get the code rate.
virtual int get_k () const
 Get cardinality of code k.
BCHoperator= (const BCH &)
 Dummy assignment operator - MSVC++ warning C4512.


Detailed Description

Class for binary, narrow-sense BCH codes.

The notation used is found in S. B. Wicker, "Error control systems for digital communication and storage", Appendix E, Prentice-Hall, 1995.

Example:

 BCH bch(31,21,2,ivec("3 5 5 1"))
uses the generator polynomial $g(x) = x^{10} + x^9 + x^8 + x^6 + x^5 + x^3 + 1$, and is capable of correcting 2 errors with n = 31 and k = 21.

Constructor & Destructor Documentation

itpp::BCH::BCH ( int  in_n,
int  in_k,
int  in_t,
const ivec &  genpolynom,
bool  sys = false 
)

Initialize a (n,k)-code that can correct t errors.

Note:
Do not call this constructor with e.g. BCH bch(31, 21, 2, "3 5 5 1") but with BCH bch(31, 21, 2, ivec("3 5 5 1")) instead. Otherwise the complier will complain.

References itpp::oct2bin(), itpp::GFX::set(), and itpp::zeros_i().

itpp::BCH::BCH ( int  in_n,
int  in_t,
bool  sys = false 
)

Initialize a (n,k)-code that can correct t errors.

Author:
Stephan Ludwig
The generator polynomial is automatically generated from the (n, t) parameters of the BCH code. The constructor generates the generator polynomial (and determines k) according to the method described in:

[Wic95] S. B. Wicker, "Error control systems for digital communication and storage", Prentice-Hall, 1995

References itpp::GFX::get_true_degree(), itpp::int2bits(), it_assert, itpp::Array< T >::length(), itpp::length(), itpp::GFX::set(), itpp::Array< T >::set_size(), and itpp::zeros_i().


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

Generated on Tue Jun 2 10:02:19 2009 for mixpp by  doxygen 1.5.8