How to avoid decay in quadrature oscillator?

Let's consider following quadrature oscillator below (source). It should provide two 90° out of phase sine signals with equal amplitude. It consists of two inverting integrators as well as an inverting amplifier.

I added a momentary switch to initialize it - as far as I understand in many oscillator circuit this is not necessary in practice because none of the components is ideal and we can't have a "pristine" initialization.

However after initializing this circuit I notice the amplitude will eventually start to decay (even without the zener diodes). The source linked above states that the feedback resistor on the top right should be adjusted to ensure a stable oscillation.

As far as I understand, to achieve an oscillation that doesn't decay, the gain of the circuit (if we cut the circuit open at any poin) for the oscillating frequency should be greater or equal to 1.

This means that indicated resistor should be slightly larger to increase the (negative) gain, while the zener diodes are supposed to provide cliping in order to avoid an unbounded growth.

In the linked circuit simulator I didn't manage to achieve a stable oscillation, now I was wondering, is this an issue with the simulation (I don't think so) or is there something else I don't understand or some misconception?

• I tried your falstad sim. The oscillation does die out but very slowly, I mean, it takes many periods to die out. I conclude therefore that the circuit is OK and that the simulator inaccuracy (like numeric rounding errors) causes this to happen. You should try the same circuit also in LTspice or another more "professional" simulator. Or you could build it on a breadboard and see what happens. Sep 25, 2021 at 11:52
• Slamming that first opamp's -ve input to +15 V is a very brutal way to start oscillations. Where did you get that circuit from? Sep 25, 2021 at 15:13
• @Neil_UK I included a link of the source! The method to start the oscillation is just the next best thing I found, so just a terrible hack:) Sep 25, 2021 at 15:57
• @Bimpelrekkie thansk for the suggestion, I'll definitely try that! Sep 25, 2021 at 16:00

What you've drawn is a state variable oscillator without any amplitude stabilization connection.

As you adjust the 1k resistor marked 'this resistor should be adjusted' (now we see why labelling components 'R12' is a good idea), the frequency will change, but not the propensity for the oscillations to grow or die away.

As you adjust that resistor, the loop gain will change, and the frequency passing through the two integrators will change correspondingly to keep the loop gain unity. Try adjusting that resistor to 10k or 100 ohms and observe the large change in frequency. It does affect the frequency, but it's not the best place to control the frequency, especially if you want adjustment over a wide range, as it unbalances the levels through the circuit.

Try a thought experiment (or an experiment with the simulator). What happens if you shunt one of the integrator capacitors with a large value resistor? The oscillation amplitude will decay, because you've introduced loss. So what we need to do is effectively shunt one of the integrators with a negative resistance, to give gain.

Connect a large value resistor R5 between the output of the bottom opamp (OA2), and the inverting input of the righthand opamp (OA3) (where the two 1k's (R1 and R2) meet). Because of the inverting nature of the OA3 connection, it will act like a negative resistance across the integrator.

If it's a large value like 1 MΩ, then the oscillation will grow until the zeners start conducting a little. If it's a smaller value like 10 k, the tendency to grow will be stronger and the zeners will clip more heavily. This is not good for a clean oscillator output waveform, but good as a demonstration of the effect. When stabilizing a diode clipped oscillator like this, only just enough extra gain should be used to overcome losses, no more, to prevent excessive waveform clipping. The waveforms will be better on the outputs of OA1 and OA2 than OA3, due to the extra stage of integration.

simulate this circuit – Schematic created using CircuitLab

• This is an excellent explanation providing a good intuition for me, thank you very much! I'd just like one clarification: To shunt the integrator capacitor with a resistor here means to connect a resistor in parallel to the capacitor, is that correct? Sep 25, 2021 at 16:10
• Very similar to a SOGI, except it's not used as an oscillator, but a quadrature generator. Sep 25, 2021 at 16:29
• @flawr Yes, shunt the capacitor with a resistor introduces loss an the oscilalttion decays. That link showing you the circuit is delinquent in that it doesn't address amplitude stabilisation. The oscillator they show theoretically has unity gain. However, real circuits have errors, and even simulations have numerical rounding errors. All such circuits and simulations need the additional gain (due to R5) and amplitude - dependent loss(due to D1/2 or equivalent) to control their amplitude if they are to continue to unlimited time. Sep 25, 2021 at 16:53