#include <uhd/cal/iq_dc_cal.hpp>
Class that stores wideband IQ and DC cal data per frequency
The following calibrations use this:
This extends the legacy iq_cal class with support for:
Public Types | |
| using | sptr = std::shared_ptr< iq_dc_cal > |
Public Member Functions | |
| virtual void | set_interp_mode (const uhd::math::interp_mode interp)=0 |
| Choose interpolation mode. More... | |
| virtual iq_dc_cal_coeffs_t | get_cal_coeff (const double freq) const =0 |
| Return a calibration coefficient for a given frequency. More... | |
| virtual double | get_group_delay (const double freq)=0 |
| Return the group delay at a given frequency. More... | |
| 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. More... | |
| virtual void | clear ()=0 |
| Clear the list of coefficients. More... | |
Public Member Functions inherited from uhd::usrp::cal::container | |
| virtual | ~container ()=default |
| virtual std::string | get_name () const =0 |
| Return the name of this calibration table. More... | |
| virtual std::string | get_serial () const =0 |
| Return the device serial of this calibration table. More... | |
| virtual uint64_t | get_timestamp () const =0 |
| Timestamp of acquisition time. More... | |
| virtual std::vector< uint8_t > | serialize ()=0 |
| Return a serialized version of this container. More... | |
| virtual void | deserialize (const std::vector< uint8_t > &data)=0 |
| Populate this class from the serialized data. More... | |
Static Public Member Functions | |
| static sptr | make (const std::string &name, const std::string &serial, const uint64_t timestamp) |
| Factory for new cal data sets. More... | |
| static sptr | make () |
| Default factory. More... | |
Static Public Member Functions inherited from uhd::usrp::cal::container | |
| template<typename container_type > | |
| static std::shared_ptr< container_type > | make (const std::vector< uint8_t > &data) |
| Generic factory for cal data from serialized data. More... | |
| using uhd::usrp::cal::iq_dc_cal::sptr = std::shared_ptr<iq_dc_cal> |
|
pure virtual |
Clear the list of coefficients.
This can be useful in order to drop existing cal data, and load an entirely new set with deserialize().
|
pure virtual |
Return a calibration coefficient for a given frequency.
This function will interpolate to return a valid coefficient for any given frequency.
|
pure virtual |
Return the group delay at a given frequency.
This function will interpolate to return a valid group delay for any given frequency.
|
static |
Default factory.
|
static |
Factory for new cal data sets.
|
pure virtual |
Update / set a calibration coefficient.
This usually only needs to be called by calibration utilities.
| freq | The frequency at which this coefficient is measured |
| scaling_factor | The amount by which the raw data should be scaled. |
| icross | The i cross coefficients |
| qinline | The q inline coefficients |
| delay | The group delay of this coefficient, in samples |
| dc_offset_real | The real part of the DC offset |
| dc_offset_imag | The imaginary part of the DC offset |
|
pure virtual |
Choose interpolation mode.
This class supports two kinds of interpolation: nearest-neighbor, and linear.
| interp | The new interpolation mode |
| uhd::value_error | if the given interpolation mode is not supported. |