gr::channels::channel_model
gr::hier_block2
gnuradio/channels/channel_model.h
std::shared_ptr< channel_model > typedef std::shared_ptr<channel_model> gr::channels::channel_model::sptr sptr gr::channels::channel_model::sptr
sptr static sptr gr::channels::channel_model::make (double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, const std::vector< gr_complex > &taps=std::vector< gr_complex >(1, 0), double noise_seed=0, bool block_tags=false) make gr::channels::channel_model::make double noise_voltage 0.0 double frequency_offset 0.0 double epsilon 1.0 const std::vector< gr_complex > & taps std::vector< gr_complex >(1, 0) double noise_seed 0 bool block_tags false

Build the channel simulator.

noise_voltage

The AWGN noise level as a voltage (to be calculated externally to meet, say, a desired SNR).

frequency_offset

The normalized frequency offset. 0 is no offset; 0.25 would be, for a digital modem, one quarter of the symbol rate.

epsilon

The sample timing offset to emulate the different rates between the sample clocks of the transmitter and receiver. 1.0 is no difference.

taps

Taps of a FIR filter to emulate a multipath delay profile.

noise_seed

A random number generator seed for the noise source.

block_tags

If true, tags will not be able to propagate through this block.

frequency_offset
noise_voltage
taps
void virtual void gr::channels::channel_model::set_noise_voltage (double noise_voltage)=0 set_noise_voltage gr::channels::channel_model::set_noise_voltage double noise_voltage noise_voltage
void virtual void gr::channels::channel_model::set_frequency_offset (double frequency_offset)=0 set_frequency_offset gr::channels::channel_model::set_frequency_offset double frequency_offset frequency_offset
void virtual void gr::channels::channel_model::set_taps (const std::vector< gr_complex > &taps)=0 set_taps gr::channels::channel_model::set_taps const std::vector< gr_complex > & taps taps
void virtual void gr::channels::channel_model::set_timing_offset (double epsilon)=0 set_timing_offset gr::channels::channel_model::set_timing_offset double epsilon
double virtual double gr::channels::channel_model::noise_voltage () const =0 noise_voltage gr::channels::channel_model::noise_voltage make set_noise_voltage
double virtual double gr::channels::channel_model::frequency_offset () const =0 frequency_offset gr::channels::channel_model::frequency_offset make set_frequency_offset
std::vector< gr_complex > virtual std::vector< gr_complex > gr::channels::channel_model::taps () const =0 taps gr::channels::channel_model::taps make set_taps
double virtual double gr::channels::channel_model::timing_offset () const =0 timing_offset gr::channels::channel_model::timing_offset

Basic channel simulator.

This block implements a basic channel model simulator that can be used to help evaluate, design, and test various signals, waveforms, and algorithms.

This model allows the user to set the voltage of an AWGN noise source (`noise_voltage`), a (normalized) frequency offset (`frequency_offset`), a sample timing offset (`epsilon`), and a seed (`noise_seed`) to randomize or make reproducible the AWGN noise source.

Multipath can be approximated in this model by using a FIR filter representation of a multipath delay profile with the parameter `taps`.

To simulate a channel with time-variant channel, use gr::channels::channel_model2.

gr::basic_block
gr::channels::channel_model
gr::hier_block2
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::channels::channel_model
gr::hier_block2
hier_message_ports_in
hier_message_ports_out
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< rpcbasic_sptr >
elements
p
- gr::channels::channel_model
  _post
- gr::channels::channel_model
  alias
- gr::channels::channel_model
  alias_pmt
- gr::channels::channel_model
  alias_set
- gr::channels::channel_model
  all_max_output_buffer_p
- gr::channels::channel_model
  all_min_output_buffer_p
- gr::channels::channel_model
  basic_block
- gr::channels::channel_model
  basic_block
- gr::channels::channel_model
  BLACK
- gr::channels::channel_model
  check_topology
- gr::channels::channel_model
  color
- gr::channels::channel_model
  connect
- gr::channels::channel_model
  connect
- gr::channels::channel_model
  d_color
- gr::channels::channel_model
  d_debug_logger
- gr::channels::channel_model
  d_input_signature
- gr::channels::channel_model
  d_logger
- gr::channels::channel_model
  d_message_subscribers
- gr::channels::channel_model
  d_name
- gr::channels::channel_model
  d_output_signature
- gr::channels::channel_model
  d_rpc_set
- gr::channels::channel_model
  d_rpc_vars
- gr::channels::channel_model
  d_symbol_alias
- gr::channels::channel_model
  d_symbol_name
- gr::channels::channel_model
  d_symbolic_id
- gr::channels::channel_model
  d_unique_id
- gr::channels::channel_model
  delete_head_nowait
- gr::channels::channel_model
  disconnect
- gr::channels::channel_model
  disconnect
- gr::channels::channel_model
  disconnect_all
- gr::channels::channel_model
  dispatch_msg
- gr::channels::channel_model
  empty_handled_p
- gr::channels::channel_model
  empty_handled_p
- gr::channels::channel_model
  empty_p
- gr::channels::channel_model
  empty_p
- gr::channels::channel_model
  erase_msg
- gr::channels::channel_model
  flatten
- gr::channels::channel_model
  frequency_offset
- gr::channels::channel_model
  get_iterator
- gr::channels::channel_model
  get_msg_map
- gr::channels::channel_model
  GREY
- gr::channels::channel_model
  has_msg_handler
- gr::channels::channel_model
  has_msg_port
- gr::channels::channel_model
  hier_block2
- gr::channels::channel_model
  hier_block2
- gr::channels::channel_model
  hier_message_ports_in
- gr::channels::channel_model
  hier_message_ports_out
- gr::channels::channel_model
  identifier
- gr::channels::channel_model
  input_signature
- gr::channels::channel_model
  insert_tail
- gr::channels::channel_model
  is_rpc_set
- gr::channels::channel_model
  lock
- gr::channels::channel_model
  log_level
- gr::channels::channel_model
  make
- gr::channels::channel_model
  max_output_buffer
- gr::channels::channel_model
  message_port_is_hier
- gr::channels::channel_model
  message_port_is_hier_in
- gr::channels::channel_model
  message_port_is_hier_out
- gr::channels::channel_model
  message_port_pub
- gr::channels::channel_model
  message_port_register_hier_in
- gr::channels::channel_model
  message_port_register_hier_out
- gr::channels::channel_model
  message_port_register_in
- gr::channels::channel_model
  message_port_register_out
- gr::channels::channel_model
  message_port_sub
- gr::channels::channel_model
  message_port_unsub
- gr::channels::channel_model
  message_ports_in
- gr::channels::channel_model
  message_ports_out
- gr::channels::channel_model
  message_subscribers
- gr::channels::channel_model
  min_output_buffer
- gr::channels::channel_model
  msg_accepter
- gr::channels::channel_model
  msg_connect
- gr::channels::channel_model
  msg_connect
- gr::channels::channel_model
  msg_disconnect
- gr::channels::channel_model
  msg_disconnect
- gr::channels::channel_model
  msg_queue
- gr::channels::channel_model
  name
- gr::channels::channel_model
  nmsgs
- gr::channels::channel_model
  noise_voltage
- gr::channels::channel_model
  opaque_self
- gr::channels::channel_model
  output_signature
- gr::channels::channel_model
  post
- gr::channels::channel_model
  processor_affinity
- gr::channels::channel_model
  rpc_set
- gr::channels::channel_model
  self
- gr::channels::channel_model
  set_block_alias
- gr::channels::channel_model
  set_color
- gr::channels::channel_model
  set_frequency_offset
- gr::channels::channel_model
  set_input_signature
- gr::channels::channel_model
  set_log_level
- gr::channels::channel_model
  set_max_output_buffer
- gr::channels::channel_model
  set_max_output_buffer
- gr::channels::channel_model
  set_min_output_buffer
- gr::channels::channel_model
  set_min_output_buffer
- gr::channels::channel_model
  set_msg_handler
- gr::channels::channel_model
  set_noise_voltage
- gr::channels::channel_model
  set_output_signature
- gr::channels::channel_model
  set_processor_affinity
- gr::channels::channel_model
  set_taps
- gr::channels::channel_model
  set_timing_offset
- gr::channels::channel_model
  setup_rpc
- gr::channels::channel_model
  shared_from_base
- gr::channels::channel_model
  sptr
- gr::channels::channel_model
  symbol_name
- gr::channels::channel_model
  symbolic_id
- gr::channels::channel_model
  taps
- gr::channels::channel_model
  timing_offset
- gr::channels::channel_model
  to_basic_block
- gr::channels::channel_model
  to_hier_block2
- gr::channels::channel_model
  unique_id
- gr::channels::channel_model
  unlock
- gr::channels::channel_model
  unset_processor_affinity
- gr::channels::channel_model
  vcolor
- gr::channels::channel_model
  WHITE
- gr::channels::channel_model
  ~basic_block
- gr::channels::channel_model
  ~hier_block2
- gr::channels::channel_model
  ~msg_accepter