Loading...
Searching...
No Matches
gr::fec::code::ldpc_gen_mtrx_encoder Class Referenceabstract
GNU Radio C++ Signal Processing Blocks » Error Coding and Decoding

LDPC generator matrix encoder. More...

`#include <gnuradio/fec/ldpc_gen_mtrx_encoder.h>`

## Public Member Functions

bool | set_frame_size (unsigned int frame_size) override=0
| Sets the uncoded frame size to `frame_size`.
double | rate () override=0
| Returns the coding rate of this encoder.
Public Member Functions inherited from gr::fec::generic_encoder
virtual void | generic_work (const void *in_buffer, void *out_buffer)=0
int | unique_id ()
std::string | alias ()
virtual int | get_input_size ()=0
virtual int | get_output_size ()=0
virtual const char * | get_input_conversion ()
virtual const char * | get_output_conversion ()
| generic_encoder (void)
| generic_encoder (std::string name)
virtual | ~generic_encoder ()

## Static Public Member Functions

static generic_encoder::sptr | make (const code::ldpc_G_matrix::sptr G_obj)
| Build an encoding FEC API object.

## Additional Inherited Members

Public Types inherited from gr::fec::generic_encoder
typedef std::shared_ptr< generic_encoder > | sptr
Public Attributes inherited from gr::fec::generic_encoder
int | my_id
std::string | d_name
Static Public Attributes inherited from gr::fec::generic_encoder
static int | base_unique_id
Protected Attributes inherited from gr::fec::generic_encoder
gr::logger_ptr | d_logger

## Detailed Description

LDPC generator matrix encoder.

A standard encoder class. This method is discussed in many textbooks; one is: Turbo Coding for Satellite and Wireless Communications by Soleymani, Gao, and Vilaipornsawai. Given a generator matrix in systematic form, \(\mathbf{G}=\left[\mathbf{I}_{k}|\mathbf{P}\right]\), where \(\mathbf{I}_{k}\) is the identity matrix and \(\mathbf{P}\) is the parity submatrix, the information word \(\bar{s}\) is encoded into a codeword \(\overline{x}\) via:

\[\overline{x}=\mathbf{G}^{T}\bar{s}\]

## Member Function Documentation

## make()

generic_encoder::sptr gr::fec::code::ldpc_gen_mtrx_encoder::make | ( | const code::ldpc_G_matrix::sptr | G_obj | ) |

static

Build an encoding FEC API object.

Parameters

  G_obj | The ldpc_G_matrix object to use for encoding.

## rate()

double gr::fec::code::ldpc_gen_mtrx_encoder::rate | ( |  | ) |

override pure virtual

Returns the coding rate of this encoder.

Implements gr::fec::generic_encoder.

## set_frame_size()

bool gr::fec::code::ldpc_gen_mtrx_encoder::set_frame_size | ( | unsigned int | frame_size | ) |

override pure virtual

Sets the uncoded frame size to `frame_size`.

Sets the uncoded frame size to `frame_size`. If `frame_size` is greater than the value given to the constructor, the frame size will be capped by that initial value and this function will return false. Otherwise, it returns true.

Implements gr::fec::generic_encoder.

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

- ldpc_gen_mtrx_encoder.h