The Idea

An oscillator is a circuit that produces a signal without being given one. The Wien bridge is one of the classic ways to get a clean sine wave from an op-amp, a handful of resistors, and two capacitors.

Think of a child on a swing. A tiny push starts the motion, and if you keep adding a little energy each cycle, the swing goes higher and higher. At some point the swing hits its physical limit and cannot go any higher. The Wien bridge oscillator behaves in exactly this way.

**Figure 1:** Schematic diagram of the Op-Amp based Wien Bridge Oscillator designed in LTspice. The R-C network in the positive feedback loop determines the oscillation frequency, while the Rgain resistors in the negative feedback loop satisfy the Barkhausen stability criterion for startup.

How the Circuit Works

The circuit has two parts that work together:

  • Positive feedback network (the frequency-selective part): a series RC (R1, C1) and a parallel RC (R2, C2). This network passes only one frequency with the right phase shift, so the circuit “prefers” to oscillate at that frequency: f = 1 / (2πRC) = 1 / (2π × 15.9 kΩ × 10 nF) ≈ 1 kHz

  • Negative feedback network (the gain-setting part): Rgain1 = 22 kΩ and Rgain2 = 10 kΩ set the amplifier gain: Gain = 1 + Rgain1 / Rgain2 = 1 + 22/10 = 3.2

The Wien network attenuates the signal by a factor of 3 at its center frequency. To keep oscillating, the amplifier must compensate with a gain of exactly 3. We deliberately choose 3.2, slightly above 3, so the oscillation is guaranteed to start. If the gain were below 3, any disturbance would die out.

Starting the Simulation

In a real circuit, the “push” comes from thermal noise or the power-supply turn-on transient. In LTspice, we have to provide it ourselves. I set an initial condition on C1 (IC=0.1, i.e., 0.1 V) and ran the simulation with .tran 100ms uic.

**Figure 2:** LTspice transient analysis of a Wien bridge oscillator. The output grows exponentially from a 0.1 V initial condition and settles into a stable ±15 V oscillation at about 1 kHz, limited by the op-amp supply rails.

Phase 1: Exponential Growth (0–10 ms)

Look at the first few milliseconds of the graph. The signal does not start at ±15 V. It begins as a barely visible ripple and grows with every cycle.

This is positive feedback at work. Since the loop gain is slightly greater than 1, each cycle comes back a little larger than the last, and the amplitude grows exponentially. In this region the circuit is still behaving linearly: the op-amp is not limited by anything, and the waveform is a clean sine.

Phase 2: Saturation and Clipping

After roughly 7 ms, the growth stops. The peaks flatten at the top and bottom, and the amplitude settles at about ±15 V.

A signal cannot grow forever. The op-amp’s output cannot exceed its supply rails (±15 V here). Once the signal hits the rails, the op-amp saturates and the amplitude locks in place. This is the circuit’s natural (if crude) amplitude control: the oscillation grows until the rails say “no more.”

This is also why the output is clipped rather than a perfect sine. If you need a cleaner waveform, you have two common options:

  1. A diode-based amplitude limiter in the gain network, which lowers the gain as the signal grows.
  2. AGC (Automatic Gain Control), which actively adjusts the gain (for example with a JFET or a lamp) to hold the amplitude just below clipping.

Note: This simulation uses an idealized op-amp. A real op-amp typically saturates 1–2 V below its supply rails.

Why the Plot Looks So Dense

Over a 100 ms window, a 1 kHz signal contains about 100 cycles, so the individual waves are squeezed together. Zoom into a 5–10 ms window in the steady state to see the shape of a single period.

**Figure 3:** Detailed transient analysis waveform zoomed into the first 10 ms window. The plot clearly demonstrates the exponential envelope growth of the sine wave initiated by the initial condition (IC=0.1V) via positive feedback before reaching saturation.

Key Takeaways

  • A Wien bridge oscillator needs no input signal. It amplifies its own noise.
  • Frequency is set by R and C (f = 1/2πRC), while startup depends on the gain being slightly above 3.
  • The amplitude is limited by op-amp saturation unless you add an active control (a diode limiter or AGC).
  • The trade-off is simple: more gain margin means faster startup but more distortion.

What’s Next

In the next step, I plan to add an amplitude-limiting stage to remove the clipping and compare the harmonic distortion of both versions with an FFT in LTspice.