Class for binary, narrow-sense BCH codes. More...
#include <itpp/comm/bch.h>
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 bool | decode (const bvec &coded_bits, bvec &decoded_message, bvec &cw_isvalid) |
Decode the BCH code bits. Return false if there has been any decoding failure. | |
virtual void | decode (const bvec &coded_bits, bvec &decoded_bits) |
Decode a bvec of coded data. This function is kept for backward compatibility. Better use. | |
virtual bvec | decode (const bvec &coded_bits) |
Decode a bvec of coded data. This function is kept for backward compatibility. Better use. | |
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. | |
BCH & | operator= (const BCH &) |
Dummy assignment operator - MSVC++ warning C4512. | |
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:
uses the generator polynomial , and is capable of correcting 2 errors with n = 31 and k = 21.
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.
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.
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::length(), itpp::Array< T >::length(), itpp::GFX::set(), itpp::Array< T >::set_size(), and itpp::zeros_i().
|
virtual |
Decode the BCH code bits. Return false if there has been any decoding failure.
The coded_bits
are block-wise decoded into decoded_message
messages. If there has been any decoding failure, the function will return false
. If this happened in the n-th block, then cw_isvalid(n)
will be set to false
(zero-indexed). In case of a systematic code the systematic bits will be extracted and presented in the corresponding block of decoded_message
. This is better than just presenting zeros, which is done in case of a decoding failure of non-systematic codes.
Definition at line 208 of file bch.cpp.
References itpp::divgfx(), itpp::floor_i(), and itpp::zeros_b().
Referenced by decode().
|
virtual |
Decode a bvec of coded data. This function is kept for backward compatibility. Better use.
.
Implements itpp::Channel_Code.
Definition at line 337 of file bch.cpp.
References decode(), and itpp::zeros_b().
|
virtual |
Decode a bvec of coded data. This function is kept for backward compatibility. Better use.
.
Implements itpp::Channel_Code.
Definition at line 349 of file bch.cpp.
References decode().
Generated on Sat Jul 6 2013 10:54:31 for IT++ by Doxygen 1.8.2