23 #ifndef FILTERMODELCONFIG_H
24 #define FILTERMODELCONFIG_H
44 static const unsigned int DAC_BITS = 11;
47 static std::unique_ptr<FilterModelConfig> instance;
50 friend std::unique_ptr<FilterModelConfig>::deleter_type;
55 const double voice_voltage_range;
56 const double voice_DC_voltage;
69 const double WL_snake;
75 const double dac_zero;
76 const double dac_scale;
80 const double vmin, vmax;
81 const double denorm, norm;
88 unsigned short* mixer[8];
89 unsigned short* summer[5];
90 unsigned short* gain[16];
98 unsigned short vcr_kVg[1 << 16];
99 unsigned short vcr_n_Ids_term[1 << 16];
103 unsigned short opamp_rev[1 << 16];
106 double getDacZero(
double adjustment)
const {
return dac_zero + (1. - adjustment); }
118 int getVoiceScaleS14()
const {
return static_cast<int>((norm * ((1 << 14) - 1)) * voice_voltage_range); }
123 int getVoiceDC()
const {
return static_cast<int>(N16 * (voice_DC_voltage - vmin)); }
125 unsigned short** getGain() {
return gain; }
127 unsigned short** getSummer() {
return summer; }
129 unsigned short** getMixer() {
return mixer; }
139 unsigned short*
getDAC(
double adjustment)
const;