GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
gr::fec::code::ldpc_gen_mtrx_encoder Class Referenceabstract

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. More...
 
double rate () override=0
 Returns the coding rate of this encoder. More...
 
- Public Member Functions inherited from gr::fec::generic_encoder
virtual void generic_work (void *in_buffer, void *out_buffer)=0
 
int unique_id ()
 
std::string alias ()
 
virtual double rate ()=0
 
virtual int get_input_size ()=0
 
virtual int get_output_size ()=0
 
virtual const char * get_input_conversion ()
 
virtual const char * get_output_conversion ()
 
virtual bool set_frame_size (unsigned int frame_size)=0
 
 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. More...
 

Additional Inherited Members

- Public Types inherited from gr::fec::generic_encoder
typedef std::shared_ptr< generic_encodersptr
 
- 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()

static 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_objThe ldpc_G_matrix object to use for encoding.

◆ rate()

double gr::fec::code::ldpc_gen_mtrx_encoder::rate ( )
overridepure 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)
overridepure 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: