encompasses several ideas we need to build on before we look at more realistic ...... This arrangement we will show, produces a uniform PSD, one of the ...
Chapter 2. Discrete chaotic maps “Out of chaos comes order.” Friedrich Nietzsche
2.1 Chaotic maps The trajectory of a Non-linear Dynamical System (NDS) is the path traversed by a point in Phase (State) Space from some initial condition. NDS system may be chaotic in nature and can be digital (in which case they are called maps), and analogue or continuous time systems. Analogue systems are modelled using differential equations, whereas difference equations are applied to model discrete chaotic maps. In general, chaotic maps are easier to analyse but present some difficulties when electronic versions are created. The well-known discrete logistic map is one of the simplest example of a discrete unimodal system and models, albeit in a simplistic manner, population growth and death in a predator-prey scenario. In chapter 6, this map is adapted for producing pseudo-random number generators (PRNG) for use in cryptography. The orbits of these theoretical chaotic maps should never overlap and are never periodic and hence should be ideal candidates for cryptographic keys. However, because of the finite precision of computer systems, implementing PRNG using maps in digital systems introduces some difficulties. There are techniques for overcoming these difficulties and will be discussed further but one consideration in this thesis is the study of implementing these maps in an analogue computer fashion, reminiscent of the analogue computers which used integrators, multipliers, etc.
The continuous logistic model Population dynamics for animal growth and death such as the spread of the human virus swine flu may be modelled by a relatively simple equation whose dynamics are chaotic in nature for particular parameter values. We considered a simple growth model for a particularly nasty virulent, contagiouswith-no-cure disease, in a population of N individuals living on a small isolated island. The island is completely isolated where no one can leave and the disease growth rate, R is proportional to the number of infected people. Normalizing this growth rate with respect to the total population, setting x to R/N and with a range between zero and one. If x were greater than unity there would be no healthy people on the island! The differential equation for the simple unlimited population model is:
dx kx dt
(2.1)
Here the constant of proportionality is k representing the growth rate and x represents one infected person in a population of a million people. We can model this using PSpice software normally used for simulating electric circuit behaviour and let x equal one microvolt, hence the total population of 1 million is represented by 1 V and one second represents one month. The initial condition voltage represents the number of people infected at the start of the epidemic, i.e. at t = 0, xpast = 1 uV. The solution to equation (2.1), is an exponential form, and for k =1, is:
x present x past e kt
2-9
x past 1uv t 13.8155
106 e13.8155 1 V
(2.2)
However, in any real-life scenario, there are factors which will limit the spread of the disease. For example, some of the population may be immune to the disease and so this is not a realistic model since it has no factors to limit the exponential growth. Nevertheless, this model is important as it encompasses several ideas we need to build on before we look at more realistic population growth models. To simulate this model in PSpice, we use an ABM integrator part (Integ) with the output fed back to the input, as shown in the inset in the graph in Figure 2-1. An initial voltage on the integrator part – the initial condition- is required to initiate growth from some value. From the results in Figure 2-1, we see how the 1 uV has grown exponentially to 1 V in 13.8155 seconds (which represents approximately 14 months in real time). The total population is now infected with the disease!
Figure 2.1: Simple population growth model
FIGURE2-001.DSN
After 13.8155 seconds, the voltage is 1 V but at 35 s the voltage has grown to 4.3 GVolts! To model a more realistic scenario, we must make the growth rate proportional to a growth-limiting factor, (1- x). As the diseased population approaches a maximum, it is multiplied by this factor to reduce the population. A continuous form model developed by the Belgian professor Pierre Verhulst (1804-49), based on work by the well-known but slightly pessimistic philosopher, Malthus [1], is expressed: dx kx(1 x) dt
where, k 0
(2.3)
Where k is the Malthusian parameter that represents the rate of maximum population growth.
2.2 Modelling equations Because of its simplicity of use in Orcad PSpice, using Analogue Behavioural Models (ABM) parts in the first instance is a good technique in modelling before attempting to model with actual electronic parts. We can obtain simulation results very quickly without the need for getting into circuit design details. Of course, after successful simulations with ABM parts, these parts may be replaced with models of real integrated circuits. The results from ABM simulations are very useful when fault finding in real physical chaotic circuits. There are two levels of complexity when using ABM parts to model chaos. For example, the ABM1 part can be used to input a complete chaotic equation instead of using individual ABM parts. We can see in Figure 2-2 an example where individual ABM circuits using to model a continuous logistic equation and underneath this circuit is an example of an ABM1
2-10
part to model the solution to (2.3), which is a sigmoidal function f (k ) 1/ (1 a exp(kt )) . This equation is entered into the ABM1 part.
Figure 2.2: continuouslogistic.opj Sweeping the input voltage Vsweep produces the familiar sigmoidal form in Figure 2-3 (a) and is similar to the output from the integrator, v(yn). Here, the output grows exponentially at first, grows linearly in the middle section but then flattens out asymptotically.
Figure 2.3: (a) Sigmoidal activation function and integrator output (b) Continuous form for R = 4 Figure 2-3 (b) show the trajectory as a parabola and is called an orbit diagram. This diagram is produced by changing the x-axis from time to the output variable, v(yn). To investigate fixed points in the system, it is useful to plot v(yn) against itself. This produces a line at 45 degrees and is called the identity line which intersects the parabola v(int_in) at a fixed point of 0.75 V for a growth factor of 4. Fixed points are discussed later in the chapter. Verhulst’s first-order differential equation, with R representing population growth rate, is continuous in time! However, population growth is normally discrete in nature because food availability, animal fertility, etc. is normally discrete in nature, hence we must now consider a discrete population model of the famous logistic equation.
2.3 The Logistic map The one-dimensional logistic map, a member of the quadratic map family, has one variable and the resultant plot is a line. To explain the discrete one-dimensional logistic map we consider the predatorprey example of a population of cats and mice in a house from which there is no escape. In this scenario, the cats will catch and eat most of the mice. However, when the cats have almost exhausted their food supply of mice, they will start to die off. The few mice who escaped will increase their numbers yet again and the cycle is repeated ad infinitum. The discrete nature of this cat-mouse 2-11
population growth-death scenario was modelled by the mathematician, R. May in 1976 forming the logistic equation y(n) Ry(n 1)[1 y(n 1)] . The present population, y(n), is a function of the previous year population, y(n-1) but this nomenclature is a bit clumsy and hence we use yn and ynd (The d subscript represents a delay). The previous year’s population ynd [0, 1] represents the ratio of the past mice population to the maximum sustainable population and has a value between 0 and 1. The equation has a growing factor, Rynd and a limiting factor, (1-ynd) to keep the population from growing exponentially. From an initial population value with growth factor R, we may see how the population evolves in time. To develop May’s logistic map equation, we apply finite differencing over a time increment, t to the continuous logistic equation (2.3) yielding the logistic map equation:
y yn ynd kyn (1 ynd ) yn ynd tkynd (1 ynd ) t t
(2.4)
yn (1 k t ) ynd (1 ynd ) Rynd (1 ynd )
(2.5)
Thus, we may write:
A growth rate factor, R (1 k t ) , is a positive number in the range 0 to 4, i.e. R [0, 4] . This is one of many chaotic maps to be considered in this thesis and we may generalise (2.5) as: y(t 1) f ( x(t ))
xR
tN
The ABM discrete logistic systems in Figure 2-4 show an iterative (recursive) loop, with the output fed back to the input. To simplify the schematic we use wire alias names to link parts of the schematic, hence the wire name y1 at the output will be connected to the wire name y1 at the input. The complete logistic map equation is entered into the expression box of an ABM1 part. To demonstrate the important concept of sensitivity to initial conditions (SIC), the two schematics are shown with different initial values, 0.04 and 0.051entered into a CONST ABM part.
Figure 2.4: ABM1 part to simulate the logistic quadratic equation The discrete recursive, one-dimensional quadratic chaotic system has an analogue delay in the loop to represent the passage of time. Since there are no native analogue delay parts in PSpice, we must use one of two methods to produce such a delay. The first method uses a Laplace part, with the expression, EXP(-s*t) entered into the numerator part of the transfer function and 1 in the denominator [ref: ptobin DSP book]. The second delay method uses a transmission line part, T, terminated at the input and output, with resistances equal to the transmission line characteristic impedance [PT tx book]. However, using the Laplace part is not quite as robust as the transmission 2-12
line part. One of the characteristics of chaos-sensitivity to initial conditions was demonstrated by plotting the output of each circuit against the delayed voltage for the first circuit. We can see in Figure 2-5 how the two circuits quickly go out of sync and show orbit initially in sync but then diverging after a short time.
Figure 2.5: Orbit diagram showing the two circuits out of sync at 271 mV If the results are satisfactory from using the ABM1 part and if we wish to create a physical circuit, we may separate the equation using individual ABM parts: MULT part for multiplication, SUM and DIFF parts for addition and subtraction, and the INTEG part for integration. This is a necessary step for producing a final electronic circuit.
2.3.1
Feigenbaum constants
A correctly terminated T transmission line part is shown in Figure 2-6. The input impedance of a very long length of open-circuited transmission line is the characteristic impedance, Zo. Terminating the line at the input and output with resistances of value Zo avoids reflections in the transmission line. TD = {delay} Name ynd V
T1 yn
ABM1
TSF = 1
Vs tair
VSF = 1
0 D:\feb20 10\b ook6\circu its\mystai r.txt
V
Initial Conditions gro wth1
System equation
1u
R1
10 0
PARAMETERS: Dela y = 10 0u
ynd
Z0 = 100
R2 10 0
v(growth1)*v(ynd)*(1-v(ynd)) Parts used: VPWL_file, ABM1, SUM, CONST,R, T
0
Figure 2.6: Using ABM parts figure2-006 Iterating this equation illustrates the complex dynamic relationship between population growth and death over a range of values of R. The population dies out when R is between 0 and 1. However, the population approaches a value of (1 1/ R) for R between 1 and 2 and doesn’t depend on the initial population. For R between 2 and 3, the population decays in an oscillatory manner to a fixed value, (1-1/R). Growth rate values greater than 3 causes the population to oscillate indefinitely between two values and is called period doubling. For this scenario, it bifurcates having a high value for one year and a low value in the following year. Similarly, the period doubles again to four when R is 3.45 and has a four-year cycle. Further increases in R causes the period to keep on doubling. At R = 3.57…, a point is reached called the accumulation point called the Feigenbaum number, where chaos starts to occur and the population never settles to a fixed population value. 2-13
There are, nevertheless, values for R (3.57, 4), which produce window regions called intermittencies with period three. When these windows are expanded, they show the same fig tree pattern happening again at each of the three lines - a fractal self-similarity phenomena. To investigate the orbit diagram, we set R to a single value using a VDC or CONST part. The logistic equation growth factor and delay are defined in a Param part as 3.2 and 100 us.
Figure 2.7: An ABM model of the Logistical map Table 1 shows the output for the first six iterations for an initial condition of 0.2 V and R = 3.2. n yn
0 0.2
1 0.512
2 0.7995
3 0.512
4 0.7995
5 0.512
6 0.7995
Table 2-1: Logistic time series values for R = 3.2 and IC = 200 mV Figure 2-8 (a) shows the logistic signal oscillating between two values of 0.512 V and 0.799 V, with a corresponding spectrum in the second pane which shows the signal having a wide bandwidth. For higher values of R, the spectrum will increase and eventually for values of R greater than 3.57, the resulting spectrum is similar to wideband noise.
Figure 2.8: (a) Logical map output for x0 = 0.2 V. (b) Frequency spectrum
2.4 Phase Space: Fixed points on the orbit diagram The logistic equation is bounded in a region called the basin of attraction having a range zero to one. Outside this range, it is unbounded and unstable and PSpice will produce convergence errors because the system attempts to head towards infinity in either a negative or positive direction. The logistic equation trajectory will remain at a Fixed Point (FP) because there is zero growth in the population, a point where the derivative is zero. Thus, the trajectory will remain at a stable fixed point, even after many iterations of the system. However, if the trajectory moves away from a FP then this FP is an unstable FP called a repellor or source. To solve for the fixed points in discrete systems such as the logistic map, we equate the map to itself, i.e. f(yn) = yn. For continuous analogue systems, such as the
2-14
analogue Lorenz chaotic system examined in Chapter 3, the procedure for solving the FP is different and we equate the function to zero, i.e. f(y) = 0.
2.4.1
Orbit Diagram
To produce an orbit diagram, we set R to a single value. In this chapter, we will see how the trajectory stretches and then folds back on itself to create a closed loop. Figure 2-9 shows the past population (the delayed signal), ynd on the x-axis, and the present population, yn on the y-axis, with time as the orthogonal z-axis.
Figure 2.9: Stretching and folding The logistic equation orbit diagram The Rynd term is responsible for stretching, whereas folding occurs because of the (1-ynd) term.To get a smooth orbit, change the initial signal to a triangle shape by making the rise time equal to the fall time of the initial condition generator (a VPULSE part), equal to the period. Figure 2-11 shows the parabolic trajectory for the logistic equation, plotted by changing from time on the x-axis from time to v(ynd). The identity line is superimposed on the plot by plotting the same variable, v(ynd), on both axes. The height of the parabola changes with R and has a maximum value of R/4, but the width stays the same. For R = 2.8, we plot the logistic equation parameters, yn against ynd and the identity line meets the parabola at x = 0.642, a stable fixed point because all points converge on it. ynd Rynd (1 ynd ) ynd 1 1/ R 1 1/ 2.8 0.642
There are two fixed points on this graph: a stable fixed point where the identity line intersects the trajectory, and an unstable fixed point at the origin. The fixed point at the origin is unstable because it has a tendency to move away from this point. If we set the initial condition voltage to a negative value, then the system will attempt to go to negative infinity. Integrated circuit devices produce DC offsets which will cause the output to saturate towards the negative supply. Hence, it is important with electronic IC devices to include a small positive millivolt signal to ensure the fixed point is encouraged to head off in the positive direction. A useful iterative graphical technique called a web diagram demonstrates the dynamics of the fixed points and hence the stability of such points. From an initial condition, x(0), draw a vertical line from the x-axis on the orbit diagram until it meets the orbit at x(1). Draw a horizontal line from x(1) to the identity line so that the output becomes the input and so on. The slope of the logistic function determines the stability of the fixed point. If the slope of the function, df / dx x* 1 it is a sink (an attracting fixed point). If the slope is greater than one, it is a source (a repelling fixed point). 2-15
The logistic equation map has a maximum value of 0.25 for R = 0.5. There are an infinite number of initial conditions (IC), x(0), that will not give rise to chaotic behaviour, even for R = 4 [Sprott, taming chaos]. Also, a system will converge for some initial conditions but not for others. The system should produce a chaotic series if the IC is 1uV and R = 3.99. However, repeating this for IC = 1mV produces convergence errors as the system attempts to head off to minus infinity. Setting IC to 2 mV and the system is back to normal again, producing a chaotic time series. There are two conditions for the initial conditions for the logistic map which must be considered. As stated, the initial condition must be chosen very carefully as there an infinite amount of unstable points and to prevent this we must ensure the following conditions are met: x(0) 1 1/ R
x(0) 0.5 1 (1 4 / R)
(2.6)
(2.7)
For R = 4, the IC should not be set to 0.5 or 0.75.
2.4.2
Bifurcation Plots
Bifurcation is an important aspect of chaos and occurs in a system when a small change to a system parameter causes a change in the stability of a fixed point. In analogue systems, the real part of the eigenvalue of the fixed point will traverse from negative to positive through zero. In phase space, the trajectory behaves differently in different locations, and we can see this around by examining the area around the fixed points and considering the space around this fixed point as linear. There may be more than one fixed point, so we study the properties of phase space locally by applying a linearizing technique around each of these points. The eigenvalues determine the type of fixed points that exist in a system and hence the stability of the system. The nature of the trajectory is determined by the eigenvalues. For the logistic equation, the fixed point is solved for f(yn) = yn. The Jacobian matrix is formed from the partial differentials of each of the parameters of the function and linearizes the system around this point. However, since the logistic system is one-dimensional, then this matrix is just the differential of the function at the fixed point. We should remember that for continuous systems, we use the splane for stability analysis, but this s-plane maps to the z-plane which forms a unit circle for discrete systems stability [ ]. Eigenvalues located outside the unit circle are bounded-input bounded-output (BIBO) unstable [P Tobin and Erik Lindberg ref], hence trajectories will diverge away from the fixed point at the origin. Eigenvalues within the unit circle are stable and the trajectory will converge on the origin. At a bifurcation location, a fixed point loses stability, and we can see this by considering a range of growth values in the logistic model. The classification of the bifurcation type will depend on where an eigenvalue crosses the unit circle. Shortly, we will introduce the Feigenbaum constants created by Michael Feigenbaum and to investigate these we need to sweep the growth factor using a staircase signal applied using a VPWL file generator in Figure 2-10.
2-16
yn V
T1
Z0 = 50
y ndelay R1 50
R2 50
TD = {delay }
PARAMETERS:
DELAY = 100u IC
y(n) = Ry(n-1){1-y(n-1)] y(n) = R{y(n-1)-y(n-1)^2}
R V
V1
Vstair c:\chaos\my stair.txt
V1 = 0 V2 = 0.2 TD = 0 TR = 1u TF = 1u PW = 6m PER = 10
In Matlab, use [xx,yy]=stairs(x,y), where x = 0.005, and y = 0.005
Place a Vprint as shown, if you wish to obtain the variables in the output file in Probe
0
Figure 2.10: Investigating Feigenbaum constants For the logistic system, we must ensure that the output always remains bounded by limiting the range from 0 to 1, otherwise, the trajectory will attempt to go to plus or minus infinity. To encourage PSpice to converge and avoid this problem, we may include an HARDLIM ABM part in the feedback path, which limits the excursion of the variables to the values set in the expression box of the part. The schematic in Figure 2-11 demonstrates how the system output changes when varying the growth parameter for a range of discrete values. For values of R between 0 and 1, the population dies off in time. For values greater than 1, we see constant oscillations being set up, meaning the population has settled to a constant value. For values of R equal to 3, a bifurcation in the population occurs. In one year the population has one value and then in another year another value. Thus, the population continuously alternates between values every other year. OUT
1 IN 0 ynde lay T1 = 0 1u
OUT
Initial conditions
T2 T3 T4 T5 T6 T7 T8 T9
= 1m = 1 .01m = 2m = 2 .01m = 3m = 3 .01m = 4m = 4 .01m
V1 = 1 .5 V2 = 1 .5 V3 = 2 .99 V4 = 2 .99 V5 = 3 .2 V6 = 3 .2 V7 = 3 .5 V8 = 3 .5 v9 = 3.8
U1 ANAL OGDELAY 2 1 OUT IN
yn V
DELAY = 1 u vpwl V
Vp wl gen
0
Figure 2.11: List of growth values To investigate initially how the system evolves when the growth factor is changed, we use a Vpwl part to input discrete step changes in the growth factor in time. Select and double-left the VPWL generator part (sources directory) and enter the time-voltage pairs shown in the schematic. Figure 215 shows how the system initial condition goes from a constant value for R = 1.5, to a chaotic region for R = 3.57. [ref only delete growthVStime.opj]
2-17
Figure 2.12 (a) Bifurcation plot Pressing the FFT icon in Probe produces the frequency spectrum in Figure 2-12 (b). We may wish to express the spectral components in dB in order to emphasize smaller spectral components. Here, we see the spectrum has a wide bandwidth which is a chaotic system characteristic.
2.4.3
Bifurcation diagram
In the previous section, we briefly discussed the stability of the fixed points by looking at the nature of the eigenvalues. A bifurcation of a state variable in a chaotic system occurs whenever a fixed point loses stability. In this chapter, BIBO stability of the discrete logistic chaotic system is examined by investigating the pole/eigenvalue locations in the unity z-plane. If the poles are contained within the unit circle, the system is considered stable. Poles outside are considered an unstable system, whereas, poles on the unit circle lead to conditional stability. In the appendix, there are several papers by Erik Lindberg on this area, where he discusses the myths on conditional stability poles [ ]. For stability in discrete systems, the eigenvalues (poles) should remain inside the unit circle [dsp book ref]. If the eigenvalues cross the unit circle because we change one of the state variables, then the process of bifurcation happens. Where the eigenvalues cross the unit circle will classify the type of bifurcation occurring. To investigate the bifurcation phenomenon in chaotic systems, we sweep one of the system parameters over a range of values. In the case of the logistic equation, the growth factor is varied between 0 and 4 and demonstrates how period bifurcation (also called a flip or fork, bifurcation), occurs. To produce a bifurcation plot we need to consider a value for the growth parameter evaluated for a number of points. This is then repeated for a range of R-values. Generally, this is achieved in software using nested FOR loops, where the inner loop is iterated for one growth factor value and the outer loop is iterated for another growth value (Ref 3). Generally, we discard the first few hundred transient points. In PSpice however, two methods are used to simulate a step change in the growth factor. The first method uses a staircase signal to mimic the two nested FOR loops, and the second method uses a VPWL generator part for producing a ramp signal. However, the latter is a quicker technique but produces distortion in the bifurcation shape.
2-18
2.5 Tangential distortion If the sawtooth representing the growth factor is swept too fast with respect to the delay in the circuit, then at the bifurcation point, the plot will be slightly different to the normal pitchfork bifurcation shape, the shape being more tangential than pitch fork in shape. For now, we call this bifurcation tangential distortion but is due to stability loss delay. To avoid this distortion requires setting the ramp time to a large value but you run the risk of convergence problems and also produce longer simulation times. So, putting up with this distortion is a small price to pay for quicker simulation times, clearer diagrams and reduced convergence problems. Figure 2-13 shows tangential distortion occurring because we are sweeping the growth factor too fast. This does not happen if the bifurcation is obtained within a programming software environment such as in Matlab ©, where FOR loops within FOR loops are used hence the ‘system’ waits for a period depending on the inner loop iterate number, so the growth factor does not change in this interval, which of course it does in a real system! Figure 2-14 shows a few additional part added to the schematic that is necessary when certain values of growth factor cause the system to behave in a chaotic manner. A GAIN part increases the loop gain to overcome the small losses that occur using the transmission delay part. With the correct loop gain, we ensure the first bifurcation happens for R = 3. We discovered that increasing the gain moves this point left of the correct location, but decreasing it moves it to the right. A LIMIT part is included as discussed previously if you wish to simulate for R values that produce chaos, otherwise, you’ll get convergence error. However, as a general rule, it’s good to include it anyway. A VPWL generator part located in the source library is used to make a ramp signal to give growth factor from 0 to 4 V in 4 s. Select and double-left-click the VPWL part and observe that there are time and voltage rows in the spreadsheet. Enter in T1 the value 0, and then T2 = 4. The corresponding voltages are 0 and 4 and will produce a ramp voltage that starts at 0 s and rises to 4 V in 4 seconds. 1.008
V
V
2
OUT
IN
U1 1yn
DELAY = {Del ay}
Value = {IC}
PARAMETERS:
OUT
Initial conditions
Logistic equation ynde lay
ANAL OGDELAY
T1 = 0 V1 = 0 VR
T2 = 4 V2 = {R}
0
Delay = 10u IC = 1u R=4
Figure 2.13: Use of VPWL part for growth parameter change We see in Figure 2-15 (a) how the trajectory splits up into smaller, but similar, bifurcations. This is called self-similarity, a term used on the subject of fractals, a fascinating topic in itself but not examined here. In a 1975 issue of American Mathematical Monthly, James Yorke and T.-Y Li wrote an article entitled “Period Three Implies Chaos", where they stated that the existence of a period 3cycle implies the existence of cycles of every other period, and also chaotic cycles with no period at all [Li and Yorke, 1975]. For R= 3.6786, an odd period cycle appears and according to the Li-Yorke theorem, a three-period cycle will appear in chaotic zones only after period-doubling bifurcations has ended. We expand this diagram around R = 3.80 to 3.84 to observe this famous ‘period 3’ window, 2-19
shown more clearly in Figure 2-15 (b), and to observe the fractal nature of this orbit/bifurcation diagram in greater detail. "Period Three Implies Chaos". When a nonlinear system displays a period three window then the system has become chaotic
and
is
no
longer
deterministic.
This
occurs
in
the
logistic
system
for
R 1 8 3.8284 3.83 where the system oscillates between three values. This intermittency
window shows the self-similarity of the fractal pattern and we introduce the term scale-free. No matter what scale we chose, we will still observe the same pattern in finer detail but still the same- a fractal a being a pattern that is scale-free [http://www.youtube.com/Stanford].
(b) The ‘Period three’ window
Figure 2.14: (a) Change the x-axis time to V(R)
Selecting the FFT icon in Probe produces the frequency spectrum shown in Figure 2-23. We can make each spectral component appear clearer by plotting the log of the squared variable. A large DC component tends to mask the smaller spectral components, so, if present, select the space between numbers on the x-axis and change the lower limit to a value other than zero and select log plot. 150
Logistic Spectrum for 10 us delay (20 kHz,102.9) (10 kHz, 109.8) (30 kHz, 92 dB) 100
(40 kHz, 78.433 dB)
dB(V(yndelay)*V(yndelay)) (60 kHz, 45.184 dB) 50
sub harmonics
0 1.0KHz 3.0KHz DB(V(YNDELAY)*V(YNDELAY))
10KHz
30KHz
100KHz
300KHz
Frequency
Figure 2.15:
2.5.1
Feigenbaum constants
Mitchell Feigenbaum discovered the period-doubling mechanism whereby systems became chaotic. He showed there was a relationship between the recurring ratios in the period doubling now known as 2-20
Feigenbaum constants. The first-period doubling occurs at R = 3, the second for R = 3.455, the third at 3.533, etc. These new constants will become as familiar as the well-known constant π. The first constant he looked at considered the lengths between successive bifurcation points (period doublings), so from measurements taken from the bifurcation, or fig tree diagram (Feigenbaum is German for a fig tree, which has a fractal structure, and…-a mathematician’s joke….), in Figure 2-17, yields the following: lim
x
Rn Rn 1 3.455 3 4.64 Rn 1 Rn 3.553 3.455
(2.8)
This is close to the Feigenbaum number value of 4.66920160910299067...[Feigenbaum, 1980]. It is interesting that this number may be applied to many other nonlinear systems. For example, prior to, or during, a heart attack, period doubling occurs so perhaps we could apply Feigenbaum constants to predict the onset of such dangerous conditions. The ‘fuzzy’ area at the bifurcation point is due to transients in the signal.
Figure 2.16: see chaos toolbox: bifurcate.m Setting the 0.5 level to measure delta To measure the second Feigenbaum constant,α 2.5029.., we need to add a reference 0.5 line to the diagram in order to measure the ‘opening’ of the bifurcation. For the logistic equation, this reference value occurs where R = 2, so the fixed point, x* occurs at (1-1/R) = 0.5 and occurs at the maximum value for the orbit. This is the point where the derivative is zero on the one-humped parabolic curve of v(xn) versus v(xnd) and occurs at the highest point on the curve (the peak of the hump). Place the cursor at the intersection of the line and the trajectory and select the cursor to mark these points at two locations. Repeat this for the next period doubling. The second Feigenbaum constant is the ratio of the openings at each period doubling at a same location on the bifurcation leg. From Figure 2-25, we see how the measured value is close to the theoretical value of 2.5029078750958928222839028...[ ] lim
x
n (854 mV- 438 mV) 2.54.... n 1 521 mV- 359 mV
(2.9)
[Ref. [4] H. G. Schuster, Deterministic Chaos, VCH, Weinheim, 1988].
2.6
Sample and hold delay devices
Previously, we used a transmission line part to achieve a delay, however, the delay technique shown in Figure 2-18, uses two sample-and-hold devices operated again by two pulse clock signals that are out of phase by 180 degrees, to ensure the electronic switches operate in the correct sequence, is also used in switched-capacitor filtering [‘PSpice for Filters and Transmission lines’]. This delay mechanism using two SBREAK switch parts with the second out-of-phase clock uses a VPULSE 2-21
generator part called vclkinv with a delay, TD = 0.5*Period to achieve the clock inversion necessary for the correct operation of the two switches. A sine wave is sampled and the sampled output from each switch is held at a constant level by a capacitor at the output of each electronic switch sampler. The two switch stages should have a unity gain buffer amplifier (here, a GAIN part), inserted in order to isolate or buffer, the first capacitor. As always, ABM parts are used initially to obtain a proof of working concept, but then later replaced by the various sample and hold designs, ranging from applying the obsolete LF398 integrated circuit to the one used in the final circuit design- the Analog Devices IC- the SMP04EPZ. (Systems Using Analog Circuit Simulators).It has been shown that the value of the sample and hold capacitances is 0.01*Tsample F, where Tsample is the sampling period. The clock pulse rising and fall times are 0.0001*Tsample, with a width equal to 0.01*Tsample.
VOFF = 0 VAMPL = 1 FREQ = 1k
Vi n
se con d_ou tput
+
-
PARAMETERS: ROFF = 1meg
V
Sbre ak
fre quen cy = 100k
+ -
Sbre ak
Cloc k_inv ert
V1 = 0 V2 = 5 PW = {0.01*peri od} PER = {perio d} TR = {0.0 001*pe riod} TD = 0 TF = {0 .000 1*perio d}
Vclk
S2
1
-
+
ROFF = 1meg VV RON = 1u Cloc k
fi rst_o utpu t
S1
+ -
si ne_i nput
C1
{ch} Vclk1
period = {1/frequency}
V1 = 0 V2 = 5 PW = {0.01*peri od} PER = {perio d} TD = {0.5 *p eriod } TR = {0.0 001*pe riod} TF = {0 .000 1*perio d}
Ch = {0.0 1*Period } C2
{Ch}
0
Figure 2.17: Sample and hold circuit A buffer amplifier in included between sampling stages to prevent the second stage from loading the first stage. Figure 2-19 shows a portion of the three signals: the input sine-wave and the two outputs from each sampler. We can measure the required 10 us delay (which is the period of the 100 kHz clock), by examining the peak of the sine wave and the peak of the output from the second sampler as shown. An empirical formula for calculating the correct value for the capacitance is: 5 .0 V
1.0165V
Delayed sampling clock
2 .5 V
(260 us,1)
(250 us, 1) 1.0000V
Second S & H
0V V ( C L O C K _ IN V E R T ) 5 .0 V
Delay = 10 us 2 .5 V
First sampling clock
0.9800V
input 0V V (C L O C K ) 0.9600V
Required Delay
100mV
Analogue input 50mV
Sampled input 1 SEL>> 0V 0s
2us 4us V(SINE_INPUT) V(SECOND_OUTPUT)
6us V(FIRST_OUTPUT)
8us
10us Time
12us
Delayed Sampled input 2 14us
16us
18us
20us
0.9404V 206.6us 220.0us V(SINE_INPUT)
240.0us 260.0us V(SECOND_OUTPUT) Time
280.0us
300.0us
Figure 2.18: Delay between the input and sampled outputs Another clock source we can use is the digital generator STIM1 part shown in Figure 2-20. The second clock has a 5 us delay to ensure the correct switching sequence is maintained. Using this clock is probably better because we do not have to specify rise and fall times for the pulse which can cause convergence problems. The isolation amplifier, with a gain of 1.022, is used to keep the correct levels in the loop. This also allows us to move the first bifurcation point to the correct location for R = 3.
2-22
PARAMETERS: GAIN = 1.0 22
yn
Vra mp
T1 = 0
OFFTIME = 2 u V ONTIME = 9.5u STARTVAL = 1 V1 = 1 u OPPVAL = 0
CLK
Ch1
V
{C}
T2 = 4 00mV2 = 4
VOFF = 0 VAMPL = 1 FREQ = 10k AC = 1
ROFF = 1meg
clkinv
OFFTIME = 9 .5u ONTIME = 2u STARTVAL = 0 OPPVAL = 1 DELAY = 5 .5u
IC = 1u
S2
-
+
Sbre ak DSTM2
+ -
-
+
OUT
R
2u
ROFF = 1meg RON = 1u
+ -
clk
CLK
C = 2n2
S1
Sbre ak DSTM1
V
ynsd
yns
Ch2
Vopen_loop 0
{C}
V
IC = 1u
0
Figure 2.19: LOGICAL_ABMSWITCHES_SEPT.opj
2.6.1
Bi-phase clock production
To create an analogue delay using two sampling stages, we need to create a pair of clocks to operate the sample and hold sampling switches in the proper sequence. A 555 IC produces the initial clock, although we could use a lab generator. Clock1 is then divided by two using a dual J-K flip-flop (74107) IC, and again a further divide by two, in a second FF. Q(A), and Q (B), together with the clock from the first J-K FF output (clock), are applied to a dual AND gate as shown in Figure 2-21. +5 14
C3 +5
Gnd 8
U1 R1
2k 7
5
R2
16 0k
6
4 55 5alt VCC
DISCHARGE TRIGGER
THRESHOL D 5 OUTPUT CONTROL 10 0p C2 GND 10 n 1 gn d
tri gger C1 IC = 1
10 0n C4 2tri gger 3clock1
+5 10 0n A +5 14 74 107 8 14 VCC J 1 5 VCC U2BQ J U2A 3clock9 Q CLK 12 6 CLK Q 2 11 V Q K 4 B V K GNDCLR 74 107 Gnd GNDCLR 7 10 Gnd7 13
2
clock
V1
RESET
1
U3A V
V
Gnd
7
+5 10 0n 14
4 5
3Phi 2
74 08
C5
U3B
0
6Phi 1
74 08 V7
Gnd
V
0
Figure 2.20: Production of the out of phase clocks (Biphasclocks_555.opj-delete) Figure 2-22 shows the out-of- phase pulses, Ph1 and Ph2. It is left as an exercise to work out the logic from the logic level signals shown at the bottom of this figure. If you wish to display this signals as non-logic level signals, for example, Ph1 and Ph2, as shown, then terminate each digital output with a large resistance and repeat the simulation.
Figure 2.21: Logical levels bipase1.opj Figure 2-23 shows an open-loop system with the 4066 switches operated by the bi-phase clocks. We apply a test 10 kHz, 1 V sine signal to the first switch which is buffered by a unity-gain opamp part 2-23
(this part has its own power supplies built in) from the second switch. The switches are operated in the correct sequence by the two anti-phase clocks, Ph1 and Ph2. pos V
U1A 1 IN
in V2
ph1 13
VOFF = 0 VAMPL = 1 FREQ = 10k
VC VSS 7
pos 54HC4066J U1B 14 VDD 4 IN OUT 3 out2
U2
14 54HC4066J VDD OUT 2 out1
+ out
OUT
60p V
VC VSS
OPAMP
60p
neg
V
s*s+1.414*2*pi*10000*s+(2*pi*10000)**2
7 neg
0
OUT
C4
ph2 5
-
C3
(2*pi*10000)**2 IN
0
0
U3A
1 V7 10Vdc
V5 10Vdc
DSTM1
V4 5Vdc
CLK
J
12
CLK
4
OFFTIME = 1us
3
Q K
ONTIME = 1us pos1
8
clock
2
Q
9 11
J Q CLK K
CLR
74107 U2A
74107 U2B
Q
1
5 6
74LS08
2
clock
3ph1
U3B 4 5
74LS08
6ph2
10
pos1
CLR
pos
pos1
13
neg
0
Figure 2.22: Biphase clocks operating the switches 4066_DELAY_LOGISTIC.DSN The low-pass filter is omitted in the final design. Figure 2-24 shows the required delay. 1104mV
Unfiltered delay 800mV
Filtered delay 400mV
0V
-400mV
Input -800mV
-1064mV 400.0us 410.0us V(C4:2) V(IN)
420.0us 430.0us V(LAPLACE1:OUT)
440.0us
450.0us
460.0us
470.0us
480.0us
490.0us
500.0us
510.0us
520.0us
530.0us
Time
Figure 2.23: The original signal, the sample and hold signal, and the filtered S+H signal
2.6.2
The AD633 multiplier IC
A multiplier IC implements the nonlinear product terms. The 4-quadrant multiplier in Figure 2-25 is capable of handling all four permutations of signals applied to the differential inputs (+ - + -). There is a further input, the z-input, a useful feature of the AD633 where extra signals may be added to the product terms. The AD633 device has an inbuilt scaling factor of 0.1, which prevents the output from becoming too large as a result of the multiplication process. The effect of the scaling factor can be overcome by a gain factor of 10 using resistors R1 and R2 (a potentiometer in practice) connected across the z output terminal. However, we should be aware that the gain-bandwidth product is reduced by doing this and hence this technique is useful for low-frequency operation only. We also have to connect a 50 k trim pot to the positive supply and pin 7 (z-pin), to ensure the output never heads in the negative direction. pos
U1
X
1 V
2 3
VOFF = 0 Vin
VAMPL = 1 FREQ = 50k
4
X1
V3 12Vdc 8 VPOS W
7
0 W
6
Z
X2
0 Y1
V
AD633 Z
Y2
VNEG 5 V2
R1 10k
V
R2 90k
12Vdc
0
Figure 2.24: AD663 set up to eliminate the 0.1 scaling factor AD633basicpluspicture.opj 2-24
Looking at the IC pin layout figure is a little diagram illustrating how the output at W is the sum of the signals from the z-input and the input pins multiplied by 0.1. The output at pin 7 is the sum of the voltages from the scaled squared x input signals x2/10 and the divided down signal present z-input, as: W
x2 R2 R1 x2 W W[ ] 10 R1 R2 R1 R2 10
(2.10)
For R1 = 10 k and R2 = 90 k, the output is:
W x2
(2.11)
However, if we wish to achieve gain from this stage, then we need to set up the circuit with a CONST part set to one applied to the second input so that the input x multiplied by one. Figure 2-26 shows how the AD633 gain must be increased using the z-input of the AD633 shown in Figure 2-27. 3.0V
V(W1) Gain 2.0V
1.0V
-0.0V
-1.0V
v(W2) Unity gain -2.0V 30us
40us V(W1) V(W2)
60us
80us
100us
Time
Figure 2.25: po s
V3
U2
X
1 2
0 1
3
OUT
4 VOFF = 0 VAMPL = 1 FREQ = 50k
X1
X
8 VPOS W
Z1
6
VNEG 5ne g
po s 8 VPOS W AD63 3
0 Y1
4
7 W2
X2 Z Y2
R2 99 k
X
V4
X1
3
R1 V 1 1k OUT
AD63 3 Z
Y2
Vi n
2
W1
7
X2
0 Y1
1
V
U3
12 Vdc
6 Z2
VNEG 5 ne g
0
R1a 10 k
R2a 10 0K SET = 0.1
X
12 Vdc
0
Figure 2.26: AD633 zinputonly.opj The principle of superposition circuit theorem enables us to calculate the final output from a circuit which contains two or more voltage sources. The output is the sum of three signals: one signal from the actual input and two other signals from the W output fed back via the z-input and the z input due to the input at R2. Basically, the method is as follows: let one source, E2, be replaced by its source resistance (you may assume an ideal voltage source and therefore it has a zero source resistance), and work out the voltage contribution due to the first source, E1. This is then repeated for the other source. The total output is then obtained by superimposing (hence the name) or adding together, each voltage contribution. At the output of the multiplier, W is a potential divider where the signal across R2 is applied back to the z-input. From the principle of superposition, each voltage source contribution is calculated, with the other source replaced by its source resistance (ideally zero). The output is then: W
x
10
R2 R1 R 2
W
R1 R1 R 2
x W[
R1 R1 R 2
]
x 10
R1 R1 R 2
x
(2.12)
Thus, for R1 = 10 k, and R2 = 90 k, the output is: W
2-25
R1 R1 R2
R1 R2 x R1
10
xx
10k 90k 1 10k
10
1 (1 1) x 2 x
(2.13)
We can substitute a potentiometer for R1 and R2 with, or, better still, a multi-turn pot, for greater flexibility at the adjustment stage. For example, making the 100 kΩ POT part with SET = 0.9, means one part (R1) is 10 kΩ and the other part (R2), is 90 kΩ.
2.7 Implementing the Logistic equation using the AD633 IC In this application, we apply the delayed output signal ynd to the input pin 1 and 4 to produce a negative sign on the product, but also it is applied to the potentiometer attached to the z-input shown in Figure 2-36. It is easier to analyse if we consider the potentiometer as two resistors R1 and R2 rather than a potentiometer. Let W = 0, then the signal applied to the input at the z-input due to the feedback term, ynd is: R1 ynd R1 R 2
(2.14)
The component in the W output due to the z-input alone (let ynd = 0), is: R2 W R1 R 2
(2.15)
The total output of the multiplier is the sum of the voltages from the three components, the input, the component from the W out to the z input, and the z input from the input signal, i.e. W
ynd . ynd
Z
10
ynd 2 10
R2 R1 R 2
W
R1 R1 R 2
ynd
(2.16)
The output for R1 = 10 kΩ and R2 = 90 kΩ is:
W ynd (1 ynd )
(2.17)
W represents the stretching and compressing part of the logistic signal at the output, pin 7. po s
ynd V
0
8 U2 V+ 1 W 2 X1 X2 AD63 3/AD 3 Y1 VZ 4 Y2
12 Vdc V
6
Z V
5 VOFF = 0 Vi n
VAMPL = 2 FREQ = 250k TD = 1u
V2
Cdc1 10 0n
V1
7 W
0 R3 10 0K SET = 0.9
ynd
Cdc2 12 Vdc
10 0n
0
Figure 2.27: AD633 4-quadrant multiplier (ad633muliplier.opj) Figure 2-28 shows the same sine signal applied to both inputs and the pot attached between the w and z pins. The resultant time and spectra signals are shown in Figure 2-29 where the 1 kHz sine signal, when squared, results in 2 kHz spectral component. We can use these figures to act as a guide when doing open-loop tests on the breadboard version. Apart from DC offsets, the simulation and breadboard results will be very similar. With this circuit, it is very easy for the output to saturate to the negative supply rail and cause convergence problems. To overcome this, we must supply a small positive voltage (mV) to the z-input. The gain-bandwidth for this configuration is reduced.
2-26
Figure 2.28: Ad633 multiplier diagrams Spectra
2.8 Caveats with AD633 The bandwidth of the AD633 is approximately 1 MHz with the 0.1 multiplier scale factor. However, using the resistive potential divider across the w-z terminals, with values shown in Figure 2-30, to introduce a gain of ten producing a unity gain, reduces the bandwidth to 100 kHz. R4
ynd V
0
12 Vdc V
6
Z
5 VOFF = 0 Vi n
VAMPL = 2 FREQ = 200k TD = 1u
V1
7 W
ynd Cdc1 10 0n
0 R3 10 0K SET = 0.9
0
5
R5 10 k 7 W1 ynd
1k R6 -1
TL 082 2 -
ne g
10 k
6
OUT 3
ne g V4
W2
4
po s
8 U2 V V+ 1 W 2 X1 X2 AD63 3/AD 3 Y1 VZ 4 Y2
po s 8 U3 V+ 1 W 2 X1 X2 3 0 AD63 3/AD Y1 VZ 4 Y2
V-
ABMou t
0
+ 8 U4A
1
V
po s V+
Cdc4 V2
ynd
12 Vdc
10 0n
0
Cdc2 12 Vdc
10 0n
0 0
Figure 2.29: AD633MULTIPLIER.DSN This reduction in bandwidth introduces distortion in the output when the operating frequency of the system is increased. This is observed as an attenuated in one of the peaks in Figure 2-31.
2-27
1.94V
input
0V
-2.00V
AD633 only
-4.00V
AD633+TL082 ABM output -6.00V 26.00us V(ABMOUT)
27.00us V(W2) V(W)
28.00us 29.00us V(YND) V(ABMOUT) V(W)
30.00us V(YND)
31.00us V(W2) Time
32.00us
33.00us
34.00us
35.00us
36.00us
36.97us
Figure 2.30: Comparison
2.8.1
Open-loop testing
In linear systems, open loop testing of a complex system is a necessary step but it can also be a useful technique for nonlinear systems, where the commutative, associative and distributive mathematical laws are not really applicable. Thus, the normal superposition laws cannot be applied effectively [Signal processing of random physiological signals-Charles Lessard]. That said, there are still benefits for carrying out open-loop tests. For individual stages, the expected output signals can be examined to ensure correction circuit operation. However, when the loop is closed, the dynamics and signals will change drastically. Having tested all the individual stages, it’s now time to put them all together but the loop is still kept open. We need to carry out open-loop testing before closing the loop by applying a sine wave to the input and observing and recording, the signals at each stage. The ramp growth factor, R signal is not applied so apply a constant growth factor value of 1, a 1 V DC or a CONST part to the second AD633 IC. This simplifies the signals for analysis purposes. We can match these signals to any previous individual stage testing carried out. However, we have to be careful that successive stages when added, do not load the previous stages, as this will change the performance. This might mean adding a unity gain buffer amplifier. The closed loop gain controls the first bifurcation point which happens at a growth rate equal to 3, so we need to have a means of controlling this gain. We can do this using a separate operational noninverting amplifier stage, or we can use the z-input and a potentiometer to control the gain. For our first attempt, we used the LF398 sample and hold IC initially, as the configuration shown requires only one clock. However, later, we will use a modern version of this, the SMP04EP, sample and hold IC which has an output whose gain can be set using external connections and also has internal hold capacitors.
2.8.2
Complete Logistic system
In this section, we put all the logistic subsystems together and carry out open-loop tests before finally closing the loop. The results will not be repeated since they are the same as previous testing output.
Figure 2.31: Complete circuit 2-28
2.9 Lyapunov exponent The Lyapunov Exponent (LE), measures in phase space, the divergence (or stretching) of the trajectory for each point over time. As the LE increases positively, then the time which we can predict the future trajectories becomes shorter. Folding is one of the necessary conditions for chaos and represents a loss of information and is the entropy of the system. There are as many Lyapunov exponents as there are dimensions in the phase space, but the largest one is important because it determines the predictability of the system. In a linear system, we consider the motion of the Lyapunov exponents as the real parts of the eigenvalues around an infinitesimally small sphere. The trajectory will distort into an ellipsoidal in each axis direction. The LE is not a conclusive measure for chaosticity but returns a rate of exponential divergence from some perturbed initial conditions. However, in a dissipative chaotic system, there must be at least one positive LE. The Lyapunov exponent is calculated by obtaining the derivative of the iterated equation at each point in the time sequence. This exponent is the average value of the sum of the natural log of the absolute values of the derivative. If the value is negative, the iteration is stable and converges, but if positive, will start to diverge. Where the product of the derivative has a magnitude less than one, then each point on neighbouring trajectories will be pulled closer together after an iteration of the loop. Consider a small incremental change in y as y y . The rate of change of one variable with respect to the rate of change of another variable is the gradient of a function. In the limit, change to. Differentiating the logistic equation and taking logs to base two and solving for, the Lyapunov exponent, yields: dy (n) dy (0)2 n
1 dy (n) log 2 n dy (0)
y ( y0 , n) yn yn yn 1 y1 1 . ... lim log 2 n y0 yn 1 yn 2 y0 n y0 y 0 0
1 lim log 2 ( (R (1-2yn ) n n y 0
(2.18)
(2.19)
0
The units of lambda are bits of information for every iteration using the log to base two. The limit is necessary if the LE is to be independent of the initial conditions and represents the long-term behaviour. The largest positive LE dominates over all others as time goes to infinity. Lyapunov exponents quantify the amount of linear stability or instability of an attractor or an asymptotically long orbit of a dynamical system. Given two initial conditions for a chaotic system, a, and b, which are close together, the average values obtained in successive iterations for a, and b, will differ by an exponentially increasing amount. In other words, the two sets of numbers drift apart exponentially. If this is written 2n for n iterations, then 2 is the factor by which the distance between closely related points becomes stretched or contracted after an iteration. A derivation is available in 1. H. G. Schuster, Deterministic Chaos: An Introduction, Physics Verlag, 1984.
2-29
Figure 2.32: Lyapunov exponent with change of R Note the Lyapunov exponent is zero at each bifurcation. Bifurcation diagrams are produced in PSpice when the system parameter, R, is voltage-dependent. By varying the parameter very slowly, it may be considered nearly constant over several drive cycles. 2.9.1.1
The Gaussian or mouse map
The Gaussian map (mouse map got its name because the shape of the bifurcation map has a mouselike outline.
xn e xnd 2
(2.20)
We enter the equation into an ABM1 part as shown in Figure 2-49 and the delay is my analogue part.
V
exp(-alpha*v(ynd)**2)+V(beta) Initial Conditions Name Beta
ynd
yn
ABM1
1
V
Vb etaSwee p T1 = 0
V1 = -1
System equation
1u
PARAMETERS:
U1 IN
OUT
ANAL OGDELAY
2
ynd
Dela y = 10 u al pha = 6 be ta1 = -0.58
DELAY = {1 0u}
T2 = 1 00m V2 = 1
0
To get an0 orbit diagram ynd Vs yn, {schedule(0,100u,10m,1u,20m,100n,30m,10n)} change v(beta) to beta1 in the expression http://en.wikipedia.org/wiki/Gauss_iterated_map
Figure 2.33: Gaussian_map1 To plot the orbit diagram, set beta to 10.3, and in the expression box in the ABM1 part change v(beta) to beta1. The beta sweep is provided by a Vpwl part.
Figure 2.34: The orbit diagram The bifurcation diagram in Figure 2-51 has an unusual shape.
2-30
Figure 2.35: Bifurcation diagram, sweeping beta from -1 to 1 (2) investigate the odd logistic shown in Figure 2-52. 1
yn
OUT
IN 0
PARAMETERS:
DELAY = 10u V
R 1u
OUT
Logistic equation
V
V1 T1 = 0
Initial conditions
ANAL OGDELAY 2 OUT IN
ynde lay
V1 = 0
T2 = 4
U1 1
DELAY = {Del ay}
y(n) = R{y(n-1){1-y(n-1)^2}
V2 = 4
0
Figure 2.36: Odd logistic
Figure 2.37: (3) Investigate the logistic-type function x(n) 1 x2 (n 1) , 0 2
(2.21)
1.0V
1.000 OUT
ANALOGDELAY y ndelay 2 xndelay OUT IN
U1 1
v(xn)
xn
DELAY = {Delay }
V
0V
u
PARAMETERS: Vu
T1 = 0 T2 = 2
0
Note tangential distortion
Delay = 100u
V
V1 = 0
Change axis to v(u)
V2 = 2
-1.0V
xn=1-uxnd^2
0V
Figure 2.38: (a) ABM circuit logisticsquared.opj
0.4V
0.8V
1.2V
1.6V
2.0V
V(XN) v(u)
(B) The bifurcation plot
(4) Investigate the quartic map defined: xn R(1 (2 xnd 1) 4 )
The quartic map R between 0.8 and 1 Figure 2-55.
2-31
(2.22)
Figure 2.39: (5) The Matthews map
1 x(n) (1 R)(1 ) R xnd (1 xnd ) R , R (0, 4) R Logistic equation yn
Delay T1
PARAMETERS:
DELAY = 100u
V
Z0 = 50
T3
Z0 = 50
T2
Z0 = 50
y ndelay zn V
IC VR
Vic
TF = 100u PW = 100u
V1 = 0 3.4
V
TD = {delay }
TD = {delay }
TD = {delay }
R5 50
TD = 0 TR = 100u
V2 = 0.2
PER = 10 DC = 0
R1 50
Initial conditions
y(n) = Ry(n-1){1- y(n-1)] = R{y(n-1) - y(n-1)^2}
0
Figure 2.40: x2
2.10 The logistic model using an analogue delay The logistic equation normally uses a sample and hold mechanism for the time delay, but here we investigate a novel method using the delay experienced in a chain of operational amplifiers shown in Figure 2.42. This is an easier method to implement than the systems explained in a previous section. SET = 1 R2
3
in
U1A4
po s V+
+ TL 084 OUT
2
po s 15 Vdc
R1
0
10 0k
11 ne g V-
9
TL 084 OUT 10
+ 4 U1C
0
8
5
11 ne g V-
13
-
V2
ne g
V1
1
10 0k - 11 ne g V-
R4
10 0k
TL 084 10 0k12
+ 4 U1D
po s V+
OUT
14
6
po s V+
+ TL 084
-
R3
U1B4
OUT
7
ou t
- 11 ne g V-
po s V+
0
15 Vdc
Figure 2.41: The pot R4 shifts the bifurcation point We place this design in a hierarchical block as shown in the ABM circuit in Figure 2.43.
2-32
An alog _Delay
yn
in
U1
ynd 1
ou t
V
DELAY = 1 0n
INPUT OUTPUT V
2 pe ak V
pe akm eter
D
R 10 0u
T1 = 0 V1 V =0
Vp wl 1
T2 = 4 m V2 = 3 .9
0
2.42: OPAMP.DSN in misc The bifurcation parameter is achieved using a sawtooth generator produced by the VPWL generator. The growth factor is swept over the range 0 to 3.9. 1.0V
Logistic using analog delay V(YND) 0.8V
0.6V
0.4V
Change time to v(R) 0.2V
0V 2.90V V(YND)
2.95V
3.00V
3.05V
3.10V
3.15V
3.20V
3.25V
3.30V
3.35V
3.40V
3.45V
3.50V
v(R)
Figure 2.43: step 100p 978mV
v(ynd) (3.03096 ms, 627.6842 mV) 800mV
v(yn)
600mV
(3.03069 ms, 573.9245 mV)
400mV
The analog delay is (3.03096 ms-3.03068 ms) = 2.6 us
200mV
3.0304ms 3.0305ms 3.0306ms V(Delay:IN) V(YND)
3.0307ms
3.0308ms
3.0309ms
3.0310ms
3.0311ms
3.0312ms
3.0313ms
3.0314ms
3.0315ms 3.0316ms
Time
Figure 2.44: Analogue delay output 270m
240m
DB(V(YN)*V(YN))
200m
FFT for the logistic analogue delay 160m
120m
80m
40m
0 300.0KHz DB(V(YN)*V(YN))
1.00MHz
3.00MHz Frequency
Figure 2.45: FFT
2-33
9.36MHz
1000mV
900mV
First bifurcation 800mV
One half of the bifurcation diagram 700mV
Other half
600mV
2.700V V(OUT)
2.800V
2.900V
3.000V
3.100V
3.200V
3.300V
3.400V
3.453V
v(R)
Figure 2.46: Bifurcation diagram 15mV
10mV
5mV
SEL>> 0V V(ynd) 5.0mV
2.5mV
0V 0Hz
1.0MHz
2.0MHz
3.0MHz
4.0MHz
5.0MHz
6.0MHz
7.0MHz
8.0MHz
9.0MHz
10.0MHz
11.0MHz
V(out) Frequency
4
2.47:
VOFF = 0 VAMPL = 0.1 FREQ = 10k AC =
Vin
V+
+
V
1
TL084 OUT
2
V
- 11 R1 neg V-
0 sd
J2
g
pos
U1A
3
5k V2
pos
T1 = 0 VV1 = -3 T2 = 5m V2 = 0
neg
V1 Vtriangle
0
15Vdc
0
15Vdc
Figure 2.48:FET_VCR.opj in misc 100m V
0V
-1 0 0 m V V ( U 1 A :+ ) 4.0V
Gain increasing 0V
SEL>> -4.0V 0s V(R1:2)
1.0ms 2.0ms V(J2:g)+3
3.0ms
4.0ms
5.0ms
Time
Figure 2.49: LOGICAL_USING_LAPLACE_DELAY_AND_SAWTOOTH_VERHULSTEQN.DSN 2-34
log(abs(V(R)*(1-2*V(yn))))
0.01
IN
OUT
1 IN
1.008
OUT
0
V
ANAL OGDELAY
Logistic equation ynde lay
Value = {IC}
2
OUT
IN
0V
U1 1yn
DELAY = {Del ay}
OUT
R
Initial VR conditions
PARAMETERS:
T1 = 0 V1 = 0
Delay = 10u IC = 1u R=4
T2 = 4 V2 = {R}
0
lo g
LOG10 OUT IN
ab s
ABS OUT IN
d/dt
mu lt
OU T IN
V
GAIN = 100 R
Figure 2.50: LYAPUNOVMETERFINAL.DSN
Figure 2.51
2.11 Encoding OUT
1 IN 0 y nd
ANALOGDELAY U2 2 OUT IN V
IC V1 = 0 V2 = 2m TD = 0 TR = {delay } TF = {delay } PW = {delay } PER = 10
1
DELAY = {Delay }
yn V
PARAMETERS:
R = 4.1 Delay = 100u
{R}
V1
0
Figure 2.52: 1.0
0.8
0.6
Gap 0.4
0.2
0 0s v(yn)
0.2ms 0.42 0.573
0.4ms
0.6ms
0.8ms
1.0ms Time
Figure 2.53:
2-35
1.2ms
1.4ms
1.6ms
1.8ms
2.0ms
yn
O r b i t
1.2V
(0.573 V, 1)
(0.42 V, 1)
V(YN)
Fixed point (756m,754m)
1.0V
For R = 4.1 Gap
0.8V
0.6V
0.4V
0.2V
v(ynd) 0V 0V V(YN)
0.1V 0.2V V(YND)
0.3V
0.4V
0.5V
0.6V
0.7V
0.8V
0.9V
1.0V
1.1V
V(ynd)
Figur 2.54: 4.2V
zero line
0V
-5.0V
Note at R = 2, the system heads off to - infinity-very stable -10.0V
V(LIA1)
0
1.0V
0.5V
SEL>> 0V 1.240V 1.400V V(YN)
1.600V
1.800V
2.000V
2.200V
2.400V
2.600V
2.800V
3.000V
3.200V
3.400V
3.585V
V(R)
Figure 2.55:logistic_parallel_CCT.opj in logistic Compute the Lyapunov exponents We may compute the Lyapunov exponent for a range of growth factor values between 3 and 4, and an initial condition, xo, by iterating the loop (but disregarding the transient or start-up part at the start of the trajectory. Compute the natural log of the absolute value of the differential of the logistic equation for each value of the growth value for about 100 iterates. Repeat this for N iterations at each R value and then add the computed value to a growing sum and divide by N =10,000 to give Lambda. Lnf’(xn)=Ln|(r-2rx)|.
In [Kocarev and Jakimoski, 2001] presents a new block encryption algorithm based on the logistic map. Although the chaos in the logistic map ^
yn ( ynd p) mod1 2-36
(2.23)
The logistic equation is not robust but can be made so by replacing y with y = (^y + p) mod 1, where
^y yhat yn (0,1) 2 [0; 1] and p is the key (a real number). By carrying out a cryptanalysis, it is shown that the algorithm is resistant to known-plaintext attack. Some open problems in chaotic encryption are posed in [Li et al., 2003], along with cryptanalyses and reviews of some other chaotic encryption schemes. From Nui thesis. X1
1
R*v (X1d)*(1-v (X1d))
ANALOGDELAY U1 IN
2
OUT
X1d
Initial Conditions X1
IN ABM1 OUT
DELAY = {Delay } Delay
X2
1
ANALOGDELAY U2 IN
OUT
System equation
Vic1
0
R*v (X2d)*(1-v (X2d)) 2
X2d
V1 = 0 V V2 = 0.4 TD = 0 TR = 10n TF = 10n PW = {Delay } PER = 1 DC = 0 X2
IN ABM1 OUT
DELAY = {Delay } LOG((V(X2)- V(X2d))-(V(X1)- V(X1d)))
PARAMETERS:
Vic2
delay = 1u R = 0.95
0
DC = 0 V V1 = 0 V2 = 0.41 TD = 0 TR = 10n TF = 10n PW = {Delay } PER = 1
Figure 2.56: START_LIAPUNOV_TWO_CIRCUITS.DSN 0
Transient region -10
-20
-30
-40
LOG((V(X2)- V(X2d))-(V(X1)- V(X1d)))
-50
-60 0s
50us 100us LOG((V(X2)- V(X2d))-(V(X1)- V(X1d)))
150us
200us
250us
300us
350us
400us
450us
500us
Time
T. Y. Li and J. A. Yorke, “Period three implies chaos”, American Math. Monthly, vol. 82, pp. 481485, 1975.
2-37
An alog _Delay DELAY = 1 0n U1 pe ak 2 OUTPUT INPUT
1 ynd
ou t
yn
in
V
pe akm eter
D ou t
eq
ou t V1 VOFF = 0 VAMPL = -0 .5 FREQ = 1meg AC =
V
m
V
10 0u
V
R
V1 V = 0 T1 = 0
Vp wl 1
V2 = 3 .9 T2 = 4 m
0 0
Need 100p step size but long time to simulate 0.985 SET = 1 R2
3
in
U1A4
pos V+
2
R1
1
9
10
TL084
0
OUT
+ 4 U1D
pos V+
U1B4
pos V+
+ TL084
-
R3
8
100k12
+ 4 U1C
V2
11 neg V-
13
TL084 OUT
- 11 neg V-
pos 15Vdc
5
11 neg V-
100k
neg
V1
97.5k
100k
+ TL084 OUT
R4
14
6
OUT
7
out
- 11 neg V-
pos V+
0
15Vdc
0
Figure 2.57:
Figure 2.58:
0.1
0
3 4
OUT
8
X1 X2
V+ W
AD633J/AD
Y1 Y2
V- Z 5 neg1
7
3
R1
+
TL084
10k
6
2
R2
pos1
U2A
90k
Analog_Delay
V+
1 2
in
4
pos1
U1
- 11
OUT
1
in
in
out
1
U3 DELAY = {10n} INPUT OUTPUT peakmeter V
neg1 V-
D
R3
in
1.2k
Vtriangle VOFF = 0 VAMPL = 0.2 FREQ = 10k
Vopen_circuit_test
T1 = 0 V2 = 0 T2 = 5m V1 = -4
0
V3
V4
neg1
V
pos1
g
sd
J2
R
inx
15Vdc
15Vdc
0
0
Figure 2.59: NEWLOGISTICANALOGDELAY.DSN 2-38
2 V
3) xorchaoslogistic.pdf SCHEME FOR OBTAINING THE FUNDAMENTAL NOR 1.018
yn
yns
S1
ynsd
S2
OUT 1u T1 = 0V1 = 1 uVclk
V
PARAMETERS:
ROFF = 1meg
Clock_ invert V1 = 0 Ch1
V1 = 0 V2 = 4 TR = {0.1 *p eriod } TF = {0 .1*peri od} PW = {0.2*perio d} PER = {perio d} TD = 0
T2 = 4 0m V2 = 4
+
Sbre ak
Clock
R
Vp wl
ROFF = 1meg RON = 1u
+ -
-
+ -
+
V
Sbre ak
{C}
V2 = 4 TF = {0 .1*peri od} TR = {0.1 *p eriod } PW = {0.2*perio d} PER = {perio d} TD = {0.5 *period}
Vclkinv
IC = 1u
Ch2
{C}
IC = 0 VC1 = 1m
pe riod = 1u C = 2n
0 {schedule(0,1u,29m,50n,33m,25n,34.25m,10n)} {schedule(0,10u,29m,1un,33m,100n)}
Figure 2.60: log:
2.12 Sweep generator Note, we place an initial voltage of – 1V on the sweep capacitor, C to overcome convergence problems. If(V(%IN)100,0,V(%in)),V(%in)) 1
+
Clock
R
OUT
ROFF = 1meg RON = 1u
y nsd Sbreak
V
+ -
-
+ -
+
Sbreak 1u
S1
y ns
S2
-
yn
ROFF = 1meg
Clock_invert Vclkinv
PARAMETERS:
V1 = 0 V2 = 5
V1 = 0
period = 1u
V
Vpwl
C = 15n
V2 = 5 TR = 100n TF = 100n PER = {period} PW = {0.01*period} TD = 0
Vclk T1 = 0
V1 = 1u
T2 = 4m V2 = 4
Ch1
{C}
Ch2
{C}
TF = 100n TR = 100n PW = {0.01*period} PER = {period} TD = {0.5*period}
IC = 1u
IC = 1u
0
Figure 2.61: LOGICAL_ABMSWITCHES_SEPT.opj 2 yn
OUT
IN
PARAMETERS:
-2 exp(-s*delay )
DELAY = 1m
V
1
1 s 10m, delay 100u
y nd R V1 T1 = 0 V1 = 1u T2 = 10
V
1u y ndsq
V2 = 4
0
y(n) = y(nd)+Ry(nd){1-y(nd)] 0
Figure 2.62: R27 R32
ynd
100k neg OPAMP
100k
pos
IN
yn
1
in
ramp
pos
V11 VOFF = 0 VAMPL = -1 FREQ = 20k AC =
V
m
ramp
V
V6
T1 = 0V1 = 1u
V10
V9 15Vdc
15Vdc
T2 = 4m V2 = 3.9 DC = 0
R34
1
-
VPOS
X1
W
2
7y ndsqx
R36 + U5
V
AD633 Y1
0
4
Y2
0
VNEG 5 neg
Z
6
y nd_y ndsqx
neg OPAMP
pos
V
2
0 3 ramp 4 0
zx V12 5m
0
R26
pos U14 1
OUT
1k
X2
3
10k
pos 8
U2
X1
8
R31 VPOS W
10.3k neg
7
X2
-
V
AD633 Y2
OPAMP
1k
Y1
OUT VNEG Z 5 NEG
6
zx
0
+ U6
Analog_Delay 3 my n
in V
pos
out
my nd V
D1
0
Figure 2.63: ANALOGDELAYLOGISTICOPENCIRCUITTEST.DSN in misc
2-39
neg
V
eq
0 R35 10k
V
OUT
100u
0
in
DELAY = 250n U8
ANALOGDELAY
in
OUT + U7
2
V
1.0V
0V
-1.0V V(IN)
0V
-1.0V SEL>> -2.0V V(YND_YNDSQX)
0V
-1.0V
-2.0V 0s
50us
100us
150us
200us
250us
300us
V(EQ) Time
Figure 2.64: The Lyapunov exponents, λi, are calculated using natural logs: 1 dLi (n) ln mi (n) nlim t dr
1 n
i lim ln n
Here, m(t) are the eigenvalues of the system. 1/19
3.3 0V
lo g
LOG10 OUT IN
ab s
ABS OUT IN
mu lt
eq n
1.000
2
R
0 T2 T0
IN1 V
IN2
V
V
1
0V
log(abs(V(%IN2)-V(%IN1)/V(%IN1)))
T1
OUT
IN
li a2
{1/19}
OUT
0
Delay
PARAMETERS:
ynde laysq
DELAY = 1
IN
1
OUT
U1 OUT
2
IN1
4
2
IN2
T0
T1
ANAL OGDELAY R DELAY = {Del ay}
DC = 0
IN
1
T2
ANAL OGDELAY
V1 = 0 V2 = 0 .333 33 TD = 0 TR = 1m
Vi c1
U2 OUT
DELAY = {Del ay}
PW = 1 PER = 30 TF = 1 m
0 0
0.8889
0.3951
0.9560
0.1684
0.5601
0.0570
0.2151
0.6753
0.8770
0.4314
0.2739
0.7955
0.6506
0.9092
0.3301
Figure 2.65: LIAPUNOV_MEASUREMENTS.DSN
2-40
0.9855
0.9812
0.0739
Figure 2.66: 0, 0.8889, 0.3951, 0.956, 0.1684, 0.5601, 0.9855, 0.057, 0.2151, 0.6753, 0.877, 0.4314, 0.9812, 0.2739, 0.7955, 0.6506, 0.9092, 0.3301
avg(ln(abs(v(R)*(1-v(yn)))))/240 s(log(abs(d(V(yn)))))/200 We may use the LE to characterize a chaotic system by calculating the average rate of convergence or divergence of the attractor in state space [ ]. A quantitative measure of the sensitive dependence on the initial conditions; The average rate of divergence (or convergence) of two neighbouring trajectories; Even qualitative predictions are impossible for a time interval beyond the prediction horizon.
Logistic equation yn
Delay
y(n) = Ry(n-1){1- y(n-1)] = R{y(n-1) - y(n-1)^2} T1
Z0 = 50
y ndelay
TD = {delay }
R3 R
IC1 TD = 2.97 Vic TR = 100n TF = 100n V1 = 0 PW = 6m PER = 5 V2 = 0.2 DC = 0
10k Vstair
TSF = 1 VSF = 1.013
C1 10n
PARAMETERS:
R1 DELAY 50
= 100u
R2 50
c:\chaos\my stair.txt
0
Initial conditions
From experimental evidence [IEEE TRANSACTIONS ON EDUCATION, VOL. 42, NO. 3, AUGUST 1999 205 Discrete-Time Analysis of Linear and Nonlinear T. G. Engel, Member, IEEE, and Maria Jackson, Student Member, IEEE], {PT We can compare the bifurcation diagram of the logistic to the Lyapunov exponent diagram, both plotted with the growth factor on the x-axis. If we consider the fixed point at the origin, then the Lyapunov exponent is negative but increases to zero when this fixed point becomes marginally stable at r = 1. The exponent increases in a positive direction towards zero at each period-doubling bifurcation point. For r = 3:57 and increasing in value the system becomes chaotic and the exponent is positive but returns to a negative value at each periodic windows, of which there are infinitely many. It reaches its maximum value of log 2 when r = 4.
2.13 The Hénon equations Michael Hénon, a French astronomer-b1931-, whilst trying to make sense of the complex trajectory of stars moving in a galaxy, created a Poincaré section because a 2-D picture gives a much clearer 2-41
picture. In doing so, he created an equation similar to the logistic equation. Strogatz describes how Hénon created this elegant map which involves stretching and folding similar to that in the Lorenz system. However, the Hénon strange attractor is quite different and does not form closed surfaces as we see in the Lorenz attractor. The Hénon discrete-time system is described by two coupled equations: xn 1 ynd axnd 2
(2.24)
ynd bxn 2 d
(2.25)
xn 1 bxn 2 d axnd 2
(2.26)
Substituting (5.3) into (5.2):
Here a controls the nonlinearity and b the dissipation. Making the b coefficient zero turns this system into the logistic system examined earlier. To examine the trajectory near the fixed points, we obtain the derivative for each state space parameter using the two-dimensional Jacobian matrix which shows how each variable behaves with respect to each other. Let xn = xnd = x*, then:
x* 1 ax*2 bx* ax*2 (b 1) x* 1 0
(2.27)
Calculating the roots of this equation for a = 1.4, b = 0.3 (the original Hénon values), gives (b 1) (b 1)2 4a 1.1313 and 0.631 2a
(2.28)
Linearizing the Hénon map using the Jacobean (Strogatz)
f f xn x y x nd J g g yn x y xnd
xn ynd yn ynd
2ax 1 b b 0
(2.29)
Thus, the determinant of the Jacobean is –b. To implement these equations, we use the ABM approach as before but this time we require two delays in the loop.
Figure 2.67: Modelling the Hénon equations using ABM parts (HÉNONACONSTANT.DSN)
2-42
Figure 2.68: Hénon time series and FFT We can see the identity line in Figure 2-70 cuts the map at the fixed point of 631 mV, but not all of the apparent intersections are fixed points!
Figure 2.69: Hénon strange attractor
2.14 Bifurcation The Hopf bifurcation diagram in Figure 2.71 uses ramp generator achieved using a VPWL part to vary the ‘a’ factor. DELAY = 1u
OUT
2 IN -2
PARAMETERS:
V
a = 1.3 b = 0.4
xnminus1
{a}
xn
V
ramp T1 = 0 V2
V1 = 0
OUT
1
V
T2 = 10m V2 = 1.4
0
bxnminus2
ANALOGDELAY
{b}
xnminus2
2
U2 OUT
IN
DELAY = {Delay }
Figure 2.70: Hénonramp
2-43
1
2
ANALOGDELAY U1 OUT
IN
DELAY = {Delay }
1
Henon equation 2
xn
OUT
IN -2
PARAMETERS:
DELAY = 1u
xnminus1
b = 0.4 ramp
T1 = 0
V1 = 0
V
1
OUT
V2
T2 = 10m V2 = -1.4
0 ANALOGDELAY
bxnminus2
2
xnminus2
{b}
V
OUT
IN
ANALOGDELAY
U2 1
2
{Delay }
OUT
IN
U1 1
{Delay }
V
Vic
V1 = 0 V2 = 1u TD = 0 TR = 100n TF = 100n PW = 1u PER = 1 DC = 0
0
Figure 2.71: Hénon in book6/circuits/Hénon\Hénonrampnoise.opj see bifurcationbrain.pdf Investigate the effects of varying the constant ‘b’ on the bifurcation plot. 1.5V
1.0V
First bifurcation
Stable region 0.5V
Second bifurcation
-0.0V
V(XN) -0.5V
-1.0V
Chaotic region
Change time to - V(Ramp) -1.5V 0V
0.1V
0.2V
0.3V
0.4V
0.5V
0.6V
0.7V
0.8V
0.9V
1.0V
1.1V
1.2V
1.3V
1.4V
V(XN) - V(ramp)
Figure 2.72: Bifurcation diagram for the Hénonramp system note the minus Ramp (1.047-0.446)/(1.146-1.047)=6 ?The tangential distortion observed at the bifurcation points results from sweeping the bifurcation parameter too fast.
2.15 Sine map Sine chaos gro wth1
Vs tair
(v(growth1)/pi)*sin(pi*v(ynd))
TSF = 1
System equation
VSF = 1
Name ynd
TD = {del ay}
iterati ve = 5 m
yn R4 10 0
V
d:\FEB20 10\chao s\mystair1.txt
Dela y = 10 0u T1
ABM1
0
PARAMETERS:
Initial Conditions
10 u
R2
10 0
Z0 = 1 00
mystair starts from 2, mystair1 starts from 0 {schedule(0,1m,3,10u)}
0
v(growth1)*(v(y)-pi**2*v(y)**3/6 + pi**4*v(y)**5/120 - pi**6*v(y)**7/(120*42)) sinx = x - x^3/3! + x^5/5! - x^7/7!
OUT
2 IN -2 System equation
y
Name
yd
ABM1 V
10 u
T2
R5 10 0 = {del ay} TD
R3
10 0
Z0 = 1 00
0 Parts used: Vpulse, LAPLACE, ABM1, SUM, CONST, R, T, and LIMIT
Figure 2.73: See circuits/misc 2-44
Figure 2.74: Sine map
2.16 The sine map The sine delay model is displayed in Figure.
The Cosine delay Henon model xn
{a}*cos(V(%IN))
PARAMETERS:
DELAY = 10u
V
a = -0.4
xn-1
b = -1 V
1 V1 = 0 V2 = 1 TD = 0u TR = 100 n TF = 1 00n PW = 10 u PER = 1
U1 IN
OUT
ANAL OGDELAY
V2
2
1 V
U2 IN
OUT
2
xn-2
b V
ANAL OGDELAY
x(n) = acos{x(n-1)} + x(n-2) x(n) = bx(n-2) + a cos(x(n-1)
0
Figure 2.75: DELAYEDHÉNONCOSINE.DSN in Hénon Repeating exercise 1 but using a sine in the ABM1 part. Investigate the following quadratic areapreserving Hénon map:
xn xnd cos ( ynd xnd2 )sin
(2.30)
yn xnd sin ( ynd xnd2 )cos
2.17 Lozi map xn V
{a}
ABS OUT IN
2
xnd 2
U2 OUT
IN
1
ANAL OGDELAY V
OUT
1
U1 OUT
IN
ANAL OGDELAY DELAY = {Del ay}
DELAY = {Del ay}
PARAMETERS:
DELAY = 10u
a = 1.4 This is a triangle wave for producing a ramp
V
V1 = 0 IC
DC = 0 Vi c
bxnm inus 2
V2 = 1 u
b = 0.3
{b}
xnmi nus2
TD = 0 TR = 100 n TF = 1 00n PW = 1u PER = 1
xn=1-a|xnd|+ynd yn=bxnd so xn=1-a|xnd|+bx2nd a=1.7, b 0.5
0
2.76:Lozi.opj in Hénon
2-45
1
1.6V
1.2V
Lozi Map for a = 1.3, b 0.5
0.8V
0.4V
0V
-0.4V
-0.8V -0.8V -0.4V V(xnminus2)
0V
0.4V
0.8V
1.2V
1.6V
v(xn)
Figure 2.77
V
ABS OUT IN
xnd1
PARAMETERS:
DELAY = 1u V1 = 0 .8
V2 = 1 .8 T2 = 1 00m OUT
a = 1.7 b = 0.5
T1 = 0 a
1
xn1 0 This is a triangle wave for producing a ramp V1 = 0 IC
DC = 0 Vi c
V2 = 1 u
{b}
TD = 0 TR = 100 n TF = 1 00n PW = 1u PER = 1
xnmi nus2 1
DELAY = {Del ay} U4 2 OUT IN ANAL OGDELAY
0
1
DELAY = {Del ay} U3 2 OUT IN
1
ANAL OGDELAY
xn=1-a|xnd|+ynd yn=bxnd so xn=1-a|xnd|+bx2nd a=1.7, b 0.5 a= 0.9, b = -1
See hen a=1.2; b=0.4; N=6000; x = zeros(1,N); y=zeros(1,N); x(1)=0.1; y(1)=0; for n=1:N x(n+1)=1+y(n)-a*x(n)^2 ; y(n+1)=b*x(n); end From nonlinear physics mathematica with a and b, positive real constants.Hénonreport.doc in another stuff directory We may produce a PRNG by inputting two Hénon circuits to an exclusive OR gate as shown in Figure 2.81. This arrangement we will show, produces a uniform PSD, one of the requirements for robust pseudo-random generators.
2-46
xn
ABS IN OUT
1 + 0.380*V(xn2) - 1.2547*V(xn1)*V(xn1) V
OUT
2 IN
OUT
IN V
-2
xn
U1
1
IN
2
OUT
1
xn1
IN2
OUT
ANALOGDELAY
U2 IN
2
OUT
xn2
U5
1
3
ANALOGDELAY
IN1
DELAY = 1u
XOR
10u OUT xn0
0.971769778274958 + 0.3802370169*V(xn2) - 1.25477362851774*V(xn1)*V(xn1)
ABS IN OUT
R1 10k
V
V
2
OUT
XOR
2
DELAY = 1u
0
IN
OUT
IN
-2
xn0
U3
1
IN
OUT
2
1
xn11
IN2
OUT
ANALOGDELAY
U4 IN
OUT
2
xn22
ANALOGDELAY
IN1
DELAY = 1u
DELAY = 1u
12u OUT 0.977309166044849 + 0.367653223040701*V(XN22) -1.25869685835127*V(XN11)*V(XN1) -0.0156469067204919*V(XN22)*V(XN22) + 0.0302901399425228*V(XN22)*V(XN11)*V(XN11) -0.000123359975258202*V(XN22)*V(XN22)*V(XN22)
Figure 2.78: HÉNONEUREQA.DSN in Hénon
2.18 Tent Map This chaotic map is referred to a tent map because of its unimodal map shape. This one-dimensional map obtained by plotting the output versus a delayed version of the output and is similar to the logistic function analysed elsewhere in this book. Sprott: The tent map that maps the interval -1 to 1, back onto itself, is called an endomorphism. Xn+1 = 1 - 2|Xn| The return map is very similar to the tent map: if 0 < x < 0.5 ïì 2 x, f ( x) = ïí ïïî 2 x - 1, if 0.5 < x < 1
This shows why the system is unpredictable: expand x as a binary ‘decimal”, like x=.1100101001.... (which means x =
1 1 1 1 1 + + + + + 2 4 32 128 1024
Then, the effect of f is just to strip off one binary place at a time, i.e. for the above x, f(x) = 0.100101001... Thus the nth binary place is 0 or 1, if and only if, the nth loop in the future of x goes to the left or right wing of the butterfly. Thus, the nth cycle in the future is buried in the finer and finer approximations to the number x. The return map shows how one point differs from the next point. If the data is random, then a return map will be a distribution of points scattered in a random fashion. The map is plotted by making a new series comprising successive maximum or peak values in the series. The return map doesn’t show a definite peak but a cloud of points near the peak. To approximate a complicated function by a simpler function that is accurate only within a small portion of the complicated function's range. In other words, if f(x) is the complicated function, and a is the point at which we want our approximation to be accurate, then we couldn't care less how accurate the approximation is for x far from a. PARAMETERS: IN1 OUT
IN2
R=2
if(V(x)