IT++ Logo
Public Member Functions
itpp::BCH Class Reference

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

#include <itpp/comm/bch.h>

Inheritance diagram for itpp::BCH:
itpp::Channel_Code

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.

Definition at line 59 of file bch.h.


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.

Definition at line 39 of file bch.cpp.

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

Definition at line 51 of file bch.cpp.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Wed Jul 27 2011 16:27:07 for IT++ by Doxygen 1.7.4