gr::blocks::test_tag_variable_rate_ff
gr::block
gnuradio/blocks/test_tag_variable_rate_ff.h
std::shared_ptr< test_tag_variable_rate_ff > typedef std::shared_ptr<test_tag_variable_rate_ff> gr::blocks::test_tag_variable_rate_ff::sptr sptr gr::blocks::test_tag_variable_rate_ff::sptr
sptr static sptr gr::blocks::test_tag_variable_rate_ff::make (bool update_once=false, double update_step=0.001) make gr::blocks::test_tag_variable_rate_ff::make bool update_once false double update_step 0.001

Build a test_tag_variable_rate_ff block.

update_once

Update the resampling rate once per call to work (default=false).

update_step

How much to adjust the resampling rate by when the update occurs (default=0.001).

Used for testing tag propagation.

This block resamples the stream by a factor that starts at 0.5 but varies around by some random walk. The relative rate of the block is initialized to 0.5 and the random number generator is seeded based on the time. For each input, if the random number is >= 0.5, the relative rate is increased by `update_step`; otherwise, it is decreased by `update_step`.

The rate of the change of the resampling factor is set by the flag `update_once`. If this is set to true, then the rate is only updated once per work function. If it is set to false (default), then the rate is changed with every input sample.

The block's ctor sets the propagation policy to TPP_DONT to stop tags from automatically propagating. Instead, we handle the tag propagation ourselves from within the work function. Because the relative_rate changes so fast, the tag placement cannot be based on a single factor after the call to work and must be handled when the samples are and based on the current resampling rate.

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