|
virtual void | set_alpha (const double alpha, const size_t chan)=0 |
|
virtual double | get_alpha (const size_t chan) const =0 |
|
virtual void | set_beta (const double beta, const size_t chan)=0 |
|
virtual double | get_beta (const size_t chan) const =0 |
|
virtual void | set_delay (const uint16_t delay, const size_t chan)=0 |
|
virtual uint16_t | get_delay (const size_t chan) const =0 |
|
virtual uint16_t | get_max_delay (const size_t chan) 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 |
| Number of input ports. Note: This gets passed into this block from the. More...
|
|
size_t | get_num_output_ports () const override |
| Number of output ports. Note: This gets passed outto this block from the. More...
|
|
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 () |
|
virtual std::string | get_unique_id () const |
| Return a unique identifier string for this node. In every RFNoC graph,. More...
|
|
virtual size_t | get_num_input_ports () const =0 |
|
virtual size_t | get_num_output_ports () const =0 |
|
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 () |
|
|
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 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 | 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::unordered_set< property_base_t * > |
|
| noc_block_base (make_args_ptr make_args) |
|
void | set_num_input_ports (const size_t num_ports) |
| Update number of input ports. More...
|
|
void | set_num_output_ports (const size_t num_ports) |
| Update number of output ports. More...
|
|
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) |
|
virtual void | shutdown () |
|
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...
|
|
Vector IIR Block Control Class
The Vector IIR Block is an RFNoC block that implements an infinite impulse filter with a variable length delay line. The transfer function is defined as follows:
beta
H(z) = ---------------------— 1 - alpha * z ^ -delay
where
- beta is the feedforward tap
- alpha is the feedback tap
- delay (a.k.a. vector length) is the feedback tap delay