|
unsigned short ** | getVolume () |
|
unsigned short ** | getResonance () |
|
unsigned short ** | getSummer () |
|
unsigned short ** | getMixer () |
|
virtual Integrator * | buildIntegrator ()=0 |
|
unsigned short | getOpampRev (int i) const |
|
double | getVddt () const |
|
double | getVth () const |
|
unsigned short | getNormalizedValue (double value) const |
|
unsigned short | getNormalizedCurrentFactor (double wl) const |
|
unsigned short | getNVmin () const |
|
int | getNormalizedVoice (float value) const |
|
|
| FilterModelConfig (double vvr, double vdv, double c, double vdd, double vth, double ucox, const Spline::Point *opamp_voltage, int opamp_size) |
|
void | setUCox (double new_uCox) |
|
void | buildSummerTable (const OpAmp &opampModel) |
|
void | buildMixerTable (const OpAmp &opampModel, double nRatio) |
|
void | buildVolumeTable (const OpAmp &opampModel, double nDivisor) |
|
void | buildResonanceTable (const OpAmp &opampModel, const double resonance_n[16]) |
|
|
const double | C |
| Capacitor value.
|
|
const double | Vdd |
| Transistor parameters.
|
|
const double | Vth |
| Threshold voltage.
|
|
const double | Ut |
| Thermal voltage: Ut = kT/q = 8.61734315e-5*T ~ 26mV.
|
|
double | uCox |
| Transconductance coefficient: u*Cox.
|
|
const double | Vddt |
| Vdd - Vth.
|
|
const double | vmin |
|
const double | vmax |
|
const double | denorm |
|
const double | norm |
|
const double | N16 |
| Fixed point scaling for 16 bit op-amp output.
|
|
double | currFactorCoeff |
| Current factor coefficient for op-amp integrators.
|
|
const double | voice_voltage_range |
|
const double | voice_DC_voltage |
|
unsigned short * | mixer [8] |
| Lookup tables for gain and summer op-amps in output stage / filter.
|
|
unsigned short * | summer [5] |
|
unsigned short * | volume [16] |
|
unsigned short * | resonance [16] |
|
unsigned short | opamp_rev [1<< 16] |
| Reverse op-amp transfer function.
|
|
◆ FilterModelConfig()
reSIDfp::FilterModelConfig::FilterModelConfig |
( |
double | vvr, |
|
|
double | vdv, |
|
|
double | c, |
|
|
double | vdd, |
|
|
double | vth, |
|
|
double | ucox, |
|
|
const Spline::Point * | opamp_voltage, |
|
|
int | opamp_size ) |
|
protected |
- Parameters
-
vvr | voice voltage range |
vdv | voice DC voltage |
c | capacitor value |
vdd | Vdd |
vth | threshold voltage |
ucox | u*Cox |
ominv | opamp min voltage |
omaxv | opamp max voltage |
◆ buildIntegrator()
virtual Integrator * reSIDfp::FilterModelConfig::buildIntegrator |
( |
| ) |
|
|
pure virtual |
◆ buildMixerTable()
void reSIDfp::FilterModelConfig::buildMixerTable |
( |
const OpAmp & | opampModel, |
|
|
double | nRatio ) |
|
inlineprotected |
The audio mixer operates at n ~ 8/6 (6581) or 8/5 (8580), and has 8 fundamentally different input configurations (0 - 7 input "resistors").
All "on", transistors are modeled as one - see comments above for the filter summer.
◆ buildResonanceTable()
void reSIDfp::FilterModelConfig::buildResonanceTable |
( |
const OpAmp & | opampModel, |
|
|
const double | resonance_n[16] ) |
|
inlineprotected |
4 bit "resistor" ladders in the bandpass resonance gain necessitate 16 gain tables. From die photographs of the bandpass "resistor" ladders it follows that 1/Q ~ ~res/8 (6581) or 2^((4 - res)/8) (8580) (assuming ideal op-amps and ideal "resistors").
◆ buildSummerTable()
void reSIDfp::FilterModelConfig::buildSummerTable |
( |
const OpAmp & | opampModel | ) |
|
|
inlineprotected |
The filter summer operates at n ~ 1, and has 5 fundamentally different input configurations (2 - 6 input "resistors").
Note that all "on" transistors are modeled as one. This is not entirely accurate, since the input for each transistor is different, and transistors are not linear components. However modeling all transistors separately would be extremely costly.
◆ buildVolumeTable()
void reSIDfp::FilterModelConfig::buildVolumeTable |
( |
const OpAmp & | opampModel, |
|
|
double | nDivisor ) |
|
inlineprotected |
4 bit "resistor" ladders in the audio output gain necessitate 16 gain tables. From die photographs of the volume "resistor" ladders it follows that gain ~ vol/12 (6581) or vol/16 (8580) (assuming ideal op-amps and ideal "resistors").
The documentation for this class was generated from the following files: