gr::digital::probe_mpsk_snr_est_c
gr::sync_block
gnuradio/digital/probe_mpsk_snr_est_c.h
std::shared_ptr< probe_mpsk_snr_est_c > std::shared_ptr<probe_mpsk_snr_est_c> gr::digital::probe_mpsk_snr_est_c::sptr sptr gr::digital::probe_mpsk_snr_est_c::sptr
sptr static sptr gr::digital::probe_mpsk_snr_est_c::make (snr_est_type_t type, int msg_nsamples=10000, double alpha=0.001) make gr::digital::probe_mpsk_snr_est_c::make snr_est_type_t type int msg_nsamples 10000 double alpha 0.001

Make an MPSK SNR probe.

Parameters:

type

the type of estimator to use see gr::digital::snr_est_type_t for details about the types.

msg_nsamples

[not implemented yet] after this many samples, a message containing the SNR (key='snr') will be sent

alpha

the update rate of internal running average calculations. Needs to be between 0 and 1, where higher value adjusts faster to new data.

double virtual double gr::digital::probe_mpsk_snr_est_c::snr ()=0 snr gr::digital::probe_mpsk_snr_est_c::snr

Return the estimated signal-to-noise ratio in decibels.

double virtual double gr::digital::probe_mpsk_snr_est_c::signal ()=0 signal gr::digital::probe_mpsk_snr_est_c::signal

Return the estimated signal power in decibels.

double virtual double gr::digital::probe_mpsk_snr_est_c::noise ()=0 noise gr::digital::probe_mpsk_snr_est_c::noise

Return the estimated noise power in decibels.

snr_est_type_t virtual snr_est_type_t gr::digital::probe_mpsk_snr_est_c::type () const =0 type gr::digital::probe_mpsk_snr_est_c::type

Return the type of estimator in use.

int virtual int gr::digital::probe_mpsk_snr_est_c::msg_nsample () const =0 msg_nsample gr::digital::probe_mpsk_snr_est_c::msg_nsample

Return how many samples between SNR messages.

double virtual double gr::digital::probe_mpsk_snr_est_c::alpha () const =0 alpha gr::digital::probe_mpsk_snr_est_c::alpha

Get the running-average coefficient.

void virtual void gr::digital::probe_mpsk_snr_est_c::set_type (snr_est_type_t t)=0 set_type gr::digital::probe_mpsk_snr_est_c::set_type snr_est_type_t t

Set type of estimator to use.

void virtual void gr::digital::probe_mpsk_snr_est_c::set_msg_nsample (int n)=0 set_msg_nsample gr::digital::probe_mpsk_snr_est_c::set_msg_nsample int n

Set the number of samples between SNR messages.

void virtual void gr::digital::probe_mpsk_snr_est_c::set_alpha (double alpha)=0 set_alpha gr::digital::probe_mpsk_snr_est_c::set_alpha double alpha

Set the running-average coefficient.

A probe for computing SNR of a PSK signal.

This is a probe block (a sink) that can be used to monitor and retrieve estimations of the signal SNR. This probe is designed for use with M-PSK signals especially. The type of estimator is specified as the `type` parameter in the constructor. The estimators tend to trade off performance for accuracy, although experimentation should be done to figure out the right approach for a given implementation. Further, the current set of estimators are designed and proven theoretically under AWGN conditions; some amount of error should be assumed and/or estimated for real channel conditions.

The block has three output message ports that will emit a message every msg_samples number of samples. These message ports are:

- snr: the current SNR estimate (in dB)

- signal: the current signal power estimate (in dBx)

- noise: the current noise power estimate (in dBx)

Some calibration is required to convert dBx of the signal and noise power estimates to real measurements, such as dBm.

The estimator is normally placed before clock recovery.

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