gr::filter::rational_resampler
gr::block
gnuradio/filter/rational_resampler.h
class IN_T
class OUT_T
class TAP_T
std::shared_ptr< rational_resampler< IN_T, OUT_T, TAP_T > > typedef std::shared_ptr<rational_resampler<IN_T, OUT_T, TAP_T> > gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::sptr sptr gr::filter::rational_resampler::sptr
sptr static sptr gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::make (unsigned interpolation, unsigned decimation, const std::vector< TAP_T > &taps=std::vector< TAP_T >(), float fractional_bw=0.0) make gr::filter::rational_resampler::make unsigned interpolation unsigned decimation const std::vector< TAP_T > & taps std::vector< TAP_T >() float fractional_bw 0.0

Make a rational resampling FIR filter.

interpolation

The integer interpolation rate of the filter

decimation

The integer decimation rate of the filter

taps

The filter taps to control images and aliases

fractional_bw

The fractional bandwidth of the filter (0 to 0.5)

unsigned virtual unsigned gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::interpolation () const =0 interpolation gr::filter::rational_resampler::interpolation
unsigned virtual unsigned gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::decimation () const =0 decimation gr::filter::rational_resampler::decimation
void virtual void gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::set_taps (const std::vector< TAP_T > &taps)=0 set_taps gr::filter::rational_resampler::set_taps const std::vector< TAP_T > & taps
std::vector< TAP_T > virtual std::vector< TAP_T > gr::filter::rational_resampler< IN_T, OUT_T, TAP_T >::taps () const =0 taps gr::filter::rational_resampler::taps

Rational Resampling Polyphase FIR filter with IN_T input, OUT_T output and TAP_T taps.

Make a rational resampling FIR filter. If the input signal is at rate fs, then the output signal will be at a rate of `interpolation` * fs / `decimation`.

The interpolation and decimation rates should be kept as small as possible, and generally should be relatively prime to help reduce complexity in memory and computation.

The set of `taps` supplied to this filterbank should be designed around the resampling amount and must avoid aliasing (when interpolation/decimation < 1) and images (when interpolation/decimation > 1).

As with any filter, the behavior of the filter taps (or coefficients) is determined by the highest sampling rate that the filter will ever see. In the case of a resampler that increases the sampling rate, the highest sampling rate observed is `interpolation` since in the filterbank, the number of filter arms is equal to `interpolation`. When the resampler decreases the sampling rate (decimation > interpolation), then the highest rate is the input sample rate of the original signal. We must create a filter based around this value to reduce any aliasing that may occur from out-of-band signals.

Another way to think about how to create the filter taps is that the filter is effectively applied after interpolation and before decimation. And yet another way to think of it is that the taps should be a LPF that is at least as narrow as the narrower of the required anti-image postfilter or anti-alias prefilter.

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