gr::fec::decoder
gr::block
gnuradio/fec/decoder.h
std::shared_ptr< decoder > std::shared_ptr<decoder> gr::fec::decoder::sptr sptr gr::fec::decoder::sptr
sptr static sptr gr::fec::decoder::make (generic_decoder::sptr my_decoder, size_t input_item_size, size_t output_item_size) make gr::fec::decoder::make generic_decoder::sptr my_decoder size_t input_item_size size_t output_item_size

Create the FEC decoder block by taking in the FECAPI decoder object as well as input and output sizes.

my_decoder

An FECAPI decoder object (See gr::fec::generic_decoder).

input_item_size

The size of the input items (often the my_decoder object can tell us this).

output_item_size

The size of the output items (often the my_decoder object can tell us this).

int int gr::fec::decoder::general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override=0 general_work gr::fec::decoder::general_work general_work int noutput_items gr_vector_int & ninput_items gr_vector_const_void_star & input_items gr_vector_void_star & output_items

compute output items from input items

noutput_items

number of output items to write on each output stream

ninput_items

number of input items available on each input stream

input_items

vector of pointers to the input items, one entry per input stream

output_items

vector of pointers to the output items, one entry per output stream

number of items actually written to each output stream or WORK_CALLED_PRODUCE or WORK_DONE. It is OK to return a value less than noutput_items.

WORK_CALLED_PRODUCE is used where not all outputs produce the same number of items. general_work must call produce() for each output to indicate the number of items actually produced.

WORK_DONE indicates that no more data will be produced by this block.

general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

int int gr::fec::decoder::fixed_rate_ninput_to_noutput (int ninput) override=0 fixed_rate_ninput_to_noutput gr::fec::decoder::fixed_rate_ninput_to_noutput fixed_rate_ninput_to_noutput int ninput

Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.

int int gr::fec::decoder::fixed_rate_noutput_to_ninput (int noutput) override=0 fixed_rate_noutput_to_ninput gr::fec::decoder::fixed_rate_noutput_to_ninput fixed_rate_noutput_to_ninput int noutput

Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.

void void gr::fec::decoder::forecast (int noutput_items, gr_vector_int &ninput_items_required) override=0 forecast gr::fec::decoder::forecast forecast int noutput_items gr_vector_int & ninput_items_required

Estimate input requirements given output request.

noutput_items

number of output items to produce

ninput_items_required

number of input items required on each input stream

Given a request to product `noutput_items`, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

General FEC decoding block that takes in a decoder variable object (derived from gr::fec::general_decoder) for use in a flowgraph.

This block uses a decoder variable object (derived from gr::fec::generic_decoder) to decode data within a flowgraph. This block interacts with the general FECAPI architecture to handle all passing all input and output data in a flowgraph. The decoder variable takes care of understanding the requirements, data types and sizes, and boundary conditions of the specific FEC decoding algorithm.

Generally, this block is used within the fec.extended_decoder Python block to handle some input/output formatting issues. In the FECAPI, the decoder variable sets properties like the input and output types and sizes and whether the output is packed or unpacked bytes. The fec.extended_decoder uses this information to set up an gr::hier_block2 structure to make sure the I/O to the variable is handled consistently, such as to make sure all inputs are floats with one soft symbol per item and the outputs are unpacked bytes with the bit in the LSB.

See gr::fec::generic_decoder for detail on what information an FECAPI variable object can set if using this block directly and not as part of the fec.extended_decoder.

gr::basic_block
gr::block
gr::fec::decoder
gr::messages::msg_accepter
gr::msg_accepter
std::enable_shared_from_this< basic_block >
T
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::fec::decoder
gr::io_signature
gr::messages::msg_accepter
gr::msg_accepter
std::basic_string< Char >
std::deque< T >
elements
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
keys
elements
std::shared_ptr< T >
ptr
std::shared_ptr< io_signature >
ptr
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
- gr::fec::decoder
  _post
- gr::fec::decoder
  active_thread_priority
- gr::fec::decoder
  add_item_tag
- gr::fec::decoder
  add_item_tag
- gr::fec::decoder
  alias
- gr::fec::decoder
  alias_pmt
- gr::fec::decoder
  alias_set
- gr::fec::decoder
  alignment
- gr::fec::decoder
  allocate_buffer
- gr::fec::decoder
  allocate_detail
- gr::fec::decoder
  basic_block
- gr::fec::decoder
  basic_block
- gr::fec::decoder
  BLACK
- gr::fec::decoder
  blkd_input_timer_value
- gr::fec::decoder
  block
- gr::fec::decoder
  block
- gr::fec::decoder
  check_topology
- gr::fec::decoder
  clear_finished
- gr::fec::decoder
  color
- gr::fec::decoder
  consume
- gr::fec::decoder
  consume_each
- gr::fec::decoder
  d_blkd_input_timer_value
- gr::fec::decoder
  d_color
- gr::fec::decoder
  d_debug_logger
- gr::fec::decoder
  d_input_signature
- gr::fec::decoder
  d_logger
- gr::fec::decoder
  d_max_output_buffer
- gr::fec::decoder
  d_message_subscribers
- gr::fec::decoder
  d_min_output_buffer
- gr::fec::decoder
  d_name
- gr::fec::decoder
  d_output_signature
- gr::fec::decoder
  d_pmt_done
- gr::fec::decoder
  d_rpc_set
- gr::fec::decoder
  d_rpc_vars
- gr::fec::decoder
  d_setlock
- gr::fec::decoder
  d_symbol_alias
- gr::fec::decoder
  d_symbol_name
- gr::fec::decoder
  d_symbolic_id
- gr::fec::decoder
  d_system_port
- gr::fec::decoder
  d_unique_id
- gr::fec::decoder
  declare_sample_delay
- gr::fec::decoder
  declare_sample_delay
- gr::fec::decoder
  delete_head_nowait
- gr::fec::decoder
  detail
- gr::fec::decoder
  dispatch_msg
- gr::fec::decoder
  empty_handled_p
- gr::fec::decoder
  empty_handled_p
- gr::fec::decoder
  empty_p
- gr::fec::decoder
  empty_p
- gr::fec::decoder
  enable_update_rate
- gr::fec::decoder
  erase_msg
- gr::fec::decoder
  expand_minmax_buffer
- gr::fec::decoder
  finished
- gr::fec::decoder
  fixed_rate
- gr::fec::decoder
  fixed_rate_ninput_to_noutput
- gr::fec::decoder
  fixed_rate_noutput_to_ninput
- gr::fec::decoder
  forecast
- gr::fec::decoder
  general_work
- gr::fec::decoder
  get_iterator
- gr::fec::decoder
  get_msg_map
- gr::fec::decoder
  get_tags_in_range
- gr::fec::decoder
  get_tags_in_range
- gr::fec::decoder
  get_tags_in_window
- gr::fec::decoder
  get_tags_in_window
- gr::fec::decoder
  GREY
- gr::fec::decoder
  has_msg_handler
- gr::fec::decoder
  has_msg_port
- gr::fec::decoder
  history
- gr::fec::decoder
  identifier
- gr::fec::decoder
  input_signature
- gr::fec::decoder
  insert_tail
- gr::fec::decoder
  is_pc_rpc_set
- gr::fec::decoder
  is_rpc_set
- gr::fec::decoder
  is_set_max_noutput_items
- gr::fec::decoder
  is_unaligned
- gr::fec::decoder
  log_level
- gr::fec::decoder
  make
- gr::fec::decoder
  max_noutput_items
- gr::fec::decoder
  max_output_buffer
- gr::fec::decoder
  message_port_is_hier
- gr::fec::decoder
  message_port_is_hier_in
- gr::fec::decoder
  message_port_is_hier_out
- gr::fec::decoder
  message_port_pub
- gr::fec::decoder
  message_port_register_in
- gr::fec::decoder
  message_port_register_out
- gr::fec::decoder
  message_port_sub
- gr::fec::decoder
  message_port_unsub
- gr::fec::decoder
  message_ports_in
- gr::fec::decoder
  message_ports_out
- gr::fec::decoder
  message_subscribers
- gr::fec::decoder
  min_noutput_items
- gr::fec::decoder
  min_output_buffer
- gr::fec::decoder
  mp_relative_rate
- gr::fec::decoder
  msg_accepter
- gr::fec::decoder
  msg_queue
- gr::fec::decoder
  name
- gr::fec::decoder
  nitems_read
- gr::fec::decoder
  nitems_written
- gr::fec::decoder
  nmsgs
- gr::fec::decoder
  no_pc_rpc
- gr::fec::decoder
  notify_msg_neighbors
- gr::fec::decoder
  output_multiple
- gr::fec::decoder
  output_multiple_set
- gr::fec::decoder
  output_signature
- gr::fec::decoder
  pc_input_buffers_full
- gr::fec::decoder
  pc_input_buffers_full
- gr::fec::decoder
  pc_input_buffers_full_avg
- gr::fec::decoder
  pc_input_buffers_full_avg
- gr::fec::decoder
  pc_input_buffers_full_var
- gr::fec::decoder
  pc_input_buffers_full_var
- gr::fec::decoder
  pc_noutput_items
- gr::fec::decoder
  pc_noutput_items_avg
- gr::fec::decoder
  pc_noutput_items_var
- gr::fec::decoder
  pc_nproduced
- gr::fec::decoder
  pc_nproduced_avg
- gr::fec::decoder
  pc_nproduced_var
- gr::fec::decoder
  pc_output_buffers_full
- gr::fec::decoder
  pc_output_buffers_full
- gr::fec::decoder
  pc_output_buffers_full_avg
- gr::fec::decoder
  pc_output_buffers_full_avg
- gr::fec::decoder
  pc_output_buffers_full_var
- gr::fec::decoder
  pc_output_buffers_full_var
- gr::fec::decoder
  pc_throughput_avg
- gr::fec::decoder
  pc_work_time
- gr::fec::decoder
  pc_work_time_avg
- gr::fec::decoder
  pc_work_time_total
- gr::fec::decoder
  pc_work_time_var
- gr::fec::decoder
  post
- gr::fec::decoder
  processor_affinity
- gr::fec::decoder
  produce
- gr::fec::decoder
  relative_rate
- gr::fec::decoder
  relative_rate_d
- gr::fec::decoder
  relative_rate_i
- gr::fec::decoder
  remove_item_tag
- gr::fec::decoder
  remove_item_tag
- gr::fec::decoder
  replace_buffer
- gr::fec::decoder
  reset_perf_counters
- gr::fec::decoder
  rpc_set
- gr::fec::decoder
  sample_delay
- gr::fec::decoder
  set_alignment
- gr::fec::decoder
  set_blkd_input_timer_value
- gr::fec::decoder
  set_block_alias
- gr::fec::decoder
  set_color
- gr::fec::decoder
  set_detail
- gr::fec::decoder
  set_fixed_rate
- gr::fec::decoder
  set_history
- gr::fec::decoder
  set_input_signature
- gr::fec::decoder
  set_inverse_relative_rate
- gr::fec::decoder
  set_is_unaligned
- gr::fec::decoder
  set_log_level
- gr::fec::decoder
  set_max_noutput_items
- gr::fec::decoder
  set_max_output_buffer
- gr::fec::decoder
  set_max_output_buffer
- gr::fec::decoder
  set_min_noutput_items
- gr::fec::decoder
  set_min_output_buffer
- gr::fec::decoder
  set_min_output_buffer
- gr::fec::decoder
  set_msg_handler
- gr::fec::decoder
  set_output_multiple
- gr::fec::decoder
  set_output_signature
- gr::fec::decoder
  set_processor_affinity
- gr::fec::decoder
  set_relative_rate
- gr::fec::decoder
  set_relative_rate
- gr::fec::decoder
  set_tag_propagation_policy
- gr::fec::decoder
  set_thread_priority
- gr::fec::decoder
  set_unaligned
- gr::fec::decoder
  setup_pc_rpc
- gr::fec::decoder
  setup_rpc
- gr::fec::decoder
  shared_from_base
- gr::fec::decoder
  sptr
- gr::fec::decoder
  start
- gr::fec::decoder
  stop
- gr::fec::decoder
  symbol_name
- gr::fec::decoder
  symbolic_id
- gr::fec::decoder
  system_handler
- gr::fec::decoder
  tag_propagation_policy
- gr::fec::decoder
  tag_propagation_policy_t
- gr::fec::decoder
  thread_priority
- gr::fec::decoder
  to_basic_block
- gr::fec::decoder
  TPP_ALL_TO_ALL
- gr::fec::decoder
  TPP_CUSTOM
- gr::fec::decoder
  TPP_DONT
- gr::fec::decoder
  TPP_ONE_TO_ONE
- gr::fec::decoder
  unaligned
- gr::fec::decoder
  unique_id
- gr::fec::decoder
  unset_max_noutput_items
- gr::fec::decoder
  unset_processor_affinity
- gr::fec::decoder
  update_rate
- gr::fec::decoder
  vcolor
- gr::fec::decoder
  WHITE
- gr::fec::decoder
  WORK_CALLED_PRODUCE
- gr::fec::decoder
  WORK_DONE
- gr::fec::decoder
  work_return_t
- gr::fec::decoder
  ~basic_block
- gr::fec::decoder
  ~block
- gr::fec::decoder
  ~msg_accepter