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 . 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 () |
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... | |
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) | |
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.
typedef std::shared_ptr<ldpc_H_matrix> gr::fec::code::ldpc_H_matrix::sptr |
|
overridepure virtual |
Decode inbuffer
with LDPC H matrix into outbuffer
.
Implements gr::fec::code::fec_mtrx.
|
overridepure virtual |
Encode inbuffer
with LDPC H matrix into outbuffer
.
Implements gr::fec::code::fec_mtrx.
|
overridepure virtual |
Get the information word length k.
Implements gr::fec::code::fec_mtrx.
|
static |
Constructor given alist file and gap.
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. |
|
overridepure virtual |
Get the codeword length n.
Implements gr::fec::code::fec_mtrx.