Theory
The Lorenz system is one of the classic examples of deterministic chaos. It originated from Edward Lorenz’s simplified model of atmospheric convection and was pioneering work in the development of chaos theory. Small changes in the initial condition lead to very different long-term motion, even though the equations themselves are completely deterministic.
The Lorenz system is governed by this set of differential equations:
and the standard parameter choice which demonstrates chaos is
What makes this system especially interesting in hardware is that the equations map naturally onto analog computing blocks. Voltages represent the state variables , , and . Op-amp integrators and summing stages implement the linear pieces of the dynamics, while analog multipliers generate the nonlinear and terms. With the right scaling, the circuit continuously solves the differential equations in real time.
The Build
My build is based off of the design discussed in this video and the associated article by Paul Horowitz at Harvard University.
I’d recommend seeing the linked resources for more detail on how it works, but I’ll describe it briefly here. Each differential equation in the system is implemented as op-amp circuit combining an integrator and an inverting summing circuit. The output voltage of each op-amp corresponds to x, y, and z. The product terms and require two analog multipliers.
I used an AD633 rather than the MPY634 in the original schematic — it dropped in as a direct replacement with no modifications needed. For the op-amps, I used a single TL084CN which contains 4 op-amps internally. The multipliers are the most expensive component in the build at around $11 each, but the rest of the circuit is just standard resistors, capacitors, and the quad op-amp. It’s remarkable how few components it takes to continuously solve the Lorenz equations in real time.
For power, I used two 12V DC adapters with their negative and positive terminals connected together to form a common ground, giving the three voltage levels needed for the op-amp and multiplier rails: −12V, 0V, and +12V.
Oscilloscope Capture
Once the circuit is wired correctly, the nicest view is the oscilloscope in XY mode. That projection gives the familiar butterfly shape of the Lorenz attractor:
I captured the three state voltages on my Rigol DHO804 via its rear USB port using pyvisa to pull the raw waveform data, then plotted them directly as a rotating 3D reconstruction of the attractor.