42class FilterModelConfig6581 final :
public FilterModelConfig
45 static std::unique_ptr<FilterModelConfig6581> instance;
47 friend std::unique_ptr<FilterModelConfig6581>::deleter_type;
55 static constexpr double VF_TR_RATIO = 1.07;
58 static constexpr unsigned int DAC_BITS = 11;
63 static constexpr double VOLTAGE_SKEW = 1.015;
68 const double WL_snake;
73 const double dac_zero;
74 const double dac_scale;
82 uint16_t vcr_nVg[1 << 16];
83 double vcr_n_Ids_term[1 << 16];
93 double getDacZero(
double adjustment)
const {
return dac_zero + 2. * adjustment - 1.; }
97 FilterModelConfig6581();
98 ~FilterModelConfig6581() =
default;
113 void setFilterRange(
double adjustment);
115 void enableOldCaps(
bool enable);
125 uint16_t*
getDAC(
double adjustment)
const;
127 inline double getWL_snake()
const {
return WL_snake; }
129 inline uint16_t getVcr_nVg(
int i)
const {
return vcr_nVg[i]; }
130 inline uint16_t getVcr_n_Ids_term(
int i)
const
132 return to_uint16(vcr_n_Ids_term[i] * vcr_mult);
135 static inline constexpr double getUt() {
return Ut; }
136 inline double getN16()
const {
return N16; }