Mon Dec 20 14:16:15 EST 2010

Digitally compensated exponential converter

How to control an analog synth digitally?  What is the best design,
assuming that we want to keep the signal path analog?

  * PROBLEM: Exponential-scale control is necessary for both amplitude
    and frequency somewhere in the control chain.  The question is
    where to implement it?

  * FREE: BJTs cost about $0.02.  Physically, the V_be vs I_c
    characteristic of a BJT is very near to exponential over a large
    current range, but it requires calibration due to the unknown
    curren scaling factor and junction temperature.  

    At room temperature we have a scale of e / 26mV or 20mV per
    octave, which means standard 1V / octave needs about 50x voltage

  * FREE: On-chip processing power is free.  Even on tiny < $1
    microcontrollers, since the control rate is so low.

  * NOT FREE: Digital to analog resolution.  The cases that are
    readily available (PWM, delta-sigma or even ladder DA) all have
    linear error sensitivity, not exponential.

  * The cost of an analog exp converter is mostly the calibration:
    temperature compensation, trimpot component cost, manual
    (mechanical) setup cost.

The collector current is mostly propertional to exp(V_BE/V_T) where
V_T is the thermal voltage[1] equal to k T / q.  The scaling factor
depends on the circuit biasing.

So, essentially, all things being equal, the voltage input that goes
into a BJT based exponential converter has two parameters: scale
(octaves per volt proportional to temperature) and offset, the biasing
current of the network, determined by say 5% resistors.  This affine
transformation can be done in the digital domain.

LM394N matched pair data sheet[2] contains some interesting "log/exp
based application notes.  A true linear-to-exponential converter
schematic can be found in the National AN-30 application note[3].

Using a transistor array for temperature coupling, perform the

  - Factory mismatch calibration: determine whole function transfer:
    from D-A to controlled frequency and measure frequency (if
    separate).  This takes care of controlling and measuring BJT

  - On-line temperature calibration: measure output vs. feedback

So, can it be built with only one transistor?  The schematics I find
all use a matched pair to get rid of the initial biasing problem,
i.e. what current corresponds to 0V input.

[1] http://en.wikipedia.org/wiki/Boltzmann_constant#Role_in_semiconductor_physics:_the_thermal_voltage
[2] http://www.futurlec.com/Datasheet/Linear/LM394N.pdf
[3] http://www.national.com/an/AN/AN-30.pdf