Loading...
Searching...
No Matches
gr::fec::code Namespace Reference

## Namespaces

namespace | 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.
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).
FEC_API matrix_sptr | generate_G (matrix_sptr H_obj)
| Takes a parity check matrix (H) and returns the generator matrix (G).
FEC_API matrix_sptr | generate_H (matrix_sptr G_obj)
| Takes a generator matrix (G) and returns the parity check matrix (H).
FEC_API void | print_matrix (const matrix_sptr M, bool numpy=false)
| Takes a matrix and prints it to screen.

## 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_obj | A parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

References FEC_API.

## 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_obj | A parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

References FEC_API.

## 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_obj | A parity check matrix; generally derived from using read_matrix_from_file with a given alist file format.

References FEC_API.

## matrix_free()

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

References FEC_API.

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

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

References FEC_API.

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

  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

References FEC_API.

## write_matrix_to_file()

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

References FEC_API.