gr::digital::linear_equalizer
gr::sync_decimator
gnuradio/digital/linear_equalizer.h
std::shared_ptr< linear_equalizer > std::shared_ptr<linear_equalizer> gr::digital::linear_equalizer::sptr sptr gr::digital::linear_equalizer::sptr
sptr static sptr gr::digital::linear_equalizer::make (unsigned num_taps, unsigned sps, adaptive_algorithm_sptr alg, bool adapt_after_training=true, std::vector< gr_complex > training_sequence=std::vector< gr_complex >(), const std::string &training_start_tag="") make gr::digital::linear_equalizer::make unsigned num_taps unsigned sps adaptive_algorithm_sptr alg bool adapt_after_training true std::vector< gr_complex > training_sequence std::vector< gr_complex >() const std::string & training_start_tag ""

Return a shared_ptr to a new instance of gr::digital::linear_equalizer.

The Linear Equalizer block equalizes the incoming signal using an FIR filter. If provided with a training sequence and a training start tag, data aided equalization will be performed starting with the tagged sample. If training-based equalization is active and the training sequence ends, then optionally decision directed equalization will be performed given the adapt_after_training If no training sequence or no tag is provided, decision directed equalization will be performed This equalizer decimates to the symbol rate according to the samples per symbol param

num_taps

Number of taps for the FIR filter

sps

int - Samples per Symbol

alg

Adaptive algorithm object

training_sequence

Sequence of samples that will be used to train the equalizer. Provide empty vector to default to DD equalizer

adapt_after_training

bool - set true to continue DD training after training sequence has been used up

training_start_tag

string - tag that indicates the start of the training sequence in the incoming data

void virtual void gr::digital::linear_equalizer::set_taps (const std::vector< gr_complex > &taps)=0 set_taps gr::digital::linear_equalizer::set_taps const std::vector< gr_complex > & taps
std::vector< gr_complex > virtual std::vector< gr_complex > gr::digital::linear_equalizer::taps () const =0 taps gr::digital::linear_equalizer::taps
int virtual int gr::digital::linear_equalizer::equalize (const gr_complex *input_samples, gr_complex *output_symbols, unsigned int num_inputs, unsigned int max_num_outputs, std::vector< unsigned int > training_start_samples=std::vector< unsigned int >(0), bool history_included=false, gr_complex *taps=nullptr, unsigned short *state=nullptr)=0 equalize gr::digital::linear_equalizer::equalize const gr_complex * input_samples gr_complex * output_symbols unsigned int num_inputs unsigned int max_num_outputs std::vector< unsigned int > training_start_samples std::vector< unsigned int >(0) bool history_included false gr_complex * taps nullptr unsigned short * state nullptr

Public "work" function - equalize a block of input samples.

Behaves similar to the block's work function, but made public to be able to be called outside the GNU Radio scheduler on bursty data input_samples

Buffer of input samples to equalize

output_symbols

Buffer of output symbols post equalization

num_inputs

Number of input samples provided

max_num_outputs

Size of output_symbols buffer to write into

training_start_samples

Vector of starting positions of training sequences within the input_samples buffer

history_included

Flag to indicate whether history has been provided at the beginning of the input_samples buffer, as would normally be provided in a work() call. The work() function of this block sets this to true, but in bursty operation, this should be set to false

taps

Optional output vector buffer of tap weights calculated at each sample of the output

state

Optional output state of the equalizer for debug {IDLE, TRAINING, DD}

Linear Equalizer block provides linear equalization using a specified adaptive algorithm.

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