Loading...
Searching...
No Matches
gr::fec::code::ldpc_H_matrix Class Referenceabstract
GNU Radio C++ Signal Processing Blocks » Error Coding and Decoding

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

`#include <gnuradio/fec/ldpc_H_matrix.h>`

## Public Types

typedef std::shared_ptr< ldpc_H_matrix > | sptr

## Public Member Functions

void | encode (unsigned char *outbuffer, const unsigned char *inbuffer) const override=0
| Encode `inbuffer` with LDPC H matrix into `outbuffer`.
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`.
unsigned int | n () const override=0
| Get the codeword length n.
unsigned int | k () const override=0
| Get the information word length k.
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.

## 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

typedef std::shared_ptr<ldpc_H_matrix> gr::fec::code::ldpc_H_matrix::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

override pure 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

override pure 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

override pure virtual

Get the information word length k.

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

## make()

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

static

Constructor given alist file and gap.

Parameters

  filename | Name of an alist file to use. The alist format is described at: http://www.inference.phy.cam.ac.uk/mackay/codes/alist.html
  gap | A 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

override pure virtual

Get the codeword length n.

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

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

- ldpc_H_matrix.h