IT++ Logo
itpp::Extended_Golay Class Reference

Extended Golay code (24,12,8). More...

#include <itpp/comm/egolay.h>

Inheritance diagram for itpp::Extended_Golay:
itpp::Channel_Code

Public Member Functions

 Extended_Golay ()
 Constructor.
 
virtual ~Extended_Golay ()
 Destructor.
 
virtual void encode (const bvec &uncoded_bits, bvec &coded_bits)
 Encoder. Will truncate some bits if not length = integer * 12.
 
virtual bvec encode (const bvec &uncoded_bits)
 Encoder. Will truncate some bits if not length = integer * 12.
 
virtual void decode (const bvec &coded_bits, bvec &decoded_bits)
 Decoder. Will truncate some bits if not length = integer * 24.
 
virtual bvec decode (const bvec &coded_bits)
 Decoder. Will truncate some bits if not length = integer * 24.
 
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.
 
bmat get_G () const
 Gets the generator matrix for the code (also the parity check matrix)
 

Detailed Description

Extended Golay code (24,12,8).

Author
Tony Ottosson

The code is given in systematic form with the information bits first, followed by the parity check bits. The decoder uses the arithmetic decoding algorithm that is for example described in Wicker "Error Control Systems for Digital Communication and Storage", Prentice Hall, 1995 (page 143).

Definition at line 51 of file egolay.h.

Constructor & Destructor Documentation

◆ Extended_Golay()

itpp::Extended_Golay::Extended_Golay ( void )

Constructor.

Definition at line 37 of file egolay.cpp.

References itpp::concat_horizontal(), and itpp::eye_b().

◆ ~Extended_Golay()

virtual itpp::Extended_Golay::~Extended_Golay ( )
inlinevirtual

Destructor.

Definition at line 57 of file egolay.h.

Member Function Documentation

◆ encode() [1/2]

void itpp::Extended_Golay::encode ( const bvec & uncoded_bits,
bvec & coded_bits )
virtual

Encoder. Will truncate some bits if not length = integer * 12.

Implements itpp::Channel_Code.

Definition at line 44 of file egolay.cpp.

References itpp::floor_i().

Referenced by encode().

◆ encode() [2/2]

bvec itpp::Extended_Golay::encode ( const bvec & uncoded_bits)
virtual

Encoder. Will truncate some bits if not length = integer * 12.

Implements itpp::Channel_Code.

Definition at line 57 of file egolay.cpp.

References encode().

◆ decode() [1/4]

void itpp::Extended_Golay::decode ( const bvec & coded_bits,
bvec & decoded_bits )
virtual

Decoder. Will truncate some bits if not length = integer * 24.

Implements itpp::Channel_Code.

Definition at line 64 of file egolay.cpp.

References itpp::concat(), itpp::eye_b(), itpp::floor_i(), itpp::weight(), and itpp::zeros_b().

Referenced by decode().

◆ decode() [2/4]

bvec itpp::Extended_Golay::decode ( const bvec & coded_bits)
virtual

Decoder. Will truncate some bits if not length = integer * 24.

Implements itpp::Channel_Code.

Definition at line 122 of file egolay.cpp.

References decode().

◆ decode() [3/4]

void itpp::Extended_Golay::decode ( const vec & received_signal,
bvec & decoded_bits )
virtual

Decode a vec of received data.

Implements itpp::Channel_Code.

Definition at line 131 of file egolay.cpp.

References it_error.

◆ decode() [4/4]

bvec itpp::Extended_Golay::decode ( const vec & received_signal)
virtual

Decode a vec of received data.

Implements itpp::Channel_Code.

Definition at line 136 of file egolay.cpp.

References it_error.

◆ get_rate()

virtual double itpp::Extended_Golay::get_rate ( void ) const
inlinevirtual

Get the code rate.

Implements itpp::Channel_Code.

Definition at line 74 of file egolay.h.

◆ get_G()

bmat itpp::Extended_Golay::get_G ( ) const
inline

Gets the generator matrix for the code (also the parity check matrix)

Definition at line 77 of file egolay.h.


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

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.12.0