Skip to main content

Chaotic ODEs: FPGA Examples

  • Chapter
  • First Online:
A Route to Chaos Using FPGAs

Part of the book series: Emergence, Complexity and Computation ((ECC,volume 16))

  • 1274 Accesses

Abstract

In this chapter, we will focus on realizing chaotic systems on an FPGA. We will first show a simple numerical method for specifying chaotic systems on the FPGA and then realize the Lorenz system. We will then illustrate the complete FPGA design process of functional simulation, in-system debugging and physical implementation. In order to illustrate the robustness of FPGAs, we will conclude this chapter by realizing a chaotic system with a hyperbolic tangent nonlinearity.

figure a

FPGA realization of the chaotic attractor from the Highly Complex Attractor system [10]

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    One way to predict the effect on z(t) in Fig. 3.4 is to use functional simulation, the subject of Sect. 3.3.

  2. 2.

    Before using SignalTap, you may need to enable the TalkBack feature in Quartus under Tools \(\rightarrow \) Options \(\rightarrow \) Internet Connectivity.

  3. 3.

    Although chaotic systems are mathematically not band-limited, “most” of the chaos is practically band-limited due to the underlying sampling period of the numerical method. Hence a good rule of thumb is to choose the sampling clock frequency to be twice the frequency underlying the numerical method.

  4. 4.

    We could also reduce simulation step size and K in the Simulink simulation but you will notice our results will not match with the physical realization (when compared with the Lorenz system) because of the large Lyapunov dimension. Turns out our choices for sampling frequency and dt are sufficient to simulate the system accurately. But before we look at the physical realization, we need to address the issue of specifying the hyperbolic tangent function in DSP builder.

  5. 5.

    There are other chaotic systems in the zipped Quartus project that we will utilize later in the book.

References

  1. Altera Corporation (2014) Debugging of VHDL Hardware Designs on Altera’s DE-Series Boards. ftp://ftp.altera.com/up/pub/Altera_Material/13.0/Tutorials/VHDL/Debugging_Hardware.pdf 23 Mar 2014

  2. Altera Corporation (2014) Quartus II 10.0 handbook—Design Debugging Using the SignalTap II Logic Analyzer. http://www.altera.com/literature/hb/qts/qts_qii53009.pdf 23 Mar 2014

  3. Chen A et al (2006) Generating hyperchaotic L\(\ddot{\text{ u }}\) attractor via state feedback control. Phys A 364:103–110

    Article  Google Scholar 

  4. Chu PP (2011) Embedded SOPC design with NIOS II processor and VHDL examples. Wiley, Hoboken

    Book  Google Scholar 

  5. Cornell University (2013) Digital Differential Analyzer. In: ECE5760 Homepage. http://people.ece.cornell.edu/land/courses/ece5760/DDA/index.htm Accessed 13 Oct 2013

  6. Llibre J, Valls C (2012) On the integrability of a Muthuswamy-Chua system. J Nonlinear Math Phys 19(4):1250029–1250041

    MathSciNet  Google Scholar 

  7. Lu J et al (2002) Local bifurcations of the Chen system. Int J Bifurc Chaos 12(10):2257–2270

    Article  Google Scholar 

  8. Muthuswamy B, Chua LO (2010) Simplest chaotic circuit. Int J Bifurc Chaos 10(5):1567–1580

    Article  Google Scholar 

  9. Numerical Simulation of Chaotic ODEs (2014) In: Chaos from Euler Solution of ODEs. http://sprott.physics.wisc.edu/chaos/eulermap.htm 24 Aug 2014

  10. San-Um W, Srisuchinwong B (2012) Highly complex chaotic system with piecewise linear nonlinearity and compound structures. J Comput 7(4):1041–1047

    Google Scholar 

  11. Sprott JC (2010) Elegant chaos. World Scientific, New Jersey

    Book  MATH  Google Scholar 

  12. Varaiya PP, Lee EA (2002) Structure and interpretation of signals and systems. Addison-Wesley, Boston

    Google Scholar 

  13. Zhang Y, Zhang X (2013) Dynamics of the Muthuswamy-Chua system. Int J Bifurc Chaos 23(8):1350136–1350143

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Santo Banerjee .

Appendices

Problems

3.1

Experiment with the sampling frequency and fixed point representation for the highly complex attractor system.

3.2

Reconsider the Chua system (Eqs. 1.82, 1.83 and 1.84), repeated below for convenience.

$$\begin{aligned} \dot{x}&=\alpha [y- x - m_1 x - \frac{1}{2}\left( m_0-m_1\right) \left( |x+1|-|x-1|\right) ] \end{aligned}$$
(3.16)
$$\begin{aligned} \dot{y}&=x-y+z \end{aligned}$$
(3.17)
$$\begin{aligned} \dot{z}&=-\beta y \end{aligned}$$
(3.18)

\(m_0,m_1,\alpha ,\beta \in \mathbb {R}\) are parameters of the system. Use \(m_0=\frac{-8}{7},m_1=\frac{-5}{7},\alpha =15.6,\beta =25.58\) to perform a discrete simulation and then realize the system on the FPGA.

3.3

Simulate and implement Sprott’s jerky chaotic system shown in Eqs. (3.19), (3.20) and (3.21).

$$\begin{aligned} \dot{x}&=-2y \end{aligned}$$
(3.19)
$$\begin{aligned} \dot{y}&=x+z^2 \end{aligned}$$
(3.20)
$$\begin{aligned} \dot{z}&=1+y-2z \end{aligned}$$
(3.21)

3.4

Simulate and implement the R\(\ddot{\text {o}}\)ssler system in Eqs. (3.22), (3.23) and (3.24).

$$\begin{aligned} \dot{x}&=-y-z \end{aligned}$$
(3.22)
$$\begin{aligned} \dot{y}&=x+\alpha y \end{aligned}$$
(3.23)
$$\begin{aligned} \dot{z}&=\beta +z(x-\gamma ) \end{aligned}$$
(3.24)

\(\alpha ,\beta ,\gamma \in \mathbb {R}\) are parameters of the system. Use \(\alpha =0.1,\beta =0.1,\gamma =14\).

3.5

Simulate and implement the hyperchaotic L\(\ddot{\text {u}}\) system [3] in Eqs. (3.25), (3.26), (3.27) and (3.28).

$$\begin{aligned} \dot{x}&=a(y-x)+u \end{aligned}$$
(3.25)
$$\begin{aligned} \dot{y}&=-xz+cy \end{aligned}$$
(3.26)
$$\begin{aligned} \dot{z}&=xy-bz \end{aligned}$$
(3.27)
$$\begin{aligned} \dot{u}&=xz+du \end{aligned}$$
(3.28)

Parameter values are: \(a=36,b=3,c=20,d=1.3\). Initial conditions are (1, 2, 3, 4). Note that since we have a four-dimensional system and for the parameters chosen we have a value of hyperchaos. When we realize this system on the FPGA, we have to make sure that we output all four state variables via the DAC on the audio codec.

3.6

We could make a refinement on the simple forward-Euler numerical method for solving chaotic differential equations by considering the fourth-order RK method shown in Eqs. (3.29)–(3.33) [11].

$$\begin{aligned} \mathbf {k}_1&= \mathbf {F}(\mathbf {x}_t)\delta t \end{aligned}$$
(3.29)
$$\begin{aligned} \mathbf {k}_2&=\mathbf {F}\left( \mathbf {x}_t+\frac{\mathbf {k}_1}{2}\right) \delta t \end{aligned}$$
(3.30)
$$\begin{aligned} \mathbf {k}_3&=\mathbf {F}\left( \mathbf {x}_t+\frac{\mathbf {k}_2}{2}\right) \delta t \end{aligned}$$
(3.31)
$$\begin{aligned} \mathbf {k}_4&=\mathbf {F}\left( \mathbf {x}_t+\mathbf {k}_3\right) \delta t \end{aligned}$$
(3.32)
$$\begin{aligned} \mathbf {x}_{t+\delta t}&= \mathbf {x}_t+\frac{\mathbf {k}_1}{6}+\frac{\mathbf {k}_2}{3} + \frac{\mathbf {k}_3}{3} + \frac{\mathbf {k}_4}{6} \end{aligned}$$
(3.33)

Implement Eqs. (3.29)–(3.33) on the FPGA. A maximum step size of \(\delta t=0.1\) is more than adequate for most cases because the natural period of oscillation is typically less than 1 rad per second when the parameters are of order unity, and thus there is the order of \(\frac{2\pi }{\delta t} \approx 63\) iterations per cycle [11]. Using this idea, determine an appropriate step size (\(\Delta t\)) and sampling count for the FPGA realization. Test your algorithm by implementing the circulant chaotic system [11] on the FPGA.

$$\begin{aligned} \dot{x}&=-ax+by-y^3 \end{aligned}$$
(3.34)
$$\begin{aligned} \dot{y}&=-ay+bz-z^3 \end{aligned}$$
(3.35)
$$\begin{aligned} \dot{z}&=-az+bx-x^3 \end{aligned}$$
(3.36)

Parameters are: \(a=1, b=4\). Initial conditions are (0.4, 0, 0). Note that the online reference design for this chapter has an Euler’s method realization of the circulant chaotic system. Compare your RK realization to the Euler realization.

3.7

Perform a functional simulation of the simple combinational logic design from Sect. 2.3.2.1 (listing 2.1). Note that although a functional simulation is “overkill” for this design, this problem should help you understand the nuances of ModelSim by using a very simple example for simulation.

3.8

Perform a functional simulation of the generic n-bit ripple carry adder from Sect. 2.3.2.3.

3.9

Perform a functional simulation of the i\(^2\)c design from Sect. 2.3.3.

3.10

Design and verify the SignalTap waveforms for the PLL based design in Sect. 3.5.1. Also add a global asynchronous reset.

Lab 3 : ModelSim Simulation, In-System Debugging and Physical Realization of the Muthuswamy-Chua System

Objective: Simulate and physically realize the Muthuswamy-Chua [6, 8, 13] system.

Theory: The Muthuswamy-Chua system models a linear inductor, linear capacitor and memristor in series (or parallel). In this book, we will use the original series version whose system equations are Eqs. (3.37)–(3.39) [8].

$$\begin{aligned} \dot{v}_C&=\frac{i_L}{C} \end{aligned}$$
(3.37)
$$\begin{aligned} \dot{i}_L&=\frac{-1}{L}\left( v_C+R(z)i_L\right) \end{aligned}$$
(3.38)
$$\begin{aligned} \dot{z}&=f(z,i_L) \end{aligned}$$
(3.39)

Lab Exercise:

Simulate, verify using SignalTap and hence implement Eqs. (3.37)–(3.39) for the following parameters and functions: \(C=1, L=3, R(z)=\beta (z^2-1), f(z,i_L)= -i_L -\alpha z + z i_L, \beta = 1.5, \alpha = 0.6\). Initial conditions are: (0.1, 0, 0.1). For the simulation, please check the output from the audio codec controller as well. This will help you determine if the left-channel and right-channel DAC registers use the entire range of values reserved for 16-bit 2’s complement.

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Muthuswamy, B., Banerjee, S. (2015). Chaotic ODEs: FPGA Examples. In: A Route to Chaos Using FPGAs. Emergence, Complexity and Computation, vol 16. Springer, Cham. https://doi.org/10.1007/978-3-319-18105-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-18105-9_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-18104-2

  • Online ISBN: 978-3-319-18105-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics