USRP Hardware Driver and USRP Manual: uhd::rfnoc::moving_average_block_control Class Reference

| USRP Hardware Driver and USRP Manual Version: 4.9.0.makepkg-0-g9ec1f582 UHD and USRP Manual |

Loading...
Searching...
No Matches
uhd::rfnoc::moving_average_block_control Class Referenceabstract

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

Inheritance diagram for uhd::rfnoc::moving_average_block_control:

## Public Member Functions
virtual void | set_sum_len (const uint8_t sum_len)=0
virtual uint8_t | get_sum_len () const =0
virtual void | set_divisor (const uint32_t divisor)=0
virtual uint32_t | get_divisor () 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 uint32_t | REG_SUM_LEN_ADDR
static const uint32_t | REG_DIVISOR_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

Moving Average Block Control Class

The Moving Average block is an RFNoC block that computes the running average of an input data stream. The output is the sum of the last SUM_LEN samples divided by DIVISOR which may or may not be equal to SUM_LEN. For example, if SUM_LEN is set to 10 and DIVISOR is set to 10, the block will return a sample that is the average of the last 10 samples. If SUM_LEN is set to 10 and DIVISOR is set to 1, the block will return a sample that is equal to the sum of the last 10 samples.

## Member Function Documentation

## ◆ get_divisor()

virtual uint32_t uhd::rfnoc::moving_average_block_control::get_divisor | ( |  | ) | const
| pure virtual

Return the current divisor

Returns
  The amount to divide the sum by

## ◆ get_sum_len()

virtual uint8_t uhd::rfnoc::moving_average_block_control::get_sum_len | ( |  | ) | const
| pure virtual

Return the current sum length

Returns
  The number of samples to sum

## ◆ set_divisor()

virtual void uhd::rfnoc::moving_average_block_control::set_divisor | ( | const uint32_t | divisor | ) |
| pure virtual

Set the divisor

Parameters

  divisor | The amount to divide the sum by

## ◆ set_sum_len()

virtual void uhd::rfnoc::moving_average_block_control::set_sum_len | ( | const uint8_t | sum_len | ) |
| pure virtual

Set the Sum Length

Changing the sum length will clear the history and reset the accumulated sum to 0.

Parameters

  sum_len | The number of samples to sum

## Member Data Documentation

## ◆ REG_DIVISOR_ADDR

const uint32_t uhd::rfnoc::moving_average_block_control::REG_DIVISOR_ADDR
| static

## ◆ REG_SUM_LEN_ADDR

const uint32_t uhd::rfnoc::moving_average_block_control::REG_SUM_LEN_ADDR
| static

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

- moving_average_block_control.hpp