#include <uhd/rfnoc/fir_filter_block_control.hpp>
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 |
![]() | |
~noc_block_base () override | |
std::string | get_unique_id () const override |
Unique ID for an RFNoC block is its block ID. More... | |
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. More... | |
uhd::property_tree::sptr & | get_tree () |
Return a reference to this block's subtree (non-const version) More... | |
std::shared_ptr< mb_controller > | get_mb_controller () |
![]() | |
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) |
![]() | |
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 const size_t | ANY_PORT = size_t(~0) |
Additional Inherited Members | |
![]() | |
using | sptr = std::shared_ptr< noc_block_base > |
using | make_args_ptr = std::unique_ptr< make_args_t > |
Opaque pointer to the constructor arguments. More... | |
![]() | |
enum | forwarding_policy_t { forwarding_policy_t::ONE_TO_ONE, forwarding_policy_t::ONE_TO_FAN, forwarding_policy_t::ONE_TO_ALL_IN, forwarding_policy_t::ONE_TO_ALL_OUT, forwarding_policy_t::ONE_TO_ALL, forwarding_policy_t::DROP, forwarding_policy_t::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 = std::function< void(const res_source_info &, action_info::sptr)> |
using | forwarding_map_t = std::unordered_map< res_source_info, std::vector< res_source_info > > |
![]() | |
using | prop_ptrs_t = std::vector< property_base_t * > |
![]() | |
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 () |
![]() | |
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) |
![]() | |
void | update_reg_iface (register_iface::sptr new_iface=nullptr) |
![]() | |
static dirtifier_t | ALWAYS_DIRTY |
A dirtifyer object, useful for properties that always need updating. More... | |
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.
|
pure virtual |
Get the filter coefficients
Return a vector with the current filter coefficients.
|
pure virtual |
Get the maximum number of filter coefficients supported by this block
Get the maximum number of filter coefficients supported by this block.
|
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.
coeffs | A vector of integer coefficients for the FIR filter |
chan | Channel index |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |