The objective of this paper is to estimate the unmeasurable variables of a multistable chaotic system using a Luenberger-like observer. First, the observability of the chaotic system is analyzed. Next, a Lipschitz constant is determined on the attractor of this system. Then, the methodology proposed by Raghavan and the result proposed by Thau are used to try to find an observer. Both attempts are unsuccessful. In spite of this, a Luenberger-like observer can still be used based on a proposed gain. The performance of this observer is tested by numerical simulation showing the convergence to zero of the estimation error. Finally, the chaotic system and its observer are implemented using 32-bit microcontrollers. The experimental results confirm good agreement between the responses of the implemented and simulated observers.

1. Introduction

Due to the absence or high cost of sensors, some of the variables associated with the dynamics of a system could not be available for measurement. Nevertheless, if the system must be monitored or a state feedback controller implemented, such unmeasurable variables should be estimated. Consequently, an aggregated dynamic system (observation scheme) based on the system model and the measurable states must be incorporated to reconstruct the unavailable variables. In 1996, Luenberger proposed for the first time, an observer and a design methodology for linear systems [1]. Currently, the problem of state estimation for a linear system is well understood, and the solution is well established. However, the nonlinear case is more challenging. For this case, a first proposal of a solution was provided by Thau in [2] in which structure of the Luenberger observer was applied to Lipschitz nonlinear systems. In this context, the structure is known as the Luenberger-like observer. Based on this observer, Thau presented sufficient conditions to guarantee the asymptotic convergence to zero of the estimation error. However, no design procedure to find the observer gain was provided. In [3], Xia and Gao showed a necessary condition for the existence of an exponential observer. Tsinias provided sufficient conditions and a simple approach for the observer design [4]. In fact, this approach was a direct extension of the observer design in the linear case. Based on the off-line solution of an algebraic Riccati equation, Raghavan and Hedrick proposed an iterative procedure of observer design for a class of Lipschitz nonlinear systems [5]. In [611], different kinds of observers were studied for chaotic systems. The main use of an observer in chaotic systems is for synchronization [1219].

A chaotic system is a dynamical system with the following properties: (1) high sensitivity to initial conditions, (2) dense periodic orbits, and (3) topological mixing. Consequently, it is impossible to carry out accurate predictions about its long-term dynamic behavior [2023]. In spite of that, the boundedness of its states can be guaranteed. Chaotic systems can be classified according to the nature of its equilibrium points as (a) no-equilibrium systems; in this kind of systems, there are no real equilibrium points, (b) stable equilibrium systems [24]; in this case, the real parts of all eigenvalues associated with the equilibrium point are negative, (c) line equilibrium systems [25]; there is an infinite number of equilibrium points along a straight line, and (d) curve equilibrium systems; the equilibrium points form a locus such as a circle [26], square [27], and three-leaved clover [28]. All these aforementioned systems belong to the general class of chaotic systems with hidden attractors.

Some chaotic systems have an additional very interesting property: they can have two or more coexisting attractors [2937]. For the same set of parameters, each attractor can be reached depending on the selected initial condition. Such systems are known as multistable chaotic systems [3841], and they have received increasing attention during the last decade due to their potential applications [4244].

In this paper, the attention is focused on the state estimation of a multistable chaotic system proposed by Kapitaniak and coauthors in [45] using a Luenberger-like observer. The system has two attractors for the same set of parameters. The main contribution of this paper is as follows: for the first time, the Kapitaniak system has (a) its basins of attraction thoroughly studied, (b) its observability analyzed, (c) an observer is proposed for it, and (d) the system and its corresponding observer are implemented using 32-bit microcontrollers.

2. Multistable Kapitaniak Chaotic System

A three-dimensional chaotic system with a fixed point attractor and a hidden strange attractor was presented in [45]. Each one of these attractors can be reached depending on the selected initial condition. The mathematical model of the system is given as follows:where , and are the system’s states. By using Wolf’s algorithm, the Lyapunov exponents of system (1) can be calculated as and . As , it can be confirmed that system (1) is chaotic. Additionally, the Kaplan–Yorke dimension can be determined as . By inspection, the equilibrium point is given by . The eigenvalues associated with it are . Thus, it can be concluded that this equilibrium is stable. This equilibrium point can be reached, for example, by taking the initial condition as . With respect to the strange attractor, this can be reached, for example, by using the initial condition (see [45]). The projections of this attractor on and planes are presented in Figure 1.

The attractor was obtained by simulation of equation (1) using Simulink® with solver ode45 (Dormand–Prince), relative tolerance 1e − 6, absolute tolerance 1e − 7, start time 0, and stop time 500 sec. If the stop time is increased to 1,000,000 sec, it can be determined that the chaotic states of system (1) belong to the following set:

Thus, the following bounds for and can be established:

Finally, it is important to mention that system (1) can briefly be represented aswhere

3. Basin of Attraction

The basin of attraction of an attractor comprises the set of points in the state space that leads to the attractor [46, 47]. The current system (1) has two attractors including a fixed point attractor and a chaotic hidden strange attractor. The basin of attraction of both attractors is shown in Figure 2 on the - plane (Figure 2(a)) and on the - plane (Figure 2(b)). In the first case, the plane is chosen such that . Orbits are started at every pixel in a region of interest and followed until they return to the Poincare section or diverge to infinity, and the corresponding initial point is colored accordingly: red, if it identifies the chaotic attractor, light green, if it identifies the fixed point attractor, and white, otherwise. Similarly, for completeness, we choose the plane containing the equilibrium and perform similar operations as before. The resultant basin of attraction can be appreciated, as shown in Figure 2(b).

Moreover, it is important to classify and quantify the basin of attraction based on the work reported in [48]. According to the results, a probability function considered at large distances is the basis for classifying and quantifying chaotic attractors’ basins. The function at large distances, has power law scaling:where is the probability that an initial condition at a distance from the attractor lies within the basin of attraction, and and are the classification and quantification parameters. Based on these parameters, the basin of a chaotic system can be grouped into one of four classes [48]. As Figure 3 shows, system (1) has a class 3 fractal basin with noninteger power law scaling. The basin of attraction of the chaotic attractor extends to infinity, but since the codimension of the basin is almost , the basin most likely has a narrow width.

4. Problem Formulation

Let us focus on the case when not all the states of system (1) are available for measurement because the corresponding sensors do not exist or they are very expensive. In this case, we can represent system (4) aswhere is the output vector and is the constant output matrix with appropriate dimension. Throughout this work, we consider that the output is simply given by

This means that

To reproduce the unavailable states and , we need to use a dynamic system known as an observer. For the linear case, Luenberger proposed a well-known structure of an observer. For the nonlinear case, we could use a generalization of this structure called the Luenberger-like observer. For system (7), this observer is given bywhere is the observer’s state and is a constant gain matrix. The Luenberger-like observer is formed by the model of the original system (with the true state replaced by the estimated state ), plus a linear correction term.

The difference between the states of the observer (10) and the system (7) is called the estimation error which is defined as

The problem of state estimation consists of finding an appropriate gain matrix in such a way that that is, converges asymptotically to zero.

5. Observability Analysis

Before attempting to find the observer gain, or in general, to use any observation scheme, a fundamental question must be resolved. That is, what are the conditions under which the reconstruction problem of the unmeasurable states of a system has a solution?

Definition 1. (see [49, 50]). System (7) is said to be observable over the time interval , if the knowledge of the output over suffices to uniquely determine the initial state completely.
The observability analysis for linear systems is a well-understood problem. However, the case for nonlinear systems is subtler and more complicated. Results on the observability of nonlinear systems are discussed in [51] and references therein. In this work, these results are summarized for an unforced system with a unique output like system (7).
Consider the extended output vector asThe observability matrix for the nonlinear case is defined as

Corollary 1 (see [50]).. System (7) is locally observable in a neighbourhood of the point at time , if

Remark 1. Although the Kalman condition for observability of linear systems is necessary and sufficient, condition expressed in (14) is only sufficient.
To begin with the observability analysis for system (7), the extended output vector is calculated asNext, the observability matrix can be determined asIt is easy to show thatThus, system (7) loses its observability only when .

6. Raghavan Observer

In this section, observer gain is tried to be determined using the Raghavan procedure. First, the Lipschitz constant of system (7) must be found.

6.1. Lipschitz Constant Determination

Definition 2. (see [49, 52]). A function is said to be locally Lipschitz on if there exists a constant (known as the Lipschitz constant) such that for all , the following inequality holds:Finally, is said to be globally Lipschitz if it satisfies (18) with .

Lemma 1 (see [49, 52]).. If a function is continuously differentiable on a set then it is locally Lipschitz on .

Taking into account Lemma 1, Khalil [52] proposed a procedure to calculate the Lipschitz constant [53]. Although this procedure produces conservative results, it is enough for the purpose of this work. First, for the function given in (5), let us calculate its Jacobian matrix as

Let us define the matrix aswhere

Thus, is a matrix whose elements are the maximum absolute values of each corresponding element in the Jacobian matrix (19) on the set . Next, can be determined as

Finally, the Lipschitz constant for on the set is given bywhere denotes the two-norm of that is, , and denotes the maximum eigenvalue of .

6.2. Raghavan Design Procedure

The procedure proposed by Raghavan is based on the following result.

Theorem 1 (see [5]).. Given system (7) and its observer (10), if there exists such that the following algebraic Riccati equation (ARE) has a symmetric, positive definite solution :then, by selecting the observer gain as , the estimation error converges asymptotically to zero for all with a Lipschitz constant .

Remark 2. A necessary condition for the existence of a symmetric, positive definite solution is that the pair be detectable.
Let us apply Algorithm 1 to our problem. We must verify that is detectable. Let us define the observability matrix using (6) and (9) asThe rank of is 3, that is, the pair is observable, a stronger condition than detectability. Now, by setting , we use Algorithm 1 implemented in Matlab® with command “are” for the solution of equation (24). The algorithm gives a result until the 14th iteration when . With this value, the corresponding solution of equation (24) isHowever, as can be easily verified, is not a symmetric matrix. Besides, smaller values for do not produce a symmetric matrix either. Thus, the algorithm has failed.

Step 1. Set to a positive value.
Step 2. Solve ARE (24).
Step 3. If is symmetric and positive definite, then and the process is terminated.
Step 4. If not, set and go to Step 2. If is below some precision value, abandon the method.
6.3. Scaling of System

If Algorithm 1 does not work, a possible solution could be to scale the chaotic system (1).

Consider the variables defined aswhere are the positive constants. By taking the first derivative of (27) with respect to time and substituting (1), after some algebraic operations, can be found that

Succinctly, system (28) can be represented aswhereand is the output of system (29), that is, .

To find the Lipschitz constant of scaled system (29), the Jacobian matrix of is determined asand the matrix for (31), that is, , is given by

Thus, the scaled Lipschitz constant can be calculated as

To try to find a positive result for Algorithm 1, it is important to reduce . This can be achieved by reducing and and increasing The minimum value for is 3.3. Although different values for and are tested, Algorithm 1 does not work on the scaled system (28). Thus, it can be inferred that there does not exist a Raghavan observer for Kapitaniak system (1).

7. Thau Observer

In [2], Thau provided a sufficient condition to guarantee the asymptotic convergence to zero of the estimation error. However, a systematic procedure of design was not provided. That is, to use this result, first, the user must propose a value of gain for the observer by trial and error.

Theorem 2 (see [2, 49]).. Given system (7), the corresponding observer (10), a symmetric positive definite matrix , and an observer gain , proposed by the user, such that is Hurwitz, if the following Lyapunov equation:has a symmetric positive definite solution which satisfies the following inequality:where and are the minimum eigenvalues of and the maximum eigenvalue of , respectively; then, the estimation error converges asymptotically to zero.

It should be noted that relation in (35) can be increased if the minimum eigenvalue of is increased and/or the maximum eigenvalue of is reduced. According to [54, 55], the ratio in (35) can be maximized if . To apply Theorem 2 to our problem, several values for the gain observer are proposed. In spite of the exhaustive search, the inequality (35) cannot be satisfied. In this case, the scaled system (28) is considered. Several combinations of values for and observer gain are tested. However, attempts are again unsuccessful. Thus, it can be inferred that the Thau observer does not exist for Kapitaniak system (1).

8. Luenberger-Like Observer

In spite of the negative results of the previous sections, it is important to take into account that Theorems 1 and 2 provide only sufficient conditions. If these conditions are not satisfied, this does not mean the nonexistence of the Luenberger-like observer. In fact, in this section, the existence of a Luenberger-like observer (10) for Kapitaniak chaotic system (1) is verified by numerical simulation. Consider the following value for the observer gain :

Once the gain has been proposed, the observer (10) can easily be simulated. Models for the chaotic system (7) and for the corresponding observer (10) are built on Simulink®. The initial condition for the chaotic system is again as in Section 2. As the states are not available, it is reasonable to propose the initial condition of the observer simply as . For a fair comparison with respect to the experimental results of the following section, the simulation is accomplished using solver ode4 (Runge–Kutta) with a fixed step size of 0.0004 sec, a start time 0, and a stop time 10 sec. In Figure 4, the observation process is shown, whereas in Figure 5, the signal of the estimation error is presented.

As can be appreciated from Figure 5, the estimation error converges asymptotically to zero.

9. Microcontroller Implementation and Experimental Results

The implementation is accomplished using two Teensy USB Development Board based on the 72 MHz Cortex-M4 3.3 V signal microcontroller. The chaotic system (7) is implemented on the first board, whereas the corresponding Luenberger-like observer (10) is implemented on the second board. A block diagram of this implementation is shown in Figure 6.

Both systems are implemented using solver ode4 (Runge–Kutta) with a fixed step size of 0.0004 sec. Since the observer requires signal as an input, a unidirectional communication between the microcontrollers must be set. The communication is achieved using an analog to digital conversion based on PWM and a digital to analog converter built on the microcontroller. The following process is accomplished: (1) the first microcontroller with the chaotic system provides the states and (2) the states are sent by the PWM port (10-bit resolution and 5 Mhz frequency), and also the states are scaled, (3) the PWM signals go to a low-pass RC filter with a cutoff frequency of 30 Hz, (4) the output of this filter is taken by an analog to digital converter of the second microcontroller. This converter has a 10-bit resolution and a sample frequency of 5 MHz, (5) the digital signal is scaled to the original range, (6) the second microcontroller with the Luenberger-like observer produces the states and (7) the observer states are scaled, (8) these states are sent to the PWM port, and (9) such signals go to a second low-pass filter. The states of the chaotic systems and the states of the observer are sent by serial communication to a computer for visualization (see Figure 7). At the same time, the outputs of both low-pass filters are sent to an oscilloscope to verify the measurements.

To facilitate the implementation process and the reproduction of our results, the pseudocodes for the master microcontroller and the slave microcontroller are as follows:Pseudocode of the master microcontroller:BEGINInitial conditions of statesdefine step timemain loop function (){Calculate states through the Runge–Kutta method{ x1x2x3}Applied offset to states of the original system to get positives values in the PWM port and the scale factor for distributing the values in all range of the PWM portSx1 = (x1 + offset) scale factorSx2 = (x2 + offset) scale factorSx3 = (x3 + offset) scale factorSend values through the PWM port PWM output ⟵ (Sx1) PWM output ⟵ (Sx2) PWM output ⟵ (Sx3)Calculate time delay for the sample time}Pseudocode of the observer microcontroller:BEGINInitial conditions of statesdefine step timemain loop function (){Read values of the real system through the analog to digital converter and remove the offset and the scale factorx1_r ⟵ (analog input/scale factor)-offsetx2_r ⟵ (analog input/scale factor)-offsetx3_r ⟵ (analog input/scale factor)-offsetCalculate observer states, using the x1_r state and the Runge–Kutta method{ x1_Ox2_Ox3_O}Calculate error between the real or original system and the observer systemApplied offset to observer states to get positives values in the PWM port and the scale factor for distributing the values in all range of the PWM portSx1_O = (x1_O + offset) scale factorSx2_O = (x2_O + offset) scale factorSx3_O = (x3_O + offset) scale factorSend values through the PWM port PWM output ⟵ (Sx1_O) PWM output ⟵ (Sx2_O) PWM output ⟵ (Sx3_O)Send states of real system, states of observer system, and error of systems through the serial/USB portCalculate time delay for the sample time}

In Figures 8 and 9, the experimental results are presented. The observation process is shown in Figure 8 for the first states, second states, and third states, respectively, of the implemented systems. Finally, the estimation error between the implemented chaotic system and the implemented observer can be appreciated in Figure 9.

Data Availability

The experimental microcontroller data used to support this study are available from the second author upon request to the e-mail: [email protected].

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.


The authors are very grateful to Dr. J. C. Sprott for his invaluable help. Figures 2 and 3 are courtesy of him. This work was financed by SIP, Instituto Politécnico Nacional, under Grant (20200083). The authors also acknowledge the support of EDI-IPN and SNI-Conacyt.