gr::digital::decision_feedback_equalizer
gr::sync_decimator
gnuradio/digital/decision_feedback_equalizer.h
std::shared_ptr< decision_feedback_equalizer > typedef std::shared_ptr<decision_feedback_equalizer> gr::digital::decision_feedback_equalizer::sptr sptr gr::digital::decision_feedback_equalizer::sptr
sptr static sptr gr::digital::decision_feedback_equalizer::make (unsigned num_taps_forward, unsigned num_taps_feedback, 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::decision_feedback_equalizer::make unsigned num_taps_forward unsigned num_taps_feedback 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::decision_feedback_equalizer.

The Decision Feedback Equalizer block equalizes the incoming signal using an FIR filter representing both the forward and feedback taps

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_forward

Number of feedforward taps for the FIR filter

num_taps_feedback

Number of feedback 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::decision_feedback_equalizer::set_taps (const std::vector< gr_complex > &taps)=0 set_taps gr::digital::decision_feedback_equalizer::set_taps const std::vector< gr_complex > & taps taps
std::vector< gr_complex > virtual std::vector< gr_complex > gr::digital::decision_feedback_equalizer::taps () const =0 taps gr::digital::decision_feedback_equalizer::taps equalize set_taps
int virtual int gr::digital::decision_feedback_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::decision_feedback_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}

taps

Decision Feedback Equalizer.

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