On the synchronization techniques of chaotic oscillators and their FPGA-based implementation for secure image transmission

Synchronizing chaotic oscillators has been a challenge to guarantee successful applications in secure communications. That way, three synchronization techniques are applied herein to twenty two chaotic oscillators, three of them based on piecewise-linear functions and nineteen proposed by Julien C. Sprott. These chaotic oscillators are simulated to generate chaotic time series that are used to evaluate their Lyapunov exponents and Kaplan-Yorke dimension to rank their unpredictability. The oscillators with the high positive Lyapunov exponent are implemented into a field-programmable gate array (FPGA), and afterwards they are synchronized in a master-slave topology applying three techniques: the seminal work introduced by Pecora-Carroll, Hamiltonian forms and observer approach, and open-plus-closed-loop (OPCL). These techniques are compared with respect to their synchronization error and latency that is associated to the FPGA implementation. Finally, the chaotic oscillators providing the high positive Lyapunov exponent are synchronized and applied to a communication system with chaotic masking to perform a secure image transmission. Correlation analysis is performed among the original image, the chaotic channel and the recovered image for the three synchronization schemes. The experimental results show that both Hamiltonian forms and OPCL can recover the original image and its correlation with the chaotic channel is as low as 0.00002, demonstrating the advantage of synchronizing chaotic oscillators with high positive Lyapunov exponent to guarantee high security in data transmission.


Introduction
Secure communication systems have been developed since the introduction of the first synchronization approach between two chaotic oscillators by Pecora and Carroll [1,2]. Nowadays, several challenges remain open to accomplish and guarantee privacy and high security of the Lets us consider the chaotic oscillator based on saturated nonlinear function (SNLF) series that is modeled by (1). It consists of three state variables x 1 , x 2 , x 3 , four coefficients a, b, c, d 1 and the SNLF f(x 1 ) that can be approached by the PWL function described by (2) and shown in Fig 1(a) to generate 2-scrolls. In (2), bp1 denotes the breakpoints, and f(x 1 ) can be increased to generate multi-scroll attractors, as detailed in [26].
Eq (3) shows another chaotic oscillator having three coefficients (α, β, γ) and a PWL function f(x 1 ). It can be described by (4) and sketched in Fig 1(b), where one can see two negative slopes m 0 and m 1 to generate 2-scrolls. The slopes increase as well as the break points to generate multi-scroll chaotic attractors.
iÀ q ðm iÀ 1 À m i Þðjx 1 þ bp i j À jx 1 À bp i jÞ ð4Þ The chaotic oscillator described by (5) consists of three coefficients (α, β, γ) and f(x 1 ), which can be approached by the PWL function given in (6) and sketched by Fig 1(c). Also, increasing the slopes as well as the break points one can generate multi-scroll chaotic attractors.
Another kind of chaotic oscillators are the ones proposed by Sprott [20], which are based in the multiplication of state variables. Sprott took as reference the Poincare-Bendixson theorem [28], and then from (7) he discovered and selected the nineteen listed in Table 1.
From the mathematical models of the 22 chaotic oscillators described above, one must analyze their static and dynamical properties. That way, as detailed by Sprott [20], Tables 2 and 3 list the equilibrium points and eigenvalues of the chaotic oscillators based on the three PWL functions and the Sprott collection.
The eigenvalues help us to estimate the step size of the numerical method [18], in order to simulate and generate chaotic time series for each state variable of the 22 chaotic oscillators. Therefore, the 66 time series are analyzed to evaluate their associated Lyapunov exponent, which determines the system unpredictability. This task is performed using the free-software "TISEAN 3.0.1", which can be used within MATLAB. The results are listed in Table 4, where it can be seen the associated Lyapunov exponent and Kaplan-Yorke dimension. Analyzing those Table 1. 19 chaotic oscillators proposed by J. C. Sprott [20]. On the synchronization techniques of chaotic oscillators results, it can be observed that the chaotic oscillator based on SNLF series, and Sprott's cases G and L provide the high positive Lyapunov exponent values. The Lyapunov exponents are also evaluated herein by applying "Wolf's algorithm" [29], which is available in: https://la.mathworks.com/matlabcentral/fileexchange/4628-calculationlyapunov-exponents-for-ode. In this case, the mathematical model of each chaotic oscillator is used to evaluate the three Lyapunov exponents, the negative, the zero, and the positive one. The results are listed in Table 5 along their corresponding Kaplan-Yorke dimension. As one can see, the chaotic oscillator based on Negative Slopes, and Sprott's cases B and S provide the high positive Lyapunov exponent values.

Synchronization of two chaotic oscillators in a "master-slave" topology
The synchronization of two chaotic oscillators in a master-slave topology occurs when the trajectories of both state variables meet in the same time with a minimum synchronization error, so that they adjust their behavior temporarily. Among the currently available synchronization techniques for chaotic oscillators, we apply three, namely: the seminal work of Pecora-Carroll, Hamiltonian forms and observer approach, and OPCL.

Pecora-Carroll synchronization technique
This synchronization technique consists of two identical chaotic oscillators [30], with the same parameter values, but evolving in time from different initial conditions. In order to synchronize two chaotic oscillators, the output from, at least, one of the coupled differential equations of the master chaotic oscillator must be made available to the slave chaotic oscillator, as sketched in Fig 2 [31]. To achieve the synchronization one can take any of the three state variables x 1 , x 2 , x 3 as driving, from the master system. The recommendation to the correct selection of the driver variable is the observation and determination of the influence that it has over the differential equations.
With the topology defined for the synchronization as the master-slave system, the pattern that indicates that the system will be synchronized are the eigenvalues of the Jacobian of the slave system. If the real parts of eigenvalues are negative, the master-slave synchronization will be successful. This is a necessary condition but not enough since there may be a system with eigenvalues equal to zero and the synchronization can occur.
Lets us consider the chaotic oscillator from case L of Sprott's collection [20], given again in (8), where m denotes master. If one considers x 1 as driving because it is the state variable that  is present throughout the system and has an influence on the state variables x 2 and x 3 , then the slave system can be described by (9).
The evaluation of the Jacobian slave matrix is zero, so that the eigenvalues are: λ 1,2 = 0. Realizing the simulation of the synchronization using MATLAB, Fig 3 shows the phase synchronization diagrams between the state variables x 2 and x 3 . Fig 4 shows the synchronization error for the two state variables between the master and slave oscillators.

Hamiltonian forms and observer approach technique
Every chaotic oscillator can be described by _ x ¼ f ðxÞ, which according to the seminal work given in [22]; the Hamiltonian approach can be described by (10), where @H is the gradient vector of the energy function H, positive definite in R n . H is a quadratic function defined by HðxÞ ¼ 1 2 X T Mx, with M as a symmetrical matrix and positive definite. J(x) and S(x) are matrices representing the conservative and non-conservative parts of the system, respectively, and must satisfy: J(x)+J T (x) = 0 and S(x) = S T (x). There exists the possibility to add a destabilizing vector as F(x), to get the form of a Hamiltonian system, as shown in (11). This can consider suppositions to get the form given in (10), without F(x).
If one considers the system with destabilizing vector and one linear output, one gets (12),  where y is a vector denoting the output of the system. In addition, if ξ is the estimated state vector of x and η the estimated output in terms of ξ, then an observer to (11) can be given by (13), where K is a vector of constant gains.
The synchronization by Hamiltonian forms is achieved after accomplishing 2 Theorems: Theorem 1: The state x of the nonlinear system (12) can be global, exponential and asymptotically estimated by the state of an observer of the form (13), if the pair of matrices (C,S) are observables.
Theorem 2: The state x of the nonlinear system (12) can be global, exponential and asymptotically estimated by the state of an observer of the form (13), if and only if there exists a constant matrix K such that the symmetric matrix in (14) be negative definite [22].
Lets us consider again case L of Sprott's collection, proposing the master system similar to On the synchronization techniques of chaotic oscillators the original one given in (8) and the energy function as in (15), then the Hamiltonian system given in (16) arises. It becomes the master and the slave system is proposed by adding the gain vector multiplied by the error. The gain vector is obtained verifying that it contains the pair of matrices (C, S). In this manner, the gain vector K can be obtained by applying the Sylvester criterion for negative definite matrices. Herein the gains are equal to k 1 = 1, k 2 = 3, k 3 = 4 and the observer system is described by (17). Finally, the slave system is given in (18), The synchronization among the state variables of the master and slave systems is shown in Fig 5. The synchronization error between the master and the slave systems is shown in Fig 6, where it can be seen that the synchronization is accomplished around iteration 800.

OPCL synchronization technique
Open-Plus-Closed-Loop (OPCL) technique is based on the control systems combination. It is a heterogeneous synchronization because allows to obtain the master and slave parameters. From a dynamical system described by _ x ¼ f ðxÞ, the master chaotic oscillator is given by (19), where x m1 (t), x m2 (t) and x m3 (t) denote the state variables, and then x s1 (t), x s2 (t) and x s3 (t) denote the slave chaotic oscillator in (20). D(v(t), u(t)) is given in (21), with D 1 and D 2 as open loop and closed loop parts, respectively, and given by (22) and (23) DðvðtÞ; uðtÞÞ ¼ D 1 ðuðtÞÞ þ D 2 ðvðtÞ; uðtÞÞ; ð21Þ H is an arbitrary constant Hurwitz matrix, so that the simplicity of the slave system depends on how this matrix is chosen. Besides, e(t) = v(t) − u(t) is defined as synchronization error. For the OPCL synchronization to be achieved, the error must tend to zero and it can be verified by Taylor's series [23]. If the real parts of the eigenvalues from H are negative, the synchronization will be successful. This is a necessary condition but not enough since there may be an H with eigenvalues equal to zero and the synchronization can occur.
Again, lets us consider Sprott's case L. The master system is proposed being similar to the original system. The open loop part in the slave system is null (D 1 (u(t)) = 0). For the closed part, the master system partial derivative is given in (24), and H is proposed in (25), where P is a constant value and depending on how many values are proposed, it will be the complexity to obtain the closed loop part. The eigenvalues of H determine that P must be negative. For example: if P = −3, the eigenvalues shown in (26) have real part negative and thereby the condition described above is accomplished. Therefore, the closed loop contribution is given in (27). Finally, with the open-closed loop contribution, the chaotic slave oscillator for Sprott's case L is given in (28). 1:8x m1 À 1 0 l 1 ¼ À 0:5858 l 2 ¼ À 0:207 À j2:57 On the synchronization techniques of chaotic oscillators  1:8x m1 À 1 0 The synchronization between the master and slave chaotic oscillators is shown in Fig 7. The synchronization errors are shown in Fig 8, where it is observed that the minimum error occurs around iteration 2000.

FPGA-based implementation of a chaotic secure communication system
We selected the six chaotic oscillators providing high positive Lyapunov exponent values, they are: the chaotic oscillator based on SNLF series, and Sprott's cases G and L from Table 4, and the chaotic oscillator based on Negative Slopes, and Sprott's cases B and S from Table 5. The electronic implementations of these chaotic oscillators were performed herein by exploiting Table 6. FPGA resources of the chaotic oscillator based on SNLF series, and Sprott's cases G and L by applying three numerical methods and using Cyclone IV GX EP4CGX150DF31C7. On the synchronization techniques of chaotic oscillators the advantages of the field-programmable gate arrays (FPGAs) for fast prototyping [32]. As already detailed in [33], the mathematical equations modeling a chaotic oscillator can be described through the hardware description language (HDL), which in this work we use the tool Active-HDL. In this manner, the chaotic oscillators are implemented with adders, subtractors and multipliers, as detailed in [32]. In addition, a PWL function having the forms shown in Fig 1 can be implemented with comparators. The HDL code can be generated according to [33], where it is highlighted that the size of the digital blocks require the number of bits being used, and in this case we use fixed-point notation with format 7.21. On the synchronization techniques of chaotic oscillators

Oscillator
The FPGA-based implementations were performed using Cyclone IV GX EP4CGX150DF3 1C7 from ALTERA. For example: The descriptions of the digital blocks for the chaotic oscillator based on SNLF series and Sprott's cases G and L, were performed in two ways called: Type A and type B. All the blocks of Type A include a clock-pin CLK, so that all of them are sequential. The descriptions classified as Type B do not include CLK, so that they are combinational. Table 6 lists the FPGA resources of the chaotic oscillators with the highest positive Lyapunov exponent. Three one-step methods were applied for each chaotic oscillator, and the FPGA implementations are of type A and B. We also list the maximum frequency response of the blocks that is provided by the FPGA synthesizer. The maximum frequency is multiplied by the number of clock cycles that are required to process the data from the input to the output, so that the processing speed or latency is listed in the last column in nanoseconds (ns). On the synchronization techniques of chaotic oscillators As one sees, the sequential or type A blocks require more resources than the type B. In the same manner, as the 4th-order Runge-Kutta numerical method requires more resources than Forward Euler and the Trapezoidal methods, those implementations have slower time response, as shown in the last column in Table 6. Thus, the maximum processing speed or latency is accomplished by using descriptions of type B (combinational blocks) . Fig 9(a) shows On the synchronization techniques of chaotic oscillators the experimental observation of a 2-scroll attractor plotting the state variables x 1 -x 2 for the oscillator based on SNLF series. Fig 9(b) shows the phase portraits of Sprott's collection case G, and Fig 9(c) shows the attractor of Sprott's case L.
The FPGA-based implementations of the chaotic oscillator based on Negative Slopes, and Sprott's cases B and S, where performed in the same way. Further, the six chaotic oscillators were synchronized in a master-slave topology applying the three synchronization techniques. On the synchronization techniques of chaotic oscillators Table 7. Resources for the three synchronization techniques applied to the chaotic oscillator based on SNLF series, and Sprott's cases G and L, using the FPGA Cyclone IV GX EP4CGX150DF31C7.  On the synchronization techniques of chaotic oscillators Table 7 lists the FPGA resources of these chaotic oscillators using Cyclone IV GX EP4CGX 150DF31C7. It can be observed that the FPGA-based implementation of the Pecora-Carroll synchronization technique requires less logical elements and registers than the other synchronization techniques, but it uses twice the number of clock cycles per iteration. On the other On the synchronization techniques of chaotic oscillators hand, the synchronization techniques with Hamiltonian forms and OPCL show similar resources characteristics. Besides, Hamiltonian forms technique is slightly faster than OPCL. Fig 13(a) shows the experimental observation of a 2-scroll attractor plotting the state variables x 1 -x 2 for the oscillator based on Negative Slopes. Fig 13(b) shows the phase portraits of Sprott's case B, and Fig 13(c) shows the attractor of Sprott's case L. Using these chaotic oscillators, we performed their master-slave synchronization. In this manner, the synchronization applying Pecora-Carroll technique is shown in Fig 14, for the chaotic oscillator based on Negative Slopes having x 1 as driver. The Sprott's cases B and S have x 2 and x 3 as driver, respectively. Hamiltonian forms and OPCL synchronization techniques are shown in Figs 15 and 16, respectively.

Pecora-Carroll
The FPGA-based implementation of the three synchronization techniques using the six chaotic oscillators with the high positive Lyapunov exponent values are used herein to implement a chaotic secure communication system to transmit an image. The communication system requires modulation and demodulation blocks that can be implemented as addition and subtraction operations for chaotic masking, as shown in Fig 17. The master oscillator is located On the synchronization techniques of chaotic oscillators in the transmitter block to mix the original image (S O ) with chaos (S M ). Later, the encrypted image (S C ) is send through a chaotic channel, and then at the receiver block the slave oscillator (S E ), which behaves as the master, subtract chaos (S M ) to recover the original data (S 0 O ). If exact synchronization is accomplished, then the error between the original and the recovered image will be zero, otherwise the communication system presents loss of information equal to The image being transmitted is of RGB type and has a size of 256×256 pixels. It is send to the FPGA-based chaotic secure communication system from a personal computer (PC) through the RS-232 protocol. Fig 18 shows the block diagram of the interconnections among the PC and two FPGAs during the image transmission process. The FPGA1 contains the transmission part and the finite state machine (FSM1 block) controls it, EOS activates the system when the master-slave synchronization (chaotic oscillator's blocks) is successful. Then REN enables the RS-232 receiver block, any data can be received serially and when the reception finishes, EOR is activated. Then, FSM enables the adder block with the AEN signal and sends the contaminated data (original image + chaos) to the FPGA2, which contains the receiver (slave chaotic oscillator) block that is controlled by the finite state machine (FSM2 block) enabled On the synchronization techniques of chaotic oscillators with the FEN signal. When the contaminated data is in the PFGA2, the subtractor block is activated with SEN signal, which is responsible for recovering the original data. Finally, the multiplexer block is enabled with MC to transmit the contaminated and recovered data through the RS-Transmitter block controlled by the TEN signal to the computer. When the transmission finishes, EOT is activated and the system is ready to receive new data. The experimental results provided above are summarized in Table 8, showing the correlations between the original image and the chaotic channel, and between the original and the recovered images. The three chaotic oscillators with the high positive Lyapunov exponent values from Table 4 were used in the three synchronization techniques, and under the same conditions. Table 8 shows that the Pecora-Carroll synchronization technique cannot recover the original image as it is done by applying the other synchronization techniques based on Hamiltonian forms and OPCL. According to the correlation between the original image and the chaotic channel, the best synchronization technique is the one based on OPCL with Sprott's case L. It can also be observed that the chaotic oscillators based on SNLF series and Sprott's case L use the state variable x 1 , and Sprott's case G uses x 3 because it provided the highest positive Lyapunov exponent value.
The remaining three chaotic oscillators with the high positive Lyapunov exponent values from Table 5  In theses cases, the experimental results are summarized in Table 9, showing the correlations between the original image and the chaotic channel, and between the original and the recovered image. In these cases, the transmission was implemented using the three state variables of the chaotic oscillators, and as shown above from Table 5, applying "Wolf's algorithm" leads us to obtain the highest positive Lyapunov exponent value. In the same manner, Table 9 shows that the Pecora-Carroll synchronization technique cannot recover the original image, and the transmission when using the chaotic oscillators for Sprott's cases B (Variable x 3 ) and S (variable x 2 ) is unsuccessful because the synchronization error is very high. On the other hand, when applying the synchronization techniques based on Hamiltonian forms and OPCL, the recovery of the original image is quite successful even when using all the state variables. From Table 9, and according to the correlation between the original image and the chaotic

Conclusion
This article showed that the value of the positive Lyapunov exponent matters when looking for the implementation of a chaotic secure communication system for image transmission. That way, we analyzed 22 chaotic oscillators, three based on PWL functions and nineteen from On the synchronization techniques of chaotic oscillators Sprott's collection. Each chaotic oscillator was characterized evaluating its positive Lyapunov exponent and Kaplan-York dimension using the free-available software TISEAN and applying "Wolf's algorithm". Since TISEAN requires time series data, we selected the three chaotic oscillators providing the high positive Lyapunov exponent values, and also we selected the three chaotic oscillators that when applying "Wolf's algorithm", they provided the high positive Lyapunov exponent values. The six chaotic oscillators were different and they were synchronized applying the seminal work of Pecora-Carroll, Hamiltonian forms, and OPCL techniques. The synchronization errors and the latency of each case were measured and experimental results On the synchronization techniques of chaotic oscillators were listed by using FPGAs to implement chaotic secure communication systems using the six chaotic oscillators. A personal computer was used to pass an image to the chaotic transmitter block and to recover the image at the recover block. The correlations among the original, the contaminated and the recovered images were evaluated observing that the image transmission is very successful and faster when the error and the correlation between the image and the chaotic channel are minimum. Hamiltonian forms provided the lowest latency in all cases and lowest correlation between the image and chaotic channel. The final conclusion is that using chaotic oscillators with high positive Lyapunov exponent value and synchronization On the synchronization techniques of chaotic oscillators techniques providing low error guarantee high security in a communication system, and this system is suitable for FPGA implementation. Table 9. Correlations among the original, encrypted and recovered data using the three synchronization techniques and the oscillators with the high positive Lyapunov exponent values obtained with "Wolf's algorithm".