USRP Hardware Driver and Device Manual Version: 4.11.0.0-0-unknown
UHD and USRP Manual
Loading...
Searching...
No Matches
iq_dc_cal.hpp
Go to the documentation of this file.
1//
2// Copyright 2026 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
10#include <uhd/config.hpp>
13#include <complex>
14#include <cstdint>
15#include <memory>
16#include <string>
17#include <vector>
18
19namespace uhd { namespace usrp { namespace cal {
20
33{
34public:
35 using sptr = std::shared_ptr<iq_dc_cal>;
36
46 virtual void set_interp_mode(const uhd::math::interp_mode interp) = 0;
47
53 virtual iq_dc_cal_coeffs_t get_cal_coeff(const double freq) const = 0;
54
60 virtual double get_group_delay(const double freq) = 0;
61
74 virtual void set_cal_coeff(const double freq,
75 const double scaling_factor,
76 const std::vector<double> icross,
77 const std::vector<double> qinline,
78 const double delay = 0,
79 const double dc_offset_real = 0,
80 const double dc_offset_imag = 0) = 0;
81
87 virtual void clear() = 0;
88
90 static sptr make(
91 const std::string& name, const std::string& serial, const uint64_t timestamp);
92
94 static sptr make();
95};
96
97}}} // namespace uhd::usrp::cal
Definition container.hpp:23
Definition iq_dc_cal.hpp:33
virtual void set_cal_coeff(const double freq, const double scaling_factor, const std::vector< double > icross, const std::vector< double > qinline, const double delay=0, const double dc_offset_real=0, const double dc_offset_imag=0)=0
Update / set a calibration coefficient.
static sptr make(const std::string &name, const std::string &serial, const uint64_t timestamp)
Factory for new cal data sets.
static sptr make()
Default factory.
virtual void clear()=0
Clear the list of coefficients.
std::shared_ptr< iq_dc_cal > sptr
Definition iq_dc_cal.hpp:35
virtual double get_group_delay(const double freq)=0
Return the group delay at a given frequency.
virtual iq_dc_cal_coeffs_t get_cal_coeff(const double freq) const =0
Return a calibration coefficient for a given frequency.
virtual void set_interp_mode(const uhd::math::interp_mode interp)=0
Choose interpolation mode.
#define UHD_API
Definition config.h:87
interp_mode
Definition interpolation.hpp:11
Definition cal_utils.hpp:11
Definition cal_utils.hpp:11
Definition build_info.hpp:12
Definition iq_dc_cal_coeffs.hpp:16