Can a practical ...oscillator, ... be a linear circuit?
Certainly! As long as you define the spec for linearity it has to meet.
Sine Linearity is sometimes defined by THD in -dB or a result of a very high Q BPF from a square wave with another THD result.
- The ideal infinite and real gain Op Amps alike all go to zero gain when saturated.
- At that edge, the gain changes from 0 to that closed-loop gain value
- utilizing these facts allows you to choose, a slightly higher than unity gain that grows from some initial condition to the saturation point. This gain error from "Unity Loop Gain" also controls the THD and the rate of change of the envelope growing to saturation.
- or you can use a 1% gain increase and then have a soft limiter to reduce THD even greater.
- There are many improvements to make a linear oscillator even using LED or Zeners back to back, with a shared resistor, to provide "soft" limiting.
- The higher the Q or smaller the gain error from 1 , the longer the number of cycles it takes to reach saturation.
- the improvement for this is to set an initial condition for Vmax rather than gnd. This step voltage allows it to start oscillating at this peak voltage and settle very fast to steady-state even if the Q is 100k as in SC cut crystals used in OCXO's. (The only latency there is the oven settling time.)
This is controlled by the abrupt change near limiting, but never clips. (added again for clarity)
Thus the ability to regulate the tolerance on a gain error from 1 and the preset voltage pullup for a cap, enables a simple RC 3stage phase shift oscillator to be as stable as and low THD as the total tolerance stackup you choose. Even if using a resistor hybrid with matched values to 100 ppm.
example of the R-value for the needle balancing act vs Aol for 2 OA's.
Here you can reset and see how stable the output is. I chose a gain balancing R tuned to a few ppm to get unity loop gain overall, which is balanced enough to change very slowly in mV from the 10V reset initial condition on +/-15V that it will take millions of cycles to reach Vsat and then stop increasing without noticeable clipping. so THD could be -60dB better or worse depending on the amount of nonlinearity added.
You can change the cap's V+ to 15V and see the result and not have to wait.
There are dozens of other ways to make very low THD sine oscillators and that depends on specs for THD, f, power etc.