Loading...
Searching...
No Matches
uhd::rfnoc::fir_filter_block_control Class Referenceabstract
RFNoC » RFNoC Blocks

`#include <uhd/rfnoc/fir_filter_block_control.hpp>`

Inheritance diagram for uhd::rfnoc::fir_filter_block_control:
[legend]
Collaboration diagram for uhd::rfnoc::fir_filter_block_control:
[legend]

## Public Member Functions

virtual size_t | get_max_num_coefficients (const size_t chan=0) const =0
virtual void | set_coefficients (const std::vector< int16_t > &coeffs, const size_t chan=0)=0
virtual std::vector< int16_t > | get_coefficients (const size_t chan=0) const =0
Public Member Functions inherited from uhd::rfnoc::noc_block_base
| ~noc_block_base () override
std::string | get_unique_id () const override
| Unique ID for an RFNoC block is its block ID.
size_t | get_num_input_ports () const override
size_t | get_num_output_ports () const override
noc_id_t | get_noc_id () const
const block_id_t & | get_block_id () const
double | get_tick_rate () const
size_t | get_mtu (const res_source_info &edge)
size_t | get_chdr_hdr_len (const bool account_for_ts=true) const
size_t | get_max_payload_size (const res_source_info &edge, const bool account_for_ts=true)
uhd::device_addr_t | get_block_args () const
uhd::property_tree::sptr & | get_tree () const
| Return a reference to this block's subtree.
uhd::property_tree::sptr & | get_tree ()
| Return a reference to this block's subtree (non-const version).
std::shared_ptr< mb_controller > | get_mb_controller ()
Public Member Functions inherited from uhd::rfnoc::node_t
| node_t ()
virtual | ~node_t ()
std::vector< std::string > | get_property_ids () const
template<typename prop_data_t>
void | set_property (const std::string &id, const prop_data_t &val, const size_t instance=0)
void | set_properties (const uhd::device_addr_t &props, const size_t instance=0)
template<typename prop_data_t>
const prop_data_t & | get_property (const std::string &id, const size_t instance=0)
virtual void | set_command_time (uhd::time_spec_t time, const size_t instance)
virtual uhd::time_spec_t | get_command_time (const size_t instance) const
virtual void | clear_command_time (const size_t instance)
Public Member Functions inherited from uhd::rfnoc::register_iface_holder
| register_iface_holder (register_iface::sptr reg)
virtual | ~register_iface_holder ()=default
register_iface & | regs ()

## Static Public Attributes

static const uint16_t | MINOR_COMPAT
static const uint16_t | MAJOR_COMPAT
static const uint32_t | REG_FIR_BLOCK_SIZE
static const uint32_t | REG_FIR_MAX_NUM_COEFFS_ADDR
static const uint32_t | REG_FIR_LOAD_COEFF_ADDR
static const uint32_t | REG_FIR_LOAD_COEFF_LAST_ADDR
static const uint32_t | REG_COMPAT_NUM_ADDR
Static Public Attributes inherited from uhd::rfnoc::node_t
static const size_t | ANY_PORT = size_t(~0)

## Additional Inherited Members

Public Types inherited from uhd::rfnoc::noc_block_base
using | sptr = std::shared_ptr<noc_block_base>
using | make_args_ptr = std::unique_ptr<make_args_t>
| Opaque pointer to the constructor arguments.
Public Types inherited from uhd::rfnoc::node_t
enum class | forwarding_policy_t { ONE_TO_ONE , ONE_TO_FAN , ONE_TO_ALL_IN , ONE_TO_ALL_OUT , ONE_TO_ALL , DROP , USE_MAP }
| Types of property/action forwarding for those not defined by the block itself. More...
using | resolver_fn_t = std::function<void(void)>
using | resolve_callback_t = std::function<void(void)>
using | graph_mutex_callback_t = std::function<std::recursive_mutex&(void)>
using | action_handler_t
using | forwarding_map_t
Protected Types inherited from uhd::rfnoc::node_t
using | prop_ptrs_t = std::vector<property_base_t*>
Protected Member Functions inherited from uhd::rfnoc::noc_block_base
| noc_block_base (make_args_ptr make_args)
void | set_num_input_ports (const size_t num_ports)
void | set_num_output_ports (const size_t num_ports)
void | set_tick_rate (const double tick_rate)
void | set_mtu_forwarding_policy (const forwarding_policy_t policy)
void | set_mtu (const res_source_info &edge, const size_t new_mtu)
property_base_t * | get_mtu_prop_ref (const res_source_info &edge)
virtual void | deinit ()
Protected Member Functions inherited from uhd::rfnoc::node_t
void | register_property (property_base_t *prop, resolve_callback_t &&clean_callback=nullptr)
void | add_property_resolver (prop_ptrs_t &&inputs, prop_ptrs_t &&outputs, resolver_fn_t &&resolver_fn)
void | set_prop_forwarding_policy (forwarding_policy_t policy, const std::string &prop_id="")
void | set_prop_forwarding_map (const forwarding_map_t &map)
template<typename prop_data_t>
void | set_property (const std::string &id, const prop_data_t &val, const res_source_info &src_info)
template<typename prop_data_t>
const prop_data_t & | get_property (const std::string &id, const res_source_info &src_info)
void | register_action_handler (const std::string &id, action_handler_t &&handler)
void | set_action_forwarding_policy (forwarding_policy_t policy, const std::string &action_key="")
void | set_action_forwarding_map (const forwarding_map_t &map)
void | post_action (const res_source_info &edge_info, action_info::sptr action)
virtual bool | check_topology (const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs)
Protected Member Functions inherited from uhd::rfnoc::register_iface_holder
void | update_reg_iface (register_iface::sptr new_iface=nullptr)
Static Protected Attributes inherited from uhd::rfnoc::node_t
static dirtifier_t | ALWAYS_DIRTY
| A dirtifyer object, useful for properties that always need updating.

## Detailed Description

FIR Filter Block Control Class

The FIR Filter Block is a finite impulse response filter block for RFNoC.

The RFNoC FIR block supports one input and output port of sc16 data (16-bit fixed-point complex samples) and a configurable (but fixed) number of taps.

## Member Function Documentation

## get_coefficients()

virtual std::vector< int16_t > uhd::rfnoc::fir_filter_block_control::get_coefficients | ( | const size_t | chan = 0 | ) | const

pure virtual

Get the filter coefficients

Return a vector with the current filter coefficients.

Returns
  The vector of current filter coefficients

## get_max_num_coefficients()

virtual size_t uhd::rfnoc::fir_filter_block_control::get_max_num_coefficients | ( | const size_t | chan = 0 | ) | const

pure virtual

Get the maximum number of filter coefficients supported by this block

Get the maximum number of filter coefficients supported by this block.

Returns
  The maximum number of filter coefficients supported by this block

## set_coefficients()

virtual void uhd::rfnoc::fir_filter_block_control::set_coefficients | ( | const std::vector< int16_t > & | coeffs,
|  | const size_t | chan = 0 )

pure virtual

Set the filter coefficients

Set the filter coefficients for this FIR block. The number of coefficients must be equal to or less than the maximum number of coefficients supported by the block. If the vector of coefficients passed to this function is smaller than the maximum number of coefficients supported by the block, it will automatically be padded with zeroes. If the vector of coefficients passed to this function is larger than the maximum number of coefficients supported by the block, a uhd::value_error is thrown.

Parameters

  coeffs | A vector of integer coefficients for the FIR filter
  chan | Channel index

## Member Data Documentation

## MAJOR_COMPAT

const uint16_t uhd::rfnoc::fir_filter_block_control::MAJOR_COMPAT

static

## MINOR_COMPAT

const uint16_t uhd::rfnoc::fir_filter_block_control::MINOR_COMPAT

static

## REG_COMPAT_NUM_ADDR

const uint32_t uhd::rfnoc::fir_filter_block_control::REG_COMPAT_NUM_ADDR

static

## REG_FIR_BLOCK_SIZE

const uint32_t uhd::rfnoc::fir_filter_block_control::REG_FIR_BLOCK_SIZE

static

## REG_FIR_LOAD_COEFF_ADDR

const uint32_t uhd::rfnoc::fir_filter_block_control::REG_FIR_LOAD_COEFF_ADDR

static

## REG_FIR_LOAD_COEFF_LAST_ADDR

const uint32_t uhd::rfnoc::fir_filter_block_control::REG_FIR_LOAD_COEFF_LAST_ADDR

static

## REG_FIR_MAX_NUM_COEFFS_ADDR

const uint32_t uhd::rfnoc::fir_filter_block_control::REG_FIR_MAX_NUM_COEFFS_ADDR

static

The documentation for this class was generated from the following file:

- fir_filter_block_control.hpp