itpp::Extended_Golay Class Reference
Communications Module » Forward Error Correcting Codes

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

`#include <itpp/comm/egolay.h>`

Inheritance diagram for itpp::Extended_Golay:

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

inline virtual

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

inline virtual

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:

- itpp/comm/egolay.h
- itpp/comm/egolay.cpp

Generated on for IT++ by Doxygen 1.15.0