24    typedef std::shared_ptr<filter_info_base> 
sptr;
 
 
   60    std::string _analog_type;
 
   63    typedef std::shared_ptr<analog_filter_base> 
sptr;
 
   66        size_t position_index,
 
   67        const std::string& analog_type)
 
 
 
   87    typedef std::shared_ptr<analog_filter_lp> 
sptr;
 
   90        size_t position_index,
 
   91        const std::string& analog_type,
 
 
 
  119template <
typename tap_t>
 
  131    typedef std::shared_ptr<digital_filter_base> 
sptr;
 
  134        size_t position_index,
 
  136        uint32_t interpolation,
 
  138        tap_t tap_full_scale,
 
  139        uint32_t max_num_taps,
 
  140        const std::vector<tap_t>& taps)
 
 
  184        std::ostringstream os;
 
  186           << 
"\tinput rate: " << 
_rate << std::endl
 
  191           << 
"\ttaps: " << std::endl;
 
  194        for (
size_t i = 0; i < 
_taps.size(); i++) {
 
  195            os << 
"(tap " << i << 
": " << 
_taps[i] << 
")";
 
  196            if (((i % 10) == 0) && (i != 0)) {
 
  197                os << std::endl << 
"\t\t";
 
  201        return std::string(os.str());
 
 
 
  205template <
typename tap_t>
 
  209    typedef std::shared_ptr<digital_filter_fir<tap_t>> 
sptr;
 
  213        size_t position_index,
 
  215        uint32_t interpolation,
 
  218        uint32_t max_num_taps,
 
  219        const std::vector<tap_t>& taps)
 
 
  235        std::size_t num_taps = taps.size();
 
  238                                             "coefficients. Appending zeros";
 
  239            std::vector<tap_t> coeffs;
 
  240            for (
size_t i = 0; i < this->_max_num_taps; i++) {
 
  242                    coeffs.push_back(taps[i]);
 
  247            this->
_taps = coeffs;
 
 
 
UHD_INLINE const std::string & get_analog_type()
Definition filters.hpp:73
std::string to_pp_string() override
analog_filter_base(filter_type type, bool bypass, size_t position_index, const std::string &analog_type)
Definition filters.hpp:64
std::shared_ptr< analog_filter_base > sptr
Definition filters.hpp:63
std::shared_ptr< analog_filter_lp > sptr
Definition filters.hpp:87
analog_filter_lp(filter_type type, bool bypass, size_t position_index, const std::string &analog_type, double cutoff, double rolloff)
Definition filters.hpp:88
std::string to_pp_string() override
UHD_INLINE double get_cutoff()
Definition filters.hpp:101
UHD_INLINE void set_cutoff(const double cutoff)
Definition filters.hpp:111
UHD_INLINE double get_rolloff()
Definition filters.hpp:106
uint32_t _decimation
Definition filters.hpp:125
digital_filter_base(filter_type type, bool bypass, size_t position_index, double rate, uint32_t interpolation, uint32_t decimation, tap_t tap_full_scale, uint32_t max_num_taps, const std::vector< tap_t > &taps)
Definition filters.hpp:132
UHD_INLINE uint32_t get_interpolation()
Definition filters.hpp:162
std::string to_pp_string() override
Definition filters.hpp:182
std::shared_ptr< digital_filter_base > sptr
Definition filters.hpp:131
tap_t _tap_full_scale
Definition filters.hpp:126
UHD_INLINE std::vector< tap_t > & get_taps()
Definition filters.hpp:177
uint32_t _interpolation
Definition filters.hpp:124
UHD_INLINE double get_output_rate()
Definition filters.hpp:152
UHD_INLINE uint32_t get_tap_full_scale()
Definition filters.hpp:172
double _rate
Definition filters.hpp:123
UHD_INLINE double get_input_rate()
Definition filters.hpp:157
uint32_t _max_num_taps
Definition filters.hpp:127
UHD_INLINE uint32_t get_decimation()
Definition filters.hpp:167
std::vector< tap_t > _taps
Definition filters.hpp:128
std::shared_ptr< digital_filter_fir< tap_t > > sptr
Definition filters.hpp:209
void set_taps(const std::vector< tap_t > &taps)
Definition filters.hpp:233
digital_filter_fir(filter_info_base::filter_type type, bool bypass, size_t position_index, double rate, uint32_t interpolation, uint32_t decimation, tap_t tap_bit_width, uint32_t max_num_taps, const std::vector< tap_t > &taps)
Definition filters.hpp:211
Definition filters.hpp:22
UHD_INLINE filter_type get_type()
Definition filters.hpp:38
virtual std::string to_pp_string()
virtual ~filter_info_base()
Definition filters.hpp:43
size_t _position_index
Definition filters.hpp:53
filter_type _type
Definition filters.hpp:51
filter_type
Definition filters.hpp:25
@ DIGITAL_I16
Definition filters.hpp:25
@ ANALOG_BAND_PASS
Definition filters.hpp:25
@ DIGITAL_FIR_I16
Definition filters.hpp:25
@ ANALOG_LOW_PASS
Definition filters.hpp:25
virtual UHD_INLINE bool is_bypassed()
Definition filters.hpp:33
std::shared_ptr< filter_info_base > sptr
Definition filters.hpp:24
filter_info_base(filter_type type, bool bypass, size_t position_index)
Definition filters.hpp:27
bool _bypass
Definition filters.hpp:52
#define UHD_INLINE
Definition config.h:65
#define UHD_API_HEADER
Definition config.h:88
#define UHD_API
Definition config.h:87
#define UHD_LOGGER_WARNING(component)
Definition log.hpp:272
Definition build_info.hpp:12
UHD_API_HEADER std::ostream & operator<<(std::ostream &os, filter_info_base &f)