Parity check matrix in Richardson/Urbanke format. More...
#include <gnuradio/fec/ldpc_H_matrix.h>
Public Types | |
typedef boost::shared_ptr < ldpc_H_matrix > | sptr |
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... | |
![]() | |
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 | |
![]() | |
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:
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 boost::shared_ptr<ldpc_H_matrix> gr::fec::code::ldpc_H_matrix::sptr |
|
pure virtual |
Decode inbuffer
with LDPC H matrix into outbuffer
.
Implements gr::fec::code::fec_mtrx.
|
pure virtual |
Encode inbuffer
with LDPC H matrix into outbuffer
.
Implements gr::fec::code::fec_mtrx.
|
pure 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. |
|
pure virtual |
Get the codeword length n.
Implements gr::fec::code::fec_mtrx.