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_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 |
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}\]
|
static |
Build an encoding FEC API object.
G_obj | The ldpc_G_matrix object to use for encoding. |
|
overridepure virtual |
Returns the coding rate of this encoder.
Implements gr::fec::generic_encoder.
|
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.