23#ifndef FILTERMODELCONFIG6581_H
24#define FILTERMODELCONFIG6581_H
26#include "FilterModelConfig.h"
45 static std::unique_ptr<FilterModelConfig6581> instance;
47 friend std::unique_ptr<FilterModelConfig6581>::deleter_type;
50 static constexpr unsigned int DAC_BITS = 11;
55 static constexpr double VOLTAGE_SKEW = 1.015;
60 const double WL_snake;
65 const double dac_zero;
66 const double dac_scale;
74 unsigned short vcr_nVg[1 << 16];
75 double vcr_n_Ids_term[1 << 16];
82 double getDacZero(
double adjustment)
const {
return dac_zero + (1. - adjustment); }
92 inline double getVoiceDC(
unsigned int env)
const override
100 void setFilterRange(
double adjustment);
110 unsigned short*
getDAC(
double adjustment)
const;
112 inline double getWL_snake()
const {
return WL_snake; }
114 inline unsigned short getVcr_nVg(
int i)
const {
return vcr_nVg[i]; }
115 inline unsigned short getVcr_n_Ids_term(
int i)
const
117 return to_ushort(vcr_n_Ids_term[i] *
uCox);
120 static inline constexpr double getUt() {
return Ut; }
121 inline double getN16()
const {
return N16; }
Definition FilterModelConfig6581.h:43
double getVoiceDC(unsigned int env) const override
Definition FilterModelConfig6581.h:92
unsigned short * getDAC(double adjustment) const
Definition FilterModelConfig6581.cpp:275
Definition FilterModelConfig.h:40
double uCox
Transconductance coefficient: u*Cox.
Definition FilterModelConfig.h:108
static constexpr double Ut
Transistor parameters.
Definition FilterModelConfig.h:103
const double N16
Fixed point scaling for 16 bit op-amp output.
Definition FilterModelConfig.h:116