cldpc
gnuradio/fec/cldpc.h
GF2Mat GF2Mat cldpc::H H cldpc::H

The parity check matrix.

GF2Mat GF2Mat cldpc::G G cldpc::G

An equivalent matrix obtained from H used for encoding.

std::vector< int > std::vector<int> cldpc::permute permute cldpc::permute

Stores the column permutation in obtaining G from H.

int int cldpc::rank_H rank_H cldpc::rank_H

Rank of the H matrix.

int int cldpc::M M cldpc::M

The number of check nodes in the Tanner-graph.

int int cldpc::N N cldpc::N

The number of variable nodes in the Tanner-graph.

size_t size_t cldpc::K K cldpc::K

The dimension of the code.

cldpc::cldpc
()
cldpc
cldpc::cldpc

Default constructor.

cldpc::cldpc
(const GF2Mat X)
cldpc
cldpc::cldpc
const GF2Mat X

Constructs the LDPC class from given GF2mat X.

cldpc::cldpc
(const alist _list)
cldpc
cldpc::cldpc
const alist _list

Constructs the class from the given alist _list.

void void cldpc::print_permute () print_permute cldpc::print_permute

Prints the variable permute.

std::vector< uint8_t > std::vector< uint8_t > cldpc::encode (std::vector< uint8_t > dataword) encode cldpc::encode std::vector< uint8_t > dataword

Encode the given vector dataword.

dataword is of length K where K is the dimension of the code. The function returns a vector of length N where N is the block-length of the code.

For encoding a G matrix in the form [I P] is obtained from the parity matrix H, by (a) Column permutations, (b) Row additions and (c) Row permutations. Details of encoding is given in section A.1 of the reference given below.

- "Modern Coding Theory", T Richardson and R Urbanke.

int int cldpc::dimension () dimension cldpc::dimension

Returns the dimension of the code.

GF2Mat GF2Mat cldpc::get_H () get_H cldpc::get_H

Returns the parity check matrix H.

GF2Mat GF2Mat cldpc::get_G () get_G cldpc::get_G

Returns the matrix G used in encoding.

int int cldpc::get_M () get_M cldpc::get_M

Returns the variable M.

int int cldpc::get_N () get_N cldpc::get_N

Returns the variable N.

std::vector< uint8_t > std::vector< uint8_t > cldpc::syndrome (const std::vector< uint8_t > in) syndrome cldpc::syndrome const std::vector< uint8_t > in

Returns the syndrome for a given vector "in".

bool bool cldpc::is_codeword (const std::vector< uint8_t > in) is_codeword cldpc::is_codeword const std::vector< uint8_t > in

Returns true if "in" is a codeword, else false.

void void cldpc::set_alist (const alist _list) set_alist cldpc::set_alist const alist _list

Set the variable _list.

std::vector< uint8_t > std::vector< uint8_t > cldpc::get_systematic_bits (std::vector< uint8_t > in) get_systematic_bits cldpc::get_systematic_bits std::vector< uint8_t > in

Obtain systematic bits from "in".

- cldpc
  cldpc
- cldpc
  cldpc
- cldpc
  cldpc
- cldpc
  dimension
- cldpc
  encode
- cldpc
  G
- cldpc
  get_G
- cldpc
  get_H
- cldpc
  get_M
- cldpc
  get_N
- cldpc
  get_systematic_bits
- cldpc
  H
- cldpc
  is_codeword
- cldpc
  K
- cldpc
  M
- cldpc
  N
- cldpc
  permute
- cldpc
  print_permute
- cldpc
  rank_H
- cldpc
  set_alist
- cldpc
  syndrome