GNU Radio Manual and C++ API Reference  3.9.4.0
The Free & Open Software Radio Ecosystem
gr::fec::code Namespace Reference

Namespaces

 polar
 

Classes

struct  block_data
 
class  cc_decoder
 Convolutional Code Decoding class. More...
 
class  cc_encoder
 Convolutional Code Encoding class. More...
 
class  ccsds_encoder
 CCSDS Encoding class for convolutional encoding with rate 1/2, K=7, and polynomials [109, 79]. More...
 
class  dummy_decoder
 Dummy Decoding class. More...
 
class  dummy_encoder
 Dummy Encoding class. More...
 
class  fec_mtrx
 Base class for FEC matrix objects. More...
 
class  ldpc_bit_flip_decoder
 LDPC bit flip decoding class. More...
 
class  ldpc_G_matrix
 Class for storing H or G matrix. More...
 
class  ldpc_gen_mtrx_encoder
 LDPC generator matrix encoder. More...
 
class  ldpc_H_matrix
 Parity check matrix in Richardson/Urbanke format. More...
 
class  ldpc_par_mtrx_encoder
 
struct  matrix
 
class  polar_common
 POLAR code common operations and attributes. More...
 
class  polar_decoder_common
 Class holds common methods and attributes for different decoder implementations. More...
 
class  polar_decoder_sc
 Standard successive cancellation (SC) decoder for POLAR codes. More...
 
class  polar_decoder_sc_list
 Successive cancellation list (SCL) decoder for polar codes. More...
 
class  polar_decoder_sc_systematic
 Standard systematic successive cancellation (SC) decoder for POLAR codes. More...
 
class  polar_encoder
 POLAR encoder for basic details see 'polar_common' class. More...
 
class  polar_encoder_systematic
 systematic POLAR encoder for basic details see 'polar_common' class. More...
 
class  repetition_decoder
 Repetition Decoding class. More...
 
class  repetition_encoder
 Repetition Encoding class. More...
 

Typedefs

typedef void(* conv_kernel) (unsigned char *Y, unsigned char *X, unsigned char *syms, unsigned char *dec, unsigned int framebits, unsigned int excess, unsigned char *Branchtab)
 

Functions

FEC_API void matrix_free (matrix *x)
 
FEC_API matrix_sptr read_matrix_from_file (const std::string filename)
 Read in an alist file and produce the matrix object. More...
 
FEC_API void write_matrix_to_file (const std::string filename, matrix_sptr M)
 
FEC_API matrix_sptr generate_G_transpose (matrix_sptr H_obj)
 Takes a parity check matrix (H) and returns the transpose of the generator matrix (G). More...
 
FEC_API matrix_sptr generate_G (matrix_sptr H_obj)
 Takes a parity check matrix (H) and returns the generator matrix (G). More...
 
FEC_API matrix_sptr generate_H (matrix_sptr G_obj)
 Takes a generator matrix (G) and returns the parity check matrix (H). More...
 
FEC_API void print_matrix (const matrix_sptr M, bool numpy=false)
 Takes a matrix and prints it to screen. More...
 

Typedef Documentation

◆ conv_kernel

typedef void(* gr::fec::code::conv_kernel) (unsigned char *Y, unsigned char *X, unsigned char *syms, unsigned char *dec, unsigned int framebits, unsigned int excess, unsigned char *Branchtab)

Function Documentation

◆ generate_G()

FEC_API matrix_sptr gr::fec::code::generate_G ( matrix_sptr  H_obj)

Takes a parity check matrix (H) and returns the generator matrix (G).

The result is returned as a matrix shared pointer. The form of this matrix is [I_k | P], where P is the parity check matrix. It is a k x n matrix where k is the information length and n is the codeword length.

Parameters
H_objA parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

◆ generate_G_transpose()

FEC_API matrix_sptr gr::fec::code::generate_G_transpose ( matrix_sptr  H_obj)

Takes a parity check matrix (H) and returns the transpose of the generator matrix (G).

The result is returned as a matrix shared pointer. The form of this matrix is [I_k | P]^T, where P is the parity check matrix. It is a n x k matrix where k is the information length and n is the codeword length.

Parameters
H_objA parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

◆ generate_H()

FEC_API matrix_sptr gr::fec::code::generate_H ( matrix_sptr  G_obj)

Takes a generator matrix (G) and returns the parity check matrix (H).

Parameters
G_objA parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

◆ matrix_free()

FEC_API void gr::fec::code::matrix_free ( matrix x)

◆ print_matrix()

FEC_API void gr::fec::code::print_matrix ( const matrix_sptr  M,
bool  numpy = false 
)

Takes a matrix and prints it to screen.

Parameters
Ma matrix_sptr; generally a G or H matrix for LDPC codes.
numpywill output in a format that can be copy-and-pasted directly into a numpy.matrix(~) call in Python.

◆ read_matrix_from_file()

FEC_API matrix_sptr gr::fec::code::read_matrix_from_file ( const std::string  filename)

Read in an alist file and produce the matrix object.

Takes in a an alist file (the file name as a string) and creates the corresponding matrix. The format of alist files is described at: http://www.inference.phy.cam.ac.uk/mackay/codes/alist.html

The result is returned as a matrix shared pointer.

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

◆ write_matrix_to_file()

FEC_API void gr::fec::code::write_matrix_to_file ( const std::string  filename,
matrix_sptr  M 
)