awgn_bp
gnuradio/fec/awgn_bp.h
int int awgn_bp::M M awgn_bp::M

The number of check nodes in the tanner-graph.

int int awgn_bp::N N awgn_bp::N

The number of variable nodes in the tanner-graph.

int int awgn_bp::K K awgn_bp::K

The dimension of the code used.

int int awgn_bp::max_iterations max_iterations awgn_bp::max_iterations

The maximum number of message passing iterations allowed.

GF2Mat GF2Mat awgn_bp::H H awgn_bp::H

The parity check matrix of the LDPC code.

std::vector< std::vector< double > > std::vector<std::vector<double> > awgn_bp::R R awgn_bp::R

Matrix holding messages from check nodes to variable nodes.

std::vector< std::vector< double > > std::vector<std::vector<double> > awgn_bp::Q Q awgn_bp::Q

Matrix holding messages from variable nodes to check nodes.

std::vector< double > std::vector<double> awgn_bp::rx_lr rx_lr awgn_bp::rx_lr

The array of likelihood computed from the channel output.

std::vector< double > std::vector<double> awgn_bp::lr lr awgn_bp::lr

The array for holding likelihoods computed on BP decoding.

std::vector< std::vector< int > > std::vector<std::vector<int> > awgn_bp::nlist nlist awgn_bp::nlist

List of integer coordinates along each column with non-zero entries.

std::vector< std::vector< int > > std::vector<std::vector<int> > awgn_bp::mlist mlist awgn_bp::mlist

List of integer coordinates along each row with non-zero entries.

std::vector< int > std::vector<int> awgn_bp::num_nlist num_nlist awgn_bp::num_nlist

Weight of each column n.

std::vector< int > std::vector<int> awgn_bp::num_mlist num_mlist awgn_bp::num_mlist

Weight of each row m.

std::vector< uint8_t > std::vector<uint8_t> awgn_bp::estimate estimate awgn_bp::estimate

The array for holding estimate computed on BP decoding.

awgn_bp::awgn_bp
()
awgn_bp
awgn_bp::awgn_bp

Default constructor.

awgn_bp::awgn_bp
(const GF2Mat X)
awgn_bp
awgn_bp::awgn_bp
const GF2Mat X

A constructor for given GF2Mat.

awgn_bp::awgn_bp
(alist _list)
awgn_bp
awgn_bp::awgn_bp
alist _list

A constructor for given alist.

void void awgn_bp::set_alist (alist _list) set_alist awgn_bp::set_alist alist _list

Initializes the class using given alist.

std::vector< std::vector< double > > std::vector< std::vector< double > > awgn_bp::get_Q () get_Q awgn_bp::get_Q

Returns the variable Q.

std::vector< std::vector< double > > std::vector< std::vector< double > > awgn_bp::get_R () get_R awgn_bp::get_R

Returns the variable R.

GF2Mat GF2Mat awgn_bp::get_H () get_H awgn_bp::get_H

Returns the variable H.

void void awgn_bp::rx_lr_calc (std::vector< float > codeword) rx_lr_calc awgn_bp::rx_lr_calc std::vector< float > codeword

Calculates the likelihood ratios given an input vector.

std::vector< double > std::vector< double > awgn_bp::get_rx_lr () get_rx_lr awgn_bp::get_rx_lr

Returns the variable rx_lr.

std::vector< double > std::vector< double > awgn_bp::get_lr () get_lr awgn_bp::get_lr

Returns the variable lr.

void void awgn_bp::spa_initialize () spa_initialize awgn_bp::spa_initialize

Initializes the sum product algorithm set-up.

void void awgn_bp::update_chks () update_chks awgn_bp::update_chks

Updates the check-nodes based on messages from variable nodes.

void void awgn_bp::update_vars () update_vars awgn_bp::update_vars

Updates the variable-nodes based on messages from check nodes.

std::vector< uint8_t > std::vector< uint8_t > awgn_bp::get_estimate () get_estimate awgn_bp::get_estimate

Returns the current estimate.

void void awgn_bp::compute_init_estimate (std::vector< float > rx_word) compute_init_estimate awgn_bp::compute_init_estimate std::vector< float > rx_word

Computes initial estimate based on the vector rx_word.

void void awgn_bp::decision () decision awgn_bp::decision

Computes the estimate based on current likelihood-ratios lr.

std::vector< uint8_t > std::vector< uint8_t > awgn_bp::get_syndrome () get_syndrome awgn_bp::get_syndrome

Returns the syndrome for the current estimate.

std::vector< uint8_t > std::vector< uint8_t > awgn_bp::get_syndrome (const std::vector< uint8_t > codeword) get_syndrome awgn_bp::get_syndrome const std::vector< uint8_t > codeword

Returns the syndrome for the input codeword.

bool bool awgn_bp::is_codeword () is_codeword awgn_bp::is_codeword

Checks if the current estimate is a codeword.

bool bool awgn_bp::is_codeword (const std::vector< uint8_t > codeword) is_codeword awgn_bp::is_codeword const std::vector< uint8_t > codeword

Checks if the input is a codeword.

void void awgn_bp::set_K (int k) set_K awgn_bp::set_K int k

Sets the variable K.

int int awgn_bp::get_K () get_K awgn_bp::get_K

Returns the variable K.

void void awgn_bp::set_max_iterations (int k) set_max_iterations awgn_bp::set_max_iterations int k

Sets the variable max_iterations.

int int awgn_bp::get_max_iterations () get_max_iterations awgn_bp::get_max_iterations

Returns the variable max_iterations.

std::vector< uint8_t > std::vector< uint8_t > awgn_bp::decode (std::vector< float > rx_word, int *niterations) decode awgn_bp::decode std::vector< float > rx_word int * niterations

Decodes the given vector rx_word by message passing.

rx_word

The received samples for decoding.

niterations

The number of message passing iterations done to decode this codeword.

- awgn_bp
  awgn_bp
- awgn_bp
  awgn_bp
- awgn_bp
  awgn_bp
- awgn_bp
  compute_init_estimate
- awgn_bp
  decision
- awgn_bp
  decode
- awgn_bp
  estimate
- awgn_bp
  get_estimate
- awgn_bp
  get_H
- awgn_bp
  get_K
- awgn_bp
  get_lr
- awgn_bp
  get_max_iterations
- awgn_bp
  get_Q
- awgn_bp
  get_R
- awgn_bp
  get_rx_lr
- awgn_bp
  get_syndrome
- awgn_bp
  get_syndrome
- awgn_bp
  H
- awgn_bp
  is_codeword
- awgn_bp
  is_codeword
- awgn_bp
  K
- awgn_bp
  lr
- awgn_bp
  M
- awgn_bp
  max_iterations
- awgn_bp
  mlist
- awgn_bp
  N
- awgn_bp
  nlist
- awgn_bp
  num_mlist
- awgn_bp
  num_nlist
- awgn_bp
  Q
- awgn_bp
  R
- awgn_bp
  rx_lr
- awgn_bp
  rx_lr_calc
- awgn_bp
  set_alist
- awgn_bp
  set_K
- awgn_bp
  set_max_iterations
- awgn_bp
  spa_initialize
- awgn_bp
  update_chks
- awgn_bp
  update_vars