JS HOME Index

JS Synths Index

Analog model of the quadratic recurrence equation (often stated as the logistic equation)

First of all, thanks to Dan Slater, who give me the inspiration for this little device. Unfortunately, his internet site with a very good description of "Chaotic sound synthesis" does not exist any more...

From there, I got the idea of building an analog model of the quadratic recurrence equation, which is, in theory, a very simple iteration : just feed "k(x-x*x)" with its result (x(n+1)=k(x(n)-x(n)*x(n))). See also http://mathworld.wolfram.com/LogisticMap.html With an analog electronic model, a sample and hold is used for making the feedback system time discrete and gives x(n)->x(n+1). Otherwise, you would just solve the equation x=(k-1)/k with some kind of an analog computer.
The block diagram looks like this :



The original patch of the Dan Slater article was programmed into an analog Moog modular system, which seems a bit complicated to me. Here, 3 VCA's were used, but only 2 multiplications are performed : x*x and k*(..). As the "multiplication" with a VCA gives x*x+x and not x*x, it is necessary, to invert and subtract 2x. BUt this can also be done in another way : before the first multiplication with the VCA just invert x by -x, then you will get (-x)*(-x)+(-x), which gives you x*x-x. This result has to be inverted, and thats it.

The following schematic shows the x(n+1)->k(x(n)-x(n)*x(n)) module ("lambda" means "k").



And heres the sample and hold. Hold in mind, that the sample and hold for this purpose must be allways closed between input and output. Therefore, two sample and holds are in series. S/H 1 stores X while the trigger is rising, S/H 2 stores the value of S/H 1 while the trigger is falling.



After patching all together (the S/H and x->k(x-x*x) are two sperate modules in my system) and stepwise increasing values for K, you will get the following time series (from high order to chaos, showing the bifurcations between these 2 extremes)



Of course, I also wanted to see the bifurcation plot (logistic map) of the equation : a sawtooth signal sweeping k and a high frequncy input for the s/H-trigger with the sawtooth as the horizontal plot axis input and the output of the equation as the vertical plot axis shows the transient from order to chaos, known also as the Feigenbaum-diagram.
By the way, this is an excellent link to a little javaclass calculating the logistic map : http://www.math2.rwth-aachen.de/~korneffe/feigenbaum.html



This has not only a mathematical, but also a mystical flair ...




Here just a short glimpse on the prototype, built up on a protoboard and transferred partly on a vectorboard.



And this is how the x->k(x-x*x) should look on an oscilloscope, put a sawtooth or triangle into the x input and into the X-Axis of the oscilloscope, read the k(x-x*x) output into the vertical axis of the oscilloscope, the osci X and Y Amplitude should be 5V/Div. You can now adjust the waveform with the two trimpots (X-Offs and Y-Offs), try to copy the image. After that, change all to how I described to get the Feigenbaum diagram, for adjusting to optimum.