22 #ifndef FILTERMODELCONFIG_H
23 #define FILTERMODELCONFIG_H
37 static const unsigned int OPAMP_SIZE = 22;
38 static const unsigned int DAC_BITS = 11;
41 static std::auto_ptr<FilterModelConfig> instance;
43 friend class std::auto_ptr<FilterModelConfig>;
45 static const double opamp_voltage[OPAMP_SIZE][2];
47 const double voice_voltage_range;
48 const double voice_DC_voltage;
56 const double uCox_vcr;
58 const double uCox_snake;
59 const double WL_snake;
62 const double dac_zero;
63 const double dac_scale;
66 const double vmin, norm;
67 double opamp_working_point;
68 unsigned short* mixer[8];
69 unsigned short* summer[5];
70 unsigned short* gain[16];
72 unsigned short vcr_Vg[1 << 16];
73 unsigned short vcr_n_Ids_term[1 << 16];
74 int opamp_rev[1 << 16];
77 double evaluateTransistor(
double Vw,
double vi,
double vx);
79 double getDacZero(
double adjustment)
const {
return dac_zero - (adjustment - 0.5) * 2.; }
85 static FilterModelConfig* getInstance();
87 int getVO_T16()
const {
return (
int)(norm * ((1L << 16) - 1) * vmin); }
89 int getVoiceScaleS14()
const {
return (
int)((norm * ((1L << 14) - 1)) * voice_voltage_range); }
91 int getVoiceDC()
const {
return (
int)((norm * ((1L << 16) - 1)) * (voice_DC_voltage - vmin)); }
93 unsigned short** getGain() {
return gain; }
95 unsigned short** getSummer() {
return summer; }
97 unsigned short** getMixer() {
return mixer; }
107 unsigned int*
getDAC(
double adjustment)
const;
Definition: Integrator.h:42
Definition: FilterModelConfig.h:34
unsigned int * getDAC(double adjustment) const
Definition: FilterModelConfig.cpp:265
double estimateFrequency(double dac_zero, int fc)
Definition: FilterModelConfig.cpp:298