This implements the differential equation of the canonical damped harmonic oscillator,
\[ \frac{dx^2}{dt^2} + (1-A) \frac{dx}{dt} + B x = 0 \]
First, it's turned into an integral equation, since integrators are better than differentiators for a number of reasons.
The damping term has gain 1-A, being implemented as a negative feedback resistor in parallel with an inverting transconductance amplifier -- effectively, a negative resistor -- so the parallel combination has an impedance near infinity, plus or minus. Ideally, neither would be necessary, but small errors due to the op-amps, and circuit parasitics, mean that one way or the other is necessary. Also, in a perfectly linear circuit, there would be no amplitude control whatsoever, so controlling this -- electronically via servo -- will be required to maintain stable output.
![](https://www.seventransistorlabs.com/Images/StateVariableOsc.png)
The gains are implemented using the venerable
operational transconductance amplifier (OTA) LM13700 (essentially the last of its kind -- hopefully it will still be around for a while!). This is operational in that the input is differential and the output is anywhere between the supply rails, but it's different from a conventional op-amp by having variable gain, and a constant current output (a Darlington follower is provided to optionally get a lower output impedance). It's implemented as a diff pair and a series of current mirrors, so you're really just using the gain of the input stage by itself -- and being a BJT pair, this gain has the form of a tanh function.
In practice, the OTA is quite nonlinear, only being reasonable for inputs of 10 or 20mV. (Pre-distortion diodes are also provided, which when biased, extend that range to maybe 30-50mV, at the expense of lower input impedance, and, obviously, a lot of input bias current.) This means the average gain drops somewhat at high amplitudes. Which provides a stabilization mechanism, in lieu of any amplitude servo. Downside, the waveform approximates a rounded off triangle wave, or its integral (a roundedier parabola wave).
The gain does indeed get ornery at low amplitudes, as we should expect from the linear case. That is, a very small turn of R6 causes the waveform to grow or decay quickly (in fractional seconds).
As measured by my Tek 460, captured via
GPIB:
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/smiley.gif)
![](https://www.seventransistorlabs.com/Images/StateVariableOscWfm.png)
Quantization noise aside, that's not a bad circle! A bonus of this type of oscillator is its quadrature outputs.
Tim