Next Article in Journal
The Sorting Process as a Tool for Promoting the Demand of Heterogeneous Customers
Next Article in Special Issue
Modeling and Simulation Techniques Used in High Strain Rate Projectile Impact
Previous Article in Journal
A Kriging-Assisted Multi-Objective Constrained Global Optimization Method for Expensive Black-Box Functions
Previous Article in Special Issue
A Radial Basis Function Finite Difference Scheme for the Benjamin–Ono Equation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Issues on Applying One- and Multi-Step Numerical Methods to Chaotic Oscillators for FPGA Implementation

by
Omar Guillén-Fernández
,
María Fernanda Moreno-López
and
Esteban Tlelo-Cuautle
*,†
Department of Electronics, INAOE, Tonantintla, Puebla 72840, Mexico
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2021, 9(2), 151; https://doi.org/10.3390/math9020151
Submission received: 8 December 2020 / Revised: 30 December 2020 / Accepted: 6 January 2021 / Published: 12 January 2021
(This article belongs to the Special Issue Applied Mathematics and Computational Physics)

Abstract

:
Chaotic oscillators have been designed with embedded systems like field-programmable gate arrays (FPGAs), and applied in different engineering areas. However, the majority of works do not detail the issues when choosing a numerical method and the associated electronic implementation. In this manner, we show the FPGA implementation of chaotic and hyper-chaotic oscillators from the selection of a one-step or multi-step numerical method. We highlight that one challenge is the selection of the time-step h to increase the frequency of operation. The case studies include the application of three one-step and three multi-step numerical methods to simulate three chaotic and two hyper-chaotic oscillators. The numerical methods provide similar chaotic time-series, which are used within a time-series analyzer (TISEAN) to evaluate the Lyapunov exponents and Kaplan–Yorke dimension ( D K Y ) of the (hyper-)chaotic oscillators. The oscillators providing higher exponents and D K Y are chosen because higher values mean that the chaotic time series may be more random to find applications in chaotic secure communications. In addition, we choose representative numerical methods to perform their FPGA implementation, which hardware resources are described and counted. It is highlighted that the Forward Euler method requires the lowest hardware resources, but it has lower stability and exactness compared to other one-step and multi-step methods.

1. Introduction

Chaos is a nonlinear and unpredictable behavior that can be modeled by ordinary differential equations (ODEs). In continuous-time, the minimum number of ODEs for autonomous chaotic oscillators is three, as for example in [1,2]. A dynamical system modeled by four or more ODEs can generate hyper-chaotic behavior, as for example in [3]. Although sensitivity to initial conditions does not necessarily yield chaos [4], the majority of authors agree that the main characteristic of a dynamical system that generates chaos is the high sensibility to initial conditions, which is associated with a high unpredictability in the evolution of the time series of the state variables. The chaotic time series can be used to estimate Lyapunov exponents, as already shown in the seminal work [5], and by using the software for TIme SEries ANalysis (TISEAN) introduced in [6]. Lyapunov exponents are quite useful to characterize the behavior of a dynamical system, and they quantify the exponentially fast divergence or convergence of nearby orbits that can be seen in phase space.
Nowadays, it is said that a system with one positive Lyapunov exponent (LE+) is defined to be chaotic, and a system with more than one LE+ is hyper-chaotic. Some engineering applications of chaotic oscillators can be found in [7], which provides guidelines on the implementation by using field-programmable gate arrays (FPGAs), and shows the design of random number generators (RNGs) and chaotic secure communication systems [8]. The applications based on (hyper-)chaotic oscillators can be enhanced by guaranteeing higher unpredictability of the chaotic time series. One way is finding the chaotic oscillator having the highest LE+ [2], and also one must take into account other dynamical characteristics such as entropy and Kaplan–Yorke dimension ( D K Y ). For a chaotic oscillator having three ODEs, one computes three Lyapunov exponents, where one must be positive, one zero and one negative. There are methods to evaluate the Lyapunov spectrum [9,10], the seminal one was introduced in [5], and herein we apply TISEAN [6].
Recent works show the usefulness of chaotic oscillators in different engineering problems [11,12,13], however, there is no information on the issues related to the implementation of the numerical methods in electronic systems. In this manner, this paper uses three representative chaotic and two hyper-chaotic oscillators as case studies, which are listed in Table 1, along with their associated name, ODEs and parameter values that are used herein to generate chaotic behavior. The five chaotic oscillators are case studies to evaluate LE+ and D K Y from their chaotic time series that are generated by applying three one-step and three multi-step methods. Representative numerical methods are chosen to be implemented on a FPGA and their hardware resources are counted to show the challenges of minimizing hardware resources while guaranteeing the highest exactness and stability of the numerical simulations.
The three chaotic and two hyper-chaotic oscillators that are case studies in this paper are detailed in Section 2. Three one-step and three multi-step numerical methods are given in Section 3. The chaotic time series of each state variable of each (hyper-)chaotic oscillator are generated by applying all the numerical methods, and the LE+ and D K Y of each state variable are evaluated in Section 4. The FPGA implementation of representative numerical methods is detailed in Section 5. Finally, the conclusions are summarized in Section 6.

2. Chaotic and Hyper-Chaotic Oscillators

The three chaotic (modeled by three ODEs) and two hyper-chaotic (modeled by four ODEs) oscillators that are case studies herein are given in Table 1. In this Table CO1 is the well-known Lorenz system, introduced in 1963 as a simplified mathematical model for atmospheric convection [14], and from which was accidentally discovered the property associated to the high sensitivity to initial conditions. This originated one of the main characteristics in chaos theory and this CO1 is widely used as a work-horse to verify simulation and hardware implementation issues. In phase space, the Lorenz attractor resembles a butterfly effect, which stems from the real-world implications, i.e., in any physical system, the prediction of the evolution of the chaotic trajectories of the state variables will always fail in the absence of perfect knowledge of the initial conditions. In this manner, although physical systems can be completely deterministic, their chaotic behavior makes them inherently unpredictable (https://en.wikipedia.org/wiki/Lorenz_system#cite_note-lorenz-1).
The chaotic oscillator labeled as CO2 is another well-known system introduced by Otto Rössler in 1976, originally intended to behave similarly to the Lorenz attractor, but its dynamical behavior is simpler and has only one manifold. In the Rössler system, an orbit within the attractor follows an outward spiral around an unstable fixed point. From the mathematical model of CO2 given in Table 1, this spiral effect is seen in the x , y plane, and once the graph spirals out enough, the z-dimension shows the influence of a second fixed point causing rise and twist. After the introduction of the Rössler system, important news was that the original model was useful in modeling equilibrium in chemical reactions [15].
CO3 is based on a saturated nonlinear function series that can be approximated by a piecewise-linear (PWL) function. Considering that the PWL function has saturation levels k i , break-points B i and slope m, then Equation (1) can be used to generate two scrolls, and Equation (2) to generate three scrolls. In a general sense, the PWL function given in Equation (1) can be increased to generate an even number of scrolls, and Equation (2) to generate an odd number of scrolls, as shown in [16].
The hyper-chaotic oscillators labeled as HO4 and HO5, both have more than three ODEs in order to have more than one positive Lyapunov exponent, so that they present a more complex behavior than chaotic oscillators modeled by three ODEs.
f ( x ) = k 1 if B 1 < x < B 2 m x if B 2 x B 3 k 2 if B 3 < x < B 4
f ( x ) = k 1 if B 1 < x < B 2 m x B 2 + B 3 2 k 1 + k 2 2 if B 2 x B 3 k 2 if B 3 < x < B 4 m x B 4 + B 5 2 k 2 + k 3 2 if B 4 x B 5 k 3 if B 5 < x < B 6

3. One-Step and Multi-Step Methods

The mathematical models of the chaotic and hyper-chaotic oscillators given in Table 1 can be formulated as initial value problems of the type x ˙ = f ( x ) . The solution of the ODEs can be performed by applying one-step and multi-step methods. The former requires values evaluated in one step x i to evaluate the next step denoted by x i + 1 , while the multi-step methods require two or more previous step values denoted as x i , x i 1 , x i 2 , to evaluate x i + 1 . Other classifications are predictor or explicit and corrector or implicit methods. The explicit methods require past steps to evaluate the current step at iteration i + 1 , but the implicit methods require estimation of the value at the current step i + 1 and past values at steps x i , x i 1 , x i 2 , . In this manner, it is common to name predictor–corrector [18] to the implicit methods, and they require an explicit method to evaluate the functions at the current iteration.
The explicit methods are faster than the implicit ones, but they may present numerical instability and lower exactness than the implicit methods. There are some rules for choosing the explicit method that is used within an implicit one to evaluate the current step x i + 1 [18]. The step-size can also be varied during the computation or it can be constant and can be estimated from the stability analysis of the method, but one must take care of choosing the correct step-size to avoid non-convergence [19]. The explicit or predictor is the weak part in an implicit method due to the inherent truncation error, so that it puts a condition on the exactness of the initial prediction and the step-size of the corrector [18]. To enhance FPGA implementations of the numerical methods, the challenge is the selection of a method that allows a large step-size. That way, the larger the step-size of a numerical method, the higher the operating frequency of the FPGA implementation, as shown in Section 5.
The solution of the five chaotic oscillators given in the previous section are solved herein by applying the three one-step methods given in Table 2, and the three multi-step methods given in Table 3. The one-step methods are labeled as Forward Euler (FE), Backward Euler (BE) and fourth-order Runge–Kutta (RK4). The multi-step methods are labeled as sixth-order Adams–Bashforth (AB6), fourth-order Adams–Moulton (AM4) and fourth-order Gear (G4).

4. Chaotic Time Series, LE+ and D KY

In Table 1, CO1 is the well-known Lorenz system, therefore, we show the simulation results for CO2, CO3, HO4 and HO5. The step-size h for each numerical method is given in the upper corner of each figure. One can appreciate that in some cases h is decreased to generate the same behavior provided by the majority of methods. Although the time evolution of the chaotic series is different for each method, the LE+ and D K Y are similar, and it can be improved by varying h, which is not a trivial task and requires the analysis of the eigenvalues associated to each Jacobian matrix of each equilibrium point of each chaotic oscillator.
Figure 1, Figure 2, Figure 3 and Figure 4 show some chaotic time series of the (hyper-)chaotic oscillators simulated by applying the six numerical methods and listing the step-size h. The six methods were programmed into MatLab, and afterwards described in hardware language for FPGA implementation. In this case, a large h is desired to increase the operation frequency of an FPGA implementation, as shown in the following section.
The D K Y is evaluated from the Lyapunov exponents [9], and for an n-dimensional system it is evaluated by Equation (3), where L E 1 , , L E n are Lyapunov exponent values ordered from the highest to the lowest value.
D K Y = ( n 1 ) + L E 1 + L E 2 + L E n 1 | L E n |
The LE+ and D K Y were evaluated by TISEAN [6], which is based on the method introduced in [20]. The parameters for TISEAN are different for each state variable and analysis is performed using 50,000 samples for each chaotic time series. The LE+ for each state variable of each oscillator is shown in Table 4, and ordered from the highest to the lowest value. The highest LE+ is from the state variable x of HO4 and simulated with the fourth-order Runge–Kutta method, so that it is labeled as x_HO4_RK4. The same labels were adopted for the evaluation of D K Y , whose results are shown in Table 5.

5. FPGA Implementation Issues

The development of engineering applications like chaotic secure communication systems and lightweight cryptography have positioned chaotic oscillators as a hot topic for research in this century. Nowadays, one can find implementations of chaotic systems using either analog or digital electronics, as already shown in [21]. This paper shows the implementation of (hyper-)chaotic oscillators from the selection of a numerical method, and by using FPGAs, which can be programmed/configured in the field after manufacture, and allow fast prototyping at relatively low development cost while providing good performance, computational power and programming flexibility.
Lets us consider the Lorenz oscillator (CO1) given in Table 1. The ODEs can be discretized by applying the most simple method known as Forward Euler (FE), to give the equations given in Equation (4). It is easy to see that these equations can be implemented by using multipliers, adders and subtractors. In addition, each block can be implemented including a clock (clk) and a reset (rst) pin to control the iterative process. As the multiplier consumes more power, if the multiplication includes a constant, as h , σ , ρ , β , one can design single-constant-multipliers (SCMs), as shown in [21], which use shift registers and adders to reduce power consumption and hardware resources. In this manner, the block description of Equation (4) is shown in Figure 5. The registers have an enable (en) pin and the description is divided into the macro-blocks labeled as Function Evaluation and Integrator FE. A counter is added to control the number of clks required in the FPGA implementation to evaluate the current iteration at n + 1 , which is saved in the registers to process the next iteration.
x f e n + 1 = x n + h [ σ ( y n x n ) ] y f e n + 1 = y n + h [ x n z n + ρ x n y n ] z f e n + 1 = z n + h [ x n y n β z n ]
The discretization of CO1 by applying an implicit method like Backward Euler (BE) is given in Equation (5), where it can be appreciated that the predictor is the FE given in Equation (4) to evaluate x f e n + 1 , x f e n + 1 , x f e n + 1 . The block description for FPGA implementation is more complex and it embeds the FE method as shown in Figure 6. One can infer that the hardware resources for the BE method almost double compared to FE.
x n + 1 = x n + h [ σ ( y f e n + 1 x f e n + 1 ) ] y n + 1 = y n + h [ x f e n + 1 z f e n + 1 + ρ x f e n + 1 y f e n + 1 ] z n + 1 = z n + h [ x f e n + 1 y f e n + 1 β z f e n + 1 ]
The application of other one-step and multi-step methods to discretize a (hyper-)chaotic oscillator is performed in a similar manner as for the FE and BE methods. For example, the application of the multi-step sixth-order Adams–Bashforth (AB6) method is more complex than FE or BE. It requires five past steps associated to f ( n ) , f ( n 1 ) , f ( n 2 ) , f ( n 3 ) , f ( n 4 ) , f ( n 5 ) that can be evaluated by the 4th-order Runge–Kutta (RK4) method. In this manner, using the iterative equation associated to AB6 that is given in Table 3, the discrete equations of CO1 are given in Equation (6). Figure 7 shows the block description for the FPGA implementation of CO1. One can see the predictor RK4, function evaluation and integrator Adams–Bashforth blocks, which are designed as for the FE and BE methods. The evaluation of Equation (6) also requires a finite-state machine (FSM) to control the iterative process, a cumulative sum block to process the RK4 method and random access memories (RAMs) to save the past steps f ( n ) , f ( n 1 ) , f ( n 2 ) , f ( n 3 ) , f ( n 4 ) , f ( n 5 ) that are required for the next iteration, and they are controlled by STP (StarT Prediction) and EOP (End Of Prediction). The predictor RK4 is disconnected after the first iteration, which is controlled by the FSM.
x a b 6 n + 1 = x n + h / 1440 [ 4277 f ( n ) 7923 f ( n 1 ) + 9982 f ( n 2 ) 7298 f ( n 3 ) + 2877 f ( n 4 ) 475 f ( n 5 ) ] y a b 6 n + 1 = y n + h / 1440 [ 4277 f ( n ) 7923 f ( n 1 ) + 9982 f ( n 2 ) 7298 f ( n 3 ) + 2877 f ( n 4 ) 475 f ( n 5 ) ] z a b 6 n + 1 = z n + h / 1440 [ 4277 f ( n ) 7923 f ( n 1 ) + 9982 f ( n 2 ) 7298 f ( n 3 ) + 2877 f ( n 4 ) 475 f ( n 5 ) ]
In all the previous cases, the FPGA synthesis can be performed by adopting computer arithmetic of fixed-point notation, where the number of bits depends on the amplitudes of the state variables, as detailed in [7], where one can also find guidelines on Very High Speed Integrated Circuit Hardware Description Language (VHDL) programming. In this paper, the fixed-point notation has the format 12.20. Table 6 summarizes the hardware resources for the implementation of CO1, CO2, CO3, HO4 and HO5 applying FE and using FPGA Cyclone IV EP4CGX150DF31C7 under the synthesizer of software “Quartus II 13.0”. In the same table, the last two rows provide the number of clk cycles that are required to evaluate one iteration n, and the latency is given in nanoseconds when using a 50 MHz clk signal.
Table 7 shows the hardware resources for CO1 using FPGA Cyclone IV EP4CGX150DF31C7 under “Quartus II 13.0” and by applying the three one-step (FE, BE, RK4) and three multi-step (AB6, AM4, G4) methods. As supposed, FE requires the lowest hardware resources and clks to process one iteration. The use of SCMs makes a considerable reduction on the number of multipliers. Although RK4 requires almost four times the hardware resources than FE, it is more exact and allows a higher h [7]. AB6 requires the higher number of hardware resources compared to the other five methods. If one does not design an SCM, the VHDL description of AB6 will require more than the 720 available multipliers in the FPGA Cyclone IV, and therefore it may not be implemented on this FPGA, so that one must use an FPGA with more density resources.
The hardware resources for the FPGA implementation of the remaining chaotic systems labeled as CO2, CO3, HO4 and HO5, have similar increases for each numerical method, the main difference being due to the number of ODEs and nonlinear functions.
Figure 8 shows a representative case of the FPGA implementation of CO1 applying the one-step method BE, and Figure 9 shows the application of the multi-step method G4, considering h = 0.001 in both cases.

6. Conclusions

We have shown the issues with the FPGA implementation of chaotic and hyper-chaotic oscillators from the selection of a one-step and multi-step numerical method. The challenge is the selection of the time-step h to increase the frequency of operation of the FPGA design. It was appreciated that each one-step or multi-step method requires different hardware resources, so that trade-offs arise among reducing hardware resources, improving exactness and maximum operation frequency. Another open problem is the selection of the best chaotic oscillator, which can be done by evaluating the LE+ and D K Y . This last characteristic increases as the number of ODEs increases, so that according to the results provided by TISEAN, the hyper-chaotic oscillators have the higher LE+ and D K Y values. The FPGA implementation of the Lorenz system CO1 showed good agreement on the time series generated by applying BE and G4 methods, and using 32 bits in fixed-point notation of 12.30. The exactness can also be accomplished through using more bits, so that one can enhance applications in chaotic secure communications and the Internet of Things (IoT) to guarantee security and privacy. In particular, the IoT application requires a connectivity protocol in which chaotic oscillators can be synchronized to mask the data being transmitted, like in the extremely lightweight publish/subscribe messaging transport known as MQTT (mqtt.org), which is ideal for connecting remote devices with a small code footprint and minimal network bandwidth.

Author Contributions

Conceptualization O.G.-F., M.F.M.-L. and E.T.-C.; software O.G.-F. and M.F.M.-L.; validation O.G.-F., M.F.M.-L. and E.T.-C.; investigation O.G.-F. and M.F.M.-L.; resources O.G.-F. and M.F.M.-L.; writing—original draft preparation O.G.-F. and M.F.M.-L.; writing—review and editing O.G.-F., M.F.M.-L. and E.T.-C.; supervision E.T.-C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fuchs, A. Nonlinear Dynamics in Complex Systems, 1st ed.; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar] [CrossRef]
  2. Muñoz-Pacheco, J.M.; Guevara-Flores, D.K.; Félix-Beltrán, O.G.; Tlelo-Cuautle, E.; Barradas-Guevara, J.E.; Volos, C.K. Experimental Verification of Optimized Multiscroll Chaotic Oscillators Based on Irregular Saturated Functions. Complexity 2018, 2018, 3151840. [Google Scholar] [CrossRef] [Green Version]
  3. Vaidyanathan, S.; Lien, C.H.; Fuadi, W.; Mujiarto; Mamat, M.; Subiyanto. A New 4-D Multi-Stable Hyperchaotic Two-Scroll System with No-Equilibrium and its Hyperchaos Synchronization. J. Phys. Conf. Ser. 2020, 1477, 022018. [Google Scholar] [CrossRef]
  4. Shang, Y. Deffuant model with general opinion distributions: First impression and critical confidence bound. Complexity 2013, 19, 38–49. [Google Scholar] [CrossRef]
  5. Wolf, A.; Swift, J.B.; Swinney, H.L.; Vastano, J.A. Determining Lyapunov exponents from a time series. Phys. D Nonlinear Phenom. 1985, 16, 285–317. [Google Scholar] [CrossRef] [Green Version]
  6. Hegger, R.; Kantz, H.; Schreiber, T. Practical implementation of nonlinear time series methods: The TISEAN package. Chaos Interdiscip. J. Nonlinear Sci. 1999, 9, 413–435. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  7. Tlelo-Cuautle, E.; Rangel-Magdaleno, J.; de la Fraga, L.G. Engineering Applications of FPGAs; Springer International Publishing: Cham, Switzerland, 2016; pp. 1–222. [Google Scholar] [CrossRef]
  8. Fountain, D.M.; Kolias, A.G.; Laing, R.J.; Hutchinson, P.J. The financial outcome of traumatic brain injury: A single centre study. Br. J. Neurosurg. 2017, 31, 350–355. [Google Scholar] [CrossRef] [PubMed]
  9. Chen, H.; Bayani, A.; Akgul, A.; Jafari, M.A.; Pham, V.T.; Wang, X.; Jafari, S. A flexible chaotic system with adjustable amplitude, largest Lyapunov exponent, and local Kaplan—Yorke dimension and its usage in engineering applications. Nonlinear Dyn. 2018, 92, 1791–1800. [Google Scholar] [CrossRef]
  10. Yakovleva, T.V.; Kutepov, I.E.; Karas, A.Y.; Yakovlev, N.M.; Dobriyan, V.V.; Papkova, I.V.; Zhigalov, M.V.; Saltykova, O.A.; Krysko, A.V.; Yaroshenko, T.Y.; et al. EEG Analysis in Structural Focal Epilepsy Using the Methods of Nonlinear Dynamics (Lyapunov Exponents, Lempel-Ziv Complexity, and Multiscale Entropy). Sci. World J. 2020, 2020, 8407872. [Google Scholar] [CrossRef] [PubMed]
  11. Akhmet, M.; Tleubergenova, M.; Zhamanshin, A. Inertial Neural Networks with Unpredictable Oscillations. Mathematics 2020, 8, 1797. [Google Scholar] [CrossRef]
  12. Jia, H.; Guo, C. The Application of Accurate Exponential Solution of a Differential Equation in Optimizing Stability Control of One Class of Chaotic System. Mathematics 2020, 8, 1740. [Google Scholar] [CrossRef]
  13. Lin, C.H.; Hu, G.H.; Yan, J.J. Chaos Suppression in Uncertain Generalized Lorenz–Stenflo Systems via a Single Rippling Controller with Input Nonlinearity. Mathematics 2020, 8, 327. [Google Scholar] [CrossRef] [Green Version]
  14. Lorenz, E.N. Deterministic nonperiodic flow. J. Atmos. Sci. 1963, 20, 130–141. [Google Scholar] [CrossRef] [Green Version]
  15. Gosar, Z. Chaotic Dynamics—Rössler System. Unpublished work. 2011. [Google Scholar] [CrossRef]
  16. Tlelo-Cuautle, E.; Quintas-Valles, A.D.J.; de la Fraga, L.G.; Rangel-Magdaleno, J.D.J. VHDL Descriptions for the FPGA Implementation of PWL-Function-Based Multi-Scroll Chaotic Oscillators. PLoS ONE 2016, 11, e0168300. [Google Scholar] [CrossRef] [PubMed]
  17. Vaidyanathan, S.; Tlelo-Cuautle, E.; Munoz-Pacheco, J.M.; Sambas, A. A new four-dimensional chaotic system with hidden attractor and its circuit design. In Proceedings of the 2018 IEEE 9th Latin American Symposium on Circuits & Systems (LASCAS), Puerto Vallarta, Mexico, 25–28 February 2018; pp. 1–4. [Google Scholar] [CrossRef]
  18. Chapra, S.C.; Canale, R.P. Numerical Methods for Engineers, 5th ed.; McGraw-Hill/Interamericana: New York, NY, USA, 2006. [Google Scholar]
  19. Tannehill, J.C.; Anderson, D.A.; Pletcher, R.H. Computational Fluid Mechanics and Heat Transfer, 2nd ed.; Taylor & Francis: Boca Raton, FL, USA, 1997; pp. 1–740. [Google Scholar]
  20. Sano, M.; Sawada, Y. Measurement of the Lyapunov Spectrum from a Chaotic Time Series. Phys. Rev. Lett. 1985, 55, 1082–1085. [Google Scholar] [CrossRef] [PubMed]
  21. Tlelo-Cuautle, E.; Pano-Azucena, A.D.; Guillén-Fernández, O.; Silva-Juárez, A. Analog/Digital Implementation of Fractional Order Chaotic Circuits and Applications; Springer: Berlin/Heidelberg, Germany, 2020. [Google Scholar]
Figure 1. Time series of x of CO2 given in Table 1 with initial conditions x 0 = y 0 = z 0 = 0.01 .
Figure 1. Time series of x of CO2 given in Table 1 with initial conditions x 0 = y 0 = z 0 = 0.01 .
Mathematics 09 00151 g001
Figure 2. Time series of z of CO3 given in Table 1 with initial conditions x 0 = y 0 = 0.1 , z 0 = 0.0 .
Figure 2. Time series of z of CO3 given in Table 1 with initial conditions x 0 = y 0 = 0.1 , z 0 = 0.0 .
Mathematics 09 00151 g002
Figure 3. Time series of z of HO4 given in Table 1 with initial conditions x 0 = y 0 = z 0 = w 0 = 0.2 .
Figure 3. Time series of z of HO4 given in Table 1 with initial conditions x 0 = y 0 = z 0 = w 0 = 0.2 .
Mathematics 09 00151 g003
Figure 4. Time series of w of HO5 given in Table 1 with initial conditions x 0 = y 0 = z 0 = w 0 = 0.2 .
Figure 4. Time series of w of HO5 given in Table 1 with initial conditions x 0 = y 0 = z 0 = w 0 = 0.2 .
Mathematics 09 00151 g004
Figure 5. Block diagram of Equation (4) for field-programmable gate array (FPGA) implementation applying Forward Euler (FE).
Figure 5. Block diagram of Equation (4) for field-programmable gate array (FPGA) implementation applying Forward Euler (FE).
Mathematics 09 00151 g005
Figure 6. Block diagram description of Equation (5) applying Backward Euler (BE) highlighting function evaluation, integrator Forward Euler and integrator Backward Euler blocks.
Figure 6. Block diagram description of Equation (5) applying Backward Euler (BE) highlighting function evaluation, integrator Forward Euler and integrator Backward Euler blocks.
Mathematics 09 00151 g006
Figure 7. Block diagram description of Equation (6) for FPGA implementation applying AB6 highlighting function evaluation, integrator Adams–Bashforth, cumulative sum, finite-state machine (FSM) and RK4.
Figure 7. Block diagram description of Equation (6) for FPGA implementation applying AB6 highlighting function evaluation, integrator Adams–Bashforth, cumulative sum, finite-state machine (FSM) and RK4.
Mathematics 09 00151 g007
Figure 8. FPGA simulation of CO1 applying BE.
Figure 8. FPGA simulation of CO1 applying BE.
Mathematics 09 00151 g008
Figure 9. FPGA simulation of CO1 applying G4.
Figure 9. FPGA simulation of CO1 applying G4.
Mathematics 09 00151 g009
Table 1. Chaotic and hyper-chaotic oscillators.
Table 1. Chaotic and hyper-chaotic oscillators.
NameODEsParameters
CO1 [1] x ˙ = σ ( y x ) y ˙ = x ( ρ z ) y z ˙ = x y β z σ = 10 , β = 8 / 3 , ρ = 28
CO2 [1] x ˙ = y z y ˙ = x + a y z ˙ = b + z ( x c ) a = b = 0.2 , c = 5.7
CO3 [2] x ˙ = y y ˙ = z z ˙ = a x b y c z + d 1 f ( x , m ) a = 0.7 , b = 0.7 , c = 0.7 , d 1 = 0.7
HO4 [3] x ˙ = a ( y x ) + y z + w y ˙ = b y + c x z p x 2 + w z ˙ = x y d w ˙ = x y a = 16 , b = 3 , c = 8 , d = 20 , p = 0.1
HO5 [17] x ˙ = a ( y x ) w y ˙ = b x + 2 y + x z z ˙ = c x y w ˙ = x a = 6 , b = 5 , c = 50
Table 2. One-step methods.
Table 2. One-step methods.
MethodIterative Equation
Forward Euler (FE) y i + 1 = y i + h f ( y i , t i )
Backward Euler (BE) y i + 1 = y i + h f ( y i + 1 , t i + 1 )
Runge–Kutta 4 (RK4) k 1 = h f ( x i , y i ) k 2 = h f ( x i + 1 2 h , y i + 1 2 k 1 ) , k 3 = h f ( x i + 1 2 h , y i + 1 2 k 2 ) , k 4 = h f ( x i + h , y i + k 3 ) , y i + 1 = y i + 1 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 )
Table 3. Multi-step methods.
Table 3. Multi-step methods.
MethodIterative Equation
Adams–
Bashforth 6
(AB6)
y i + 1 = y i + h 1440 ( 4277 f ( t i , y i ) 7923 f ( t i 1 , y i 1 ) + 9982 f ( t i 2 , y i 2 ) 7298 f ( t i 3 , y i 3 ) + 2877 f ( t i 4 , y i 4 ) 475 f ( t i 5 , y i 5 ) )
Adams–
Moulton 4
(AM4)
y i + 1 = y i + h 24 ( 9 f ( t i + 1 , y i + 1 ) + 19 f ( t i , y i ) 5 f ( t i 1 , y i 1 ) + f ( t i 2 , y i 2 ) )
Gear 4 (G4) y i + 1 = 48 25 y i + 36 25 y i 1 + 16 25 y i 2 3 25 y i 3 + 12 25 h f ( y i + 1 )
Table 4. LE+ (ordered from the highest to the lowest) evaluated by time series analysis (TISEAN) for each state variable of the five oscillators given in Table 1, and for each numerical method.
Table 4. LE+ (ordered from the highest to the lowest) evaluated by time series analysis (TISEAN) for each state variable of the five oscillators given in Table 1, and for each numerical method.
VariableLE+VariableLE+
x_HO4_RK40.48209x_HO4_G40.05828
y_HO4_RK40.46388y_HO4_BE0.05650
w_HO4_FE0.44930x_HO5_BE0.05628
z_HO4_FE0.44903z_HO4_BE0.05575
x_HO4_FE0.43356y_HO5_FE0.05489
w_HO4_RK40.43249x_HO5_AM40.05380
z_HO4_AB60.42495z_HO4_G40.05366
z_HO4_AM40.41541w_HO5_BE0.05221
w_HO4_AB60.41065x_CO1_G40.05066
w_HO4_AM40.40906x_CO1_AM40.04997
x_HO4_AM40.40645w_HO5_G40.04912
x_HO4_AB60.40141y_CO2_AB60.04814
z_HO4_RK40.38334x_HO5_G40.04812
y_HO4_FE0.37315w_HO5_AM40.04610
y_HO4_AB60.36170w_HO4_G40.04488
y_HO4_AM40.35865y_HO5_AB60.04372
x_CO2_FE0.29526z_CO3_AM40.04275
z_HO5_FE0.22398y_HO5_AM40.04017
y_CO2_FE0.20778y_HO5_G40.03834
z_CO2_AM40.20292z_CO3_G40.03809
z_CO2_G40.20292y_HO4_G40.03730
z_HO5_RK40.15873x_CO1_BE0.03651
z_CO2_BE0.15520y_HO5_BE0.03585
w_HO5_RK40.13860y_CO1_RK40.03529
z_HO5_AB60.12956z_CO3_BE0.03187
z_CO3_RK40.11378y_CO1_BE0.02697
w_HO5_AB60.10937y_CO1_FE0.02547
y_CO2_BE0.10362y_CO3_FE0.02457
w_HO4_BE0.09907x_CO2_G40.02429
x_HO5_RK40.09784x_CO3_AB60.02294
z_HO5_G40.09718y_CO3_RK40.02166
w_HO5_FE0.09207z_CO1_BE0.02024
y_CO2_G40.09088x_CO2_RK40.01952
y_CO1_AM40.08520y_CO1_AB60.01944
z_HO5_AM40.08389y_CO3_AM40.01918
z_CO2_FE0.08388x_CO2_AM40.01659
y_CO2_RK40.08253x_CO1_AB60.01596
x_HO4_BE0.08253z_CO1_RK40.01593
x_HO5_AB60.08008y_CO3_G40.01488
z_CO3_FE0.08000x_CO3_RK40.01414
z_CO1_AM40.07899x_CO3_FE0.01380
x_CO2_AB60.07732x_CO2_BE0.01352
y_CO1_G40.07696z_CO1_AB60.01333
x_CO1_FE0.07658z_CO1_FE0.01107
z_CO2_AB60.07475z_CO3_AB60.01041
z_HO5_BE0.07097x_CO3_G40.01024
x_HO5_FE0.06928y_CO3_AB60.00988
z_CO2_RK40.06513x_CO3_AM40.00959
x_CO1_RK40.06501z_CO1_G40.00826
y_CO2_AM40.06107x_CO3_BE0.00788
y_HO5_RK40.06064y_CO3_BE0.00642
Table 5. D K Y (ordered from the highest to the lowest) evaluated by TISEAN for each state variable of the five oscillators given in Table 1, and for each numerical method.
Table 5. D K Y (ordered from the highest to the lowest) evaluated by TISEAN for each state variable of the five oscillators given in Table 1, and for each numerical method.
VariableD-KYVariableD-KY
x_HO5_BE4.00000z_CO2_RK43.00000
z_HO5_AM44.00000x_CO1_AB62.98513
z_HO5_AB64.00000x_CO1_BE2.90439
z_HO5_G44.00000y_HO5_BE2.90363
w_HO5_BE4.00000y_CO2_BE2.89287
z_HO4_G43.94577y_HO5_AM42.87440
z_HO5_BE3.92788y_CO2_AB62.87170
w_HO5_G43.92303y_CO1_G42.84422
w_HO5_AB63.92021y_HO5_G42.81868
z_HO5_RK43.91847z_CO2_FE2.81799
w_HO5_AM43.90834x_CO2_FE2.73846
z_HO5_FE3.90638y_HO4_G42.73341
w_HO5_FE3.88397z_CO3_RK42.71019
x_HO5_AB63.86937z_CO2_AM42.68730
x_HO5_RK43.86684z_CO2_G42.68730
w_HO5_RK43.84980y_CO2_G42.65563
x_HO5_AM43.80773z_CO2_AB62.50008
w_HO4_RK43.71818z_CO3_FE2.37750
y_HO4_AM43.70668x_CO3_AB62.37036
x_HO4_FE3.68494x_CO2_AB62.35488
x_HO4_AM43.68262y_CO2_FE2.28816
y_HO4_AB63.68177y_CO2_AM42.26332
w_HO4_AB63.68161z_CO3_AM42.24167
x_HO4_AB63.68044x_CO3_RK42.20126
w_HO4_FE3.67562z_CO1_BE2.18781
z_HO4_RK43.66694z_CO1_RK42.17805
w_HO4_AM43.66422x_CO3_FE2.17802
z_HO4_AM43.65360y_CO3_AM42.16888
x_HO4_G43.64872z_CO3_BE2.16674
y_HO4_FE3.63942z_CO3_G42.15179
z_HO4_AB63.62949x_CO3_G42.14228
z_HO4_FE3.62776y_CO3_FE2.13910
y_HO4_RK43.59111x_CO3_AM42.13357
x_HO4_RK43.58378y_CO1_RK42.12505
x_HO5_G43.57333y_CO3_G42.11978
x_HO4_BE3.54548z_CO1_AB62.11110
y_HO5_RK43.53267x_CO3_BE2.09697
w_HO4_BE3.44177y_CO1_AM42.09374
y_HO5_FE3.37649z_CO3_AB62.08648
z_HO4_BE3.30898x_CO2_RK42.08539
y_HO5_AB63.30389y_CO3_RK42.08183
x_HO5_FE3.17620z_CO1_AM42.06457
y_HO4_BE3.16271x_CO1_AM42.06136
w_HO4_G43.15787z_CO1_FE2.05527
x_CO1_FE3.00000y_CO1_FE2.04314
x_CO1_RK43.00000x_CO2_G42.03557
x_CO1_G43.00000y_CO3_AB62.03262
y_CO1_BE3.00000z_CO1_G42.02645
y_CO1_AB63.00000x_CO2_AM42.00114
y_CO2_RK43.00000y_CO3_BE2.00079
z_CO2_BE3.00000x_CO2_BE1.98573
Table 6. Hardware resources using FPGA Cyclone IV EP4CGX150DF31C7 and applying FE to CO1, CO2, CO3, HO4 and HO5.
Table 6. Hardware resources using FPGA Cyclone IV EP4CGX150DF31C7 and applying FE to CO1, CO2, CO3, HO4 and HO5.
ResourcesCO1CO2CO3HO4HO5Available
Logic elements12951083256725541707149,760
Registers65456558815911045149,760
9*9 bit multipliers168813592720
Max freq (MHz)90.88102.7558.5579.7782.750
Clock cycles by iteration579129-
Latency (ns)100140180240180-
Table 7. Hardware resources for CO1 using FPGA Cyclone IV and applying different methods.
Table 7. Hardware resources for CO1 using FPGA Cyclone IV and applying different methods.
ResourcesFEBERK4AB6AM4G4Available
Logic elements129519884708851276847220149,760
Registers65411602662423238563484149,760
Multipliers1632208325290274720
Freq (MHz)90.8892.5984.7783.5384.1882.7350
Clks/iteration51132190130100-
Latency (ns)100220640380026002000-
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Guillén-Fernández, O.; Moreno-López, M.F.; Tlelo-Cuautle, E. Issues on Applying One- and Multi-Step Numerical Methods to Chaotic Oscillators for FPGA Implementation. Mathematics 2021, 9, 151. https://doi.org/10.3390/math9020151

AMA Style

Guillén-Fernández O, Moreno-López MF, Tlelo-Cuautle E. Issues on Applying One- and Multi-Step Numerical Methods to Chaotic Oscillators for FPGA Implementation. Mathematics. 2021; 9(2):151. https://doi.org/10.3390/math9020151

Chicago/Turabian Style

Guillén-Fernández, Omar, María Fernanda Moreno-López, and Esteban Tlelo-Cuautle. 2021. "Issues on Applying One- and Multi-Step Numerical Methods to Chaotic Oscillators for FPGA Implementation" Mathematics 9, no. 2: 151. https://doi.org/10.3390/math9020151

APA Style

Guillén-Fernández, O., Moreno-López, M. F., & Tlelo-Cuautle, E. (2021). Issues on Applying One- and Multi-Step Numerical Methods to Chaotic Oscillators for FPGA Implementation. Mathematics, 9(2), 151. https://doi.org/10.3390/math9020151

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop