← all environments 09 · Advanced · Active analog · v0.4.0

Wien-Bridge Oscillator

Active analog

A non-inverting op-amp wrapped in a Wien RCRC network. When the loop gain crosses unity at exactly one frequency, thermal noise is amplified into a clean sinusoid; a nonlinear gain limiter parks the amplitude on a stable limit cycle. The phase portrait shows the oscillation being born — a Hopf bifurcation you can trigger with a knob.

12 components · 15 connections · second-order loop with amplitude limiting

recommended lab 9 of 11

Use loop gain and phase to predict oscillator startup or decay.

Builds on: Dynamic RC Low-Pass Filter

predict · then test

Set amplifier gain just below 33. What happens to a small disturbance at f0f_0?

Commit before the explanation appears. This is a prediction, not a quiz score.

governing model
f0=12πRC    Aβ=1 (Barkhausen), gain =3f_0 = \dfrac{1}{2\pi RC} \;\cdot\; A\beta = 1 \text{ (Barkhausen), gain } = 3
structural inventory
  • op-amp gain stage
  • series + shunt RCRC bridge
  • Rf/RgR_f/R_g gain setting
  • amplitude-limiting element
boundaries
  • gain 2.82.83.23.2
  • f0f_0 from RCRC
  • Hopf onset at gain =3=3
diagnosis challenge Fault identity withheld: infer it from the changed outputs first.
causal signal trace paused

Amplify a perturbation Noise at the op-amp input is the seed; loop gain decides whether it grows.

step 1 / 5 Amplify a perturbation

control console

The Wien network passes exactly one frequency with zero phase shift and a H(jω0)=13\lvert H(j\omega_0)\rvert=\tfrac13 loss — so the amplifier must supply a gain of 3 to close the loop and sing.

Wien-oscillator animation running.

switchboard · fault injection

test bed · mode=full

Wien-Bridge Oscillator12 components and 15 connections.U1ARFRfRGRgVNv-VOUTvoRSRCSCVPv+RPRCPCOUTvoGND0 V
Wien-Bridge Oscillator

instrumentation rack

Barkhausen classifier OSCILLATING (limit cycle) Amplifier feedback active. Wien-oscillator animation running.
f0=1.00 kHzf_0=\htmlData{math-slot=value}{\text{1.00 kHz}} μ=0.00\mu=\htmlData{math-slot=value}{\mathtt{-0.00}} Ao0.00A_o\approx\htmlData{math-slot=value}{\mathtt{0.00}}
x: vov_o y: dvo/dt\mathrm{d}v_o/\mathrm{d}t
birth of the limit cycle
vo(t)v_o(t)
diagnostic probe