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

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 blog and the next, I will cover one of the programs developed at Azimuth, by Allan Erskine and Glyn Adgie. It shows a phenomenon called stochastic resonance, in which, under certain conditions, 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 found to apply to a wide range of phenomena, including neuronal detection mechanisms, and patterns of traffic congestion.

Many interesting currents come together in scientific programming. The report given in this blog is meant as a kind of “documentation” for a scientific program. I am approaching this as a software developer and computer scientist, so if you find any issues with my interpretation of the science, please speak up!

The concept of stochastic resonance

Suppose that we have an input signal which feeds into a signal detection mechanism. Suppose the input signal, by itself, will drive the state of detection mechanism, in some possibly complex, but deterministic fashion. Further, let’s divide the states of the detector into “on” states and “off” states; this digital state is an abstraction from the concrete states. For instance, with a light switch, the input signal could be the force applied to the switch, the state could be the angular position of the switch, and the digital state could be defined as the sign of this angle.

Let’s input a periodic signal, but suppose that it is weak, so that the detector remains in a single digital state. How can we amplify such a signal, so that it becomes present in the output? Well, if the input signal is sufficient to drive the detector’s concrete state close to the boundary between digital states, then a bit of random noise may push it over to the other digital state. We will then see a phase-dependent probability of transitions between digital states – and this itself bears the mark of the input frequency. NEED-SENTENCE-HERE.

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.

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 the simplest, bistable model of climate, the two states consist of a cold, “snowball” Earth and 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 roughly in the ballpark of the Milankovitch cycle times quoted above. The devil, however, lies in the detailed explanation of what the triggering causes are.

Milankovitch theories have classically, and predominantly, invoked a deterministic explanation of the forcing mechanism. In Paillard’s theory, as reported on the Azimuth Forum, …

In the stochastic resonance hypothesis, first introduced by Benzi in 1892, 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.

A major challenge for all forms of Milankovitch theory is the fact that only in the most recent Ice-Age era have the cycles of glaciation and de-glaciation 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 simple 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. The specific SDE sets the deterministic component of the derivative to be 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).

On its own, 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 stable equilibria. The basin of attraction for -1 is all the negative numbers, the basin for 1 is the positive numbers, and the basins are separated by the unstable equilibrium.

We will treat each basin of attraction 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