The Azimuth Project
Blog - The stochastic resonance program (part 1) (Rev #53)

This page is a blog article in progress, written by David Tanzer. To see discussions of this article while it was being written, visit the Azimuth Forum. Please remember that blog articles need HTML, not Markdown.

guest post by David Tanzer</i>

At the Azimuth Code Project, we are aiming to produce educational software that is relevant to the Earth sciences and the study of climate. Our programs take the form of interactive web pages, which allow you to experiment with the parameters of a model and view its outputs. But in order to fully understand the meaning of a program, we need to know about the concepts and theories that informed its creation. So we will also be writing articles to explain the science, the math, and the programming behind these models.

In this two-part series, I will cover the Azimuth stochastic resonance example program, by Allan Erskine and Glyn Adgie. Stochastic resonance is a phenomenon whereby, under certain condtions, a noise signal may amplify the effect of a weak input to a signal detector. This concept was originally used in a hypothesis about the timing of ice-age cycles, but has since been applied to a wide range of phenomena, including neuronal detection mechanisms, and patterns of traffic congestion.

You see, there are a lot of interesting currents that come together in the field of scientific programming. In this report I will try to provide some background information on the math and science, for the benefit of programmers. I approaching this from a background in computer science and software development, so think of this as a beta-test of the documentation – any corrections or amendments will be welcomed!

The concept of stochastic resonance

Suppose that we have a signal detector whose internal state is driven by the process of its input signal. The relationship between input signal and detector state may be complex and history-dependent, e.g., there may be hysteresis, but we’ll still suppose that, given initial conditions, there is a deterministic mapping from input histories to state histories. Furthermore, suppose that the internal states are divided into “on” states and “off” states; this digital state is an abstraction from the concrete states. For instance, with a light switch, we may treat the force as the input signal, the angle as the concrete state, and the sign (signum) of the angle as the digital state.

Let’s consider the effect of a periodic input signal on the digital state. Suppose that the wave amplitude is not large enough to change the digital state, but that it is sufficiently large to drive the detector’s concrete state close to the boundary between the digital states. Then, a bit of random noise, occurring near the peak of an an input cycle, may give a sufficient “tap” to cross the system over to the other digital state. We will therefore see a phase-dependent probability of transitions between digital states. In this relationship, which is catalyzed by the noise, we see the input frequency being transmitted through to the output signal, albeit in complex and stochastic manner. The noise has amplified the input signal.

Stochastic resonance has been found in the signal detection mechanisms of neurons. There are, for example, cells in the tails of crayfish which are tuned to respond to low-frequency signals in the movement of the water, generated by the motions of predators. These signals alone are not strong enough to raise the neurons to the firing threshold, but with the right amount of noise, the neurons will respond to the signal.

Stochastic resonance, Azimuth Library

Bistable stochastic resonance and Milankovitch theories of ice-age cycles

Stochastic resonance was classically defined with the additional assumption that the system is bistable. This means that each digital state is the basin of attraction for a stable point of equilibrium.

In fact, the first application of stochastic resonance was to a stochastic variant of the bistable theory of climate dynamics.

The idea of stochastic resonance was first introduced in a stochastic variant of the Milankovitch astronomical theory of ice-age cycles. In its classical, deterministic form, this theory uses a bistable model of the Earth’s climate, with a forcing function that is driven by long-duration cycles in the rotational parameters of the Earth’s movement.

In bistable model, the two states are a cold, “snowball” Earth, and a hot, iceless Earth. The snowball Earth is stable because it is white and hence reflects solar energy, which keeps it frozen. The iceless Earth is stable because it is dark and hence absorbs solar energy, which keeps it melted.

The theory takes into account the fact that the glaciers are concentrated in the northern latitudes, so a significant “pulse” in the northern temperatures could trigger a state change.

Next, there are three astronomical cycles which have been identified, that lead to long duration variations in the amount of energy received up north:

• Changing of the eccentricity (ovalness) of the Earth’s orbit, with a period of 100 thousand years

• Changing of the obliquity (tilt) of the Earth’s axis, with a period of 41 thousand years

• Precession (swiveling) of the Earth’s axis, with a period of 23 thousand years

The Milankovitch hypothesis states that these three cycles produce a forcing signal, that, under the right conditions, may trigger a state change. Intriguingly, in our current major phase of the climate (Ice Age), the cycles are running on roughly a 100,000 year schedule, which is in the ballpark of the Milankovitch cycle times quoted above.

The devil, however, will lie in the detailed explanation of the triggering causes. In the stochastic resonance hypothesis, first introduced by Benzi in 1982, the forcing signal is on its own too weak to trigger state changes, but may be initiated by “noise” events in the solar energy received up north, occurring at the right phase of a Milankovitch cycle. Once such source of noise could be fluctuations in the quantities of greenhouse gases in the atmosphere. But Milankovitch theories have classically, and predominantly, invoked a deterministic explanation of the forcing mechanism. In Paillard’s theory (NEED REFERENCE), the climate is modeled as a three state system, with the states being glacial, interglacial, and mild glacial. The theory invokes rules for the state, such as if the temperature…

A major challenge for all forms of Milankovitch theory is the fact that only in the most recent epoch of the ice-age cycles have they been running on roughly a 100,000 year cycle. There have only been four Ice-Age epochs in the history of the Earth, …, and in the — era, there were no ice ages at all!

The timing of the ice-ages remains a fascinating, challenging and open problem in science.

Milankovitch cycle, Azimuth Library

A mathematical model of stochastic resonance

The Azimuth demo program defines the behavior of the output signal through a stochastic differential equation (SDE), which specifies the derivative as a function of time, the current signal value, and a random noise process. It then uses a discrete approximation algorithm to “solve” the equation. Note: the definition of the stochastic derivative is a rather nuanced subject, but as we shall see when we dissect the program in the next blog, the approximation algorithm works simply by adding a random number to the derivative at each of the sample points.

The program’s SDE sets the deterministic component of the derivative to the sum of a bistable function of the current signal value and sinusoidal function of time:

DerivDeterministic(t, x) = SineWave(t, amplitude, frequency) + Bistable(x),

where Bistable(x) = x (1 - x2).

Alone, the sine wave would cause the output signal to vary sinusoidally.

Now let’s analyze the bistable polynomial, which has roots at -1, 0 and 1. The root at 0 is an unstable equilibrium, and -1 and 1 are points of stable equilibrium. The basin of attraction for -1 is all the negative numbers, the basin for 1 is the positive numbers, and the basins are naturally separated by the unstable equilibrium.

We will treat each basin as one of the digital states of a bistable system.

Now let’s put the sine wave and the bistable polynomial together. If the wave is weak, the system will gravitate towards one of the attractors, and then continue to oscillate around it thereafter – never leaving the basin. But if the wave is large, it will cause the system to oscillate between the two basins.

Now let’s include the noise. Suppose the sine wave was large enough at its peaks to pull the system close to zero, but not enough to cross it over. Then a well-timed noise event could push the system over to the other side. So there will be a phase-dependent probability of the noise triggering a state change, with more noise leading to transitions on more of the cycles. The output will show a stochastic reflection of the driving sine save. Further noise will cause multiple transitions within each cycle, thereby drowning out the signal and turning the output to noise.


We’ve talked about the idea of stochastic resonance, touched on some of its applications, and described the mathematical model of stochastic resonance used in the Azimuth demo program. Next time we will look into this program: how to use it, how it works, and how to modify it to develop new programs.

category: blog