GNU Radio Manual and C++ API Reference  3.8.1.0
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 boost::shared_ptr< ldpc_H_matrixsptr
 

Public Member Functions

virtual void encode (unsigned char *outbuffer, const unsigned char *inbuffer) const =0
 Encode inbuffer with LDPC H matrix into outbuffer. More...
 
virtual void decode (unsigned char *outbuffer, const float *inbuffer, unsigned int frame_size, unsigned int max_iterations) const =0
 Decode inbuffer with LDPC H matrix into outbuffer. More...
 
virtual unsigned int n () const =0
 Get the codeword length n. More...
 
virtual unsigned int k () const =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()

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

Decode inbuffer with LDPC H matrix into outbuffer.

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

◆ encode()

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

Encode inbuffer with LDPC H matrix into outbuffer.

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

◆ k()

virtual unsigned int gr::fec::code::ldpc_H_matrix::k ( ) const
pure 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()

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

Get the codeword length n.

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


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