# A Luenberger-Like Observer for Multistable Kapitaniak Chaotic System

Authors: J. Humberto Pérez-Cruz; Jacobo Marcos Allende Peña; Christian Nwachioma; Jose de Jesus Rubio; Jaime Pacheco; Jesus Alberto Meda-Campaña; David Ávila-González; Olivia Guevara Galindo; Ignacio Adrian Romero; Salvador Isidro Belmonte Jiménez
Journal: Complexity
 (2020)

---

## Abstract

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.


---

## Body

## 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 [6–11], different kinds of observers were studied for chaotic systems. The main use of an observer in chaotic systems is for synchronization [12–19].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 [20–23]. 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 [29–37]. 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 [38–41], and they have received increasing attention during the last decade due to their potential applications [42–44].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:(1)x˙1=x3,x˙2=−x1−x3,x˙3=0.1x1+5x2−x3+x1x2−0.3x1x3+1,where x1,x2, and x3 are the system’s states. By using Wolf’s algorithm, the Lyapunov exponents of system (1) can be calculated as L1=0.1501,L2=0, and L3=−1.1501. As L1>0, it can be confirmed that system (1) is chaotic. Additionally, the Kaplan–Yorke dimension can be determined as DKY=2.1305. By inspection, the equilibrium point is given by 0,−0.2,0. The eigenvalues associated with it are λ1=−0.9835andλ2,3=−0.0082±2.2547i. Thus, it can be concluded that this equilibrium is stable. This equilibrium point can be reached, for example, by taking the initial condition as 2,3,0. With respect to the strange attractor, this can be reached, for example, by using the initial condition 5.4,−1.8,3.3 (see [45]). The projections of this attractor on x1−x2,x2−x3, and x1−x3 planes are presented in Figure 1.Figure 1
Projections of the strange attractor of system (1) with the initial condition 5.4,−1.8,3.3: (a) x1−x2 phase plane, (b) x2−x3 phase plane, and (c) x1−x3 phase plane.
(a)(b)(c)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:(2)Ω=x1,x2,x3x1∈−4.9150,10.8287,x2∈−5.3136,13.7184,x3∈−14.6249,22.3794.Thus, the following bounds forx1,x2, and x3 can be established:(3)x1≤x1,max=11,x2≤x2,max=14,x3≤x3,max=22.5.Finally, it is important to mention that system (1) can briefly be represented as(4)x˙=Ax+fx,where(5)x:=x1x2x3T,A:=001−10−10.15−1,fx:=00x1x2−0.3x1x3+1.


## 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 x1-x2 plane (Figure 2(a)) and on the x1-x3 plane (Figure 2(b)). In the first case, the plane is chosen such that x3=0. 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 x2=−0.2 and perform similar operations as before. The resultant basin of attraction can be appreciated, as shown in Figure 2(b).Figure 2
Basin of attraction of the chaotic system (1) viewed along the plane x3=0 (a) and along the plane x2=−0.2 (b).
(a)(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:(6)Pr=P0rγ,where Pr is the probability that an initial condition at a distance r from the attractor lies within the basin of attraction, and P0 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 2, the basin most likely has a narrow width.Figure 3
The chaotic system (1) has a class 3 fractal basin that extends to infinity and with a noninteger power law scaling.


## 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) as(7)x˙=Ax+fx,y=Cx,where y is the output vector and C is the constant output matrix with appropriate dimension. Throughout this work, we consider that the output is simply given by(8)y=x1.This means that(9)C=100.To reproduce the unavailable statesx2 and x3, 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 by(10)x^˙=Ax^+fx^+Ly−y^,y^=Cx^,where x^ is the observer’s state and L is a constant gain matrix. The Luenberger-like observer is formed by the model of the original system (with the true state x replaced by the estimated state x^), 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(11)e:=x−x^.The problem of state estimation consists of finding an appropriate gain matrixL in such a way that limt⟶∞e=0, that is, e 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 t0,t1,t1>t0, if the knowledge of the output y over t0,t1 suffices to uniquely determine the initial state xt0 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 as(12)Y=yy˙y¨.
The observability matrix for the nonlinear case is defined as(13)Q=∂Y∂x.Corollary 1 (see [50])..
System (7) is locally observable in a neighbourhood of the point x at time t, if(14)detQ≠0.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 as(15)Y=yy˙y¨=x1x˙1x¨1=x1x30.1x1+5x2−x3+x1x2−0.3x1x3+1.
Next, the observability matrix can be determined as(16)Q=∂Y∂x=1000010.1+x2−0.3x35+x1−1−0.3x1.
It is easy to show that(17)detQ=−5−x1.
Thus, system (7) loses its observability only when x1=−5.


## 6. Raghavan Observer

In this section, observer gainL 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 fx:ℜn⟶ℜn is said to be locally Lipschitz on Ω⊂ℜn if there exists a constant γ (known as the Lipschitz constant) such that for all x1,x2∈Ω, the following inequality holds:(18)fx1−fx2≤γx1−x2.
Finally,f is said to be globally Lipschitz if it satisfies (18) with Ω=ℜn.Lemma 1 (see [49, 52])..
If a functionf:ℜn⟶ℜn is continuously differentiable on a set Ω⊂ℜn, then it is locally Lipschitz on Ω.Taking into account Lemma1, 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 f given in (5), let us calculate its Jacobian matrix as(19)∂fx∂x=000000x2−0.3x3x1−0.3x1.Let us define the matrixF as(20)F=maxx∈Ω¯∂f∂x,where(21)Ω¯=x1,x2,x3x1≤x1,max=11,x2≤x2,max=14,x3≤x3,max=22.5.Thus,F is a matrix whose elements are the maximum absolute values of each corresponding element in the Jacobian matrix (19) on the set Ω¯. Next, F can be determined as(22)F=00000020.75113.3.Finally, the Lipschitz constant forf on the set Ω¯ is given by(23)γ=F=23.7161,where F denotes the two-norm of F, that is, F=λmaxFTF, and λmaxFTF denotes the maximum eigenvalue of FTF.


### 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 ε>0 such that the following algebraic Riccati equation (ARE) has a symmetric, positive definite solution P:(24)AP+PAT+Pγ2I−1εCTCP+I+εI=0,then, by selecting the observer gain as L=1/2εPCT, the estimation error e=x−x^ converges asymptotically to zero for all f with a Lipschitz constant γ.Remark 2.
A necessary condition for the existence of a symmetric, positive definite solutionP is that the pair A,C be detectable.
Let us apply Algorithm1 to our problem. We must verify that A,C is detectable. Let us define the observability matrix O using (6) and (9) as(25)O=CCACA2=1000010.15−1.
The rank ofO is 3, that is, the pair A,C is observable, a stronger condition than detectability. Now, by setting ε=10.9227, 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 ε=1/1500. With this value, the corresponding solution of equation (24) is(26)P=0.03260.00030.0000−0.00150.0002−0.0419−0.00120.04250.0016.
However, as can be easily verified,P is not a symmetric matrix. Besides, smaller values for ε do not produce a symmetric matrix either. Thus, the algorithm has failed.Algorithm 1:Procedure to obtain the observer gain [5].
Step 1. Set ε to a positive value.Step 2. Solve ARE (24).Step 3. If P is symmetric and positive definite, then L=1/2εPCT and the process is terminated.Step 4. If not, set ε=ε/2, and go to Step 2. If ε is below some precision value, abandon the method.


### 6.3. Scaling of System

If Algorithm1 does not work, a possible solution could be to scale the chaotic system (1).Consider the variablesz1,z2, andz3 defined as(27)z1=x1k1,z2=x2k2,z3=x3k3,where k1,k2, andk3 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(28)z˙1=k3z3k1,z˙2=−k1k2z1−k3k2z3,z˙3=0.1k1k3z1+5k2k3z2−z3+k1k2k3z1z2−0.3k1z1z3+1k3.Succinctly, system (28) can be represented as(29)z˙=A¯z+f¯z,y¯1=Cz,where(30)z:=z1z2z3T,A¯:=00k3k1−k1k20−k3k20.1k1k35k2k3−1,f¯z:=00k1k2k3z1z2−0.3k1z1z3+1k3,and y¯1 is the output of system (29), that is, y¯1=z1.To find the Lipschitz constant of scaled system (29), the Jacobian matrix of f¯ is determined as(31)∂f¯z∂z=000000k1k2k3z2−0.3k1z3k1k2k3z1−0.3k1z1,and the matrix F for (31), that is, F¯, is given by(32)F¯=000000k1k314+0.3k1k322.5k2k3113.3.Thus, the scaled Lipschitz constant can be calculated as(33)γ¯=F¯.To try to find a positive result for Algorithm1, it is important to reduce γ¯. This can be achieved by reducing k1 and k2 and increasing k3. The minimum value for γ¯ is 3.3. Although different values for k1,k2,k3, 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).


## 6.1. Lipschitz Constant Determination

Definition 2.
(see [49, 52]). A function fx:ℜn⟶ℜn is said to be locally Lipschitz on Ω⊂ℜn if there exists a constant γ (known as the Lipschitz constant) such that for all x1,x2∈Ω, the following inequality holds:(18)fx1−fx2≤γx1−x2.
Finally,f is said to be globally Lipschitz if it satisfies (18) with Ω=ℜn.Lemma 1 (see [49, 52])..
If a functionf:ℜn⟶ℜn is continuously differentiable on a set Ω⊂ℜn, then it is locally Lipschitz on Ω.Taking into account Lemma1, 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 f given in (5), let us calculate its Jacobian matrix as(19)∂fx∂x=000000x2−0.3x3x1−0.3x1.Let us define the matrixF as(20)F=maxx∈Ω¯∂f∂x,where(21)Ω¯=x1,x2,x3x1≤x1,max=11,x2≤x2,max=14,x3≤x3,max=22.5.Thus,F is a matrix whose elements are the maximum absolute values of each corresponding element in the Jacobian matrix (19) on the set Ω¯. Next, F can be determined as(22)F=00000020.75113.3.Finally, the Lipschitz constant forf on the set Ω¯ is given by(23)γ=F=23.7161,where F denotes the two-norm of F, that is, F=λmaxFTF, and λmaxFTF denotes the maximum eigenvalue of FTF.


## 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 ε>0 such that the following algebraic Riccati equation (ARE) has a symmetric, positive definite solution P:(24)AP+PAT+Pγ2I−1εCTCP+I+εI=0,then, by selecting the observer gain as L=1/2εPCT, the estimation error e=x−x^ converges asymptotically to zero for all f with a Lipschitz constant γ.Remark 2.
A necessary condition for the existence of a symmetric, positive definite solutionP is that the pair A,C be detectable.
Let us apply Algorithm1 to our problem. We must verify that A,C is detectable. Let us define the observability matrix O using (6) and (9) as(25)O=CCACA2=1000010.15−1.
The rank ofO is 3, that is, the pair A,C is observable, a stronger condition than detectability. Now, by setting ε=10.9227, 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 ε=1/1500. With this value, the corresponding solution of equation (24) is(26)P=0.03260.00030.0000−0.00150.0002−0.0419−0.00120.04250.0016.
However, as can be easily verified,P is not a symmetric matrix. Besides, smaller values for ε do not produce a symmetric matrix either. Thus, the algorithm has failed.Algorithm 1:Procedure to obtain the observer gain [5].
Step 1. Set ε to a positive value.Step 2. Solve ARE (24).Step 3. If P is symmetric and positive definite, then L=1/2εPCT and the process is terminated.Step 4. If not, set ε=ε/2, and go to Step 2. If ε is below some precision value, abandon the method.


## 6.3. Scaling of System

If Algorithm1 does not work, a possible solution could be to scale the chaotic system (1).Consider the variablesz1,z2, andz3 defined as(27)z1=x1k1,z2=x2k2,z3=x3k3,where k1,k2, andk3 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(28)z˙1=k3z3k1,z˙2=−k1k2z1−k3k2z3,z˙3=0.1k1k3z1+5k2k3z2−z3+k1k2k3z1z2−0.3k1z1z3+1k3.Succinctly, system (28) can be represented as(29)z˙=A¯z+f¯z,y¯1=Cz,where(30)z:=z1z2z3T,A¯:=00k3k1−k1k20−k3k20.1k1k35k2k3−1,f¯z:=00k1k2k3z1z2−0.3k1z1z3+1k3,and y¯1 is the output of system (29), that is, y¯1=z1.To find the Lipschitz constant of scaled system (29), the Jacobian matrix of f¯ is determined as(31)∂f¯z∂z=000000k1k2k3z2−0.3k1z3k1k2k3z1−0.3k1z1,and the matrix F for (31), that is, F¯, is given by(32)F¯=000000k1k314+0.3k1k322.5k2k3113.3.Thus, the scaled Lipschitz constant can be calculated as(33)γ¯=F¯.To try to find a positive result for Algorithm1, it is important to reduce γ¯. This can be achieved by reducing k1 and k2 and increasing k3. The minimum value for γ¯ is 3.3. Although different values for k1,k2,k3, 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 Q1, and an observer gain L, proposed by the user, such that A−LC is Hurwitz, if the following Lyapunov equation:(34)A−LCTP1+P1A−LC=−Q1,has a symmetric positive definite solution P1 which satisfies the following inequality:(35)γ<λminQ12λmaxP1,where λminQ1 and λmaxP1 are the minimum eigenvalues of Q1 and the maximum eigenvalue of P1, respectively; then, the estimation error e converges asymptotically to zero.It should be noted that relation in (35) can be increased if the minimum eigenvalue of Q1 is increased and/or the maximum eigenvalue of P1 is reduced. According to [54, 55], the ratio in (35) can be maximized if Q1=I. To apply Theorem 2 to our problem, several values for the gain observer L 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 k1,k2,k3, 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 Theorems1 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 L:(36)L=24.4844−1.0968−0.9137.Once the gainL 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 5.4,−1.8,3.3 as in Section 2. As the states are not available, it is reasonable to propose the initial condition of the observer simply as 0,0,0. 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 e is presented.Figure 4
Observation process (true state, solid line; estimated state, dashed line) for (a)x1 and x^1, (b) x2 and x^2, and (c) x3 and x^3.
(a)(b)(c)Figure 5
Time evolution of the estimation errore.As can be appreciated from Figure5, 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.Figure 6
Block diagram of the implementation.Both systems are implemented using solver ode4 (Runge–Kutta) with a fixed step size of 0.0004 sec. Since the observer requires signalx1 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 x1,x2, and x3, (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 x^1,x^2, and x^3, (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.Figure 7
Data visualization on the computer screen.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 portPWM 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 thex1_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 portPWM 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 Figures8 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.Figure 8
Observation process for the implemented systems (true state, solid line; estimated state, dashed line) for (a)x1 and x^1, (b) x2 and x^2, and (c) x3 and.x^3.
(a)(b)(c)Figure 9
Time evolution of the estimation errore for the implemented systems.



---

*Source: 9531431-2020-07-14.xml*