gr::fec::code::ldpc_bit_flip_decoder
gr::fec::generic_decoder
gnuradio/fec/ldpc_bit_flip_decoder.h
generic_decoder::sptr static generic_decoder::sptr gr::fec::code::ldpc_bit_flip_decoder::make (const fec_mtrx_sptr mtrx_obj, unsigned int max_iter=100) make gr::fec::code::ldpc_bit_flip_decoder::make const fec_mtrx_sptr mtrx_obj unsigned int max_iter 100

Build a bit flip decoding FEC API object.

mtrx_obj

The LDPC parity check matrix to use for decoding. This should be the same matrix used for encoding. Provide either a ldpc_H_matrix or a ldpc_G_matrix object.

max_iter

Maximum number of iterations to complete during the decoding algorithm. The default is 100 because this seemed to be sufficient during testing. May be increased for possibly better performance, but may slow things down.

bool bool gr::fec::code::ldpc_bit_flip_decoder::set_frame_size (unsigned int frame_size) override=0 set_frame_size gr::fec::code::ldpc_bit_flip_decoder::set_frame_size set_frame_size unsigned int frame_size

Sets the uncoded frame size to `frame_size`.

Sets the uncoded frame size to `frame_size`. If `frame_size` is greater than the value given to the constructor, the frame size will be capped by that initial value and this function will return false. Otherwise, it returns true.

double double gr::fec::code::ldpc_bit_flip_decoder::rate () override=0 rate gr::fec::code::ldpc_bit_flip_decoder::rate rate

Returns the coding rate of this decoder.

LDPC bit flip decoding class.

A hard decision bit flip decoder class for decoding low density parity check (LDPC) codes. The decoder requires knowledge of the matrix used to create (encode) the codewords. The simple algorithm is:

1. Compute parity checks on all of the bits.

2. Flip the bit(s) associated with the most failed parity checks.

3. Check to see if new word is valid. ( $\overline{x}$ is a codeword if and only if $\mathbf{H}\bar{x}^{T}=\overline{0}$.) If it is not valid, go back to step 1.

4. Repeat until valid codeword is found or the maximum number of iterations is reached.

gr::fec::code::ldpc_bit_flip_decoder
gr::fec::generic_decoder
gr::fec::code::ldpc_bit_flip_decoder
gr::fec::generic_decoder
d_logger
d_name
std::basic_string< Char >
std::shared_ptr< logger >
std::string
- gr::fec::code::ldpc_bit_flip_decoder
  alias
- gr::fec::code::ldpc_bit_flip_decoder
  base_unique_id
- gr::fec::code::ldpc_bit_flip_decoder
  d_logger
- gr::fec::code::ldpc_bit_flip_decoder
  d_name
- gr::fec::code::ldpc_bit_flip_decoder
  generic_decoder
- gr::fec::code::ldpc_bit_flip_decoder
  generic_decoder
- gr::fec::code::ldpc_bit_flip_decoder
  generic_work
- gr::fec::code::ldpc_bit_flip_decoder
  get_history
- gr::fec::code::ldpc_bit_flip_decoder
  get_input_conversion
- gr::fec::code::ldpc_bit_flip_decoder
  get_input_item_size
- gr::fec::code::ldpc_bit_flip_decoder
  get_input_size
- gr::fec::code::ldpc_bit_flip_decoder
  get_iterations
- gr::fec::code::ldpc_bit_flip_decoder
  get_output_conversion
- gr::fec::code::ldpc_bit_flip_decoder
  get_output_item_size
- gr::fec::code::ldpc_bit_flip_decoder
  get_output_size
- gr::fec::code::ldpc_bit_flip_decoder
  get_shift
- gr::fec::code::ldpc_bit_flip_decoder
  make
- gr::fec::code::ldpc_bit_flip_decoder
  my_id
- gr::fec::code::ldpc_bit_flip_decoder
  rate
- gr::fec::code::ldpc_bit_flip_decoder
  set_frame_size
- gr::fec::code::ldpc_bit_flip_decoder
  sptr
- gr::fec::code::ldpc_bit_flip_decoder
  unique_id
- gr::fec::code::ldpc_bit_flip_decoder
  ~generic_decoder