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

Parity check matrix in Richardson/Urbanke format. More...

#include <gnuradio/fec/ldpc_H_matrix.h>

Public Types

typedef std::shared_ptr< ldpc_H_matrixsptr
 

Public Member Functions

void encode (unsigned char *outbuffer, const unsigned char *inbuffer) const override=0
 Encode inbuffer with LDPC H matrix into outbuffer. More...
 
void decode (unsigned char *outbuffer, const float *inbuffer, unsigned int frame_size, unsigned int max_iterations) const override=0
 Decode inbuffer with LDPC H matrix into outbuffer. More...
 
unsigned int n () const override=0
 Get the codeword length n. More...
 
unsigned int k () const override=0
 Get the information word length k. More...
 
- Public Member Functions inherited from gr::fec::code::fec_mtrx
virtual ~fec_mtrx ()
 

Static Public Member Functions

static sptr make (const std::string filename, unsigned int gap)
 Constructor given alist file and gap. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gr::fec::code::fec_mtrx
 fec_mtrx (void)
 

Detailed Description

Parity check matrix in Richardson/Urbanke format.

This class stores a matrix for use with the ldpc_encoder class. It must be of the specific format described by Richardson and Urbanke in Appendix A of their book: Modern Coding Theory (ISBN 978-0-521-85229-6). The form is:

\[\left[\begin{array}{ccc} T & A & B\\ E & C & D \end{array}\right]\]

This class can be used with the ldpc_bit_flip_decoder.

To convert a parity check matrix to this format, use the python functions in: /lib/python2.7/dist-packages/gnuradio/fec/LDPC/Generate_LDPC_matrix.py.

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ decode()

void gr::fec::code::ldpc_H_matrix::decode ( unsigned char *  outbuffer,
const float *  inbuffer,
unsigned int  frame_size,
unsigned int  max_iterations 
) const
overridepure virtual

Decode inbuffer with LDPC H matrix into outbuffer.

Implements gr::fec::code::fec_mtrx.

◆ encode()

void gr::fec::code::ldpc_H_matrix::encode ( unsigned char *  outbuffer,
const unsigned char *  inbuffer 
) const
overridepure virtual

Encode inbuffer with LDPC H matrix into outbuffer.

Implements gr::fec::code::fec_mtrx.

◆ k()

unsigned int gr::fec::code::ldpc_H_matrix::k ( ) const
overridepure virtual

Get the information word length k.

Implements gr::fec::code::fec_mtrx.

◆ make()

static sptr gr::fec::code::ldpc_H_matrix::make ( const std::string  filename,
unsigned int  gap 
)
static

Constructor given alist file and gap.

Parameters
filenameName of an alist file to use. The alist format is described at: http://www.inference.phy.cam.ac.uk/mackay/codes/alist.html
gapA property of the matrix being used. For alist files distributed with GNU Radio, this value is specified in the alist filename. The gap is found during the matrix preprocessing algorithm. It is equal to the number of rows in submatrices E, C and D.

◆ n()

unsigned int gr::fec::code::ldpc_H_matrix::n ( ) const
overridepure virtual

Get the codeword length n.

Implements gr::fec::code::fec_mtrx.


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