Tool 06

Sine Oscillator Design

Five ways to make a sine wave out of op-amps, resistors and capacitors, with the component values, the amplitude control each one needs, the distortion to expect and what the op-amp's own speed does to the frequency. The loop is solved with the op-amp in it, so the RC values are retuned for its lag and the frequency lands where it says; the comparison says which to build and why, and the download is a drawn LTspice schematic that starts and settles on its own.

01

Specification

runs at 993 Hz

One op-amp, an RC series and an RC parallel arm. The loop loses only 1/3 at f0, so the amplifier needs a gain of just 3: the lowest of any of these, which is why it is the least demanding on the op-amp and the easiest to make clean.

00

Start here

about 9 minutes, interactive
New to oscillators: where the sine wave comes from, with a little maths and four figures to move

An oscillator has nothing connected to its input, yet a clean sine wave comes out. Inside is a loop that hands the output back to the input at exactly the right size and exactly in step, and designing one means meeting those two conditions and keeping them met.

A wave from nothing

When the supply comes on, a sine wave appears at the output with nothing feeding the input. The circuit is one to four op-amps, the amplifier chips, and a few resistors and capacitors. Two numbers describe the wave. The frequency is how many cycles it makes each second, in hertz: at 1.00 kHz one cycle lasts 1.00 ms. The amplitude is its height from the middle line to a peak, in volts: 3.00 V peak swings from -3.00 V to +3.00 V.

Those are the first two numbers in the Specification above. The tool turns them into part values, predicts what the finished circuit will really give, and writes a schematic for a simulator. The sections below explain where the wave comes from and what holds it steady.

The howl of a microphone: a loop that feeds itself

Everyone has heard a microphone howl. Sound from the speaker reaches the microphone, is amplified and comes out louder, again and again. Past a certain volume one pitch takes over, grows until the amplifier can give no more, and stays; turned down, it dies away. An oscillator is that howl built on purpose.

An amplifier multiplies a wave by its gain, A. Here it sends its output back to its own input through a network of resistors and capacitors, which hands back a fraction, beta. Each trip round the loop multiplies whatever is there, even a trace of noise, by A times beta, the loop gain: under 1 it fades, over 1 it grows. The figure runs a wave round such a loop, one trip per cycle, from the loop gain this design starts with, 1.053; the limiter switch stands for the part that holds the size. In the real circuit the wave goes round continuously and grows faster: 65 percent per cycle here, the row in section 02.

Each trip round the loop multiplies the wave by 1.053: it grows, then parks near 2.9 V where the limiter brings the gain back to 1. After 30 cycles the wave is 2.88 V. A real oscillator is set a few percent above 1 so that it always starts, and the limiter, not the gain, decides the size it ends up at.

At a loop gain of 0.990 the wave fades, at 1.000 it holds only while nothing disturbs it, and at 1.050 it grows. With the limiter on, every gain above 1 heads for the same 2.93 V, so the limiter, not the gain, sets the final size. That is why the Specification asks for an excess gain instead of exactly 1.

The one rule, written down

One trip round the loop multiplies the wave by A, then by beta. The wave keeps its size only when the product is exactly 1. It also has to come back in step: a wave that returns a little early or late does not line up with the one already there. Those two conditions together are Barkhausen's condition, and every circuit on this page obeys it.

In the Wien bridge and the ladders the network turns the wave by a different angle at every frequency, so the angle picks the one frequency that comes back lined up, called f0. The size condition then says what the amplifier must supply: exactly what the network throws away there. With the Wien bridge chosen above, the network passes one third of the wave there, so the amplifier must multiply by 3.

Barkhausen's condition, then what it asks of this design's amplifier:

A β=1⟺∣A β∣=1  and  ∠(Aβ)=0∘here: ∣β(f0)∣=13  at f0=995 Hz ⇒ A=3\begin{gathered} A\,\beta = 1 \quad\Longleftrightarrow\quad |A\,\beta| = 1 \ \text{ and } \ \angle(A\beta) = 0^\circ \\ \text{here: } |\beta(f_0)| = \dfrac{1}{3} \ \text{ at } f_0 = 995\,\text{Hz} \ \Rightarrow\ A = 3 \end{gathered}

One resistor and one capacitor

The capacitor is what turns the wave. A capacitor passes changes and blocks steady voltages, so it lets fast waves through and holds slow ones back. With a capacitor in the signal path and a resistor to ground, the pair does two things to a sine: it makes it smaller, and it shifts it along in time. The shift is the phase, called the turn on this page, in degrees out of the 360 of one cycle.

Both effects depend on frequency, and one number sets them, the corner frequency: there the pair passes 71 percent of the wave and turns it by 45 degrees, an eighth of a cycle. R, the resistor's value, and C, the capacitor's, alone fix it. With the parts swapped, capacitor to ground, the pair does the mirror image: it passes slow waves and shifts them later instead of earlier. The Wien bridge uses one pair of each kind.

The corner frequency of one pair, then with this design's R and C:

fc=12πRC=12π×16.0 kΩ×10.0 nF=995 Hzf_c = \dfrac{1}{2\pi RC} = \dfrac{1}{2\pi \times 16.0\,\text{k}\Omega \times 10.0\,\text{nF}} = 995\,\text{Hz}

Grey: the wave going in. Blue: what the pair passes. At 995 Hz this pair passes 70.7 percent of the wave and shifts it 45 degrees earlier. Its corner, 1 / (2π R C) with R = 16.0 kΩ and C = 10.0 nF, is 995 Hz: the probe sits at 1.00 times the corner.

Far below the corner, the pair with the capacitor in the path passes almost nothing, and shifts what it passes nearly a quarter cycle earlier. Far above, it passes everything with no shift. At the corner it passes 71 percent and turns 45 degrees. The switch gives the mirror image, the same 45 degrees but later, which is how the Wien bridge's two pairs cancel. A larger R lowers the corner in proportion, which is how the tool sets the frequency.

What picks the frequency

The network in the loop is built from resistors and capacitors, and the figure shows what it does to a wave at every frequency. The upper curve is how much of the wave survives, in decibels, a logarithmic count: -9.5 dB is one third, -20 dB one tenth. The lower curve is the turn, in degrees.

The loop can only run where the turn is the one the amplifier needs: 0 degrees for the Wien bridge, whose amplifier leaves the wave upright, and 180 degrees for the ladders, whose amplifier flips it upside down. The lower curve crosses that line once. That crossing is f0, and the height of the upper curve there is what the amplifier must make up.

At 995 Hz the network passes 33.3 percent of the signal (-9.5 dB) and turns it by 0 degrees. The loop needs a turn of exactly 0 degrees, and the curve crosses that value only at f0: that is how the network picks the frequency. There it passes 1/3.0 of the signal, so the amplifier has to supply a gain of 3.0 for the trip round the loop to add up to exactly 1.

The lower curve crosses its guide line exactly once. On the Wien bridge the upper curve peaks right there, at one third, -9.5 dB.

This circuit: the Wien bridge

The Wien network is a resistor and a capacitor in series, feeding a resistor and a capacitor in parallel to ground, with the same R and C in both. The series pair holds slow waves back, the parallel pair shorts fast ones to ground. At the corner of the pairs their two shifts cancel, and the wave comes through with no turn and one third of its size. So the amplifier multiplies by 3, and R and C alone fix the frequency.

A gain of 3 is less than any ladder asks for, and one op-amp does the whole job. That is why the page recommends this one by default: it is simple, it asks little of its op-amp, and with the right part holding its size its sine is among the cleanest here. One op-amp, two resistors and two capacitors in the network, and a resistor pair to set the gain.

The frequency is the corner of one pair times a factor k set by the network, then with this design's parts:

f0=k fc=k2πRC,k=1 ⇒ f0=fc=995 Hzf_0 = k\,f_c = \dfrac{k}{2\pi RC}, \qquad k = 1 \ \Rightarrow\ f_0 = f_c = 995\,\text{Hz}

Holding the size of the wave: two diodes

A loop set above 1 grows until the op-amp hits its supply rails, the limits of its output, and clips the peaks flat. Something gentler has to bring the gain back to 3.00 first. The amplifier multiplies by 1 + Rf/Rg, with Rf from the output back to the input and Rg from the input to ground. Here Rf is split in two, with two diodes back to back across the smaller part, Rf2.

A diode passes almost no current below about half a volt, its knee, so at switch-on the diodes do nothing and the gain is 3.16. As the wave grows, the voltage across Rf2 reaches that knee, the diodes conduct and bypass part of Rf2, and the gain falls. The wave settles where the gain is exactly 3.00, at about 2.93 V peak. Diodes bend rather than switch, so they round the peaks slightly: the 3.31 percent distortion in section 02.

The gain with the diodes off and with them fully on has to straddle what the loop needs:

Astart=1+Rf1+Rf2Rg=1+15.4 kΩ+6.20 kΩ10.0 kΩ=3.16Alimited=1+Rf1Rg=1+15.4 kΩ10.0 kΩ=2.54,needed: 3.00\begin{gathered} A_{\text{start}} = 1 + \dfrac{R_{f1} + R_{f2}}{R_g} = 1 + \dfrac{15.4\,\text{k}\Omega + 6.20\,\text{k}\Omega}{10.0\,\text{k}\Omega} = 3.16 \\ A_{\text{limited}} = 1 + \dfrac{R_{f1}}{R_g} = 1 + \dfrac{15.4\,\text{k}\Omega}{10.0\,\text{k}\Omega} = 2.54, \qquad \text{needed: } 3.00 \end{gathered}

The op-amp answers late

An op-amp is not infinitely fast. Its speed is its gain-bandwidth, 3.00 MHz here: the frequency at which its gain has fallen to 1. Long before that it starts to answer late, and a late amplifier adds a turn of its own, one the network no longer has to supply, so the loop settles a little away from the frequency R and C alone would give. The lag grows with the frequency and with N, which follows the gain of the stage, 3.16 here.

With textbook R and C this op-amp would put the loop 0.16 percent low. The tool solves the loop with the lag inside it and lowers the product R C by 0.17 percent to cancel that. R and C alone now give 995 Hz, the f0 worked out above, and the lag brings the loop to 993 Hz, which differs from the 1.00 kHz asked for only by the rounding of R and C to stock values. The figure draws the lag against frequency; past 25 degrees the page stops trusting the correction.

The lag of one stage, then with this design's numbers:

φ=arctan⁡f NGBW=arctan⁡993 Hz×3.163.00 MHz=0.06∘\varphi = \arctan\dfrac{f\,N}{\text{GBW}} = \arctan\dfrac{993\,\text{Hz} \times 3.16}{3.00\,\text{MHz}} = 0.06^\circ

A stage of gain 3.2 on a chip of 3.0 MHz gain-bandwidth only keeps that gain up to about 949 kHz, and it answers late well before that: at 993 Hz it lags by 0.1 degrees. That is small, and the tool corrects it exactly by retuning R and C.

At 993 Hz on this 3.00 MHz op-amp the lag is 0.06 degrees, a rounding error. At 55.0 kHz, the AM tool's carrier, it would be about 3.3 degrees. A chip ten times slower moves the whole curve a decade to the left. On the plain phase-shift ladder N is about 30, about 9 times the 3.2 here, so its curve reaches the same lag at a frequency 9 times lower: that is why its "10 % point" in section 05 is the lowest of the five.

Reading the rest of the page

The panels below follow one order. 02 Circuit: the drawing, R and C, the gain the loop needs, the size to expect and the distortion. 03 Amplitude stabilization: the parts that hold the size, and whether they can. 04 What the op-amp does to the loop: the lag, the retune, and whether the chip is fast enough, with the slew rate and output swing it must reach.

05 Which one to build: all five circuits at the same frequency, size and op-amp, and a verdict, the Wien bridge unless a sine and cosine pair or a very steady frequency is needed. 06 Download: a schematic for LTspice, a free circuit simulator. Its run starts at the design size and its log reports the frequency and size the circuit holds. A flag under a table means a figure is stretched or has to change, and each Show the math block derives the numbers.

Words used on this page

op-amp
the amplifier chip; two resistors around it set its gain
gain (A)
output size over input size; a gain of 3 means three times
beta
the fraction of the wave the network hands back to the input, with the turn it gives it
loop gain (A beta)
what one trip round the loop multiplies the wave by; exactly 1 holds the size
phase (turn)
how far along its cycle a wave is, in degrees out of 360; in step means a turn of 0
V peak
the height of the wave from its middle line to a peak; 3 V peak swings from -3 V to +3 V
excess gain
how far above what the loop needs the amplifier is set at switch-on, in percent, so the wave always starts
distortion (THD)
how far the wave is from a pure sine, in percent; a few percent is hard to see on a scope
gain-bandwidth (GBW)
the op-amp's speed: the frequency at which its gain has fallen to 1
slew rate
the fastest the op-amp's output can change, in volts per microsecond; a sine climbs fastest through zero, at 2π f times its peak
02

Circuit

1 op-amp, gain 3.00 needed
VoutR 16.0 kΩC 10.0 nFR 16.0 kΩC 10.0 nFRf1 15.4 kΩRf2 6.20 kΩ1N4148 / 1N914, one each wayRg 10.0 kΩ
Frequency: wanted / predicted with this op-amp1.00 kHz / 993 Hz (-0.69 %)
R (each)16.0 kΩ
C (each)10.0 nF
Textbook frequency of these R and C995 Hz: retuned -0.2 % so the op-amp's lag lands the loop on target
Gain the loop needs with this op-amp3.00 (textbook 3.00), set to 3.16 with the parts below
Loop gain at start, with the diodes off1.053: +5.3 % excess, growing +65.4 % per cycle
Rg (lower feedback leg)10.0 kΩ
Output amplitudeabout 2.93 V peak
Expected distortion3.31 % (diode limiting absorbing 5.3 % of excess gain, from LTspice runs of this circuit)
Show the math for the loop

An oscillator is an amplifier whose output is fed back to its own input through a network, arranged so that the signal comes back exactly in step with itself and exactly as large. There is no input: whatever noise is already there at that frequency goes round the loop, arrives back in phase, and grows.

Write A for the amplifier gain and beta for what survives the trip back. Going once round the loop multiplies the signal by A times beta, so the two conditions are:

A β=1⟺∣A β∣=1  and  ∠(Aβ)=0∘ (mod 360∘)A\,\beta = 1 \quad\Longleftrightarrow\quad |A\,\beta| = 1 \ \text{ and } \ \angle(A\beta) = 0^\circ \ (\text{mod } 360^\circ)

The phase condition is what picks the frequency: only at one frequency does the network turn the signal by the right amount. The magnitude condition then says how much gain the amplifier must supply to make up exactly what the network lost there. Both come from the same network, which is why the two cannot be chosen separately.

here β(f0)=13.00  at f0=993Hz ⇒ A=3.00\text{here } \beta(f_0) = \dfrac{1}{3.00} \ \text{ at } f_0 = 993 Hz \ \Rightarrow\ A = 3.00

A gain of exactly 3.00 is a knife edge: a hair under and any oscillation dies away, a hair over and it grows until something stops it. Nothing in a real circuit sits on a knife edge, so the amplifier is deliberately set a little high, here 3.16 with the parts chosen, and a nonlinearity is added to pull the gain back down once the amplitude is where it should be. That nonlinearity is what sets the distortion, and it is the real design problem in an oscillator.

The Wien network is a resistor and capacitor in series feeding a resistor and capacitor in parallel to ground. The series arm blocks low frequencies and the parallel arm shorts high ones, so what gets through peaks somewhere in between, and only at that peak is the output exactly in phase with the input.

β(s)=ZpZs+Zp,Zs=R+1sC,Zp=R1+sRC\beta(s) = \dfrac{Z_p}{Z_s + Z_p}, \qquad Z_s = R + \dfrac{1}{sC}, \qquad Z_p = \dfrac{R}{1 + sRC}

Substituting and collecting, with s = j omega:

β(jω)=13+j(ωRC−1ωRC)\beta(j\omega) = \dfrac{1}{3 + j\left(\omega RC - \dfrac{1}{\omega RC}\right)}

The imaginary part vanishes when omega RC = 1, and there the whole thing is a real 1/3: the network passes a third of the signal with no phase shift at all. That is the entire design.

ω0=1RC,f0=12πRC,β(f0)=13 ⇒ A=3\omega_0 = \dfrac{1}{RC}, \qquad f_0 = \dfrac{1}{2\pi RC}, \qquad \beta(f_0) = \dfrac{1}{3} \ \Rightarrow\ A = 3

A gain of 3 is the smallest of any of these topologies, which matters more than it looks: the amplifier only has to be three times faster than the oscillation, where a phase-shift ladder would need it twenty-nine times faster. A non-inverting amplifier of gain 3 means the feedback resistor is twice the lower one.

A=1+RfRg=3 ⇒ Rf=2 RgA = 1 + \dfrac{R_f}{R_g} = 3 \ \Rightarrow\ R_f = 2\,R_g

Solving for the parts: C is picked from a preferred series so that R lands in a comfortable range and the rounding costs as little frequency as possible. The product R C is not the textbook one, though: the op-amp's own lag (section 04) would put the loop's zero-phase frequency -0.2 percent off, so R C is retuned by -0.2 percent first and the parts are chosen for that.

RCtextbook=1.0002π×1.00kHz → RC=0.9983×RCtextbook ⇒ R=RCC=15.9kΩ→16.0kΩ,C=10.0nFRC_{textbook} = \dfrac{1.000}{2\pi \times 1.00 kHz} \ \rightarrow\ RC = 0.9983 \times RC_{textbook} \ \Rightarrow\ R = \dfrac{RC}{C} = 15.9 kΩ \rightarrow 16.0 kΩ, \quad C = 10.0 nF
these parts alone would give 1.0002πRC=995Hz; with the op-amp in the loop, f0=993Hz(−0.69% from the target)\text{these parts alone would give } \dfrac{1.000}{2\pi RC} = 995 Hz\text{; with the op-amp in the loop, } f_0 = 993 Hz \quad (-0.69\% \text{ from the target})
03

Amplitude stabilization

diode limiting
from Voutto the - inputRf1 15.4 kΩRf2 6.20 kΩsettles at about 2.93 V peak
Rf1 / Rf2 (diodes across Rf2)15.4 kΩ / 6.20 kΩ
Gain before the diodes conduct / with them fully on3.16 / 2.54, against 3.00 needed
Diode1N4148 / 1N914 (silicon)

The gain straddles what the loop needs, so the amplitude settles at about 2.93 V peak instead of clipping. That figure comes from the diode's real exponential curve, averaged over a cycle, which is what LTspice sees too.

Two diodes back to back across part of the feedback resistor. Below their forward drop they do nothing and the loop gain sits above 1; as the output grows they conduct and shunt that part away, dropping the gain under 1. Cheap, reliable, starts every time. The diodes bend the peaks a little, hence about a percent of distortion.

Show the math for the amplitude control

Left alone, an amplifier set above the gain the loop needs makes the amplitude grow until the op-amp runs into its supply rails. It then clips, which is a gain of less than 1 for the peaks, so the circuit does settle: it settles into a rounded square wave. TI measured 2.8 percent distortion on a Wien bridge doing exactly that. Something gentler has to take the gain down from 3.16 to 3.00 before the rails do.

Two diodes back to back across part of the feedback resistor do it with a threshold. While the voltage across that part is under a diode drop they are open circuits and the gain is the high one; once the output is large enough to push them into conduction they shunt that part away and the gain falls below what the loop needs. The amplitude parks itself where the two balance.

VRf2=2.00 Vout3.00⋅Rf2Rf1+Rf2,Astart=1+Rf1+Rf2Rg=3.16,Alimited=1+Rf1Rg=2.54V_{R_{f2}} = \dfrac{2.00\,V_{out}}{3.00} \cdot \dfrac{R_{f2}}{R_{f1}+R_{f2}}, \qquad A_{start} = 1 + \dfrac{R_{f1}+R_{f2}}{R_g} = 3.16, \quad A_{limited} = 1 + \dfrac{R_{f1}}{R_g} = 2.54

A diode is not a switch at 0.6 V, though, and at the tens of microamps a limiter runs it the difference matters: a 1N4148 / 1N914 drops 0.48 V at 100 uA and 0.38 V at 10 uA. So the parts are sized from the diode's real curve. For a sinusoid of amplitude V across the pair, the current it draws averages to a conductance (its describing function), and the amplitude the loop settles at is the one where that conductance brings the effective feedback down to exactly what balance needs:

i(v)=Is(ev/nVT−e−v/nVT),G(V)=1πV∫02πi(Vsin⁡θ) sin⁡θ dθi(v) = I_s\left(e^{v/nV_T} - e^{-v/nV_T}\right), \qquad G(V) = \dfrac{1}{\pi V}\int_0^{2\pi} i(V\sin\theta)\,\sin\theta\,d\theta
1Rf2+G(V2)=1Rt−Rf1,Rt=20.0kΩ (the feedback string at balance),V2=0.667 Vout Rt−Rf1Rt\dfrac{1}{R_{f2}} + G(V_2) = \dfrac{1}{R_t - R_{f1}}, \qquad R_t = 20.0 kΩ \text{ (the feedback string at balance)}, \quad V_2 = 0.667\,V_{out}\,\dfrac{R_t - R_{f1}}{R_t}
Rf1=15.4kΩ, Rf2=6.20kΩ ⇒ Vout≈2.93V peak(wanted 3.00V; Is=2.52e−9 A, n=1.75)R_{f1} = 15.4 kΩ, \ R_{f2} = 6.20 kΩ \ \Rightarrow\ V_{out} \approx 2.93 V \ \text{peak} \quad (\text{wanted } 3.00 V; \ I_s = 2.52e-9\ \text{A}, \ n = 1.75)

The pair of values is picked among the stock neighbours of the exact solution so that the amplitude lands closest while the start gain stays above balance, since rounding both resistors independently can move the amplitude by twenty percent. The gain has to straddle 3.00: 3.16 before the diodes conduct, 2.54 with them fully on, and it does.

The diodes do not switch cleanly, they bend: the gain starts dropping before the peak and keeps dropping through it, which rounds the tips of the sine slightly. The harder they have to work, the more they bend it, so the distortion follows the excess loop gain they must absorb: about +5.3 percent here, worth around 3.31 percent of third harmonic in LTspice runs of this circuit. Two diodes and one resistor buy that; a lamp or a JFET does better only because its control sits outside the signal path.

One thing to expect when simulating: the frequency is read off the settled waveform, and a diode-limited loop settles a hair below the zero-phase frequency of its start gain, because the diodes' conduction near the peaks adds a little lag of its own. The export starts the run at the design amplitude so the limiter only has to hold it, and its log reports the realized frequency next to the .four distortion.

04

What the op-amp does to the loop

lag 0.1 degrees at 993 Hz
Frequency the textbook RC values would give with this op-amp998 Hz (-0.2 %)
Retune applied to R C-0.2 %, which puts the predicted frequency at 993 Hz (-0.69 % after rounding to stock values)
Closed-loop bandwidth of the gain stage949 kHz (noise gain 3.2)
Where the textbook values would be 10 % low with this op-amp74.5 kHz
Slew needed / available0.02 V/us / 13 V/us
Output swing needed / available2.93 V / 10.5 V

This op-amp holds the loop: the retune absorbs its lag and the amplifier still has +5.3 % of excess gain to start with.

Show the math for the op-amp in the loop

A real op-amp is a single pole: its open-loop gain is A(s) = 2 pi GBW / s, so a stage built on it with noise gain N has a closed-loop pole at GBW / N and lags by atan(f N / GBW) at frequency f. Ask for gain 3.16 at 993 Hz from a part with a gain-bandwidth of 3.00 MHz and what comes back is a little late.

f−3dB=GBWN=3.00MHz3.16=949kHz,ϕ=arctan⁡f0NGBW=0.1∘f_{-3dB} = \dfrac{GBW}{N} = \dfrac{3.00 MHz}{3.16} = 949 kHz, \qquad \phi = \arctan\dfrac{f_0 N}{GBW} = 0.1^\circ

The lag is what matters, not the loss of gain. The loop oscillates where its total phase is zero, so any phase the amplifier adds is phase the network must now supply, and it does so by moving off its own zero-phase point: the frequency shifts, and the network attenuates a little differently there, so the gain needed shifts too. A closed form is only available for the Wien bridge; in the ladder oscillators the network is part of the amplifier's own input impedance, so the two cannot be separated and the loop is solved as one nodal system with the op-amp model inside it.

For the Wien bridge the phase condition with the lag included is a quadratic in x = omega RC, and the solution shows how quickly a small lag becomes a large frequency error, because the Wien network has a Q of only a third:

x−1/x3=−tan⁡ϕ ⇒ x=−3k+9k2+42,k=fNGBW=0.001 ⇒ x=0.998\dfrac{x - 1/x}{3} = -\tan\phi \ \Rightarrow\ x = \dfrac{-3k + \sqrt{9k^2 + 4}}{2}, \quad k = \dfrac{f N}{GBW} = 0.001 \ \Rightarrow\ x = 0.998

With the textbook R C values, this op-amp would put the loop's zero-phase frequency at 998 Hz, -0.2 percent from the target. So the design solves the loop first and retunes R C by -0.2 percent before picking parts, and then solves it again with the rounded parts, the limiter diodes' junction capacitance across R_f2 included, to predict where the built circuit runs:

f0,textbook RC=998Hz (−0.2%)→RC×0.9983→f0=993Hz (−0.69%)f_{0,textbook\ RC} = 998 Hz \ (-0.2\%) \quad\rightarrow\quad RC \times 0.9983 \quad\rightarrow\quad f_0 = 993 Hz \ (-0.69\%)

The same solve gives the gain the loop needs at that point, 3.00 against the textbook 3.00, and, with the amplifier at its start gain, how much the loop returns per cycle: 1.05 times the signal, which is +5.3 percent of excess and a growth of +65.4 percent per cycle from a real pole solve. That growth is what a start-up transient looks like in LTspice.

Where this stops working: the single-pole picture, and the retune with it, is trustworthy while the lag stays modest. The tool marks the frequency at which the textbook values would land 10 percent low with this op-amp, 74.5 kHz for this topology, as the point past which the part's spread in gain-bandwidth starts to matter as much as its nominal value. Slew rate is the other ceiling, and the one that bites at large amplitudes rather than small ones: a sine of 3.00 V peak at 993 Hz has a steepest slope of 2 pi f0 times that amplitude.

2πf0Vpk=0.018 V/us≤SR2=6.5 V/us2\pi f_0 V_{pk} = 0.018\ \text{V/us} \le \dfrac{SR}{2} = 6.5\ \text{V/us}
05

Which one to build

same frequency, amplitude and op-amp
TopologyGain neededOp-ampsOutputsDistortionUntuned shiftPredicted errorStarts10 % point
Wien bridge3.001one3.31 %-0.2 %-0.69 %+65.4 %/cycle74.5 kHz
Phase shift, single op-amp29.06 (29)1one0.24 %-0.2 %+0.52 %+2.9 %/cycle55.2 kHz
Buffered phase shift8.023one0.34 %-0.1 %+0.84 %+4.1 %/cycle87.8 kHz
Bubba4.014sine and cosine0.59 %-0.1 %-0.64 %+9.4 %/cycle115 kHz
Quadrature (two integrators)1.003sine and cosine0.31 %-0.0 %-0.58 %+10.8 %/cycle218 kHz

The verdict

Build the Wien bridge unless there is a specific reason not to. It needs a gain of 3, the lowest here by a wide margin, and that number decides how much the op-amp's lag matters: with this part the textbook values land -0.2 % off before the retune, where the single-op-amp phase shift lands -0.2 %. It is also the only one whose distortion can genuinely be driven down, because its amplitude control sits in a leg of its own: a lamp or a JFET measures 0.1 to 0.2 percent, where diodes inside the signal path sit near one percent whatever is done to them. One op-amp, four passive parts, and one resistor pair to tune.

Two reasons to pick something else. A sine and a cosine at once come free from the quadrature oscillator, which asks for a gain of only 1 and holds its amplitude with a damping clamp that the integrators filter before it reaches either output; the price is three op-amps. Frequency that has to hold still against drift favours the Bubba: four sections make the loop phase change fastest with frequency, which pins the frequency down best, and its taps are in quadrature too.

The two phase-shift versions are here mainly to be understood. The single-op-amp one is the classic textbook circuit and uses the fewest parts, but a gain of 29 is a hard demand: its amplifier lags about ten times more than the Wien bridge's at the same frequency, and the limiter diodes' capacitance across its large feedback resistor adds to that, which is why it stops starting well below the others. The buffered version drops the gain to 8 for two more op-amps, at which point a Bubba costs one more and gives better stability and quadrature outputs.

06

Download

The .asc is a drawn schematic with these values and the amplitude control as real devices: the diodes are the model the design was sized against, the AGC's JFET is a SPICE JFET, and the lamp is a resistor that heats up. The run starts from an initial condition at the design amplitude, so the limiter only has to hold it, and the log (Ctrl+L after Run) reports fosc, the realized frequency, and vpk, the amplitude, next to the .four distortion. The op-amp is the TL082 with its supply pins showing, on +15 V and -15 V rails (the two sources under the drawing, nets v++ and v--), its model written into the file. It adds its own slew rate and output limits to the gain-bandwidth the page designs with, so the run shows what the real part does; the ideal op-amp gives the page's own figures.