gr::fec::ber_bf
gr::block
gnuradio/fec/ber_bf.h
std::shared_ptr< ber_bf > typedef std::shared_ptr<ber_bf> gr::fec::ber_bf::sptr sptr gr::fec::ber_bf::sptr
long virtual long gr::fec::ber_bf::total_errors ()=0 total_errors gr::fec::ber_bf::total_errors

Get total number of errors counter value.

sptr static sptr gr::fec::ber_bf::make (bool test_mode=false, int berminerrors=100, float ber_limit=-7.0) make gr::fec::ber_bf::make bool test_mode false int berminerrors 100 float ber_limit -7.0

Calculate the BER between two streams of data.

test_mode

false for normal streaming mode (default); true for test mode.

berminerrors

the block needs to observe this many errors before outputting a result. Only valid when test_mode=true.

ber_limit

if the BER calculation falls below this limit, produce this value and exit. Only valid when test_mode=true.

BER block in FECAPI.

This block measures the bit error rate between two streams of packed data. It compares the bits of each streams and counts the number of incorrect bits between them. It outputs the log of the bit error rate, so a value of -X is 10^{-X} bit errors.

When the `mode` is set to false (default), it is in streaming mode. This means that the output is constantly producing the current value of the BER. In this mode, there is a single output BER calculation per chunk of bytes passed to it, so there is no exact timing between calculations of BER. In this mode, the other two parameters to the constructor are ignored.

When `mode` is true, the block is in test mode. This mode is used in the ber_curve_gen example and for other offline analysis of BER curves. Here, the block waits until at least `berminerrors` are observed and then produces a BER calculation. The parameter `ber_limit` helps make sure that the simulation is controlled. If the BER calculation drops below the `ber_limit` setting, the block will exit and simply return the set limit; the real BER is therefore some amount lower than this.

Note that this block takes in data as packed bytes with 8-bits per byte used. It outputs a stream of floats as the log-scale BER.

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