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 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 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.
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.