LDPC bit flip decoding class. More...
#include <gnuradio/fec/ldpc_bit_flip_decoder.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 decoder. More... | |
Public Member Functions inherited from gr::fec::generic_decoder | |
virtual void | generic_work (void *inbuffer, void *outbuffer)=0 |
int | unique_id () |
std::string | alias () |
generic_decoder (void) | |
generic_decoder (std::string name) | |
virtual | ~generic_decoder () |
virtual double | rate ()=0 |
virtual int | get_input_size ()=0 |
virtual int | get_output_size ()=0 |
virtual int | get_history () |
virtual float | get_shift () |
virtual int | get_input_item_size () |
virtual int | get_output_item_size () |
virtual const char * | get_input_conversion () |
virtual const char * | get_output_conversion () |
virtual bool | set_frame_size (unsigned int frame_size)=0 |
virtual float | get_iterations () |
Static Public Member Functions | |
static generic_decoder::sptr | make (const fec_mtrx_sptr mtrx_obj, unsigned int max_iter=100) |
Build a bit flip decoding FEC API object. More... | |
Additional Inherited Members | |
Public Types inherited from gr::fec::generic_decoder | |
typedef std::shared_ptr< generic_decoder > | sptr |
Public Attributes inherited from gr::fec::generic_decoder | |
int | my_id |
std::string | d_name |
Static Public Attributes inherited from gr::fec::generic_decoder | |
static int | base_unique_id |
Protected Attributes inherited from gr::fec::generic_decoder | |
gr::logger_ptr | d_logger |
LDPC bit flip decoding class.
A hard decision bit flip decoder class for decoding low density parity check (LDPC) codes. The decoder requires knowledge of the matrix used to create (encode) the codewords. The simple algorithm is:
|
static |
Build a bit flip decoding FEC API object.
mtrx_obj | The LDPC parity check matrix to use for decoding. This should be the same matrix used for encoding. Provide either a ldpc_H_matrix or a ldpc_G_matrix object. |
max_iter | Maximum number of iterations to complete during the decoding algorithm. The default is 100 because this seemed to be sufficient during testing. May be increased for possibly better performance, but may slow things down. |
|
overridepure virtual |
Returns the coding rate of this decoder.
Implements gr::fec::generic_decoder.
|
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_decoder.