I have simulated the following circuit in LTSpice:

enter image description here

enter image description here

enter image description here

One can see that a stable sine wave with a peak of about 6.3 V is obtained, which has a frequency of 1 kHz (I calculated the RC network values to obtain 1kHz with the fromula which takes into account loading). There's very little distortion, too, in the sense that there's no clipping present. If I decrease the value of \$R_{11}\$ to about 35-36 k\$\Omega\$, then the frequency of oscillation will increase and its peak will further deacrease. If I increase the value of the same resistor, frequency will decrease and peak amplitude will increase. I tried to increase the value of the feedback resistor till 1.5 M\$\Omega\$, which halted oscillation, but I was never able to make the output saturate too much, which precisely means effectively obtaining a peak horizontal line instead of a point, similar to a square wave.

I was expecting to see some form of saturation, but it seems the op-amp continuously reduces loop gain until unity is reached during the short transient when oscillations are still increasing. Why is this happening? It seems there's no need for automatic gain control here.

I was thinking that maybe max op-amp output voltage swing falling with frequency is at play, but the corresponding graph in the OP07 datasheet did not convince me. How should I correlate the change of the feedback resistor value with its effects?

Thank you!

UPDATE 1: I re-calculated capacitor values to be able to use 10 k\$\Omega\$ resistors:

enter image description here

enter image description here

Now clipping is clearly present, as expected. Amplitude does not change with gain anymore, but frequency does. I am still trying to understand why current limiting didn't produce as much clipping before and I wonder why frequency still changes (might be useful for the others since @LvW says it is not covered in literature and I'm very curious about it, too)?


I have eliminated \$R_{12}\$ and I have set \$R_{15}\$ to 10 k\$\Omega\$ so that the op-amp input resistor does not load change the bias of the last high-pass filter, as recommended by @Kevin White. It takes the oscillator a bit over a second to reach steady-state, which means just the right amount of op-amp gain is applied so as to make the oscillations start. The frequency of these oscillations is about 937 Hz.

enter image description here

enter image description here

enter image description here

The only thing that keeps happening is that increasing \$R_{11}\$ still decreases frequency. I doubt the op-amp or the RC network are loaded this time. I have performed a simulation similar to that in @frr's answer (but with \$R_4\$ removed and with a resistor between V1 and ground before \$R_5\$ representing the feedback resistor) and varying the feedback resistor didn't change the filter response. I think the changing frequency has to do with how the waveform is distorted. Here is an example at how the waveform looks with the feedback resistor set to 400 k\$\Omega\$, obtaining a waveform of about 839 Hz:

enter image description here

So then, the last thing I am trying to figure out is how frequency still changes with gain.

Update 3:

Thanks everyone for your help! I have accepted one answer, however if I would have wanted to accept both that of @Kevin White and @James (but the site won't let me).

  • \$\begingroup\$ Try replacing the opamp with a VCVS. \$\endgroup\$ Commented Aug 12, 2022 at 20:59
  • \$\begingroup\$ I advice you to not use a phase shift oscillator if you are actually going to build it. \$\endgroup\$
    – Hedgehog
    Commented Aug 12, 2022 at 22:32
  • \$\begingroup\$ @Hedgehog I already did, but with a different op amp. I had to increase R11 to 100kohm because oscillations wouldn't start otherwise. Are you saying that the phase shift oscillator is not a great topolgy in itself? \$\endgroup\$ Commented Aug 12, 2022 at 23:29
  • \$\begingroup\$ @Daniel Tork The phase-shift oscillator is as good as each other oscillator unless there are some special requirements (frequency stability, tuning alternatives, quality of the signal (THD), Sensitivity to tolerances,...). Follow the advice of Kevin White - and you will observe clipping. HOWEVER, there is a more interesting and challenging question: WHY does the oscillation frequency change with the gain of the opamp? You will notice such a frequency shift also in case of clipping (corrected parts values). This question is NOT answered in the literature up to now (as far as I know). \$\endgroup\$
    – LvW
    Commented Aug 13, 2022 at 8:55
  • \$\begingroup\$ Now you have increased the resistor values, the effective resistance of the last RC stage is 10k//1k = about 900R, 1k is the effective input impedance of the amplifier which is in parallel with the last 10k resistor. So, I am surprised it oscillates at all but maybe the increased phase advance of that last RC stage (because of the reduced resistance) is being cancelled by the closed loop phase lag across the amplifier resulting from the large gain keeping the loop phase at 360 degrees. \$\endgroup\$
    – user173271
    Commented Aug 13, 2022 at 12:09

3 Answers 3


The 50 ohm resistors you are using in the phase-shift network are extremely low and are probably causing current-limiting in the output stage of the opamp.

The limiting will not happen at the peaks of the waveform where saturation would normally occur because of the phase shift in the RC network. With the approximately 60 degree phase shift of the first section I would expect saturation to occur about 60 degrees before the peak. The OP07 data sheet doesn't state maximum current but most opamps limit at 30-50mA. 50mA into the R14 (50 ohm) is about 5V pk-pk.

A more common value of the resistors would be between 10k and 100k with the capacitor value changed appropriately. Outside that range stray capacitance, leakage current or drive current can be problems.

For the final RC stage a preferred arrangement is to remove R12 and set R15 to 10k. As shown the final stage has a resistance value of 10k in parallel with 1k.

With R15 at 10k R11 would need to be about 300k to provide a gain of slightly more than 29, which is the attenuation of a 3-stage equal value RC network to provide 180 degrees of phase shift. If you need more gain than that something is not correct.

One common difficulty with simulating oscillators is how to get them to start-up. In real circuits noise or start-up transients provide the necessary stimulation. That may not exist in a simulation and an explicit start-up mechanism may need to be provided.

The OP07 amplifier is not very high gain bandwidth and the phase shift it incurs needs to be taken into account when calculating the oscillation frequency. Higher performance amplifiers will have less detrimental effect.

  • \$\begingroup\$ I am going to try your suggestion, thanks. However, I was able to achieve 12 V peak output after increasing the value of R11. How come? \$\endgroup\$ Commented Aug 12, 2022 at 23:32
  • \$\begingroup\$ I do not understand your last sentence. In your original contribution you have stated the opposite ("If I increase the value of the same resistor, frequency will decrease and peak amplitude will decrease."). More than that, I agree with Kevin White - decrease all the caps vy a factor of at least 10 and increase the resistors (R12---R14) by the same amount. You will observe clipping. \$\endgroup\$
    – LvW
    Commented Aug 13, 2022 at 8:13
  • \$\begingroup\$ Yup, that did the trick. Too bad it's a bad idea to rely on the current limiting of the op-amp, otherwise it would have made for an interesting idea for gain control. Yeah, thanks for the catch @LvW, fixed the self-contradiction now. \$\endgroup\$ Commented Aug 13, 2022 at 9:32
  • \$\begingroup\$ R15 should also be increased or the final RC section would not be correct. Since the attenuation of a three section network is ~29 at 180 degree phase shift the amplifier gain should be set to be just slightly more to minimize clipping. It is set to 180 in the updated schematic. \$\endgroup\$ Commented Aug 13, 2022 at 19:04
  • \$\begingroup\$ It stops oscillating when the feedback resistor is 177 kohm, so the gain does have to be much higher than 29. When I change R15 to 1Meg, the feedback resistor will allow oscillation from 182 Mohm onwards. \$\endgroup\$ Commented Aug 16, 2022 at 11:51

That high pass filter version of the phase shift oscillator has an inherent design flaw which causes a problem in a practical implementation of the circuit.

If we can firstly accept that saturation of the amplifier's output is a necessary requirement in the phase shift oscillator in order to stabilize the amplitude of the output waveform by using the saturation to reduce the loop gain to unity (one).

Although saturation is a necessary requirement, in the 3 high pass filter version of the phase shift oscillator, it is saturation which leads to a knock-on problem. During the period of time in each cycle when the amplifier's output waveform is saturated, and the input to the 3 high pass filters is held at a constant voltage, the 3 capacitors will be charging exponentially via their associated resistances. This puts a negative going spike into the sine wave at the output of the section of circuitry making up the 3 high pass filters.

So, at the output of the amplifier their is a non-linearity caused by saturation and at the output of the 3 high pass filter section their is a negative going spike occurring on the sine wave when it is at its negative peak.

To circumvent this inherent design flaw in the high pass filter version of the phase shift oscillator I would recommend using the low pass filter version instead ( 3 cascaded low pass RC filters). With this version, the 3 low pass filters work their magic to filter out most of the high frequency harmonics caused by the 'flat' on the waveform resulting from saturation. This leaves a nice low distortion sine wave at the output of the 3 low pass RC filters.

There is one small problem left to tackle, the output of the last RC low pass filter can be loaded by the amplifier's input resistor (particularly if this resistor has a relatively low value). To circumvent this problem, a unity gain buffer would be placed between the last RC low pass filter and the amplifier's input resistor.

The output sine wave would then be "tapped off" from the output of the unity gain buffer and amplified as necessary.


I would suggest that there is a reduced oscillation frequency at the higher gain because at the higher gain there is more phase lag across the amplifier at any given frequency. When I say phase lag across the amplifier I mean closed loop phase lag.

The OPO7 has a GBW of 0.6 MHz and so with a closed loop gain of 30 (beta=1/31) the -3dB bandwidth will be 19.3 kHz. With a closed loop gain of 40 (beta=1/41) the -3dB bandwidth will be 14.6kHz.

The closed loop phase lag is -45 degrees at the -3dB frequency and so we can see that for the higher closed loop gain the phase lag must be higher at every frequency. The higher gain amplifier reaches the -3dB frequency, where the lag is -45 degrees, at a lower frequency.

In the ideal case where there is 60 degrees of lead across each RC section and 180 degrees of lag across the amplifier, the oscillation frequency will be:-


But in your situation there will be some extra lag across the amplifier giving a total closed loop phase lag for the amplifier of let's say -186 degrees at 955.5 Hz.

But the oscillator will stabilize at a slightly lower frequency where the loop phase lag is zero degrees. At this slightly lower frequency (937 Hz) the amplifier's closed loop phase lag might be (let's say) -183 degrees with 61 degrees of lead across each RC section. The increase of lead from 60 degrees to 61 degrees implies a reduction in frequency for a high pass filter.

Now if we increase the amplifier's closed loop gain further to 40, the amplifier's closed loop lag increases a bit more and the lead across each RC section also increases a bit forcing the frequency to reduce further (839 Hz).

So, I would say (until someone comes up with a better explanation) that the reduction in frequency that you are seeing is due to the amplifier's closed loop phase lag which increases as its closed loop gain is increased.


You could try an using op amp with a significantly higher GBW than that of the OP07 (0.6 MHz). This will have less closed loop phase lag at the gains and oscillation frequencies which you are dealing with. You could then see if the reductions in frequencies below the ideal frequency (955.5 Hz) are less than with the 0P07.

  • 1
    \$\begingroup\$ I agree that the lowpass version has many advantages if compared with the highpass realization. HOWEVER, there is one simple trick to circumvent the mentioned loading problem as well as the necessity for an additional buffer amplifier: A closed loop consisting of two identical RC-lowpass sections followed by the classical inverting Miller integrator stage (no extra gain stage). The integration capacitor must be Cr=C/12 and the oscillation frequency is wo=SQRT(3)/RC. \$\endgroup\$
    – LvW
    Commented Aug 14, 2022 at 9:09
  • \$\begingroup\$ @LvW Yes, I remember reading about that configuration in H&H in the Oscillators chapter. Very interesting. \$\endgroup\$
    – user173271
    Commented Aug 14, 2022 at 9:12
  • \$\begingroup\$ I think closed loop gain should be 1/beta with beta = 1/30 and 1/40. I don't see where you got 1/31 and 1/41. The closed loop bandwidth is specified at an open loop gain of 1, which is strange. The idea behind everything makes sense, but I don't trust the calculations. \$\endgroup\$ Commented Aug 17, 2022 at 18:20
  • \$\begingroup\$ At an open loop gain of 1, the oscillator is on the verge of losing sustained ocillation. EDIT: on the verge of losing the ability to oscillate in a sustained fashion, if other conditions are favourable (phase shift an integer multiple of 360 degrees) \$\endgroup\$
    – frr
    Commented Aug 17, 2022 at 18:30
  • 1
    \$\begingroup\$ Ok, I 100% agree with your theory and calculations. However, all this theory is based on the idea that the other poles (other than the one at the corner frequency) do not affect the bandwidth. This will work for some amps, but not for others, it seems. For this op amp, the bandwidth for Rf=300 kohm is 28.24 kHz and Rf=400 kohm is 21 kHz. The op amp phase shift increases while the RC stage phase shift decreases with decreasing frequency. I got all these from an LTSpice simulation. \$\endgroup\$ Commented Aug 18, 2022 at 15:21

I've tried to approximately simulate, in QucsStudio, the amplitude and phase response of the third-order RC filter (high pass) in your feedback network.

Schematic: schematic of the simulated 3rd-order RC high-pass

And this is what I got:

Amplitude and phase

Caveat: the step in the phase response may look way cool and dramatic - until you realize, that the phase domain is circular, 360 degrees total, and this is probably just the simulator's way of handling the smooth transition through +/- 180 degrees, between two consecutive horizontal "calculation points" in the simulation (I have no clue how to eliminate this step in the sim or in the display).

Then again, the point of 180 degrees is important. Because an ideal op-amp inverts the phase = shifts phase by exactly 180 degrees for the negative feedback network.

From the Nyquist's stability criterion, the circuit will want to oscillate at a frequency where total closed-loop amplification is greater than 1 (= gain greater than 0 dB) and the total phase shift is an integer multiple of 360 degrees. That's considering pure linear oscillation (no non-linear effects).

In my schematic, the source resistance (R5) is a substitute for the op-amp's output characteristics. As Kevin White has suggested, your original impedance of the RC filter could be "dangerously close" to the output impedance of your op-amp, which was likely affecting your results. By making the resistances in the filter way higher, you allowed the op-amp in your circuit to behave "closer to ideal". I have based my simulation of the latter version of your circuit, i.e. with 10k resistors to GND. I didn't really know what resistance to substitute for the op-amp, because on the one hand, op-amps have a limited current sourcing/sinking capability, but within that limit, the extreme open-loop gain makes the op-amp behave like a very low source impedance. So I just went with 200 Ohms to start with. When I decreased this to 2 Ohms, the resulting phase response has not changed very much. When I increased this to 10 kOhms, the tuning of the high-pass filter has shifted significantly lower, the 180deg phase transition was now at about 1 kHz. It's interesting BTW that your simulation puts this at about 1250 Hz = higher than my original result (about 1050 Hz).

I mean to say that increasing the effective output impedance (resistance) of the op-amp may lower the 180deg phase point of the RC filter and thus the oscillating frequency of the whole circuit.

Another factor is, that adding more gain may make your op-amp respond slower, i.e. add a wee bit more phase shift of its own. Thus, less phase shift needs to be contributed by the RC filter, less than 180 degrees. I'm wondering in which direction :-) I.e. another possible explanation of a frequency-shifting effect.

Yet another factor may be, that by cranking up the gain, you are worsening the non-linearity of the circuit. Close to the power rails, the gain gets lower, and during hard clipping, the AC amplification is effectively 0. I don't have a detailed picture in my mind, how this non-linearity would affect the overall frequency (with increasing gain) but intuitively, the clipping circuit behaves closer to a hysteretic multivibrator, where the frequency is partly determined by the slew rate at the edges and by the spacing of the up/down flipping threshold voltages. (And yes, by the RC delay.) This effect is especially strong in an RC sawtooth generator, using a proper comparator (or op-amp) as the hystheretic input. If you've ever built an astable multivibrator, just with logic gates or transistors, used a large elyt to filter its power, and disconnected the PSU and let the circuit "die slowly", you have probably observed some degree of a frequency-shifting effect as the power rail voltage was gradually sagging...

Even in your circuit, which appears neatly linear / sinusoidal, clipping in fact happens all the time, as long as the circuit oscillates. There needs to be a little bit of excess gain, for the oscillation to be self-sustaining. That excess gain gets wasted close to the power rails. If that excess is not too much, the clipping is "soft", hidden to the naked eye - it would appear in a spectral analysis as some content of higher harmonics, gradually growing as you would increase the gain.

  • \$\begingroup\$ Well - I will not argue against your explanations - they certainly will influence the oscillator properties. HOWEVER, they cannot explain the effect (I have annouced/mentioned in another comment): The oscillation frequency of the circuit as shown in Daniel Torks update is 1.2 kHz. This is confirmed by a loop gain ac simulation which shows a zero loop phase also at 1.2 kHz. BUT if we increase the gain by a factor of "2" (360k instead of 180k) the frequency is only 1kHz (a change of 20%) with increased clipping (no surprise), but the loop phase is still at zero deg. (oscillation condition). \$\endgroup\$
    – LvW
    Commented Aug 13, 2022 at 13:28
  • \$\begingroup\$ Sorry - the last sentence is uncomplete: .......but the loop phase of zero deg (oscillation condition) still is at 1.2kHz (but it oscillates at only 1 kHz). Contradiction? \$\endgroup\$
    – LvW
    Commented Aug 13, 2022 at 13:52
  • \$\begingroup\$ If the loop phase zero degrees is simulated at 1.2 kHz, but the oscillator actually runs at 1 kHz, that's exactly the scenario where I would put the blame on non-linear effects :-) i.e. flipflop territory. \$\endgroup\$
    – frr
    Commented Aug 13, 2022 at 14:09
  • \$\begingroup\$ Have you ever played a harmonica, or some such toy on the same principle? If you blow too hard, the tone sags. Makes me wonder if the principle of the effect is similar :-D \$\endgroup\$
    – frr
    Commented Aug 13, 2022 at 14:11
  • \$\begingroup\$ Yes - clipping is non-linear effect. No doubt about it. However, there are oscillators which do NOT alter the frequency when clipping occurs. So - what is the specific explanation? \$\endgroup\$
    – LvW
    Commented Aug 13, 2022 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.