gr::filter::dc_blocker_ff
gr::sync_block
gnuradio/filter/dc_blocker_ff.h
std::shared_ptr< dc_blocker_ff > std::shared_ptr<dc_blocker_ff> gr::filter::dc_blocker_ff::sptr sptr gr::filter::dc_blocker_ff::sptr
sptr static sptr gr::filter::dc_blocker_ff::make (int D, bool long_form=true) make gr::filter::dc_blocker_ff::make int D bool long_form true

Make a DC blocker block.

D

(int) the length of the delay line

long_form

(bool) whether to use long (true, default) or short form

int virtual int gr::filter::dc_blocker_ff::group_delay ()=0 group_delay gr::filter::dc_blocker_ff::group_delay

a computationally efficient controllable DC blocker

This block implements a computationally efficient DC blocker that produces a tighter notch filter around DC for a smaller group delay than an equivalent FIR filter or using a single pole IIR filter (though the IIR filter is computationally cheaper).

The block defaults to using a delay line of length 32 and the long form of the filter. Optionally, the delay line length can be changed to alter the width of the DC notch (longer lines will decrease the width).

The long form of the filter produces a nearly flat response outside of the notch but at the cost of a group delay of 2D-2.

The short form of the filter does not have as flat a response in the passband but has a group delay of only D-1 and is cheaper to compute.

The theory behind this block can be found in the paper:

R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, Mar. 2008, pp 132-134.

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