1 Introduction

Considered as a very interesting nonlinear phenomenon, Chaos has been intensively and widely studied in many fields of science and engineering over the last decades. In fact, it has been confirmed that the chaotic behavior can be present in some integer-order systems such as the Chua circuit [1], Liu system, Lü systems [2] and the Colpitts oscillator [3] as well as in fractional-order chaotic systems like the fractional-order Chen system [4], the fractional-order Lorenz system [5, 6], the fractional-order financial system [7], the fractional-order Hénon maps [8, 9] and the fractional-order logistic map [10].

The first successful initiative to synchronize two identical chaotic systems with different initial conditions was introduced by Pecora and Carroll [11], and the method was implanted on electronic circuits. Thanks to this interesting result, it has been possible to exploit the chaotic systems, thus synchronized, in different new interesting applications such as in the chaotic cryptography which means the secure transmission of data using the essential properties of the chaotic systems [12, 13]. The synchronization techniques have been improved in recent years, and many different methods have been applied to synchronize chaotic systems. We can cite, for example, the projective synchronization [14], generalized synchronization [15], adaptive synchronization [16], and observer-based synchronization [17,18,19]. Another interesting method that has known great growth, is the impulsive synchronization. In fact, this approach allows not only the synchronization of chaotic systems using small pulses generated by samples of the state variables of the driving system at discrete-time instances, but it offers also a direct method for digital modulation with chaotic carrier [20,21,22,23,24,25]. Recently, the study and the control of fractional-order chaotic systems have become a hot topic. On the basis of the recent results in the domain of the fractional calculus, whether in their modeling or their control, the impulsive synchronization and most of the above-cited synchronization approaches have been generalized to the fractional-order case [26,27,28,29,30]. Indeed, it has been shown that the fractional-order \(\alpha \) can affect not only the chaotic behavior but also the synchronization performance [31]. For instance, in [32], the authors have noticed that the synchronization starts earlier for larger values of the derivative order \( \alpha \). Design of intelligent models and expert systems using artificial neural networks and neuro-fuzzy inference systems have been considered for modeling and implementing nonlinear chaotic systems in [33, 34], respectively. On the other hand, while studying the fractional-order networks, the authors of [35, 36] have both observed that lower and small fractional orders lead to better synchronization results. Furthermore, in the context of secure transmission, it should be emphasized that the use of fractional-order chaotic systems in secure communication schemes offers the advantage of improving the security level since the derivation orders act as additional secret keys [37]. One can also notice that, in comparison with the case of continuous chaotic systems, few studies have dealt with fractional-order discrete-time chaotic systems . Indeed, apart from some pioneer works such as [38,39,40,41,42,43], there is little progress made and results obtained in the fractional computation in discrete-time with respect to the continuous case. However, for the application in secure transmission of digital data, it is more practical and easier to use discrete systems than continuous ones since most of the proposed applications using analog systems have revealed serious difficulties to recover the message due to the channel noises [44]. In this paper, we exploit these results as well as the works carried out on the impulsive synchronization of integer-order chaotic systems to design, analyze and realize the impulsive synchronization scheme between two fractional-order discrete-time chaotic systems.

The paper is organized as follows: In Sect. 2, we, firstly, recall some preliminaries and concepts on fractional-order discrete-time systems, then we present and study the fractional-order chaotic Lozi map. In Sect. 3, we give some results of the impulsive synchronization obtained for the integer-order chaotic systems and we intend to use later. We discuss our contribution on the possibility of controlling two fractional-order discrete-time chaotic systems with the impulsive synchronization in Sect. 4. The obtained results are then applied on the fractional-order Lozi map. The synchronization scheme and simulation results are given in Sect. 5. The experimental implementation and results, using the Arduino Mega boards, are illustrated in Sects. 6 and 7, respectively. We end the paper with a conclusion and some interesting ideas for future works.

2 Fractional-order discrete-time chaotic systems

In this section, we, firstly, introduce some definitions from the discrete fractional calculus, and then, we consider one of them to model and study the dynamics of a fractional-order chaotic map.

2.1 Preliminaries on discrete fractional-order calculus

Several definitions of fractional derivatives and fractional integral have been proposed in the area of discrete fractional-order systems. The most used are Riemann–Liouville, Caputo, Grunwald–Letnikov formulas. Hereafter, we give a brief review of these different approaches to define fractional differences.

Definition 1

Let us define, at first, the set \(\mathbb {N}_{a}\) as \(\mathbb {N}_{a}=\lbrace a,a+1,\ldots \rbrace \).

The \(\alpha \)-order Caputo type difference is defined as follows: [45].

$$\begin{aligned} \begin{array}{lll} \left( a\Delta _{C}^{\alpha }f\right) (t)&{}=&{} (a\Delta ^{-(1-\alpha )}\Delta f)(t)\\ {} &{}=&{} \frac{1}{\Gamma (1-\alpha )}\sum \limits _{s=a}^{t-(1-\alpha )}(t-s-1)^{-\alpha }(\Delta f)(s), \end{array} \end{aligned}$$
(1)

where \(t\in \mathbb {N}_{a + (1-\alpha )}\). \(\alpha \in (0,1] \) and \( f: \mathbb {N}_{a} \rightarrow \mathbb {R}\). The factorial function \(t^{\alpha }\) is defined as follows:

$$\begin{aligned} t^{\alpha }=\frac{\Gamma (t+1)}{\Gamma (t+1-\alpha )}. \end{aligned}$$
(2)

where \(\Gamma \) is the Euler gamma function

Definition 2

The \(\alpha \)-order Riemann–Liouville difference is defined as follows [45]

$$\begin{aligned} \left( a\Delta _{RL}^{\alpha }f\right) (t)=\Delta (a\Delta ^{-(1-\alpha )}\Delta f), \end{aligned}$$
(3)

where \(t\in \mathbb {N}_{a+(1-\alpha )}\), \(\alpha \in (0,1] \) and \( f: \mathbb {N}_{a} \rightarrow \mathbb {R}\).

Let us present, now, the third definition we will use in the rest of this paper for modeling and synchronization of fractional-order chaotic maps.

Definition 3

The \(\alpha \)-order Grunwald–Letnikov difference for a given state vector x is as follows [46]

$$\begin{aligned} \Delta ^{\alpha }x(k)=\sum _{j=0}^{k}(-1)^{j} \left( \begin{array}{c} \alpha \\ j\\ \end{array} \right) x(k-j), \end{aligned}$$
(4)

where \(\alpha >0\) denotes the fractional order, \(x(k)=[x_{1}(k)\quad x_{2}(k)\,\, \cdots \quad x_{n}(k)]\in \mathbb {R}^{n}\) is the state vector at the current time, and \(x(k-j)\) is the delayed state vector.

The term \( \left( \begin{array}{c} \alpha \\ j\\ \end{array} \right) \) can be computed from the following relation:

$$\begin{aligned} \left( \begin{array}{c} \alpha \\ j\\ \end{array} \right) = \left\{ \begin{array}{lc} 1 &{} \quad \text {for}\,\, j=0 ,\\ \frac{\alpha (\alpha -1)\cdots (\alpha -j+1)}{j!} &{}\quad \text {for} \,\, j> 0,\\ \end{array} \right. \end{aligned}$$
(5)

To represent a fractional-order discrete-time system, let us consider, at first, the following integer discrete-time system [47]:

$$\begin{aligned} x(k+1)=f(x(k)), \end{aligned}$$
(6)

where f is a smooth nonlinear function. We denote the 1-order difference for the discrete-time system (6) as:

$$\begin{aligned} \Delta ^{1}x(k+1)=x(k+1)-x(k)=f(x(k))-x(k), \end{aligned}$$
(7)

From (7), we define the \( \alpha \)-order difference as [47]:

$$\begin{aligned} \Delta ^{\alpha }x(k+1)=f(x(k))-x(k), \end{aligned}$$
(8)

Noting the \(\alpha \)-difference (4), we obtain

$$\begin{aligned} \begin{array}{lll} \Delta ^{\alpha }x(k+1)&{}=x(k+1)-\alpha x(k)\\ &{}\quad +\sum \limits _{j=2}^{k+1}(-1)^{j} \left( \begin{array}{c} \alpha \\ j\\ \end{array} \right) x(k-j+1), \end{array} \end{aligned}$$
(9)

We can introduce a new variable \( p=j-1 \). Relation (9) becomes then:

$$\begin{aligned} \begin{array}{lll} \Delta ^{\alpha }x(k+1)&{}=x(k+1)-\alpha x(k)\\ &{}\quad +\sum \limits _{p=1}^{k}(-1)^{p+1} \left( \begin{array}{c} \alpha \\ p+1\\ \end{array} \right) x(k-p), \end{array} \end{aligned}$$
(10)

By denoting the parameter \( C_\mathrm{p}=(-1)^{p+1}\left( \begin{array}{c} \alpha \\ p+1\\ \end{array} \right) \) and substituting (10) into (8), we obtain the following relation :

$$\begin{aligned} x(k+1)=f(x(k))+(\alpha -1) x(k)-\sum _{p=1}^{k}C_\mathrm{p}x(k-p). \end{aligned}$$
(11)

Remark 1

We can note that if we set \(\alpha =1\) in (11), all the coefficients \( C_\mathrm{p}, p=1,2,\ldots ,k \) become 0. Therefore, by the definition of fractional-order difference, we can consider that an integer-order system is a special case of fractional-order systems.

Remark 2

In practical computing process, we cannot save all the states of a fractional-order discrete-time system since the great amount of calculation and the important space are needed for each computing iteration [48]. To resolve this problem, we can use a finite truncation to approximate a fractional-order discrete-time system. The truncation length, we denote by L, characterizes, in our case, a short memory and is often chosen appropriately and adapted to a practical problem.

Remark 3

Note that, for any selected derivative order, coefficients \(C_\mathrm{p}\) decrease and vanish to 0 as the iteration number p increases. We can notice this in Fig. 1 which illustrates the computed coefficients \(C_\mathrm{p}\) for different derivative orders values and for a memory length \(L=20\).

Fig. 1
figure 1

\(C_\mathrm{p}\) coefficients values for different derivative orders

By applying this truncation to the fractional-order chaotic system (11), we get:

$$\begin{aligned} x(k+1)=f(x(k))+(\alpha -1) x(k)-\sum _{p=1}^{L}C_\mathrm{p}x(k-p). \end{aligned}$$
(12)

Remark 4

Note that Eq. (12) is obtained in the commensurate case since the differentiation order \( \alpha \) is supposed the same for all the state variables [49].

However, this is not always the case. To deal with the non-commensurate case, we should consider all the differentiation orders \( \alpha _{1}, \alpha _{2}, \ldots , \alpha _{n}\). The obtained model will be developed in Sect. 4 and will be used to describe a fractional-order discrete-time master system in the impulsive synchronization generalization for fractional-order case.

2.2 Fractional-order chaotic Lozi map

In this subsection, we aim to present an example of fractional-order discrete chaotic systems which is the fractional-order Lozi map and present some of its characteristics. The integer-order Lozi map is a two-dimensional discrete system [51]. Its state equations are given by:

$$\begin{aligned} \left\{ \begin{array}{lll} x_{1}(k+1)&{}=&{}1-a\mid x_{1}(k)\mid + bx_{2}(k),\\ x_{2}(k+1)&{}=&{}x_{1}(k), \end{array} \right. \end{aligned}$$
(13)

where \( [x_{1} \quad x_{2}]^T \in \mathbb {R}^2\) is the state vector and the parameters a and b are two constants. They satisfy the following conditions: \( 0<b<1 \) and \( 1+b<a<2-\frac{b}{2} \). We choose \( a=1.7 \) and \( b=0.5 \) so that the Lozi map presents a chaotic behavior.

The fractional discrete-time Lozi system is obtained by using the Grunwald–Letnikov approximation presented previously

$$\begin{aligned} \left\{ \begin{array}{lll} x_{1}(k+1)&{}=1-a\mid x_{1}(k)\mid + bx_{2}(k)+(\alpha _{1}-1)x_{1}(k)\\ {} &{}\quad -\sum \limits _{p=1}^{L}C_{\mathrm{p}1}x_{1}(k-p)\\ x_{2}(k+1)&{}=x_{1}(k)+(\alpha _{2}-1)x_{2}(k)\\ {} &{}\quad -\sum \limits _{p=1}^{L}C_{\mathrm{p}2}x_{2}(k-p), \end{array} \right. \end{aligned}$$
(14)

where \(0\le \alpha _{1}\le 1\), \(0\le \alpha _{2}\le 1\) are the derivative orders and the coefficients \( C_\mathrm{p} \) are defined as follows: \(C_{p1}=(-1)^{p+1}\left( \begin{array}{c} \alpha _{1}\\ p+1\\ \end{array} \right) \) , \( C_{p2}=(-1)^{p+1}\left( \begin{array}{c} \alpha _{2}\\ p+1\\ \end{array} \right) \).

Before using the fractional-order discrete-time Lozi system in the impulsive synchronization scheme, we should present some of its important characteristics, namely the sensitivity to initial conditions, the strange attractor, the bifurcation diagram and the Lyapunov exponents.

2.2.1 Sensitivity to initial condition

The sensitivity to the initial conditions is the fundamental characteristic allowing to recognize a chaotic behavior. It means that whatever the proximity of two initial states values, their trajectories rapidly diverge from each other. Figures 2 and 3 show, respectively, the effects of very small variations on the initial values of states \( x_{1} \) and \( x_{2} \), of the fractional-order Lozi map, on their evolutions.

Fig. 2
figure 2

Chaotic state \( x_{1} \) evolutions for two close initial values

Fig. 3
figure 3

Chaotic state \( x_{2} \) evolutions for two close initial values

2.2.2 Strange attractor

Figure 4 shows the strange attractor of the fractional-order discrete-time Lozi system obtained by the phase plane of the state \( x_{1} \) and \( x_{2} \). The derivative orders are taken as follows : \( \alpha _{1}=\alpha _{2}=0.95 \). The selected initial conditions are \( x_{1}(0)=0.1 \) and \( x_{2}(0)=0.2. \)

Fig. 4
figure 4

Strange attractor of the fractional-order Lozi map with \( a=1.7, b=0.5\) and \( \alpha _{1} =\alpha _{2}=0.95 \)

2.2.3 Bifurcation diagram

The chaotic behavior of the fractional-order Lozi map can be seen from the bifurcation diagram illustrated in Fig. 5 and obtained by plotting one of the system states as a function of one control parameter (a in our case) while the second parameter is fixed. We can observe, on the diagram, the different behaviors of the Lozi map as the parameter a increases. Indeed, for low values of a, the evolution of \( x_{1} \) is periodic. From \( a\approx 0.55\), the number of periods begins to multiply by 2 until the chaos manifests at \( a=1.6 \).

Fig. 5
figure 5

Bifurcation diagram of the fractional-order Lozi map with \( b=0.5\) and \( \alpha _{1} =\alpha _{2}=0.95 \).

2.2.4 Lyapunov exponents

Figure 6 displays the Lyapunov exponents of the fractional-order Lozi map which are computed using MATLAB scripts. In order to simplify the calculation of Lyapunov exponents, we choose the size of memory \(L = 1\), so the corresponding augmented system will present 4 Lyapunov exponents. The obtained values are : \( \lambda _{1}= 4.62589\), \( \lambda _{2}= -11.9961\), \( \lambda _{3}= -25.4058\), \(\lambda _{4}= -42.0274\). We notice that one of the exponents is positive; this implies that the system is chaotic.

Fig. 6
figure 6

Lyapunov exponents of the fractional-order Lozi map with \(a=1.7\), \(b=0.5\) and \(\alpha _{1}=\alpha _{2}= 0.95\)

3 Impulsive synchronization of integer-order discrete-time chaotic systems

As mentioned above, the impulsive synchronization consists of the use of a pulses sequence in order to force a chaotic system to have the same behavior as another system [50]. To study this method, we consider the following master chaotic discrete-time system [51, 52]:

$$\begin{aligned} x(k+1)=Ax(k)+\varphi (x(k)), \end{aligned}$$
(15)

where \( x\in \mathbb {R}^{n}\) is the state vector and k is the discrete-time. \( A \in \mathbb {R}^{n\times n}\) and \(\varphi (x(k))\) is a n-dimensional nonlinear map satisfying the Lipschitz condition:

$$\begin{aligned} \parallel \varphi (x(k))-\varphi (\hat{x}(k))\parallel <l \parallel x(k)-\hat{x}(k)\parallel , \end{aligned}$$
(16)

where l is the Lipschitz constant and \( \parallel .\parallel \) denotes the standard Euclidian norm.

We define \( k_{i} \) as a subset of discrete-time k chosen so that \( 0<1=k_1<k_2,<\cdots , \,<k_i<\cdots , k_{i}\rightarrow \infty \) as \( i\rightarrow \infty \). It denotes, in fact, the instants at which the pulses occur. In this paper, we assume that the pulses are periodic and denote the distance between two successive pulses by d . \( k_{i}^{+} \) and \( k_{i}^{-} \) denote, respectively, the instants just after \( k_{i} \) and just before \( k_{i} \). We can write this as follows:

$$\begin{aligned} k_{i}^{+}= & {} \lim \limits _{\epsilon \rightarrow 0} k_{i}+\epsilon , \quad \epsilon > 0,\end{aligned}$$
(17)
$$\begin{aligned} k_{i}^{-}= & {} \lim \limits _{\epsilon \rightarrow 0} k_{i}-\epsilon , \quad \epsilon > 0, \end{aligned}$$
(18)

The response system of (15) is given by the following discrete-time impulsive observer:

$$\begin{aligned} \left\{ \begin{array}{ll} \hat{x}(k+1)=A\hat{x}(k)+\varphi (\hat{x}(k))&{}\quad \mathrm{for}\,\, k\ne k_{i},\\ \hat{x}(k_{i}^{+})=\hat{x}(k_{i})-B(k_{i})e(k_{i})&{}\quad \mathrm{for}\,\, k=k_{i}, i=1,2,\ldots ,\\ \end{array} \right. \end{aligned}$$
(19)

where \( \hat{x}\in \mathbb {R}^{n} \) is the estimated state vector and \( B(k_{i}), i=1,2,\ldots \) are a sequence of \( n \times n \) diagonal matrices. They are considered as control parameters and should be chosen appropriately to achieve synchronization.

The term \( \hat{x}(k_{i}^{-}) \) is defined as follows : \( \hat{x}(k_{i}^{-})= \hat{x}(k_{i})\). e(k) is the synchronization error given by:

$$\begin{aligned} e(k)=x(k)-\hat{x}(k), \end{aligned}$$
(20)

We define two further errors with respect to the instants \( k_{i} \):

$$\begin{aligned} e(k_{i}^{-})=x(k_{i})-\hat{x}(k_{i}^{-})=e(k_{i}), \end{aligned}$$
(21)
$$\begin{aligned} e(k_{i}^{+})=x(k_{i})-\hat{x}(k_{i}^{+}), \end{aligned}$$
(22)

The impulsive synchronization between systems (15) and (19) depends directly on the asymptotic stability of the following synchronization error [51]:

$$\begin{aligned} \left\{ \begin{array}{lll} e(k+1)&{}=Ae(k)+\varphi (x(k))-\varphi (\hat{x}(k))&{}{}\\ {} &{}{}&{} \mathrm{for}\,\,k\ne k_{i}, \\ \Delta e(k)&{}=e(k_{i}^{+})-e(k_{i}^{-})&{}\\ &{}=B(k_{i})e(k_{i}^{-})= B(k_{i})e(k)&{}{}\\ &{}{}&{}\mathrm{for}\,\, k=k_{i}\\ &{}{}&{}i=1,2,\ldots ,\\ \end{array} \right. \end{aligned}$$
(23)

4 Impulsive synchronization of fractional-order discrete-time chaotic systems

In this section, we aim to extend the previous theory to impulsively synchronize two discrete-time fractional-order chaotic systems. The master system is defined as the system (12) obtained in Sect. 2, i.e.,

$$\begin{aligned} x(k+1){=}f(x(k)){+}(\alpha -1) x(k){-}\sum _{p=1}^{L}C_{p}x(k-p).\nonumber \\ \end{aligned}$$
(24)

For a non-commensurate system (the derivative orders are different), we can rewrite the previous fractional-order difference equation as follows [49, 53]:

$$\begin{aligned} x(k+1)=A x(k)+\varphi (x(k))-\sum _{p=1}^{L}A_{d}(p)x(k-p), \end{aligned}$$
(25)

where the \( n \times n \) matrix A describes the linear non-delayed part of the system and the vector \( \varphi (x(k)) \) denotes the nonlinear terms and satisfies the Lipchitz condition (16). \(A_{d}(p)\) are diagonal \( n\times n \) matrices which contain the coefficients \( C_{p} \) presented previously with respect to the derivative orders, namely:

$$\begin{aligned} A_{d}(p)=\left( \begin{array}{cccc} C_{p1} &{} 0 &{} \ldots &{} 0\\ 0 &{} C_{p2} &{} \ldots &{} 0\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ 0 &{} 0 &{}\ldots &{} C_{pn} \end{array}\right) . \end{aligned}$$

The impulsive observer for system (25) is given by:

$$\begin{aligned} \left\{ \begin{array}{llll} \hat{x}(k+1)&{}=&{} A\hat{x}(k)+\varphi (\hat{x}(k))&{}\\ &{}&{}-\sum \limits _{p=1}^{L} A_{d}(p)\hat{x}(k-p),&{}\quad \mathrm{for}\,\,k\ne k_{i},\\ \hat{x}(k_{i}^{+})&{}=&{} \hat{x}(k_{i})-B(k_{i})e(k_{i}),&{}\quad \mathrm{for}\,\,k=k_{i},\\ &{}&{}i=1,2,\ldots ,\\ \end{array} \right. \end{aligned}$$
(26)

where \( \hat{x} \in \mathbb {R}^{n}\) is the estimated state vector.

The synchronization error between the two systems is as follows:

$$\begin{aligned} \left\{ \begin{array}{llll} e(k+1)&{}=&{}A e(k)+\tilde{\varphi }(x(k),\hat{x}(k))\\ &{}&{}-\sum \limits _{p=1}^{L} A_{d}(p)e(k-p),&{} \\ &{}&{}\quad \mathrm{for}\,\,~~k\ne k_{i}&{}\\ \Delta e(k)&{}=&{}B(k_{i})e(k_{i}),&{}\\ &{}&{}\quad \mathrm{for}\,\,k=k_{i}, i=1,2,\ldots ,\\ \end{array} \right. \end{aligned}$$
(27)

with \(\tilde{\varphi }(x(k),\hat{x}(k))=\varphi (x(k))-\varphi (\hat{x}(k))\).

We can notice, from (27), that the structure of the obtained system contains delayed terms. To study the impulsive synchronization between systems (25) and (26), we use the theorem developed earlier in [54], where the authors study the impulsive control of a delayed discrete system network.

Theorem 1

Let \( \lambda \) be the largest singular value of A and \( \gamma \) the largest singular value of matrix \(A_{\alpha }\) defined as follows:

\(A_{\alpha }=\left( \begin{array}{cccc} \frac{\alpha _{1}*(\alpha _{1}-1)}{2} &{} 0 &{} \ldots &{} 0\\ 0 &{} \frac{\alpha _{2}*(\alpha _{2}-1)}{2} &{} \ldots &{} 0\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ 0 &{} 0 &{}\ldots &{} \frac{\alpha _{n}*(\alpha _{n}-1)}{2} \end{array}\right) ,\) where \( \alpha _{1}, \alpha _{2},\ldots ,\alpha _{n} \) are, respectively, the fractional derivative orders of states \( x_{1}, x_{2},\ldots ,x_{n} \).

If the following, Lipschitz relation is verified:

\(\parallel \varphi (x(k))-\varphi (\hat{x}(k))\parallel <l \parallel x(k)-\hat{x}(k)\parallel ,\)

and if there exist positive constants \(q \le 1\) and C defined as

\(C= \lambda +l+L\frac{\gamma }{q},\)

and satisfying the following condition:

\(\lim _{k \rightarrow \infty } C^{k} \parallel I+B(k_{i})\parallel ^{i}=0, \)

then the error system (27) is asymptotically stable and systems (25) and (26) achieve the impulsive synchronization.

Proof

For \( k \ne k_{i} \), let us consider the following Lyapunov function

$$\begin{aligned} V(e(k)))=\parallel e(k)\parallel , \end{aligned}$$
(28)

Then, we have

$$\begin{aligned} V(e(k+1))&=\parallel e(k+1)\parallel \\&\le \parallel A\parallel \parallel e(k)\parallel +\parallel \tilde{\varphi }(x(k),\hat{x}(k))\parallel \\&\quad +\sum _{p=1}^{L} \parallel A_{d}(p)\parallel \parallel e(k-p)\parallel \\&\le (\lambda +l)\parallel e(k)\parallel \\&\quad +\parallel A_{\alpha }\parallel \sum _{p=1}^{L} \parallel e(k-p) \parallel . \end{aligned}$$

From Remark 3, we can deduce that

$$\begin{aligned} \begin{array}{lll} V(e(k+1))&{}\le &{}(\lambda +l)V(e(k))\\ {} &{} + &{}\gamma \sum _{p=1}^{L}V(e(k-p)), \end{array} \end{aligned}$$
(29)

if for any \(p\in \mathbb {N}\), \(qV(e(k-p))\le V(e(k))\) [55],

Then, by summing the delayed terms \(V(e(k-p))\) from 1 to L, we obtain:

$$\begin{aligned} q \sum \limits _{p=1}^{L} V(e(k-p))\le L V(e(k)), \end{aligned}$$
(30)

If we multiply the last inequality by \(\gamma \), we get

$$\begin{aligned} \begin{array}{lll} \gamma \sum \limits _{p=1}^{L} V(e(k-p))\le & {} \frac{L\gamma }{q}V(e(k)), \end{array} \end{aligned}$$
(31)

So, by replacing \(\gamma \sum _{p=1}^{L} V(e(k-p))\) in Inequality (29), we can deduce that

$$\begin{aligned} \begin{array}{lll} V(e(k+1))\le & {} \left( \lambda +l+\frac{L\gamma }{q}\right) V(e(k)), \end{array} \end{aligned}$$
(32)

This yields to

$$\begin{aligned} \begin{array}{lll} V(e(k))\le & {} (\lambda +l+L\frac{\gamma }{q})V(e(k-1)), \end{array} \end{aligned}$$
(33)

When \(k=k_{i}\), we have

$$\begin{aligned} \begin{array}{lll} V(e(k_{i}^{+}))&{}=&{}\parallel I+B(k_{i})\parallel \parallel e(k_{i})\parallel \\ {} &{} = &{} \parallel I+B(k_{i})\parallel V(e(k_{i})), \end{array} \end{aligned}$$
(34)

By combining Inequality (33) and Inequality (34), and after successive iterations, we can write

$$\begin{aligned} \left\{ \begin{array}{lll} V(e(k))&{}\le &{} C^{k} \parallel I+B(k_{i})\parallel ^{i-1} V(e(0))\\ &{}&{}\quad \mathrm{for}\,\, k_{i} \le k \le k_{i+1}\\ V(e(k_{i}^{+})) &{}\le &{} C^{k} \parallel I+B(k_{i})\parallel ^{i} V(e(0))\\ &{}&{}\quad \mathrm{for}\,\, k=k_{i} \\ &{}&{} k=1,2,\ldots ,\,\, i=1,2,\ldots \end{array} \right. , \end{aligned}$$
(35)

where

$$\begin{aligned} C= \lambda +l+L\frac{\gamma }{q}. \end{aligned}$$
(36)

From (35), we can notice that if the following relation is verified,

$$\begin{aligned} \begin{array}{lll} \lim _{k \rightarrow \infty } C^{k} \parallel I+B(k_{i})\parallel ^{i}=0, \end{array} \end{aligned}$$
(37)

then the synchronization error system (27) is asymptotically stable for any initial condition e(0),and the impulsive synchronization is achieved between systems (25) and (26).\(\square \)

Remark 5

Our main objective, in this paper, is to study the possibility of impulsive synchronization of two fractional-order discrete-time chaotic systems. This is why, we have not been interested in computing the maximum pulses period required to establish this synchronization.

5 Application to the impulsive synchronization of fractional-order Lozi maps

In this section, we consider as an illustrative example, the fractional-order Lozi map presented in Sect. 2. This section is divided into two parts: In the first one, we give the synchronization scheme and verify that conditions of Theorem 1 are well satisfied. In the second subsection, we give the obtained simulations results using MATLAB Script.

5.1 Impulsive synchronization scheme

The impulsive observer for system (14) is given by

$$\begin{aligned} \left\{ \begin{array}{llll} \hat{x}_{1}(k+1)&{}=&{}1-a\mid \hat{x}_{1}(k)\mid + b\hat{x}_{2}(k)&{}+(\alpha _{1}-1)\hat{x}_{1}(k)\\ &{}&{}-\sum \limits _{p=1}^{L}C_{p1}\hat{x}_{1}(k-p)&{}\\ \hat{x}_{2}(k+1)&{}=&{}\hat{x}_{1}(k)+(\alpha _{2}-1)\hat{x}_{2}(k)&{}\\ &{}&{}-\sum \limits _{p=1}^{L}C_{p2}\hat{x}_{2}(k-p) &{}\quad \mathrm{for}\,\, k\ne k_{i}\\ \hat{x}(k_{i}^{+})&{}=&{}\hat{x}(k_{i})-B(k_{i})e(k_{i}) &{}\quad \mathrm{for}\,\, k=k_{i} \end{array} \right. , \end{aligned}$$
(38)

with \( \hat{x}=[\hat{x}_{1}\quad \hat{x}_{2} ]\in \mathbb {R}^{n}\) is the estimated state vector and the diagonal matrix \( B(k_{i})\) contains the control factors allowing the impulsive synchronization. The error system obtained between systems (14) and (38) can be written as follows

$$\begin{aligned} \left\{ \begin{array}{llll} e(k+1)&{}=&{}A e(k)+\tilde{\varphi }(x(k),\hat{x}(k))\\ &{}&{}-\sum \limits _{p=1}^{L} A_{d}(p)e(k-p),&{}\quad \mathrm{for}\,\, k\ne k_{i}\\ \Delta e(k)&{}=&{}B(k_{i})e(k_{i}), &{}\quad \mathrm{for}\,\,k=k_{i} \end{array} \right. , \end{aligned}$$
(39)

where \(e=[e_{1} \quad e_{2}]^{T} \in \mathbb {R}^{2} \) is the error vector. The Lozi parameters are taken as presented in the previous section, namely \( a=1.7 \) and \( b=0.5 \).

In order to satisfy the condition of Theorem 1 presented in Sect. 4, the derivative orders are taken as follows: \( \alpha _1=0.95\), \( \alpha _2=0.95\) and the memory length is chosen as \(L=5\). Matrix A is then defined as:

$$\begin{aligned} A = \left( \begin{array}{cc} \alpha _{1}-1 &{} b \\ 1 &{} \alpha _{2}-1 \end{array} \right) , \end{aligned}$$

and the nonlinear map \(\tilde{\varphi }(x(k),\hat{x}(k))\in \mathbb {R}^{2}\) is obtained as follows:

$$\begin{aligned} \tilde{\varphi }(x(k),\hat{x}(k))= & {} \left( \begin{array}{c} 1-a\mid x(k) \mid -1+a \mid \hat{x}(k)\mid \\ 0 \end{array} \right) \\= & {} \left( \begin{array}{c} -a (\mid x(k) \mid - \mid \hat{x}(k)\mid ) \\ 0 \end{array} \right) , \end{aligned}$$

This implies that \(\parallel \tilde{\varphi }(x(k),\hat{x}(k))\parallel \le a (\parallel x(k) \parallel - \parallel \hat{x}(k)\parallel )\). It is, then, easy to deduce that Lipschitz constant l is equal to the parameter a, namely \(l=1.7\) The matrices \( A_{d}(p)\) for the fractional-order Lozi map are defined as

$$\begin{aligned} A_{d}(p)=\left( \begin{array}{cc} C_{p1} &{} 0 \\ 0 &{} C_{p2} \end{array} \right) , \end{aligned}$$

For the above chosen parameters, we get the following numerical results \(\lambda =\parallel A \parallel =1.0050\), \(\gamma =\parallel A_{\alpha } \parallel =0.0238\), \(q=0.0408\).

The control signal is a pulse train of magnitude \(M=1 \) and period \( d=3 \), and the correction matrix B is also chosen constant and defined by

$$\begin{aligned} B=\left( \begin{array}{cc} b_{1} &{} 0 \\ 0 &{} b_{2} \\ \end{array} \right) =\left( \begin{array}{cc} -0.98 &{} 0 \\ 0 &{} -0.98 \\ \end{array} \right) . \end{aligned}$$

The numerical results have shown that, for the above chosen parameters, \(C^{k} \parallel I+B(k_{i})\parallel ^{i} \rightarrow 0\) as \(k\rightarrow \infty \). In the following section, we provide the simulation results of the impulsive synchronization scheme described above.

5.2 Simulation results

This section provides the simulations results, achieved on MATLAB and obtained by applying the above theory to the fractional-order Lozi map to verify the effectiveness of the proposed synchronization method. The chosen initial conditions are \( x_{1}(0)=0.1\), \( x_{2}(0)=0.2\) for the master system and \(\hat{x}_{1}(0)=3\), \( \hat{x}_{2}(0)=2\) for the fractional-order impulsive observer.

We start with the synchronization results. Figures 7 and 8, respectively, show the synchronization between the states \( x_{1} \) , \( \hat{x}_{1}\) and \( x_{2} \) , \( \hat{x}_{2}\) of the Lozi map; we can see that the states of the Lozi map are well reconstructed at the receiver level by using the fractional-order impulsive observer designed in the previous section.

Fig. 7
figure 7

Synchronized states \(x_{1}\) and \(\hat{x}_{1}\)

Fig. 8
figure 8

Synchronized states \(x_{2}\) and \(\hat{x}_{2}\)

The synchronization errors illustrated in Figs. 9 and 10 show that errors converge to zero after a short number of iterations. This confirms the above results.

Fig. 9
figure 9

Synchronization error \(e_{1}=x_{1}-\hat{x}_{1}\)

Fig. 10
figure 10

Synchronization error \(e_{2}=x_{2}-\hat{x}_{2}\)

As mentioned in Sect. 5, chaotic systems are very sensitive to initial conditions. However and obviously, the synchronization should not be affected by this characteristic. To verify this, we have chosen different and dispersed initial values of the impulsive observer states and observed the variation effect on the synchronization process. Figure 11 shows the synchronization results for \((x_{1}(0),\hat{x}_{1}(0))=(0.1,-17) \). We can see that despite the large difference in the initial values of the observer state \(\hat{x}_{1}\) , the impulsive synchronization is well established. The synchronization error illustrated in Fig. 12 confirms the above result since it converges to zero after a short number of iterations. From Figs. 13 and 14, we can make the same conclusion for the state \(x_{2}\). Indeed, The synchronization is still achieved even for \((x_{2}(0),\hat{x}_{2}(0))=(0.2,8)\).

Fig. 11
figure 11

Synchronized states \(x_{1}\) and \(\hat{x}_{1}\) for \(\hat{x}_{1}(0)=-17\)

Fig. 12
figure 12

Synchronization error \(e_{1}=x_{1}-\hat{x}_{1}\) for \(\hat{x}_{1}(0)=-17\)

Fig. 13
figure 13

Synchronized states \(x_{2}\) and \(\hat{x}_{2}\) for \(\hat{x}_{2}(0)=8\)

Fig. 14
figure 14

Synchronization error \(e_{2}=x_{2}-\hat{x}_{2}\) for \(\hat{x}_{2}(0)=8\)

Fig. 15
figure 15

Arduino Mega board

6 Experimental implementation of the impulsive synchronization

In this section, we develop in more details the practical implementation of the impulsive synchronization, applied on the fractional-order Lozi map, using the Arduino Mega boards.

Fig. 16
figure 16

Algorithm for the master fractional-order Lozi system system

Fig. 17
figure 17

Algorithm for the fractional-order impulsive observer

The Arduino Mega board shown in Fig. 15 is a microcontroller board with open-source software and hardware[56]. Indeed, there exists a important range of different boards with different features on the market. However, they share a common feature which is easy to develop programs on them. Furthermore, Arduino Mega boards provide a free IDE in order to program the board and to help the user with writing, compiling and uploading codes into the boards. The essential component of the Arduino Mega board is the Atmel ATmega328 microcontroller; this latter is running at 16 MHz with a 8-bit core and a limited memory which consists of 32 kB of storage and 2 kB of random access memory [57]. Further, the Arduino Mega is equipped with 54 digital inputs/outputs, 16 analog inputs, 4 UARTs (hardware serial ports), a USB connection, a power jack, an ICSP header, and a reset button [58].

Fig. 18
figure 18

Picture of the practical implementation

Fig. 19
figure 19

Strange attractor of the chaotic fractional-order Lozi map using Arduino Mega board (\( x_{2} \) vs. \( x_{1} \))

Fig. 20
figure 20

States \( x_1 \) (upper signal) and \( x_2 \) (lower signal) of the fractional-order Lozi map

Fig. 21
figure 21

Impulsive synchronization results : (from the upper) : state \( x_1 \), state \( \hat{x}_{1} \), state \( x_2 \), state \( \hat{x}_{2} \) and the control pulses

Fig. 22
figure 22

Phase plane \( x_{1} \) versus \( \hat{x}_{1} \)

Fig. 23
figure 23

Phase plane \( x_{2} \) versus \( \hat{x}_{2} \)

In our work, we have used two Arduino Mega boards: We have uploaded, using an USB cable, the Master fractional-order Lozi Map into the first Arduino Mega board and the fractional impulsive observer code into the second Arduino board. The connection between the two boards is achieved by cable from the TX port of the first Arduino board (the master fractional-order Lozi map) and the RX port of the second Arduino board (the fractional-order impulsive observer). It should be known that data are coded on 8 bits and transmitted in serial way.

The codes uploaded into the two boards have been programmed using the language Wiring which is similar to the C Language. In order to facilitate the description of the synchronization scheme, the main algorithms executed by the Arduino boards are shown in Figs. 16 and 17.

In order to make the results visualization more easy and precise, instead of using a digital oscilloscope, we have used two individual computers each with a graphical interface written in Java. Figure18 illustrates better both the Arduino Mega boards connection and the results displaying process.

7 Experimental results of the impulsive synchronization

We start the experimental results with Fig.19 which illustrates the Lozi attractor, presented previously, using the Arduino Mega board.

The two states \( x_1 \) and \( x_2 \) of the fractional-order chaotic Lozi map are shown in Fig. 20. The upper signal presents the \(x_1\) chaotic evolution and the lower signal the \( x_2 \) chaotic evolution.

The reconstruction of the chaotic Lozi states under the impulsive control is well achieved using the Arduino Mega board. Indeed, in Fig. 21, five signals are illustrated, the two upper signals represent the states \( x_1 \) and \( \hat{x}_{1} \) of the Lozi map and the impulsive observer. The two lower signals show the states \( x_{2} \) and \( \hat{x}_{2} \), and the last signal illustrates the control pulses used.

To better observe the effectiveness of the impulsive synchronization, Figs. 22 and 23 display, respectively, the phase planes of the states \( x_1 \) versus \( \hat{x}_{1} \) and \( x_2 \) versus \( \hat{x}_{2} \). The straight line obtained in each case confirms that synchronization occurs well.

8 Conclusion

Our contribution in this paper consists of the generalization of the impulsive synchronization method to the fractional-order discrete-time chaotic systems. Based on both theories of discrete-time fractional-order systems and the impulsive control, a stability theorem has been given. The simulation results show the effectiveness of the impulsive control to synchronize fractional-order chaotic systems. Furthermore, the experimental results obtained by the implementation of the impulsive control scheme on Arduino Mega boards confirm and validate the proposed synchronization scheme. As future works, we can propose to give an efficient result to compute the pulses period allowed to achieve synchronization. In addition, we can use the obtained results in the design of a secure data transmission scheme.