Area and Power Optimization of Chaotic Oscillator Using RK4 Method

DOI : 10.17577/IJERTCONV2IS13042

Download Full-Text PDF Cite this Publication

Text Only Version

Area and Power Optimization of Chaotic Oscillator Using RK4 Method

Pavan Kumar R1

Department of ECE, CMRIT Visvesvaraya Technological University Belgaum, Karnataka

S. Shridevi2

Asst. prof. Department of ECE, CMRIT Visvesvaraya Technological University Belgaum, Karnataka

Abstract Chaos theory studies the behavior of dynamical systems that are highly sensitive to initial conditions. Discretization of such systems can completely change the dynamics of the system even destroying the chaotic behavior. Fourth order Runge – Kutta algorithm is used here to design the chaotic oscillator. In this paper the clock division, floating point adder and field function generation is implemented in Verilog. Stability analysis of the system suggests the range of step size values. IEEE 754 standard floating point arithmetic is implemented with some normalization steps.

The simulation is done by using Xilinx 14.5 software tool. The clock decision is mainly depends on the algorithm used in this design.

Keywords– Chaos theory, Runge-Kutta, Verilog, Xilinx


    The chaotic systems are deterministic because they are governed by some mathematical model. The chaotic oscillators mainly depend on initial conditions and step size.Initial conditions effect is popularly referred as the Butterfly effect .The step size parameter h will be used in design algorithm in further part of the project. The design process is subdivided into 3 parts.

    • Clock division and floating point adder

    • Field function generation

    • Slope generation

    First part is done with simulation outputs. The clock is initially divided into 34 clock cycles. Fourth order algorithm suggests getting 136 clock cycles. The 16-bit floating point arithmetic is implemented which first normalizes the number to perform addition. Some precision will be lost because of normalization process. Runge-Kutta formulas are among the oldest and best understood schemes in numerical analysis. However, despite the evolution of a vast and comprehensive body of knowledge, it continues to be a source of active research. Runge-Kutta methods provide a popular way to

    solve the initial value problem for a system of ordinary differential equations.The construction of higher order ones is very complicated and many extra stages have to be inserted for achieving accuracy of the same magnitude with the basic formula.Such accuracy is useful in astronomical applications like LISA program which is space mission to be launched.


Eulers method and the improved Eulers method are the simplest examples of a whole family of numerical methods to approximate the solutions of differential equations called Runge-Kutta methods.

The trickiest part of using Runge-Kutta methods to approximate the solution of a differential equation is choosing the right step-size. Too large a step-size and the error is too large and the approximation is inaccurate. Too small a step- size and the process will take too long and possibly have too much round of error to be accurate. Furthermore, the appropriate step-size may change during the course of a single problem. Many problems in celestial mechanics, chemical reaction kinematics, and other areas have long periods of time where nothing much is happening (and for which large step- sizes are appropriate) mixed in with periods of intense activity where a small step-size is vital. What we need is an algorithm which includes a method for choosing the appropriate step- size at each step.

The Runge-Kutta-Fehlberg methods do just this. There are many different Runge-Kutta-Fehlberg methods, all of which involve comparing two different Runge-Kutta approximations to get an estimated error and step-size. The RK2(3) method is a low order method which gives moderately accurate results with only 3 function evaluations at each step. If high accuracy is important, you should use a higher order method. On the other hand, if you just need an answer to within 1% for a problem that doesnt cover too large a range of x values, the RK2(3) method is quick, cheap and effective (with the recommended tolerance of T = .001).

The RK4 discrete system for the continuous system given by Eq. 1 is, [5]:

x(n 1) x(n)

1 k1 (n) 2k2 (n) 2k3 (n) k4 (n)

6 x x x x

y(n 1) y(n)

1 k1 (n) 2k2 (n) 2k3 (n) k4 (n)

6 y y y y

Fig.1 Stability graph of fourth order Runge-Kutta algorithm

z(n 1) z(n)

1 k1 (n) 2 k2 (n) 2 k3 (n) k4 (n)



6 z z z z


Wherex(n),y(n), and z(n) are the time series that constitutes the output of the project, and the values of for i = 1, …, 4

The process starts when the initial conditions for the state variables {x0, y0, z0} are loaded in the Register. Values are simultaneously sent to the rst and second adder. The block

k- generator is loaded with a zero value.



k1 (n) h f

x(n), y(n), z(n)


The block Field function produces the value to which are available at the input of the block Slope generator.

The block Field function requires at least 34 clock cycles of

1 1 (n)

1 (n)

the main clock (clk) to nish all the calculations and give a

k2 (n) h f x(n) kx , y(n) k y , z(n) kz

valid result for f. That is the reason c0 = clk/34. Furthermore

x x 2 2


four cycles of c0 are required to get the new value of the time

2 k2 (n)

2 (n)

series. Consequently the overall frequency turns out to be c1 =

k3 (n) h f x(n) kx , y(n) y , z(n) kz

c0/4 = clk/136.

x x 2 2 2

Slope generator



k4 (n) h f x(n) k3 (n), y(n) k3 (n), z(n) k3 (n)

x x x y z

F(), Field function


Where h is the step size. Similar expressions are obtained for y and z.



    FP +

    It is known that RK methods with xed step size h are stable if hi D for all Eigen values i of the local linearization, where D is a domain that can be calculated from the particular method employed. Specically, for the classical fourth-order method (RK4) applied to a system with real Eigen values; the stability requirement is essentially that hi (2.79, 0). Therefore, the largest magnitude eigenvalue limits the size of the largest stable step size. Our linearized system has eigenvalues of 1 = 2 cos (), 2 = 0. Assuming we are near



    K generator




    Fig.2 fourth order Runge-Kutta oscillator architecture

    the steady state solution, sin () .25 yields 1 1.93. Therefore, we expect h < 1.44 for stability. The stability polynomial is

    = 1 + ( )_1 (2)

    And it is required thatR(h)<1 for absolute stability. The stability region is plotted using Map as follows

    This block produces the output sent to the second Adder to obtain the new value of x1. Identical blocks are used for variables y and z. Once x1, y1and z1 are known they are sent to the block Register andthe cycle starts again. Blocks k- generator and Field-function constitute the brain of the RK4 solver and are reused as explained above to reduce the required FPGA area and power.

    1. RESULTS

      It is well known that chaotic systems are very sensitive to initial conitions. Consequently it is not possible to compare different realizations of the same system by means of the respective time series. It was shown that a statistical evaluation of the respective time series is a better methodology [7, 6, 4].The systematic statisticalevaluationofdifferentrealizationsinFPGAisawork in progress, but preliminary results show that the implementation in RK4 presented here may be used to produce chaotic time series with the same statistical properties than those obtained by numerical integration with more involved variable step methods, up to h = 0.05.

      Thisvalueofhrepresentsanimportantimprovement over our previous realization using the Euler algorithm that required h

      0.0045 [5]. These 10 times higher h implies that the number of time intervals required to cover a given evolution time is reduced in a factor 10 and then it reduces the FPGA memory bits required.



A method to real time implementation of a dynamical chaotic system onto a FPGA board is introduced. In free resources it is possible an improvement of the proposed design. Future work will include the use of pipelining, parallel computation and variable step algorithm.


  1. Ch. Tsitouras "Runge-Kutta interpolants for high precision computations"

  2. Joseph D. Skufca Analysis Still Matters: A Surprising Instance of Failure of RungeKuttaFelberg ODE Solvers" Vol. 46, No. 4, pp. 729737.

  3. H. Musa, Ibrahim Saidu and M.Y. Waziri "A Simplified Derivation and Analysis of Fourth Order Runge Kutta Method Volume 9 No.8, November 2010.

  4. L. DeMicco, O. G. Zabaleta, C. M. Gonzlez, C. M. Arizmendi, and H. A. Larrondo, Estocasticidad de un atractorcaticodeterministaimplementado en fpga, Proceed- ingsIberchip 2010, Febrero 2010.

  5. J. C. Butcher, "Numerical Methods for Ordinary Differential Equations", 2nd ed., L. John Wiley & Sons, Ed., 2008.

  6. L. De Micco, H. A. Larrondo, A. Plastino, and O. A. Rosso, Quantiers for randomness of chaotic pseudo random number generators, Philosophical Transactions of the Royal Society A, vol. 367, pp. 3281 3296, 2009

  7. O. A. Rosso, L. DeMicco, H. A. Larrondo, M. T. Martn, and A. Plastino, Generalized statistical complexity mea sure: a new tool for dynamical systems, International Journal of Bifurcation and Chaos, vol. 20, no. 3, pp. 775785, 2010.

  8. J. L. Buchanan, P. R. Turner, Numerical Methods and Analysis, McGraw-Hill, New York, 1992

Leave a Reply