# FPGA Realization and Lyapunov–Krasovskii Analysis for a Master-Slave Synchronization Scheme Involving Chaotic Systems and Time-Delay Neural Networks

Authors: J. Perez-Padron; C. Posadas-Castillo; J. Paz-Perez; E. Zambrano-Serrano; M. A. Platas-Garza
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

In this paper, the trajectory tracking control and the field programmable gate array (FPGA) implementation between a recurrent neural network with time delay and a chaotic system are presented. The tracking error is globally asymptotically stabilized by means of a control law generated from the Lyapunov–Krasovskii and Lur’e theory. The applicability of the approach is illustrated by considering two different chaotic systems: Liu chaotic system and Genesio–Tesi chaotic system. The numerical results have shown the effectiveness of obtained theoretical results. Finally, the theoretical results are implemented on an FPGA, confirming the feasibility of the synchronization scheme and showing that it is hardware realizable.


---

## Body

## 1. Introduction

Neural networks can be considered as nonlinear mathematical functions whose parameters are adjusted to describe the behavior of a static or dynamic system [1]. According to their structure, neural networks can be classified as static neural networks or dynamic neural networks. The static neural networks are capable of approximating any function using static mapping [2]. Meanwhile, dynamic neural networks, also called recurrent neural networks, have feedback connections that give them higher capability than static neural networks. For example, recurrent neural networks can reproduce the dynamic response of a dynamic system due to their feedback connection. They can also overcome many problems related to static neural networks, such as extreme global search, and consequently, have better approximation properties [3]. Recently, due to the richness of dynamic behaviors from recurrent neural networks, they have received much attention and been investigated in a wide variety of applications in diverse fields such as in associative memory [4], neurodynamic optimization problems [5], pattern recognition [6], image processing [7], and so on [8, 9].It is well known that the time-delay phenomenon is an inherent feature of many physical processes such as nuclear reactors, chemical processes, and biological systems. Usually, it is considered a source of oscillation and divergence, leading to system performance degradation or even generating instability [9]. A delayed neural network can generate complicated dynamic behaviors such as boundedness, periodicity, stability, chaos, and synchronization [10]. Synchronization is a fundamental behavior of recurrent neural networks. Hence, many researchers devote their effort to studying the delay effect on drive-response synchronization. Indeed, the drive-response synchronization of recurrent neural networks cannot be achieved individually, so external input signals should be considered in the neural network response. Many efficient control approaches have been designed to control or achieve the synchronized state in the literature, such as linear feedback control, active control, intermittent control, adaptive control, event-triggered control, pinning control, and impulsive control, among others [11–13]. In particular, the Lyapunov–Krasovskii approach has demonstrated to be an efficient method to deal with the global asymptotic stability of recurrent neural networks with time delay. In [14], the global synchronization of multiple recurrent neural networks with time delays under a switching topology via impulsive interaction is given. An exponential H∞ synchronization method for an uncertain drive and response neural networks with mixed time delays was presented based on a Lyapunov–Krasovskii functional and free-weighting matrices [15]. The synchronization of delayed neural networks with hybrid couplings by employing the Lyapunov functional method and the Kronecker product technique is used to guarantee the global synchronization in coupled networks [16]. In [17], the global asymptotic synchronization for a class of delayed neural networks is investigated. In [18], the pinning synchronization in an array of coupled delayed neural networks with both constant and delayed couplings is presented, showing that the network can be pinned to a homogenous state by applying adaptive feedback control. It is worth noting that the Lyapunov–Krasovskii approach has been demonstrated to be an efficient method to deal with the global asymptotic stability of a recurrent neural network with time delay [19, 20]. In [21], the stability of linear continuous-time systems with time delay by employing new Lyapunov–Krasovskii functionals is presented. New Lyapunov–Krasovskii functionals are proposed to achieve the synchronization behavior of delay neural networks with two time scales for the fixed and adaptive coupling schemes [22]. Some new Lyapunov–Krasovskii functionals are developed by nonuniformly dividing the delay interval into multiple segments and choosing proper functionals with different weighting matrices corresponding to different sections in the Lyapunov–Krasovskii functionals proposed in [23]. In [24], the global stability of a system composed by identical Hopfield neural networks with time-delayed connections is presented by constructing a Lyapunov–Krasovskii functional.Inspired by all the above works, this paper focuses on the problem of tracking a given reference trajectory. It proposes a trajectory tracking scheme in which a time-delay neural network is forced to follow a chaotic system’s reference signal, achieving a drive-response synchronization state between the neural network and the chaotic system. The control law that guarantees the trajectory tracking problem solution is obtained by using the Lyapunov–Krasovskii and Lur’e approach. The pertinence of the approach is demonstrated by considering two numerical examples. In each example, synchronization with one chaotic oscillator is addressed, and the derived control laws are tested via numerical experimentation. The Genesio–Tesi and Liu systems are considered. Although the proposed scheme could be useful to follow other nonlinear systems, we decide to restrict this work using only these two chaotic systems because their tracking can be more challenging than other tracking problems such as the reproduction of the gait cycle in humanoids [25] or the trajectory tracking in different mechanical systems [26] and complex systems [27]. In all the former cases, the movement may be softer and periodic.Additionally, the FPGA technology is used to implement the proposed scheme by using a NI c-RIO-9068 device with a Xilinx Zynq-7000 XC7Z020 FPGA. The hardware implementation results confirm the feasibility of the proposed scheme. We decided to implement the entire scheme on the same chip, i.e., the system to be tracked, the recurrent neural network with time delay, and the derived control law are implemented on the same FPGA chip.This article is organized as follows. In Section2, the construction of the mathematical model is given. The control law of delayed neural network and global asymptotic stability conditions are shown in Section 3. The numerical results showing the applicability of the theory are given in Section 4. Section 5 provides experimental results based on FPGA implementations. Finally, we conclude the paper in the last section.


## 2. Preliminaries

Consider the following time-delay neural network model:(1)x˙t=Axt+Wϕxt−τ+ut,where xt=x1t,x2t,…,xntT∈ℝn is the state vector associated with the neurons; A=diag−λ1,−λ2,…,−λn with λi with i=1,…,n being positive constants representing the rate with at which the neural network will reset its potential to the resting state when disconnected from the external input; W=wij∈ℝn×ℝn represents the delayed connection weight matrix; ϕx=ϕ1x1,ϕ2x2,…,ϕnxnT∈ℝn is the activation function; τ>0 is the transmission delay; and ut=u1t,u2t,…,untT∈ℝn is an external input vector.The following properties are assumed for the activation function [28, 29]:(1)
ϕx is bounded and monotonically nondecreasing on ℝ.(2)
The activation functionϕx is Lipschitz continuous, that is, there exists constant Lϕ>0 such that(2)ϕx−ϕy≤Lϕx−y,∀x,y∈ℝ.The system to be tracked by the recurrent neural network with time delay (driving system) is defined as an autonomousn-dimensional dynamical system given by(3)x˙rt=fxrt,where xrt=xr1t,xr2t,…,xrntT∈ℝn is a n-dimensional state vector, with fxrt defining a vector field fxrt:ℝn⟶ℝn. In this paper, (3) is a nonlinear system that generates chaotic behavior.We continue by presenting the Lyapunov–Krasovskii approach. This method is the natural extension of the second Lyapunov approach associated with the stability analysis of functional differential equations [30]. It consists of considering functionals of the form Vt;xt that are positive definite and decreasing along the trajectories of system x˙t=ft,xt,xt. The Lyapunov–Krasovskii theorem is expressed as follows.Theorem 1 (see [30]).
Letu,v, and w:ℝ+⟶ℝ+ be nondecreasing functions such that uθ and vθ are strictly positive for all θ>0. Let h∈ℝ+ and β:C−h;0⟶ℝn. Assume that the vector field f⋅ of x˙t=ft,xt,xt is bounded for bounded values of its arguments. If there exists a continuous and differentiable functional V:ℝ×C−h;0⟶ℝ+ such that(a)
uβ0≤Vt,β≤vβ(b)
V˙t,β≤−wβ0 for all trajectories of xt=ft,xt,xt(4)Vt+θ,βt+θ≤Vt,βt,∀θ∈−h,0,then the solution xt=0 is uniformly stable for x˙t=ft,xt,xt.
Finally, we add two definitions that will be used to analyze equilibrium points.Definition 1.
An equilibriumE∗ is called a saddle point of index 1 if E∗ has one eigenvalue with nonnegative real part (unstable).Definition 2.
An equilibriumE∗ is called a saddle point of index 2 if E∗ has two unstable eigenvalues.


## 3. Trajectory Tracking for a Recurrent Neural Network with Time Delay

While the main objective of the work is to present the proposed tracking scheme and its hardware implementation, the main objective of this section is to develop a control law such that the delayed neural network (1) tracks the solution of the dynamical system (3).


### 3.1. Dynamical Analysis Error

Define the tracking error aset=xt−xrt, where the respective error dynamics are(5)e˙t=x˙t−x˙rt.Substituting (1) and (3) in (5), the dynamics of the error are governed by the following equation:(6)e˙t=Axt+Wϕxt−τ+ut−fxrt.Adding and subtracting to (6) the terms Axrt, Wϕxrt−τ, and αt, we have(7)e˙t=Aet+Wϕxt−τ−ϕxrt−τ+ut−αt+Axrt+Wϕxrt−τ+αt−fxrt,where αt is the function to be determined. In order to guarantee that the neural network given in (1) can track the reference trajectory of dynamical system (3), the following assumption has to be satisfied [31].There exist functionsρt and αt such that(8)ρ˙t=Aρt+Wϕρt−τ+αt,ρt=xrt.Therefore, from (3) and (8), we obtain that(9)Axrt+Wϕxrt−τ+αt=fxrt,and then(10)αt=fxrt−Axrt−Wϕxrt−τ,so that (7) becomes(11)e˙t=Aet+Wφϕt−τ+u˜t,with Wφϕt−τ=Wϕxt−τ−ϕxrt−τ and u˜t=ut−αt. It is clear that et=0 is an equilibrium point of (11) when u˜t=0. In this way, the tracking problem can be expressed as a global asymptotic stabilization problem for system (11).


### 3.2. Error Stabilization and Control Design

In order to establish the convergence of (11) to et=0, a Lyapunov–Krasovskii functional is proposed ensuring the desired tracking. The Lyapunov–Krasovskii analysis is a Lyapunov-inspired method that consists of proposing a functional Vt,xt of the state xt, which should be positive and decreasing definite along the trajectories of the system. This is essential for the design of a globally and asymptotically stabilizing control law for time-delay systems [20]. In this work, the following Lyapunov–Krasovskii functional is proposed as in [19, 32]:(12)Ve=∑i=1n∫0eiφξ,xrdξ+∫t−τtφϕTsWTWφϕsds,where the expression ∑i=1n∫0eiφξ,xrdξ is proposed to analyze the stability related to error e˙t, whereas the expression ∫t−τtφϕTsWTWφϕsds is envisioned to analyze the effect of the delay τ; note that this term vanishes as τ⟶0.In this manner, the time derivate of (12), along the trajectories of (11), was computed using the fundamental theorem of calculus as follows:(13)V˙e=∂Ve∂ee˙=φe,xrTe˙+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Substituting (11) in (13), we get(14)V˙e=φe,xrTAe+φe,xrTWϕxt−τ−ϕxrt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Regardingφϕt−τ=ϕxt−τ−ϕxrt−τ, equation (14) can be denoted as(15)V˙e=−λφe,xrTe+φe,xrTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Consider the inequality [19]:(16)PTQ+QTP≤PTΛP+QTΛ−1Q,which holds for all matrices P,Q∈ℝn×k and a positive definite matrix Λ∈ℝn×n. To prove the inequality (16), we considerF≡PTΛP+QTΛ−1Q−PTQ−QTP≥0. Denoting v1=Λ1/2Pv and v2=Λ−1/2Qv, we obtain F=v1Tv1−v2Tv2−2v1Tv2=v1−v22≥0.Applying (16) with Λ=I to the term φe,xrTWφϕt−τ, we get(17)V˙e≤−λφe,xrTe+12φe,xrTφe,xr+12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Simplifying (17), the following is obtained:(18)V˙e≤−λφe,xrTe+12φe,xrTφe,xr−12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ.Becauseφe,xr is a sector function with respect to et, there exist positive constants k1 and k2 such that k1e2≤φe,xrT≤k2e2, where ⋅ is used to denote the Euclidean norm. From φϕt=ϕxt−ϕxrt,(19)φϕtϕxt−ϕxrt≤Lϕxt−xrt=Lϕet.Then, there exists a positive constantLϕ such that φe,xrTφe,xr≤Lϕ2e2. Henceforth, (18) can be written as follows:(20)V˙e≤−λk1−12Lϕ2e2−12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ.Simplifying (20), we have(21)V˙e≤−λk1−12Lϕ2e2+φe,xrTu˜+φϕTWTWφϕ.Sinceφϕ is Lipschitz, we consider (20) applied to φϕTWTWφϕ, obtaining(22)φϕTWTWφϕ≤φϕTWTWφϕ≤Lϕ2W2e2,with Lϕ2 being the Lipschitz constant of ϕ⋅.Replacing (22) in equation (21), the following expression is obtained:(23)V˙e≤−λk1−12Lϕ2e2+Lϕ2W2e2+φe,xrTu˜.Now we consider the control law given as follows:(24)u˜=−2+2Lϕ2W2φe,xr.Then, substituting (24) in (23), we obtain(25)V˙e≤−λ+Lϕ2+Lϕ2W2e2.Then,V˙e<0 for all e≠0. This means that the proposed control law can globally and asymptotically stabilize the error system, thus ensuring the tracking of (1) by (3) achieving the synchronization, which means that limt⟶∞xt−xrt=0 holds; moreover, this implies that the both systems have reached the synchrony state (synchronization).Finally, the control action driving the recurrent neural network is given by(26)u=−2+2Lϕ2W2φe,xr+fxr−Axr−Wϕxrt−τ.We summarize the developed analysis in the following theorem.Theorem 2.
The control law defined asu in (26) ensures that the time-delay neural network established in (1) tracks the dynamical behavior generated by the reference system (chaotic system) (3).


## 3.1. Dynamical Analysis Error

Define the tracking error aset=xt−xrt, where the respective error dynamics are(5)e˙t=x˙t−x˙rt.Substituting (1) and (3) in (5), the dynamics of the error are governed by the following equation:(6)e˙t=Axt+Wϕxt−τ+ut−fxrt.Adding and subtracting to (6) the terms Axrt, Wϕxrt−τ, and αt, we have(7)e˙t=Aet+Wϕxt−τ−ϕxrt−τ+ut−αt+Axrt+Wϕxrt−τ+αt−fxrt,where αt is the function to be determined. In order to guarantee that the neural network given in (1) can track the reference trajectory of dynamical system (3), the following assumption has to be satisfied [31].There exist functionsρt and αt such that(8)ρ˙t=Aρt+Wϕρt−τ+αt,ρt=xrt.Therefore, from (3) and (8), we obtain that(9)Axrt+Wϕxrt−τ+αt=fxrt,and then(10)αt=fxrt−Axrt−Wϕxrt−τ,so that (7) becomes(11)e˙t=Aet+Wφϕt−τ+u˜t,with Wφϕt−τ=Wϕxt−τ−ϕxrt−τ and u˜t=ut−αt. It is clear that et=0 is an equilibrium point of (11) when u˜t=0. In this way, the tracking problem can be expressed as a global asymptotic stabilization problem for system (11).


## 3.2. Error Stabilization and Control Design

In order to establish the convergence of (11) to et=0, a Lyapunov–Krasovskii functional is proposed ensuring the desired tracking. The Lyapunov–Krasovskii analysis is a Lyapunov-inspired method that consists of proposing a functional Vt,xt of the state xt, which should be positive and decreasing definite along the trajectories of the system. This is essential for the design of a globally and asymptotically stabilizing control law for time-delay systems [20]. In this work, the following Lyapunov–Krasovskii functional is proposed as in [19, 32]:(12)Ve=∑i=1n∫0eiφξ,xrdξ+∫t−τtφϕTsWTWφϕsds,where the expression ∑i=1n∫0eiφξ,xrdξ is proposed to analyze the stability related to error e˙t, whereas the expression ∫t−τtφϕTsWTWφϕsds is envisioned to analyze the effect of the delay τ; note that this term vanishes as τ⟶0.In this manner, the time derivate of (12), along the trajectories of (11), was computed using the fundamental theorem of calculus as follows:(13)V˙e=∂Ve∂ee˙=φe,xrTe˙+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Substituting (11) in (13), we get(14)V˙e=φe,xrTAe+φe,xrTWϕxt−τ−ϕxrt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Regardingφϕt−τ=ϕxt−τ−ϕxrt−τ, equation (14) can be denoted as(15)V˙e=−λφe,xrTe+φe,xrTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Consider the inequality [19]:(16)PTQ+QTP≤PTΛP+QTΛ−1Q,which holds for all matrices P,Q∈ℝn×k and a positive definite matrix Λ∈ℝn×n. To prove the inequality (16), we considerF≡PTΛP+QTΛ−1Q−PTQ−QTP≥0. Denoting v1=Λ1/2Pv and v2=Λ−1/2Qv, we obtain F=v1Tv1−v2Tv2−2v1Tv2=v1−v22≥0.Applying (16) with Λ=I to the term φe,xrTWφϕt−τ, we get(17)V˙e≤−λφe,xrTe+12φe,xrTφe,xr+12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ−φϕTt−τWTWφϕt−τ.Simplifying (17), the following is obtained:(18)V˙e≤−λφe,xrTe+12φe,xrTφe,xr−12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ.Becauseφe,xr is a sector function with respect to et, there exist positive constants k1 and k2 such that k1e2≤φe,xrT≤k2e2, where ⋅ is used to denote the Euclidean norm. From φϕt=ϕxt−ϕxrt,(19)φϕtϕxt−ϕxrt≤Lϕxt−xrt=Lϕet.Then, there exists a positive constantLϕ such that φe,xrTφe,xr≤Lϕ2e2. Henceforth, (18) can be written as follows:(20)V˙e≤−λk1−12Lϕ2e2−12φϕTt−τWTWφϕt−τ+φe,xrTu˜+φϕTWTWφϕ.Simplifying (20), we have(21)V˙e≤−λk1−12Lϕ2e2+φe,xrTu˜+φϕTWTWφϕ.Sinceφϕ is Lipschitz, we consider (20) applied to φϕTWTWφϕ, obtaining(22)φϕTWTWφϕ≤φϕTWTWφϕ≤Lϕ2W2e2,with Lϕ2 being the Lipschitz constant of ϕ⋅.Replacing (22) in equation (21), the following expression is obtained:(23)V˙e≤−λk1−12Lϕ2e2+Lϕ2W2e2+φe,xrTu˜.Now we consider the control law given as follows:(24)u˜=−2+2Lϕ2W2φe,xr.Then, substituting (24) in (23), we obtain(25)V˙e≤−λ+Lϕ2+Lϕ2W2e2.Then,V˙e<0 for all e≠0. This means that the proposed control law can globally and asymptotically stabilize the error system, thus ensuring the tracking of (1) by (3) achieving the synchronization, which means that limt⟶∞xt−xrt=0 holds; moreover, this implies that the both systems have reached the synchrony state (synchronization).Finally, the control action driving the recurrent neural network is given by(26)u=−2+2Lϕ2W2φe,xr+fxr−Axr−Wϕxrt−τ.We summarize the developed analysis in the following theorem.Theorem 2.
The control law defined asu in (26) ensures that the time-delay neural network established in (1) tracks the dynamical behavior generated by the reference system (chaotic system) (3).


## 4. Numerical Simulations

In this section, computer simulations are presented to confirm the applicability of the results proposed previously, which are applied to two dynamical systems that generate chaotic behavior.


### 4.1. Synchronization between Delayed Neural Network and Genesio–Tesi System

In 1992, Genesio and Tesi proposed a chaotic system known as the Genesio–Tesi system [33]. It is described by the following simple three-dimensional autonomous system with only one quadratic nonlinear term:(27)x˙r1=xr2,x˙r2=xr3,x˙r3=−a1xr1−a2xr2−a3xr3+a4xr12,where xr=xr1,xr2,xr3∈ℝ3 is the vector state and ai with i=1,…,4 are positive real parameters. System (27) has two equilibrium points E10,0,0 and E2a1/a4,0,0. The parameters and initial conditions of (27) are chosen as a1=1, a2=1.1, a3=0.44, a4=1, and xr10,xr20,xr30T=0.1,0.1,0.1T. The corresponding eigenvalues of equilibria E1, E2 and their stability are described in Table 1. The Lyapunov exponents for system (27) are LE1=0.0818,LE2=0,LE3=−0.5227 which according to [34] make the system chaotic. The algorithm employed for determining Lyapunov exponents was proposed in [35]. Its Kaplan–Yorke dimension is DKY=2.1564, and the phase plane of the chaotic system is displayed in Figure 1. In addition, the bifurcation diagrams of system (27) in terms of the parameters a1 and a3 are plotted in Figures 2(a) and 2(b), respectively. Moreover, the bifurcation diagrams are obtained by plotting the local maximal of the state variable xr1 denoted as x^ in Figures 2(a) and 2(b).Table 1
Stability of equilibrium points from Genesio–Tesi and Liu chaotic systems.
Chaotic systemEquilibriaEigenvaluesStabilityGenesio–TesiE1=0,0,0λ1=−0.7503Saddle point of index 2λ2,3=0.1551±1.1440jE2=1,0,0λ1=0.5871Saddle point of index 1λ2,3=−0.5136±1.1997jLiuE1=0,0,0λ1=2.5Saddle pointλ2=−1; λ3=−5E2=−0.8838,−0.9401,0.6647λ1=−4.3878Saddle point of index 2λ2,3=0.4439±3.3464jE3=−0.8838,0.9401,−0.6647λ1=−4.3878Saddle point of index 2λ2,3=0.4439±3.3464jFigure 1
The Genesio–Tesi chaotic attractor in the phase plane with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane.
(a)(b)(c)Figure 2
(a) Bifurcation diagram of Genesio–Tesi system with varying parametera1. (b) Bifurcation diagram of Genesio–Tesi system with varying parameter a3.
(a)(b)By considering the following delayed neural network defined as in equation (1), we get(28)x1.x2.x3.=−1000−1000−1x1x2x3+0.3450250.30001tanhx1t−τtanhx2t−τtanhx2t−τ+u1u2u3,where u=u1,u2,u3T is the control action applied to the recurrent neural network defined as in (24) and defined by(29)u1u2u3=−ψx1−xr1x2−xr2x3−xr3+xr2xr3−a1xr1−a2xr2−a3xr3+a4xr12−−1000−1000−1xr1xr2xr3−0.3450250.30001tanhxr1t−τtanhxr2t−τtanhxr3t−τ,where ψ is a real constant defined as follows:(30)ψ=2+2∑i=1n∑j=1nwij22.The initial values of the delayed neural network are taken as2,−1,−2; also, we consider a delay τ=15s. In Figure 3, the results are shown.Figure 3
(a) Time evolution for the Genesio–Tesi reference statesxr1,xr2, and xr3 with initial conditions 0.1,0.1,0.1 (purple line) and time evolution for the neural network states x1,x2, and x3 with initial conditions 2,−1,−2 (green line). (b) Error between states xi−xri with i=1,2,3.
(a)(b)Figure3(a) shows the time evolution of the state variables xr (purple line) and x (olive line) that corresponds to the chaotic system and delayed neural network, respectively, and we observe that both solutions evolve independently until τ=15s, that is, when the control law begins to activate. In Figure 3(b), the error between the state variables xri and xi with i=1,2,3 are given, respectively.


### 4.2. Synchronization between Delayed Neural Network and Liu System

Now, in this instance, we demonstrate the applicability of the discussed results considering the delayed neural network (1) described as in the previous example, i.e., equation (28), where the reference model to be tracked is the Liu system.Liu et al. introduced in 2009 a three-dimensional autonomous chaotic system which is based on two multipliers and one quadratic term to introduce the nonlinearity necessary for folding trajectories [36]. The Liu chaotic oscillator is defined as follows:(31)x˙r1=−axr1−m1xr22,x˙r2=bxr2−m2xr1xr3,x˙r3=−cxr3+m3xr1xr2,where a,b,c,m1,m2,m3∈ℝ. Its parameters are chosen as a=m1=1, b=2.5, c=5, and m2=m3=4. The equilibrium points, eigenvalues, and stability of the system are represented in Table 1. By considering the following initial conditions xr10,xr20,xr30T=−1,−0.5,0.5T, the Lyapunov exponents are LE1=0.4155,LE2=0,LE3=−3.8586, which according to [34] confirm that the Liu system is a chaotic oscillator. The algorithm employed for determining Lyapunov exponents was proposed in [35]. Its Kaplan–Yorke dimension is DKY=2.1077. The phase planes of Liu chaotic oscillator are displayed in Figure 4. In addition, the bifurcation diagrams of system (31) with the parameters b and c are displayed in Figures 5(a) and 5(b), respectively. Moreover, the bifurcation diagrams are obtained by plotting the local maximum of the state variable xr1 denoted as x^ in Figures 5(a) and 5(b).Figure 4
The Liu chaotic oscillator in the phase plane with initial conditionsxr10,xr20,xr30T=−1,−0.5,0.5T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane.
(a)(b)(c)Figure 5
(a) Bifurcation diagram of Liu system with varying parameterb. (b) Bifurcation diagram of Liu system with varying parameter c.
(a)(b)The initial values of the delayed neural network are taken as0.1,0.2,−0.1; also, we consider a delay τ=15s. Simulation results are presented in Figure 6.Figure 6
(a) Time evolution for the Liu reference statesxr1,xr2, and xr3 with initial values −1,−0.5,0.5 (purple line) and time evolution for the neural network states x1,x2, and x3 with initial condition 0.1,0.2,−0.1 (green line). (b) Error between states xi−xri with i=1,2,3.
(a)(b)Here we consider the control lawu defined as(32)u1u2u3=−ψx1−xr1x2−xr2x3−xr3+−axr1−m1xr22bxr2−m2xr1xr3−cxr3+m3xr1xr2−−1000−1000−1xr1xr2xr3−0.3450250.30001tanhxr1t−τtanhxr2t−τtanhxr3t−τ,where ψ is a real constant given as in (30). Furthermore, Figure 6(a) presents the time-evolution of the delayed neural network (28) and the chaotic system (31), where they evolve independently until τ=15 seconds; at that time, the proposed control (32) law is incepted. Finally, in Figure 6(b), the error between xi−xri states is displayed.


## 4.1. Synchronization between Delayed Neural Network and Genesio–Tesi System

In 1992, Genesio and Tesi proposed a chaotic system known as the Genesio–Tesi system [33]. It is described by the following simple three-dimensional autonomous system with only one quadratic nonlinear term:(27)x˙r1=xr2,x˙r2=xr3,x˙r3=−a1xr1−a2xr2−a3xr3+a4xr12,where xr=xr1,xr2,xr3∈ℝ3 is the vector state and ai with i=1,…,4 are positive real parameters. System (27) has two equilibrium points E10,0,0 and E2a1/a4,0,0. The parameters and initial conditions of (27) are chosen as a1=1, a2=1.1, a3=0.44, a4=1, and xr10,xr20,xr30T=0.1,0.1,0.1T. The corresponding eigenvalues of equilibria E1, E2 and their stability are described in Table 1. The Lyapunov exponents for system (27) are LE1=0.0818,LE2=0,LE3=−0.5227 which according to [34] make the system chaotic. The algorithm employed for determining Lyapunov exponents was proposed in [35]. Its Kaplan–Yorke dimension is DKY=2.1564, and the phase plane of the chaotic system is displayed in Figure 1. In addition, the bifurcation diagrams of system (27) in terms of the parameters a1 and a3 are plotted in Figures 2(a) and 2(b), respectively. Moreover, the bifurcation diagrams are obtained by plotting the local maximal of the state variable xr1 denoted as x^ in Figures 2(a) and 2(b).Table 1
Stability of equilibrium points from Genesio–Tesi and Liu chaotic systems.
Chaotic systemEquilibriaEigenvaluesStabilityGenesio–TesiE1=0,0,0λ1=−0.7503Saddle point of index 2λ2,3=0.1551±1.1440jE2=1,0,0λ1=0.5871Saddle point of index 1λ2,3=−0.5136±1.1997jLiuE1=0,0,0λ1=2.5Saddle pointλ2=−1; λ3=−5E2=−0.8838,−0.9401,0.6647λ1=−4.3878Saddle point of index 2λ2,3=0.4439±3.3464jE3=−0.8838,0.9401,−0.6647λ1=−4.3878Saddle point of index 2λ2,3=0.4439±3.3464jFigure 1
The Genesio–Tesi chaotic attractor in the phase plane with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane.
(a)(b)(c)Figure 2
(a) Bifurcation diagram of Genesio–Tesi system with varying parametera1. (b) Bifurcation diagram of Genesio–Tesi system with varying parameter a3.
(a)(b)By considering the following delayed neural network defined as in equation (1), we get(28)x1.x2.x3.=−1000−1000−1x1x2x3+0.3450250.30001tanhx1t−τtanhx2t−τtanhx2t−τ+u1u2u3,where u=u1,u2,u3T is the control action applied to the recurrent neural network defined as in (24) and defined by(29)u1u2u3=−ψx1−xr1x2−xr2x3−xr3+xr2xr3−a1xr1−a2xr2−a3xr3+a4xr12−−1000−1000−1xr1xr2xr3−0.3450250.30001tanhxr1t−τtanhxr2t−τtanhxr3t−τ,where ψ is a real constant defined as follows:(30)ψ=2+2∑i=1n∑j=1nwij22.The initial values of the delayed neural network are taken as2,−1,−2; also, we consider a delay τ=15s. In Figure 3, the results are shown.Figure 3
(a) Time evolution for the Genesio–Tesi reference statesxr1,xr2, and xr3 with initial conditions 0.1,0.1,0.1 (purple line) and time evolution for the neural network states x1,x2, and x3 with initial conditions 2,−1,−2 (green line). (b) Error between states xi−xri with i=1,2,3.
(a)(b)Figure3(a) shows the time evolution of the state variables xr (purple line) and x (olive line) that corresponds to the chaotic system and delayed neural network, respectively, and we observe that both solutions evolve independently until τ=15s, that is, when the control law begins to activate. In Figure 3(b), the error between the state variables xri and xi with i=1,2,3 are given, respectively.


## 4.2. Synchronization between Delayed Neural Network and Liu System

Now, in this instance, we demonstrate the applicability of the discussed results considering the delayed neural network (1) described as in the previous example, i.e., equation (28), where the reference model to be tracked is the Liu system.Liu et al. introduced in 2009 a three-dimensional autonomous chaotic system which is based on two multipliers and one quadratic term to introduce the nonlinearity necessary for folding trajectories [36]. The Liu chaotic oscillator is defined as follows:(31)x˙r1=−axr1−m1xr22,x˙r2=bxr2−m2xr1xr3,x˙r3=−cxr3+m3xr1xr2,where a,b,c,m1,m2,m3∈ℝ. Its parameters are chosen as a=m1=1, b=2.5, c=5, and m2=m3=4. The equilibrium points, eigenvalues, and stability of the system are represented in Table 1. By considering the following initial conditions xr10,xr20,xr30T=−1,−0.5,0.5T, the Lyapunov exponents are LE1=0.4155,LE2=0,LE3=−3.8586, which according to [34] confirm that the Liu system is a chaotic oscillator. The algorithm employed for determining Lyapunov exponents was proposed in [35]. Its Kaplan–Yorke dimension is DKY=2.1077. The phase planes of Liu chaotic oscillator are displayed in Figure 4. In addition, the bifurcation diagrams of system (31) with the parameters b and c are displayed in Figures 5(a) and 5(b), respectively. Moreover, the bifurcation diagrams are obtained by plotting the local maximum of the state variable xr1 denoted as x^ in Figures 5(a) and 5(b).Figure 4
The Liu chaotic oscillator in the phase plane with initial conditionsxr10,xr20,xr30T=−1,−0.5,0.5T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane.
(a)(b)(c)Figure 5
(a) Bifurcation diagram of Liu system with varying parameterb. (b) Bifurcation diagram of Liu system with varying parameter c.
(a)(b)The initial values of the delayed neural network are taken as0.1,0.2,−0.1; also, we consider a delay τ=15s. Simulation results are presented in Figure 6.Figure 6
(a) Time evolution for the Liu reference statesxr1,xr2, and xr3 with initial values −1,−0.5,0.5 (purple line) and time evolution for the neural network states x1,x2, and x3 with initial condition 0.1,0.2,−0.1 (green line). (b) Error between states xi−xri with i=1,2,3.
(a)(b)Here we consider the control lawu defined as(32)u1u2u3=−ψx1−xr1x2−xr2x3−xr3+−axr1−m1xr22bxr2−m2xr1xr3−cxr3+m3xr1xr2−−1000−1000−1xr1xr2xr3−0.3450250.30001tanhxr1t−τtanhxr2t−τtanhxr3t−τ,where ψ is a real constant given as in (30). Furthermore, Figure 6(a) presents the time-evolution of the delayed neural network (28) and the chaotic system (31), where they evolve independently until τ=15 seconds; at that time, the proposed control (32) law is incepted. Finally, in Figure 6(b), the error between xi−xri states is displayed.


## 5. FPGA-Based Implementation

The digital implementations of chaotic systems have attracted increasing interest in the last few years [37, 38]. They provide certain advantages in comparison with analog-based systems, like accuracy and possible integration in embedded applications, especially in data encryption and secure communications, which exhibit various practical difficulties like the sensitivity of components to temperature, aging, etc. Recently, the digital-based chaotic implementations are realized considering different numerical circuit-based integrated systems like digital signal processors (DSPs), application specific integrated circuits (ASIC), and FPGA. But the FPGA implementation designs overcome the problems related to AISC and DSP-based applications; this is due to the excellent trade-off between computational power and the performance and reliability which it provides.In this section, the FPGA realizations for the systems previously shown are addressed. We present two implementations: one of them implements the systems shown in Section4.1 and the other implements those shown in Section 4.2. Both implementations were done into a Xilinx Zynq-7000 XC7Z020 FPGA chip. The LabVIEW FPGA compiler software and the National Instruments cRIO-9068 hardware were used. cRIO-9068 has attached the FPGA chip and the NI-9264 module. The NI-9264 module allows each design to have six analog outputs from 0 to 10 volts. Both designs use the states of the neural network and the chaotic system as outputs.


### 5.1. Description of the Designs

All the mathematical operations were done using fixed-point (FXP) arithmetic. FXP was chosen to reduce the hardware cost and achieve higher speeds. We use 30 bits to represent each state of the neural network and the chaotic system; specifically, we use 7 bits for the integer part and 23 bits for the fractional part. In digital systems, the chaotic behavior may be affected by time discretization or low-resolution FXP arithmetic. In our case, we compute the maximum Lyapunov exponent (MLE) from the FXP sequences related to the implemented Liu and Genesio–Tesi systems by employing TISEAN package software [39]. The obtained values were as follows: MLE = 0.0664 for the Genesio–Tesi system and MLE = 0.0782 for the Liu system. The positive value for each MLE confirms chaotic behavior and validates the FXP resolution and the sampling time used.


#### 5.1.1. Top Level

The top-level description of each implementation is shown in Figure7, where k represents the sample index. In this work, the top-level description used allows to implement the tracker and the system to be tracked on the same chip, and is composed of the following modules: (a) the chaotic system to be tracked, (b) the delayed neural network, (c) the control law, and (e) the integration method. Note that the block diagram in Figure 7 applies to both designs.Figure 7
Block diagram describing the top-level description of the proposed implementation for the Genesio–Tesi and Liu trackers, where the dashed blocks represent (a) the chaotic system to be tracked given in (31) or (32), (b) the delayed neural network given in (33), (c) the control law given in (34), and (d) the Euler integration method (35).


#### 5.1.2. Secondary Level

The dynamics of the chaotic system, which are represented in the dashed block labeled as (a) in Figure7, are given by the time-discrete version of (27):(33)f1k=xr2k,f2k=xr3k,f3k=−xr1k−1.1xr2k−0.44xr3k+xr12k,for the Genesio–Tesi case, and by the discrete version of (31):(34)f1k=−xr1k−xr22k,f2k=2.5xr2k−4xr1kxr3k,f3k=−5xr3k+4xr1kxr2k,for the Liu case. In both cases, FXP multipliers and adders were used to perform the arithmetic operations involved.The dynamics of the delayed neural network, which are represented in the dashed block labeled as (b) in Figure7, are given by the discrete version of (1):(35)η1k=−x1k+∑i=13w1,itanhxik−m+u1k,η2k=−x2k+∑i=13w2,itanhxik−m+u2k,η3k=−x3k+∑i=13w3,itanhxik−m+u3k,where the tanh⋅ function was approximated by its fourth-order Taylor series, and FIFO buffers implemented on the block RAM of the device were used to perform the delay of m samples in the three states. Six FIFO registers were used, each one with 16384 elements of 30 bits each. With this configuration, a delay of m=16384 samples is generated in all the states.The control lawu1k,u2k,u3k applied to the neural network (35) is represented in the dashed block labeled as (c) in Figure 7. It was implemented as follows:(36)u1k=ψe1k+f1k−xr1k−∑i=13w1,itanhxrik−m,u2k=ψe2k+f2k−xr2k−∑i=13w2,itanhxrik−m,u3k=ψe3k+f3k−xr3k−∑i=13w3,itanhxrik−m,where ejk=xjk−xrjk for j=1,2,3 denotes the error sequence.Finally, shift registers were used to perform the numerical integration. In order to use an integration time ofH seconds, a mod-M counter is inferred to derive an enable tick for all the registers each H seconds, where M=4560 ticks. The Euler method is based on the definition of the derivative operator and was selected to perform the numerical integration in order to reduce the complexity of the design due to its maximum simplicity. The block description of this method is presented in the dashed block labeled as (d) in Figure 7, which is described as(37)xrik+1=xrik+Hfik,xik+1=xik+Hηik,where i=1,2,3.


### 5.2. Implementation Results

The resources used for each design are presented in Table2. The total amount of resources employed was obtained from the NI-FPGA compiler report. The minimal amount of ticks M=4560 needed to get a new valid sample was computed using the LabVIEW FPGA tick count function. Its value was the same for both designs addressed. The achieved latencies for both designs are expressed as L=114μs.Table 2
FPGA chip resource usage for the Xilinx Zynq-7000 XC7Z020 FPGA chip (the resources used for both implementations are shown in the table).
Genesio–TesiLiuUsedTotalPercent (%)UsedTotalPercent (%)Slice registers2437210640022.92425310640022.8Slice LUT275435320051.8285505320053.7DSP48s17322078.620122091.4Block RAMs10314073.610314073.6Clock40 MHz40 MHzThe states of the chaotic system and the neural network were scaled to six analog outputs of the NI-9264 module within the range of 0 to 10 volts. These outputs were monitored by a Tektronix TDS5104B digital oscilloscope. The results for the system implementation are given in Figures8(a)–8(d). The phase portraits xr1k−xr3k, xr1k−xr2k, and xr2k−xr3k are described in Figures 8(a)–8(c). The time evolution of xr1k, xr2k, and xr3k is shown in Figure 8(d). Regarding the performance of the neural network, the phase portraits xr1k−x1k, xr2k−x2k, and xr3k,−x3k are shown in Figures 9(a)–9(c). Note that each phase portrait evidences a 45° line, which is related to the correct tracking performed by the time-delay neural network. Additional evidence of the tracking is shown in Figure 9(d) where the time evolution of xr1k and x1k and its error e1k is described.Figure 8
Response of the Genesio–Tesi chaotic oscillator implemented, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), xr2 (blue line “CH2”), and xr3 (purple line “CH3”).
(a)(b)(c)(d)Figure 9
Synchronization of the time-delay neural network and the Genesio–Tesi oscillator, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T and x10,x20,x30T=1,1,1T. (a) xr1−x1 phase plane. (b) xr2−xr2 phase plane. (c) xr3−x3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), x1 (blue line “CH2”), and e1 (orange line “Math1”).
(a)(b)(c)(d)In addition, similar results were achieved for the Liu system. The results for the Liu system are shown in Figures10 and 11 .Figure 10
Response of the Liu chaotic oscillator implemented, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr2−xr1 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), xr2 (blue line “CH2”), and xr3 (purple line “CH3”).
(a)(b)(c)(d)Figure 11
Synchronization of the time-delay neural network and the Liu oscillator, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T and x10,x20,x30T=1,1,1T. (a) xr1−x1 phase plane. (b) xr2−xr2 phase plane. (c) xr3−x3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), x1 (blue line “CH2”), and e1 (orange line “Math1”).
(a)(b)(c)(d)


### 5.3. Comparison with Other Works

Synchronization is an emerging behavior in neural networks. It has received academic attention because of a wide variety of applications [3, 8]. Schemes that consider chaotic systems and delayed recurrent neural networks are of particular interest due to the high complexity depicted in their sensibility to initial conditions, parameters, and time delays. For that reason, synchronizing or controlling these schemes is challenging work; even more, the practical implementation is not a trivial task. In this section, we perform a survey to demonstrate the pertinence of the proposed control method and the digital implementation. In Table 3, some synchronization schemes in a drive-response configuration are displayed with their respective control approaches. From the information depicted in Table 3, reference [40] considers the implementation of a synchronization scheme on an Arduino chip while the rest of the references only consider numerical results. In this paper, we implement the chaotic system (27), the delayed recurrent neural network (28), and the control laws (29) and (30) in an FPGA.Table 3
Some synchronization schemes proposed in the literature.
ReferenceApproachSynchronization schemeImplementation[40]Extended Kalman filterDrive-response between Genesio–Tesi multiscroll and recurrent neural networkDigital: Arduino uno microcontroller[41]Inverse optimalityDrive-response between chaotic time-delay recurrent neural networksNone[19]V-stability and Lyapunov theoryDrive-response between a delayed recurrent neural network and a complex dynamical networkNone[42]Quantized sliding-mode controlDrive-response between delayed memristive neural networksNone[43]Adaptive intermittent controlDrive-response between chaotic systems with time-varying delayNoneProposedLyapunov–Krasovskii and Lur’e theoryDrive-response between Liu-delayed recurrent neural network and Genesio–Tesi and delayed recurrent neural networksDigital: FPGA Xilinx Zynq-7000 XC7Z020Table4 presents a brief review, including some FPGA-based implementations of chaotic systems over the last ten years. Table 4 does not include detailed characteristics like the chip resource usage and the achieved performance because these parameters are hardware dependent. Instead, it includes generalized details like a brief description of the application, the numerical representation, the integration method, and the hardware used.Table 4
Some FPGA-based implementations of chaotic systems over the last decade.
Reference and yearBrief descriptionNumerical representationIntegration methodDevice[44], 20093D Chen chaotic systemIEEE-754 FLP 32 bitsRK4Xilinx Virtex-II XCV1000FG456-4[45], 2011A new hyperchaotic 4D system–RK4Xilinx Virtex-II Pro XC2VP30[47], 2013Switching 3D chaotic systemsFXP 32 bits 16I16QEulerXilinx Virtex-II FPGA 2VP30FFG896-7[46], 2015A 3D chaotic systemIEEE-754 FLP 32 bitsRK4Xilinx Virtex-6 XC6VLX550T-2FF1759[48], 2017Fractional-order chaotic systemFXP 32 bitsTustinAltera Cyclone IV EP4CE11529C7N[38], 2018Fractional-order complex networks with chaotic nodesFXP 24 bits 4I20QGrünwald–LetnikovXilinx Zynq-7000 XC7Z020[49], 2019Fractional-order chaotic systemFXP 32 bitsGrünwald–LetnikovAltera Cyclone IV GX FPGA DE2I-150[50], 2019The Lü–Chen 2002 chaotic systemFXP 32 bits 16I16QHeunXilinx Virtex-6 XC6VLX75T-3FF484[51], 2019A new 3D chaotic systemFXP 32 bits 7I25QEuler and RK4Xilinx Virtex-6 XC6VLX75T-3FF484[52], 2019OFDM system using chaosFXP 128 bitsEuler—ProposedA tracking scheme (master and slave)FXP 30 bits 7I23QEulerXilinx Zynq-7000 XC7Z020From Table4, it can be seen that the implementation of a single chaotic system is a common practice. However, recent works include a chaotic node as a module of a bigger scale system, for example, a complex network in [38], an OFDM transmission system in [52], or a tracking scheme (this work).It can also be seen that fixed-point (FXP) and floating-point (IEEE-754 FLP) implementations are equally used. The numerical representation selected in each work is related to a trade-off between accuracy and resource usage. It is evident that, in general, FXP representations require fewer resources and achieve better time performance, while an FLP representation has better numerical accuracy than FXP.The integration method is used to implement a discrete version of the system. In Table4, we found a prevalence of the following methods: fourth-order Runge–Kutta (RK4), forward Euler, and Heun. Note that the numerical integration method is not correlated to the date of the work, as we can see recent works using forward Euler and older works using a more complicated RK4 algorithm. Again, as the numerical representation, the integration algorithm selection is based on a trade-off between the accuracy and complexity of the design.There is a diversity of devices and software platforms used for the FPGA fast prototyping. Some devices are displayed in the last column of Table4, while some examples of the software platforms are the Matlab HDL Coder (used in [48]), the LabVIEW FPGA software (used in [46]), and Xilinx design suites like ISE and Vivado (used in [49, 52]). In this work, we use LabVIEW FPGA environment. This programming environment is well suited for the system-level design of prototypes.


## 5.1. Description of the Designs

All the mathematical operations were done using fixed-point (FXP) arithmetic. FXP was chosen to reduce the hardware cost and achieve higher speeds. We use 30 bits to represent each state of the neural network and the chaotic system; specifically, we use 7 bits for the integer part and 23 bits for the fractional part. In digital systems, the chaotic behavior may be affected by time discretization or low-resolution FXP arithmetic. In our case, we compute the maximum Lyapunov exponent (MLE) from the FXP sequences related to the implemented Liu and Genesio–Tesi systems by employing TISEAN package software [39]. The obtained values were as follows: MLE = 0.0664 for the Genesio–Tesi system and MLE = 0.0782 for the Liu system. The positive value for each MLE confirms chaotic behavior and validates the FXP resolution and the sampling time used.


### 5.1.1. Top Level

The top-level description of each implementation is shown in Figure7, where k represents the sample index. In this work, the top-level description used allows to implement the tracker and the system to be tracked on the same chip, and is composed of the following modules: (a) the chaotic system to be tracked, (b) the delayed neural network, (c) the control law, and (e) the integration method. Note that the block diagram in Figure 7 applies to both designs.Figure 7
Block diagram describing the top-level description of the proposed implementation for the Genesio–Tesi and Liu trackers, where the dashed blocks represent (a) the chaotic system to be tracked given in (31) or (32), (b) the delayed neural network given in (33), (c) the control law given in (34), and (d) the Euler integration method (35).


### 5.1.2. Secondary Level

The dynamics of the chaotic system, which are represented in the dashed block labeled as (a) in Figure7, are given by the time-discrete version of (27):(33)f1k=xr2k,f2k=xr3k,f3k=−xr1k−1.1xr2k−0.44xr3k+xr12k,for the Genesio–Tesi case, and by the discrete version of (31):(34)f1k=−xr1k−xr22k,f2k=2.5xr2k−4xr1kxr3k,f3k=−5xr3k+4xr1kxr2k,for the Liu case. In both cases, FXP multipliers and adders were used to perform the arithmetic operations involved.The dynamics of the delayed neural network, which are represented in the dashed block labeled as (b) in Figure7, are given by the discrete version of (1):(35)η1k=−x1k+∑i=13w1,itanhxik−m+u1k,η2k=−x2k+∑i=13w2,itanhxik−m+u2k,η3k=−x3k+∑i=13w3,itanhxik−m+u3k,where the tanh⋅ function was approximated by its fourth-order Taylor series, and FIFO buffers implemented on the block RAM of the device were used to perform the delay of m samples in the three states. Six FIFO registers were used, each one with 16384 elements of 30 bits each. With this configuration, a delay of m=16384 samples is generated in all the states.The control lawu1k,u2k,u3k applied to the neural network (35) is represented in the dashed block labeled as (c) in Figure 7. It was implemented as follows:(36)u1k=ψe1k+f1k−xr1k−∑i=13w1,itanhxrik−m,u2k=ψe2k+f2k−xr2k−∑i=13w2,itanhxrik−m,u3k=ψe3k+f3k−xr3k−∑i=13w3,itanhxrik−m,where ejk=xjk−xrjk for j=1,2,3 denotes the error sequence.Finally, shift registers were used to perform the numerical integration. In order to use an integration time ofH seconds, a mod-M counter is inferred to derive an enable tick for all the registers each H seconds, where M=4560 ticks. The Euler method is based on the definition of the derivative operator and was selected to perform the numerical integration in order to reduce the complexity of the design due to its maximum simplicity. The block description of this method is presented in the dashed block labeled as (d) in Figure 7, which is described as(37)xrik+1=xrik+Hfik,xik+1=xik+Hηik,where i=1,2,3.


## 5.1.1. Top Level

The top-level description of each implementation is shown in Figure7, where k represents the sample index. In this work, the top-level description used allows to implement the tracker and the system to be tracked on the same chip, and is composed of the following modules: (a) the chaotic system to be tracked, (b) the delayed neural network, (c) the control law, and (e) the integration method. Note that the block diagram in Figure 7 applies to both designs.Figure 7
Block diagram describing the top-level description of the proposed implementation for the Genesio–Tesi and Liu trackers, where the dashed blocks represent (a) the chaotic system to be tracked given in (31) or (32), (b) the delayed neural network given in (33), (c) the control law given in (34), and (d) the Euler integration method (35).


## 5.1.2. Secondary Level

The dynamics of the chaotic system, which are represented in the dashed block labeled as (a) in Figure7, are given by the time-discrete version of (27):(33)f1k=xr2k,f2k=xr3k,f3k=−xr1k−1.1xr2k−0.44xr3k+xr12k,for the Genesio–Tesi case, and by the discrete version of (31):(34)f1k=−xr1k−xr22k,f2k=2.5xr2k−4xr1kxr3k,f3k=−5xr3k+4xr1kxr2k,for the Liu case. In both cases, FXP multipliers and adders were used to perform the arithmetic operations involved.The dynamics of the delayed neural network, which are represented in the dashed block labeled as (b) in Figure7, are given by the discrete version of (1):(35)η1k=−x1k+∑i=13w1,itanhxik−m+u1k,η2k=−x2k+∑i=13w2,itanhxik−m+u2k,η3k=−x3k+∑i=13w3,itanhxik−m+u3k,where the tanh⋅ function was approximated by its fourth-order Taylor series, and FIFO buffers implemented on the block RAM of the device were used to perform the delay of m samples in the three states. Six FIFO registers were used, each one with 16384 elements of 30 bits each. With this configuration, a delay of m=16384 samples is generated in all the states.The control lawu1k,u2k,u3k applied to the neural network (35) is represented in the dashed block labeled as (c) in Figure 7. It was implemented as follows:(36)u1k=ψe1k+f1k−xr1k−∑i=13w1,itanhxrik−m,u2k=ψe2k+f2k−xr2k−∑i=13w2,itanhxrik−m,u3k=ψe3k+f3k−xr3k−∑i=13w3,itanhxrik−m,where ejk=xjk−xrjk for j=1,2,3 denotes the error sequence.Finally, shift registers were used to perform the numerical integration. In order to use an integration time ofH seconds, a mod-M counter is inferred to derive an enable tick for all the registers each H seconds, where M=4560 ticks. The Euler method is based on the definition of the derivative operator and was selected to perform the numerical integration in order to reduce the complexity of the design due to its maximum simplicity. The block description of this method is presented in the dashed block labeled as (d) in Figure 7, which is described as(37)xrik+1=xrik+Hfik,xik+1=xik+Hηik,where i=1,2,3.


## 5.2. Implementation Results

The resources used for each design are presented in Table2. The total amount of resources employed was obtained from the NI-FPGA compiler report. The minimal amount of ticks M=4560 needed to get a new valid sample was computed using the LabVIEW FPGA tick count function. Its value was the same for both designs addressed. The achieved latencies for both designs are expressed as L=114μs.Table 2
FPGA chip resource usage for the Xilinx Zynq-7000 XC7Z020 FPGA chip (the resources used for both implementations are shown in the table).
Genesio–TesiLiuUsedTotalPercent (%)UsedTotalPercent (%)Slice registers2437210640022.92425310640022.8Slice LUT275435320051.8285505320053.7DSP48s17322078.620122091.4Block RAMs10314073.610314073.6Clock40 MHz40 MHzThe states of the chaotic system and the neural network were scaled to six analog outputs of the NI-9264 module within the range of 0 to 10 volts. These outputs were monitored by a Tektronix TDS5104B digital oscilloscope. The results for the system implementation are given in Figures8(a)–8(d). The phase portraits xr1k−xr3k, xr1k−xr2k, and xr2k−xr3k are described in Figures 8(a)–8(c). The time evolution of xr1k, xr2k, and xr3k is shown in Figure 8(d). Regarding the performance of the neural network, the phase portraits xr1k−x1k, xr2k−x2k, and xr3k,−x3k are shown in Figures 9(a)–9(c). Note that each phase portrait evidences a 45° line, which is related to the correct tracking performed by the time-delay neural network. Additional evidence of the tracking is shown in Figure 9(d) where the time evolution of xr1k and x1k and its error e1k is described.Figure 8
Response of the Genesio–Tesi chaotic oscillator implemented, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr1−xr2 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), xr2 (blue line “CH2”), and xr3 (purple line “CH3”).
(a)(b)(c)(d)Figure 9
Synchronization of the time-delay neural network and the Genesio–Tesi oscillator, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T and x10,x20,x30T=1,1,1T. (a) xr1−x1 phase plane. (b) xr2−xr2 phase plane. (c) xr3−x3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), x1 (blue line “CH2”), and e1 (orange line “Math1”).
(a)(b)(c)(d)In addition, similar results were achieved for the Liu system. The results for the Liu system are shown in Figures10 and 11 .Figure 10
Response of the Liu chaotic oscillator implemented, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T. (a) xr2−xr1 phase plane. (b) xr1−xr3 phase plane. (c) xr2−xr3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), xr2 (blue line “CH2”), and xr3 (purple line “CH3”).
(a)(b)(c)(d)Figure 11
Synchronization of the time-delay neural network and the Liu oscillator, with initial conditionsxr10,xr20,xr30T=0.1,0.1,0.1T and x10,x20,x30T=1,1,1T. (a) xr1−x1 phase plane. (b) xr2−xr2 phase plane. (c) xr3−x3 phase plane. (d) Time evolution of xr1 (brown line “CH1”), x1 (blue line “CH2”), and e1 (orange line “Math1”).
(a)(b)(c)(d)


## 5.3. Comparison with Other Works

Synchronization is an emerging behavior in neural networks. It has received academic attention because of a wide variety of applications [3, 8]. Schemes that consider chaotic systems and delayed recurrent neural networks are of particular interest due to the high complexity depicted in their sensibility to initial conditions, parameters, and time delays. For that reason, synchronizing or controlling these schemes is challenging work; even more, the practical implementation is not a trivial task. In this section, we perform a survey to demonstrate the pertinence of the proposed control method and the digital implementation. In Table 3, some synchronization schemes in a drive-response configuration are displayed with their respective control approaches. From the information depicted in Table 3, reference [40] considers the implementation of a synchronization scheme on an Arduino chip while the rest of the references only consider numerical results. In this paper, we implement the chaotic system (27), the delayed recurrent neural network (28), and the control laws (29) and (30) in an FPGA.Table 3
Some synchronization schemes proposed in the literature.
ReferenceApproachSynchronization schemeImplementation[40]Extended Kalman filterDrive-response between Genesio–Tesi multiscroll and recurrent neural networkDigital: Arduino uno microcontroller[41]Inverse optimalityDrive-response between chaotic time-delay recurrent neural networksNone[19]V-stability and Lyapunov theoryDrive-response between a delayed recurrent neural network and a complex dynamical networkNone[42]Quantized sliding-mode controlDrive-response between delayed memristive neural networksNone[43]Adaptive intermittent controlDrive-response between chaotic systems with time-varying delayNoneProposedLyapunov–Krasovskii and Lur’e theoryDrive-response between Liu-delayed recurrent neural network and Genesio–Tesi and delayed recurrent neural networksDigital: FPGA Xilinx Zynq-7000 XC7Z020Table4 presents a brief review, including some FPGA-based implementations of chaotic systems over the last ten years. Table 4 does not include detailed characteristics like the chip resource usage and the achieved performance because these parameters are hardware dependent. Instead, it includes generalized details like a brief description of the application, the numerical representation, the integration method, and the hardware used.Table 4
Some FPGA-based implementations of chaotic systems over the last decade.
Reference and yearBrief descriptionNumerical representationIntegration methodDevice[44], 20093D Chen chaotic systemIEEE-754 FLP 32 bitsRK4Xilinx Virtex-II XCV1000FG456-4[45], 2011A new hyperchaotic 4D system–RK4Xilinx Virtex-II Pro XC2VP30[47], 2013Switching 3D chaotic systemsFXP 32 bits 16I16QEulerXilinx Virtex-II FPGA 2VP30FFG896-7[46], 2015A 3D chaotic systemIEEE-754 FLP 32 bitsRK4Xilinx Virtex-6 XC6VLX550T-2FF1759[48], 2017Fractional-order chaotic systemFXP 32 bitsTustinAltera Cyclone IV EP4CE11529C7N[38], 2018Fractional-order complex networks with chaotic nodesFXP 24 bits 4I20QGrünwald–LetnikovXilinx Zynq-7000 XC7Z020[49], 2019Fractional-order chaotic systemFXP 32 bitsGrünwald–LetnikovAltera Cyclone IV GX FPGA DE2I-150[50], 2019The Lü–Chen 2002 chaotic systemFXP 32 bits 16I16QHeunXilinx Virtex-6 XC6VLX75T-3FF484[51], 2019A new 3D chaotic systemFXP 32 bits 7I25QEuler and RK4Xilinx Virtex-6 XC6VLX75T-3FF484[52], 2019OFDM system using chaosFXP 128 bitsEuler—ProposedA tracking scheme (master and slave)FXP 30 bits 7I23QEulerXilinx Zynq-7000 XC7Z020From Table4, it can be seen that the implementation of a single chaotic system is a common practice. However, recent works include a chaotic node as a module of a bigger scale system, for example, a complex network in [38], an OFDM transmission system in [52], or a tracking scheme (this work).It can also be seen that fixed-point (FXP) and floating-point (IEEE-754 FLP) implementations are equally used. The numerical representation selected in each work is related to a trade-off between accuracy and resource usage. It is evident that, in general, FXP representations require fewer resources and achieve better time performance, while an FLP representation has better numerical accuracy than FXP.The integration method is used to implement a discrete version of the system. In Table4, we found a prevalence of the following methods: fourth-order Runge–Kutta (RK4), forward Euler, and Heun. Note that the numerical integration method is not correlated to the date of the work, as we can see recent works using forward Euler and older works using a more complicated RK4 algorithm. Again, as the numerical representation, the integration algorithm selection is based on a trade-off between the accuracy and complexity of the design.There is a diversity of devices and software platforms used for the FPGA fast prototyping. Some devices are displayed in the last column of Table4, while some examples of the software platforms are the Matlab HDL Coder (used in [48]), the LabVIEW FPGA software (used in [46]), and Xilinx design suites like ISE and Vivado (used in [49, 52]). In this work, we use LabVIEW FPGA environment. This programming environment is well suited for the system-level design of prototypes.


## 6. Conclusions

In this paper, the trajectory tracking for a nonlinear system with a time-delay neural network was obtained. In particular, neural networks are forced to follow reference signals generated by a chaotic system, thus achieving the synchronization state. The control law that guarantees trajectory tracking was obtained by considering the Lyapunov–Krasovskii and Lur’e theory. The applicability of the approach was illustrated by considering two different chaotic systems: Liu’s chaotic system and Genesio–Tesi chaotic system. Numerical simulations and FPGA implementations were presented to show the effectiveness of obtained theoretical results. The results obtained allowed us to demonstrate the successful implementation of these trajectory tracking examples on FPGA. Moreover, we confirm that the Lyapunov–Krasovskii theory is an efficient method to deal with the global asymptotic stability of a recurrent neural network with time delay. The synchronization of chaotic systems and the neural networks on different chips streamed through a physical channel could be addressed in a future continuation of this work. It should consider the channel and its properties, and it may be useful in the area of secure communications, where it is common to use the synchronization of chaotic systems as an encryption tool.



---

*Source: 2604874-2021-09-23.xml*