GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
awgn_bp Class Reference

#include <gnuradio/fec/awgn_bp.h>

Public Member Functions

 awgn_bp ()
 Default constructor. More...
 
 awgn_bp (const GF2Mat X, float sgma)
 A constructor for given GF2Mat and sigma. More...
 
 awgn_bp (alist _list, float sgma)
 A constructor for given alist and sigma. More...
 
void set_alist_sigma (alist _list, float sgma)
 Initializes the class using given alist and sigma. More...
 
std::vector< std::vector< double > > get_Q ()
 Returns the variable Q. More...
 
std::vector< std::vector< double > > get_R ()
 Returns the variable R. More...
 
GF2Mat get_H ()
 Returns the variable H. More...
 
void rx_lr_calc (std::vector< float > codeword)
 Calculates the likelihood ratios given an input vector. More...
 
std::vector< double > get_rx_lr ()
 Returns the variable rx_lr. More...
 
std::vector< double > get_lr ()
 Returns the variable lr. More...
 
void spa_initialize ()
 Initializes the sum product algorithm set-up. More...
 
void update_chks ()
 Updates the check-nodes based on messages from variable nodes. More...
 
void update_vars ()
 Updates the variable-nodes based on messages from check nodes. More...
 
std::vector< uint8_t > get_estimate ()
 Returns the current estimate. More...
 
void compute_init_estimate (std::vector< float > rx_word)
 Computes initial estimate based on the vector rx_word. More...
 
void decision ()
 Computes the estimate based on current likelihood-ratios lr. More...
 
std::vector< uint8_t > get_syndrome ()
 Returns the syndrome for the current estimate. More...
 
std::vector< uint8_t > get_syndrome (const std::vector< uint8_t > codeword)
 Returns the syndrome for the input codeword. More...
 
bool is_codeword ()
 Checks if the current estimate is a codeword. More...
 
bool is_codeword (const std::vector< uint8_t > codeword)
 Checks if the input is a codeword. More...
 
void set_K (int k)
 Sets the variable K. More...
 
int get_K ()
 Returns the variable K. More...
 
void set_max_iterations (int k)
 Sets the variable max_iterations. More...
 
int get_max_iterations ()
 Returns the variable max_iterations. More...
 
std::vector< uint8_t > decode (std::vector< float > rx_word, int *niterations)
 Decodes the given vector rx_word by message passing. More...
 

Constructor & Destructor Documentation

◆ awgn_bp() [1/3]

awgn_bp::awgn_bp ( )
inline

Default constructor.

◆ awgn_bp() [2/3]

awgn_bp::awgn_bp ( const GF2Mat  X,
float  sgma 
)

A constructor for given GF2Mat and sigma.

◆ awgn_bp() [3/3]

awgn_bp::awgn_bp ( alist  _list,
float  sgma 
)

A constructor for given alist and sigma.

Member Function Documentation

◆ compute_init_estimate()

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

Computes initial estimate based on the vector rx_word.

◆ decision()

void awgn_bp::decision ( )

Computes the estimate based on current likelihood-ratios lr.

◆ decode()

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

Decodes the given vector rx_word by message passing.

Parameters
rx_wordThe received samples for decoding.
niterationsThe number of message passing iterations done to decode this codeword.

◆ get_estimate()

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

Returns the current estimate.

◆ get_H()

GF2Mat awgn_bp::get_H ( )

Returns the variable H.

◆ get_K()

int awgn_bp::get_K ( )

Returns the variable K.

◆ get_lr()

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

Returns the variable lr.

◆ get_max_iterations()

int awgn_bp::get_max_iterations ( )

Returns the variable max_iterations.

◆ get_Q()

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

Returns the variable Q.

◆ get_R()

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

Returns the variable R.

◆ get_rx_lr()

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

Returns the variable rx_lr.

◆ get_syndrome() [1/2]

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

Returns the syndrome for the current estimate.

◆ get_syndrome() [2/2]

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

Returns the syndrome for the input codeword.

◆ is_codeword() [1/2]

bool awgn_bp::is_codeword ( )

Checks if the current estimate is a codeword.

◆ is_codeword() [2/2]

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

Checks if the input is a codeword.

◆ rx_lr_calc()

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

Calculates the likelihood ratios given an input vector.

◆ set_alist_sigma()

void awgn_bp::set_alist_sigma ( alist  _list,
float  sgma 
)

Initializes the class using given alist and sigma.

◆ set_K()

void awgn_bp::set_K ( int  k)

Sets the variable K.

◆ set_max_iterations()

void awgn_bp::set_max_iterations ( int  k)

Sets the variable max_iterations.

◆ spa_initialize()

void awgn_bp::spa_initialize ( )

Initializes the sum product algorithm set-up.

◆ update_chks()

void awgn_bp::update_chks ( )

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

◆ update_vars()

void awgn_bp::update_vars ( )

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


The documentation for this class was generated from the following file: