**2. Induction motor parts, features and mathematical model**

#### **2.1 Induction motor parts and features**

Induction motors are the most commonly used electrical machines, they are cheaper, rugged and easier to maintain compared to other alternatives. It has two main parts: stator and rotor, stator is a stationary part and rotor is the rotating part. Stator is made by stacking thin slotted highly permeable steel lamination inside a steel or cast iron frame, winding passes through slots of stator. When a three phase AC current passes through it, something very interesting happens. It produces a rotating magnetic field, the speed of rotation of a magnetic field is known as synchronous speed.

It is called an induction motor because electricity is inducted in rotor by magnetic induction rather than direct electric connection. To collapse such electric magnetic induction, to aid such electromagnetic induction, insulated iron core lamina are packed inside the rotor, such small slices of iron make sure that Eddy current losses are minimal. And this is another big advantage of three phase induction motors.

The parts of a squirrel cage induction motor are shown in **Figure 1**.

**Figure 1.** *Squirrel cage induction motor parts.*

#### **2.2 Induction motor mathematical model**

The induction motor has many state space mathematical models; each model is expressed by assuming a certain state vector. The modelling of AC machines is based mainly on the work of G. Kron, who gave birth to the concept of generalised machine as described in [4]. Park's model is a special case of this concept. It is often used for the synthesis of control laws and estimators. Described by a non-linear algebradifferential system, Park's model reflects the dynamic behaviour of the electrical and electromagnetic modes of the asynchronous machine. It admits several classes of state *Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

representations. These model classes depend directly on the control objectives (torque, speed, position), the nature of the power source of the work repository and the choice of state vector components (flux or currents, stator or rotor).

In this chapter, the mathematical model of the machine in use is described in the stator fixed reference frame (*α*, *β*) (stationary frame) by assuming the stator currents and the rotor fluxes as state variables:

$$\begin{cases} \dot{X} = \mathbf{A}X + \mathbf{B}U \\ Y = \mathbf{C}X \end{cases} \tag{1}$$

Where *X*, *U* and *Y* are the state vector, the input vector and the output vector, respectively:

$$\begin{aligned} \mathbf{X} &= \begin{bmatrix} i\_{sa} & i\_{\vartheta} & \phi\_{ra} \ \phi\_{r\theta} \end{bmatrix}^{t}; \quad \mathbf{U} = \begin{bmatrix} u\_{sa} & u\_{s\theta} \end{bmatrix}^{t}; \quad \mathbf{Y} = \begin{bmatrix} i\_{sa} & i\_{\vartheta} \end{bmatrix}^{t} & \tag{2} \\\\ -\lambda & \mathbf{0} & \frac{K}{T\_{r}} & K\alpha\_{r} \\\ \mathbf{0} & -\lambda & -K\alpha\_{r} & \frac{K}{T\_{r}} \\\ \frac{L\_{m}}{T\_{r}} & \mathbf{0} & -\frac{1}{T\_{r}} & -\alpha\_{r} \\\ \mathbf{0} & \frac{L\_{m}}{T\_{r}} & \alpha\_{r} & -\frac{1}{T\_{r}} \end{bmatrix}; \quad \mathbf{B} = \begin{bmatrix} \frac{1}{\sigma L\_{\star}} & \mathbf{0} \\\ \mathbf{0} & \frac{1}{\sigma L\_{\star}} \\\ \mathbf{0} & \mathbf{0} \\\ \mathbf{0} & \mathbf{0} \end{bmatrix}; \quad \mathbf{C} = \begin{bmatrix} \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\\ \mathbf{0} & \mathbf{1} & \mathbf{0} & \mathbf{0} \end{bmatrix} \end{aligned} \tag{3}$$

With:

**2. Induction motor parts, features and mathematical model**

Induction motors are the most commonly used electrical machines, they are cheaper, rugged and easier to maintain compared to other alternatives. It has two main parts: stator and rotor, stator is a stationary part and rotor is the rotating part. Stator is made by stacking thin slotted highly permeable steel lamination inside a steel or cast iron frame, winding passes through slots of stator. When a three phase AC current passes through it, something very interesting happens. It produces a rotating magnetic field, the speed of rotation of a magnetic field is known as

**Features Adaptive Luenberger Observer Extended Kalman Filter**

Response time Very well Very well Tracking error Little Very little Torque ripples Very high Medium Robustness Robust Very robust Noise sensitivity Very sensitive Not sensitive

It is called an induction motor because electricity is inducted in rotor by magnetic induction rather than direct electric connection. To collapse such electric magnetic induction, to aid such electromagnetic induction, insulated iron core lamina are packed inside the rotor, such small slices of iron make sure that Eddy current losses are minimal. And this is another big advantage of three phase induc-

The induction motor has many state space mathematical models; each model is expressed by assuming a certain state vector. The modelling of AC machines is based mainly on the work of G. Kron, who gave birth to the concept of generalised machine as described in [4]. Park's model is a special case of this concept. It is often used for the synthesis of control laws and estimators. Described by a non-linear algebradifferential system, Park's model reflects the dynamic behaviour of the electrical and electromagnetic modes of the asynchronous machine. It admits several classes of state

The parts of a squirrel cage induction motor are shown in **Figure 1**.

**2.1 Induction motor parts and features**

*The comparison is based on the obtained results.*

*Dynamic Data Assimilation - Beating the Uncertainties*

*Comparison between ALO and EKF.*

**2.2 Induction motor mathematical model**

*Squirrel cage induction motor parts.*

synchronous speed.

**Technical comparison**

a

**Table 1.**

tion motors.

**Figure 1.**

**62**

$$\lambda = \frac{R\_s}{\sigma L\_t} + \frac{1-\sigma}{\sigma .T\_r}; K = \frac{1-\sigma}{\sigma .L\_m}; \sigma = 1 - \frac{L\_m^2}{L\_t .L\_r}; T\_r = \frac{L\_r}{R\_r}. \tag{4}$$

The rotor motion is expressed by:

$$J.\frac{d\Omega\_r}{dt} = T\_{em} - T\_L - f.\Omega\_r\tag{5}$$

Where *J* is the motor inertia,*Tem* is the electromagnetic torque,*TL* is the load torque, and *f* is the friction coefficient.

**Figure 2** shows the state space mathematical model of an induction motor.

#### **Figure 2.**

*Induction motor state space mathematical model.*

### **3. Standard Kalman filter**

In this chapter, the process to be observed is an induction motor. Its state is composed of stator currents and rotor fluxes in *α*-*β* reference frame, the motor model and its components are shown in **Figure 3**. The motor model is defined by a

**Figure 3.** *Induction motor model with input, state and output components.*

discrete time linear state model composed of two additional terms for taking into account discrete state noise *Wk* and discrete state measurement *Vk*.

$$\begin{cases} X\_{k+1} = A\_d \cdot X\_k + B\_d \cdot U\_k + W\_k \\ Y\_k = C\_d \cdot X\_k + V\_k \end{cases} \tag{6}$$

*<sup>Y</sup>* � *<sup>Y</sup>*^ � � to the predicted states *Xk*þ1∣*<sup>k</sup>* obtained in the first phase. This correction term is a weighted difference between the actual output vector *Y* and the predicted output vector *Y*^. Thus, the predicted state estimate and also its covariance matrix are corrected by a feedback correction system to obtain the estimate of the state vector *Xk*þ1∣*<sup>k</sup>* at the present moment *k* þ 1. **Figure 4** below shows the principle of

*<sup>d</sup>* � *Cd* � *Pk*þ1∣*<sup>k</sup>* � *<sup>C</sup><sup>t</sup>*

*Pk*þ1∣*k*þ<sup>1</sup> ¼ *Pk*þ1∣*<sup>k</sup>* � *Kk*þ<sup>1</sup> � *Cd* � *Pk*þ1∣*<sup>k</sup>* (13)

*Xk*þ1∣*k*þ<sup>1</sup> ¼ *Xk*þ1∣*<sup>k</sup>* þ *Kk*þ<sup>1</sup> � *Yk*þ<sup>1</sup> � *Cd* � *Xk*þ1∣*<sup>k</sup>*

Where *K* denotes the gain matrix of the Kalman filter, *P* is the estimation error covariance matrix, *Q* and *R* are, respectively, the covariance matrices of the state and the measurement noises. The gain matrix *K* is chosen so as to minimise the variance of the estimation error. This minimization will focus on the diagonal elements of the estimation matrix. Thus, the Kalman filter algorithm uses on one hand the knowledge of the process to predict the state vector, and on other hand the actual measurements to correct the predicted vector. The standard Kalman filter previously described allows estimation of the state of a linear system. If we want to estimate an additional parameter outside the state vector, as the rotational speed of an induction motor, one solution is to extend the estimated state vector to the speed of rotation. The model then becomes non-linear and in this case, the extended

The extended Kalman filter performs an estimation of the state of a non-linear process. It allows in particular to add, to the state vector, another variable that we wish to estimate. This filter is widely used for estimating the various quantities of the induction machine, such as: rotor speed, load torque, electrical and mechanical parameters. Given that the extended Kalman filter is only the application of the standard Kalman filter previously described in the case of a non-linear system, it is then necessary to perform a linearization of this system at each step around the operating point defined in the previous step. Let the non-linear model of the system

*Xek*þ<sup>1</sup> ¼ *f Xek* , *Uk*

� � <sup>þ</sup> *Vk*

*Xek* <sup>¼</sup> ½ � *Xk* <sup>Θ</sup>*<sup>k</sup> <sup>t</sup>*

Where *f* and *h* are non-linear functions, *Xek* designates the extended state vector, *Xk* and Θ*<sup>k</sup>* are considered, respectively, as the main state vector and the parameter vector (composed of parameters and unknown inputs to be estimated). These parameters vary very little with respect to other quantities, for that reason we put

*Yk* ¼ *h Xek*

Θ*<sup>k</sup>*þ<sup>1</sup> ¼ Θ*k*. The following discrete augmented state model is constructed:

� � <sup>þ</sup> *Wk*

(14)

*:* (15)

*<sup>d</sup>* <sup>þ</sup> *<sup>R</sup>* � ��<sup>1</sup> (11)

� � (12)

*Kk*þ<sup>1</sup> <sup>¼</sup> *Pk*þ1∣*<sup>k</sup>* � *<sup>C</sup><sup>t</sup>*

*Kalman Filtering Applied to Induction Motor State Estimation*

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

the standard Kalman filter.

Kalman filter is required.

Such as:

**65**

**4. The extended Kalman filter**

to be observed defined by the following equation of state:

(

The addition of noise is necessary, since the noise-free equations (deterministic model) define an ideal system. A more realistic model (stochastic model) is obtained by adding the noise vectors. Some assumptions are made about discrete noises: they are white, Gaussian, their average is zero and they are correlated neither with each other nor with the state variables. These properties derive the following equations:

$$E\{W\_k\} = 0; E\{V\_k\} = 0; E\{W \cdot W^t\} = Q; E\{V \cdot V^t\} = R \cdot \tag{7}$$

$$E\{\mathcal{W}\_k \cdot \mathcal{V}\_{k-\tau}^t\} = 0; E\{\mathcal{W}\_k \cdot \mathcal{X}\_{k-\tau}^t\} = 0; E\{\mathcal{V}\_k \cdot \mathcal{X}\_{k-\tau}^t\} = 0 \cdot \tag{8}$$

*E* represents the expectation value operator.

The implementation of the Kalman filter algorithm requires two phases, the first one is a prediction phase which consists in determining the prediction vector *Xk*þ1∣*<sup>k</sup>* from the process state equations and also the previous values of the estimated states *Xk*∣*<sup>k</sup>* at time *k*. In addition, the predicted state covariance matrix *P* is also obtained before the new measurements are made, for this purpose the mathematical model and also the covariance matrix *Q* of the system are used.

$$X\_{k+1|k} = A\_d \cdot X\_{k|k} + B\_d \cdot U\_k \tag{9}$$

$$P\_{k+1|k} = A\_d \cdot P\_{k|k} \cdot A\_d^t + Q \tag{10}$$

The second phase then consists of the correction. It consists in correcting the prediction vector by the measurement vector by adding a correction term *K* �

**Figure 4.** *Standard Kalman filter principle.*

*Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

*<sup>Y</sup>* � *<sup>Y</sup>*^ � � to the predicted states *Xk*þ1∣*<sup>k</sup>* obtained in the first phase. This correction term is a weighted difference between the actual output vector *Y* and the predicted output vector *Y*^. Thus, the predicted state estimate and also its covariance matrix are corrected by a feedback correction system to obtain the estimate of the state vector *Xk*þ1∣*<sup>k</sup>* at the present moment *k* þ 1. **Figure 4** below shows the principle of the standard Kalman filter.

$$K\_{k+1} = P\_{k+1|k} \cdot \mathbf{C}\_d^t \cdot \left[\mathbf{C}\_d \cdot P\_{k+1|k} \cdot \mathbf{C}\_d^t + R\right]^{-1} \tag{11}$$

$$X\_{k+1|k+1} = X\_{k+1|k} + K\_{k+1} \cdot \left[ Y\_{k+1} - C\_d \cdot X\_{k+1|k} \right] \tag{12}$$

$$P\_{k+1\mid k+1} = P\_{k+1\mid k} - K\_{k+1} \cdot C\_d \cdot P\_{k+1\mid k} \tag{13}$$

Where *K* denotes the gain matrix of the Kalman filter, *P* is the estimation error covariance matrix, *Q* and *R* are, respectively, the covariance matrices of the state and the measurement noises. The gain matrix *K* is chosen so as to minimise the variance of the estimation error. This minimization will focus on the diagonal elements of the estimation matrix. Thus, the Kalman filter algorithm uses on one hand the knowledge of the process to predict the state vector, and on other hand the actual measurements to correct the predicted vector. The standard Kalman filter previously described allows estimation of the state of a linear system. If we want to estimate an additional parameter outside the state vector, as the rotational speed of an induction motor, one solution is to extend the estimated state vector to the speed of rotation. The model then becomes non-linear and in this case, the extended Kalman filter is required.

#### **4. The extended Kalman filter**

The extended Kalman filter performs an estimation of the state of a non-linear process. It allows in particular to add, to the state vector, another variable that we wish to estimate. This filter is widely used for estimating the various quantities of the induction machine, such as: rotor speed, load torque, electrical and mechanical parameters. Given that the extended Kalman filter is only the application of the standard Kalman filter previously described in the case of a non-linear system, it is then necessary to perform a linearization of this system at each step around the operating point defined in the previous step. Let the non-linear model of the system to be observed defined by the following equation of state:

$$\begin{cases} X\_{\epsilon\_{k+1}} = f\left(X\_{\epsilon\_k}, U\_k\right) + \mathcal{W}\_k \\ Y\_k = h\left(X\_{\epsilon\_k}\right) + \mathcal{V}\_k \end{cases} \tag{14}$$

Such as:

$$X\_{\epsilon\_k} = \begin{bmatrix} X\_k \ \Theta\_k \end{bmatrix}^t. \tag{15}$$

Where *f* and *h* are non-linear functions, *Xek* designates the extended state vector, *Xk* and Θ*<sup>k</sup>* are considered, respectively, as the main state vector and the parameter vector (composed of parameters and unknown inputs to be estimated). These parameters vary very little with respect to other quantities, for that reason we put Θ*<sup>k</sup>*þ<sup>1</sup> ¼ Θ*k*. The following discrete augmented state model is constructed:

discrete time linear state model composed of two additional terms for taking into

*Xk*þ<sup>1</sup> ¼ *Ad* � *Xk* þ *Bd* � *Uk* þ *Wk*

The addition of noise is necessary, since the noise-free equations (deterministic

*E W*f g¼ *<sup>k</sup>* 0; *E V*f g¼ *<sup>k</sup>* 0; *E W* � *<sup>W</sup><sup>t</sup>* f g¼ *<sup>Q</sup>*; *E V* � *<sup>V</sup><sup>t</sup>* f g¼ *<sup>R</sup>*� (7)

*k*�*τ*

*Xk*þ1∣*<sup>k</sup>* ¼ *Ad* � *Xk*∣*<sup>k</sup>* þ *Bd* � *Uk* (9)

<sup>¼</sup> <sup>0</sup>� (8)

*<sup>d</sup>* þ *Q* (10)

*k*�*τ* <sup>¼</sup> 0; *E Vk* � *<sup>X</sup><sup>t</sup>*

The implementation of the Kalman filter algorithm requires two phases, the first one is a prediction phase which consists in determining the prediction vector *Xk*þ1∣*<sup>k</sup>* from the process state equations and also the previous values of the estimated states *Xk*∣*<sup>k</sup>* at time *k*. In addition, the predicted state covariance matrix *P* is also obtained before the new measurements are made, for this purpose the mathematical model

*Pk*þ1∣*<sup>k</sup>* <sup>¼</sup> *Ad* � *Pk*∣*<sup>k</sup>* � *At*

prediction vector by the measurement vector by adding a correction term *K* �

The second phase then consists of the correction. It consists in correcting the

(6)

account discrete state noise *Wk* and discrete state measurement *Vk*.

*Induction motor model with input, state and output components.*

*Dynamic Data Assimilation - Beating the Uncertainties*

following equations:

**Figure 4.**

**64**

*Standard Kalman filter principle.*

**Figure 3.**

*E Wk* � *<sup>V</sup><sup>t</sup>*

*k*�*τ* <sup>¼</sup> 0; *E Wk* � *<sup>X</sup><sup>t</sup>*

*E* represents the expectation value operator.

and also the covariance matrix *Q* of the system are used.

*Yk* ¼ *Cd* � *Xk* þ *Vk*

model) define an ideal system. A more realistic model (stochastic model) is obtained by adding the noise vectors. Some assumptions are made about discrete noises: they are white, Gaussian, their average is zero and they are correlated neither with each other nor with the state variables. These properties derive the

$$
\begin{bmatrix} X\_{k+1} \\ \Theta\_{k+1} \end{bmatrix} = \begin{bmatrix} A\_d & \mathbf{0} \\ \mathbf{0} & I \end{bmatrix} \begin{bmatrix} X\_k \\ \Theta\_k \end{bmatrix} + \begin{bmatrix} B\_d \\ \mathbf{0} \end{bmatrix} U\_k + W\_k \tag{16}
$$

$$Y\_k = \begin{bmatrix} \mathbf{C}\_d & \mathbf{0} \end{bmatrix} \begin{bmatrix} X\_k \\ \Theta\_k \end{bmatrix} + V\_k \tag{17}$$

*Xk*∣*<sup>k</sup>* ¼ *Xk*þ1∣*k*þ<sup>1</sup>

Θ*k*∣*<sup>k</sup>* ¼ Θ*k*þ1∣*k*þ<sup>1</sup>

(26)

(27)

(29)

(30)

*<sup>U</sup>* <sup>¼</sup> ½ � *us<sup>α</sup> us<sup>β</sup> <sup>t</sup>* (28)

*Pk*∣*<sup>k</sup>* ¼ *Pk*þ1∣*k*þ<sup>1</sup>

**5. Application to the estimation of induction machine speed and flux**

The continuous model of the induction machine extended to the electrical

� �*<sup>t</sup> <sup>Y</sup>* <sup>¼</sup> *is<sup>α</sup> <sup>i</sup>* ½ � *<sup>s</sup><sup>β</sup> <sup>t</sup>*

*μ* � *ω<sup>r</sup>* 0

�*ω<sup>r</sup>* 0

0

*B* ¼

1 *σ* � *Ls*

0

0

The previous model of the induction machine must be discretized for the imple-

� � <sup>¼</sup> *Ad* � *Xek* <sup>þ</sup> *Bd* � *Uk*

*<sup>A</sup>*�*Ts* <sup>¼</sup> *<sup>I</sup>* <sup>þ</sup> *<sup>A</sup>* � *Ts*; *Bd* <sup>¼</sup> *<sup>B</sup>* � *Ts*;*Cd* <sup>¼</sup> *<sup>C</sup>*� (31)

mentation of the extended Kalman filter. If quasi-constant control voltages are assumed over a sampling period *Ts* as in [5], the discrete augmented state model can

� � <sup>¼</sup> *Cd* � *Xek*

The matrices of this model are obtained by a limited development in Taylor

*μ Tr*

1 *Tr*

*<sup>X</sup>*\_ *<sup>e</sup>*ðÞ¼ *<sup>t</sup> f X*ð Þ¼ *<sup>e</sup>*ð Þ*<sup>t</sup>* , *U t*ð Þ *<sup>A</sup>* � *Xe*ðÞþ*<sup>t</sup> <sup>B</sup>* � *U t*ð Þ

rotational speed is represented by a non-linear system of state equations:

*Y t*ðÞ¼ *h X*ð Þ¼ *<sup>e</sup>*ð Þ*t C* � *Xe*ð Þ*t*

**5.1 Induction machine extended model**

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

*Kalman Filtering Applied to Induction Motor State Estimation*

8 < :

*Xe* <sup>¼</sup> ½ � *<sup>X</sup>* <sup>Θ</sup> *<sup>t</sup>* <sup>¼</sup> *is<sup>α</sup> is<sup>β</sup> <sup>ϕ</sup>r<sup>α</sup> <sup>ϕ</sup>r<sup>β</sup> <sup>ω</sup><sup>r</sup>*

�*<sup>γ</sup>* <sup>0</sup> *<sup>μ</sup>*

0 �*γ* �*μ* � *ω<sup>r</sup>*

0 1 � <sup>1</sup>

*Tr*

*Tr*

*ωr*

00 0 0 0

*Xek*þ<sup>1</sup> ¼ *f Xek* , *Uk*

*Yk* ¼ *h Xek*

In which:

With:

*A* ¼

be approximated by:

series of order one:

This leads to:

**67**

*Lm Tr*

<sup>0</sup> *Lm Tr*

**5.2 Discretization of the continuous model**

8 < :

*Ad* ≈*e*

*Ad*, *Bd* and *Cd* are, respectively, the state, the input and the discrete output matrices. *I* is the identity matrix.

The implementation of the extended Kalman filter algorithm to the discrete nonlinear system requires the execution of the following steps:


$$X\_{k+1|k} = A\_d \cdot X\_{k|k} + B\_d \cdot U\_k \tag{18}$$

$$
\Theta\_{k+1|k} = \Theta\_{k|k} \tag{19}
$$

• Prediction of error covariance matrix

$$P\_{k+1|k} = F\_k \cdot P\_{k|k} \cdot F\_k^t + Q \tag{20}$$

*Fk* is the gradient matrix defined as follows:

$$F\_k = \frac{\partial f\left(X\_{\varepsilon\_k}, U\_k\right)}{\partial X\_{\varepsilon\_k}}\bigg|\_{X\_{\varepsilon\_{k\bar{k}}}} = \begin{bmatrix} A\_d & \frac{\partial}{\partial \Theta\_k} \left(A\_d \cdot X\_{k|k} + B\_d \cdot U\_k\right)\bigg|\_{\Theta\_{\bar{k}\bar{k}}}\\ 0 & I \end{bmatrix} \tag{21}$$

• Calculation of Kalman gain

$$K\_{k+1} = P\_{k+1|k} \cdot H\_k^t + \left[ H\_k \cdot P\_{k+1|k} \cdot H\_k^t + R \right]^{-1} \tag{22}$$

*Hk* is the gradient matrix defined as follows:

$$H\_k = \frac{\partial h\left(\mathbf{X}\_{\varepsilon\_k}\right)}{\partial \mathbf{X}\_{\varepsilon\_k}}\Big|\_{\mathbf{X}\_{\varepsilon\_{k|k}}} = \begin{bmatrix} \mathbf{C}\_d & \frac{\partial}{\partial \Theta\_k} \left(\mathbf{C}\_d \cdot \mathbf{X}\_{k|k}\right)\Big|\_{\Theta\_{k|k}}\\ \mathbf{0} & I \end{bmatrix} \tag{23}$$

• Estimation of the states and the parameters

$$
\begin{bmatrix} X\_{k+1|k+1} \\ \Theta\_{k+1|k+1} \end{bmatrix} = \begin{bmatrix} X\_{k+1|k} \\ \Theta\_{k+1|k} \end{bmatrix} + K\_{k+1} \cdot \begin{bmatrix} Y\_{k+1} - C\_d \cdot X\_{k+1|k} \end{bmatrix} \tag{24}
$$

• Estimate of the error covariance matrix

$$P\_{k+1|k+1} = P\_{k+1|k} - K\_{k+1} \cdot K\_k \cdot P\_{k+1|k} \tag{25}$$

• Update matrices at instant *k* ¼ *k* þ 1

*Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

$$X\_{k|k} = X\_{k+1|k+1}$$

$$
\Theta\_{k|k} = \Theta\_{k+1|k+1} \tag{26}$$

$$P\_{k|k} = P\_{k+1|k+1}$$

### **5. Application to the estimation of induction machine speed and flux**

#### **5.1 Induction machine extended model**

The continuous model of the induction machine extended to the electrical rotational speed is represented by a non-linear system of state equations:

$$\begin{cases} \dot{X}\_{\epsilon}(t) = f(X\_{\epsilon}(t), U(t)) = A \cdot X\_{\epsilon}(t) + B \cdot U(t) \\\\ Y(t) = h(X\_{\epsilon}(t)) = \mathbf{C} \cdot X\_{\epsilon}(t) \end{cases} \tag{27}$$

In which:

*Xk*þ<sup>1</sup> Θ*k*þ<sup>1</sup> � �

*Dynamic Data Assimilation - Beating the Uncertainties*

matrices. *I* is the identity matrix.

matrices *P*0∣0, *Q* and *R*

*Fk* <sup>¼</sup> *<sup>∂</sup>f Xek* , *Uk* � � *∂Xek*

• Calculation of Kalman gain

<sup>¼</sup> *Ad* <sup>0</sup> 0 *I* � � *Xk*

linear system requires the execution of the following steps:

• Prediction of the states and the parameters

• Prediction of error covariance matrix

*Fk* is the gradient matrix defined as follows:

� � � � *Xek*∣*<sup>k</sup>*

*Kk*þ<sup>1</sup> <sup>¼</sup> *Pk*þ1∣*<sup>k</sup>* � *<sup>H</sup><sup>t</sup>*

� � *∂Xek*

� � � � *Xe k*∣*k*

<sup>¼</sup> *Xk*þ1∣*<sup>k</sup>* Θ*<sup>k</sup>*þ1∣*<sup>k</sup>* � �

*Hk* is the gradient matrix defined as follows:

*Hk* <sup>¼</sup> *<sup>∂</sup>h Xek*

• Estimation of the states and the parameters

*Xk*þ1∣*k*þ<sup>1</sup> Θ*<sup>k</sup>*þ1∣*k*þ<sup>1</sup> � �

• Estimate of the error covariance matrix

• Update matrices at instant *k* ¼ *k* þ 1

**66**

<sup>¼</sup> *Ad*

2 4

*Yk* ¼ ½ � *Cd* 0

Θ*<sup>k</sup>* � �

*Ad*, *Bd* and *Cd* are, respectively, the state, the input and the discrete output

• Initialization of the states *X*0∣0, the parameters Θ0∣<sup>0</sup> and the covariance

*Pk*þ1∣*<sup>k</sup>* <sup>¼</sup> *Fk* � *Pk*∣*<sup>k</sup>* � *<sup>F</sup><sup>t</sup>*

*∂*

<sup>¼</sup> *Cd*

2 4

0 *I*

*<sup>k</sup>* <sup>þ</sup> *Hk* � *Pk*þ1∣*<sup>k</sup>* � *<sup>H</sup><sup>t</sup>*

*∂*

0 *I*

*<sup>∂</sup>*Θ*<sup>k</sup> Cd* � *Xk*∣*<sup>k</sup>* � ��

þ *Kk*þ<sup>1</sup> � *Yk*þ<sup>1</sup> � *Cd* � *Xk*þ1∣*<sup>k</sup>*

*Pk*þ1∣*k*þ<sup>1</sup> ¼ *Pk*þ1∣*<sup>k</sup>* � *Kk*þ<sup>1</sup> � *Kk* � *Pk*þ1∣*<sup>k</sup>* (25)

*<sup>∂</sup>*Θ*<sup>k</sup> Ad* � *Xk*∣*<sup>k</sup>* þ *Bd* � *Uk* � ��

The implementation of the extended Kalman filter algorithm to the discrete non-

þ

*Xk* Θ*<sup>k</sup>* � �

*Bd* 0 � �

*Xk*þ1∣*<sup>k</sup>* ¼ *Ad* � *Xk*∣*<sup>k</sup>* þ *Bd* � *Uk* (18)

Θ*<sup>k</sup>*þ1∣*<sup>k</sup>* ¼ Θ*<sup>k</sup>*∣*<sup>k</sup>* (19)

*<sup>k</sup>* þ *Q* (20)

� � Θ*k*∣*<sup>k</sup>*

*<sup>k</sup>* <sup>þ</sup> *<sup>R</sup>* � ��<sup>1</sup> (22)

� � Θ*k*∣*<sup>k</sup>* 3

� � (24)

3

5 (21)

5 (23)

*Uk* þ *Wk* (16)

þ *Vk* (17)

*Xe* <sup>¼</sup> ½ � *<sup>X</sup>* <sup>Θ</sup> *<sup>t</sup>* <sup>¼</sup> *is<sup>α</sup> is<sup>β</sup> <sup>ϕ</sup>r<sup>α</sup> <sup>ϕ</sup>r<sup>β</sup> <sup>ω</sup><sup>r</sup>* � �*<sup>t</sup> <sup>Y</sup>* <sup>¼</sup> *is<sup>α</sup> <sup>i</sup>* ½ � *<sup>s</sup><sup>β</sup> <sup>t</sup> <sup>U</sup>* <sup>¼</sup> ½ � *us<sup>α</sup> us<sup>β</sup> <sup>t</sup>* (28)

With:

$$A = \begin{bmatrix} -\gamma & 0 & \frac{\mu}{T\_r} & \mu \cdot \boldsymbol{\alpha}\_r & 0\\ 0 & -\gamma & -\mu \cdot \boldsymbol{\alpha}\_r & \frac{\mu}{T\_r} & 0\\ \frac{L\_m}{T\_r} & 0 & 1 - \frac{1}{T\_r} & -\boldsymbol{\alpha}\_r & 0\\ 0 & \frac{L\_m}{T\_r} & \boldsymbol{\alpha}\_r & \frac{1}{T\_r} & 0\\ 0 & \frac{1}{0} & 0 & 0 & 0 \end{bmatrix} \\ B = \begin{bmatrix} 1 & 0\\ 0 & \frac{1}{\sigma \cdot L\_t} \\ 0 & 0\\ 0 & 0\\ 0 & 0 \end{bmatrix} \tag{29}$$

#### **5.2 Discretization of the continuous model**

The previous model of the induction machine must be discretized for the implementation of the extended Kalman filter. If quasi-constant control voltages are assumed over a sampling period *Ts* as in [5], the discrete augmented state model can be approximated by:

$$\begin{cases} X\_{\varepsilon\_{k+1}} = f\left(X\_{\varepsilon\_k}, U\_k\right) = A\_d \cdot X\_{\varepsilon\_k} + B\_d \cdot U\_k \\ Y\_k = h\left(X\_{\varepsilon\_k}\right) = C\_d \cdot X\_{\varepsilon\_k} \end{cases} \tag{30}$$

The matrices of this model are obtained by a limited development in Taylor series of order one:

$$A\_d \approx e^{A \cdot T\_s} = I + A \cdot T\_s; B\_d = B \cdot T\_s; C\_d = C \cdot \tag{31}$$

This leads to:

$$A\_{d} = \begin{bmatrix} 1 - T\_{s} \cdot \boldsymbol{\gamma} & \mathbf{0} & T\_{s} \cdot \frac{\boldsymbol{\mu}}{T\_{r}} & T\_{s} \cdot \boldsymbol{\mu} \cdot \boldsymbol{\alpha}\_{r} & \mathbf{0} \\\\ \mathbf{0} & \mathbf{1} - T\_{s} \cdot \boldsymbol{\gamma} & -T\_{s} \cdot \boldsymbol{\mu} \cdot \boldsymbol{\alpha}\_{r} & T\_{s} \cdot \frac{\boldsymbol{\mu}}{T\_{r}} & \mathbf{0} \\\\ T\_{s} \cdot \frac{L\_{m}}{T\_{r}} & \mathbf{0} & \mathbf{1} - \frac{T\_{s}}{T\_{r}} & -T\_{s} \cdot \boldsymbol{\alpha}\_{r} & \mathbf{0} \\\\ \mathbf{0} & T\_{s} \cdot \frac{L\_{m}}{T\_{r}} & T\_{s} \cdot \boldsymbol{\alpha}\_{r} & \mathbf{1} - \frac{T\_{s}}{T\_{r}} & \mathbf{0} \\\\ \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{1} \end{bmatrix}; B\_{d} = \begin{bmatrix} T\_{s} \cdot \frac{\mathbf{1}}{\sigma \cdot L\_{s}} & \mathbf{0} \\\\ \mathbf{0} & T\_{s} \cdot \frac{\mathbf{1}}{\sigma \cdot L\_{s}} \\\\ \mathbf{0} & \mathbf{0} \\\\ \mathbf{0} & \mathbf{0} \end{bmatrix} \tag{22}$$

degrees of freedom of the Kalman filter. The following steps explain the recursive or

• Given the system model and the measurements, the first filter pass through the data of EKF is carried out using guess values of *Xe*<sup>0</sup>∣<sup>0</sup> , *P*0∣0, Θ, *R* and *Q*.

• The RTS smoother is used backwards to get smoothed state and covariance

• If *Xe*<sup>0</sup>∣<sup>0</sup> is unknown, then the smoothed state values can be used as the initial

• The estimated smoothed *P*0∣<sup>0</sup> is scaled up by the number of time points *N* and further all elements except the diagonal terms corresponding to the parameters are set to zero. Due to the effect of statistical percolation effect, the estimated *R* and *Q* will in general be full. But, only the diagonal terms in *Q* need to be used in the basic state equations and not in the parameter states. Only the diagonal

; *P*<sup>0</sup>∣<sup>0</sup> ¼

• Then, the filter is run again using the above updates of *Xe*<sup>0</sup>∣<sup>0</sup> , *P*<sup>0</sup>∣0, Θ, *Q* and *R*

In this section, an extended Kalman filter is implemented in an induction motor vector control scheme. The EKF is designed to observe the motor states: the *d*-*q* stator phase current components *ids*, *iqs*, the *d*-*q* rotor flux components *ϕdr*, *ϕqr* and the mechanical speed *ωr*. The control law and the observer are implemented in MatLab/Simulink software. A load torque of +10 *N* � *m* is applied at *t*1=0*:*6*s* and removed at *t*2=1*:*6*s* in order to show the system robustness against the external perturbation. **Table A1** lists the parameters of the machine used in simulation.

**Figure 5** illustrates the state space mathematical model of the observer.

; *<sup>R</sup>* <sup>¼</sup> *<sup>r</sup>*<sup>11</sup> <sup>0</sup>

*em* is generated by the speed controller, while the stator

*qs* are generated by the stator current controllers.

<sup>0</sup> *<sup>r</sup>*<sup>22</sup> � � (37)

; (36)

terms in *R* need to be used in the measurement equations. These are summarised as below. The quadrant on the upper left denotes the state, the

bottom right the parameter states, and the others the cross terms.

*q*<sup>11</sup> 0000 0 *q*<sup>22</sup> 000 0 0 *q*<sup>33</sup> 0 0 000 *q*<sup>44</sup> 0 0000 *q*<sup>55</sup>

*Xe*<sup>0</sup>∣<sup>0</sup> <sup>¼</sup> ½ � <sup>00000</sup> *<sup>t</sup>*

*Q* ¼

*5.3.3 Simulation results*

The torque reference *T*<sup>∗</sup>

voltage references *V* <sup>∗</sup>

**69**

till statistical equilibrium is reached.

*ds* and *V* <sup>∗</sup>

iterative RRR algorithm for the EKF [6]:

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

*Kalman Filtering Applied to Induction Motor State Estimation*

estimates.

state values.

#### **5.3 Implementation of the extended Kalman filter to the induction machine discrete system**

The application of the extended Kalman filter to the discrete system of the induction machine, taking into account the presence of state noise *Wk* and measurement noise *Vk*. This leads to the following expressions:

$$\begin{cases} X\_{\varepsilon\_{k+1}} = f\left(X\_{\varepsilon\_k}, U\_k\right) + W\_k = A\_d \cdot X\_{\varepsilon\_k} + B\_d \cdot U\_k + W\_k\\ Y\_k = h\left(X\_{\varepsilon\_k}\right) + V\_k = C\_d \cdot X\_{\varepsilon\_k} + V\_k \end{cases} \tag{33}$$

With:

$$X\_{\varepsilon\_{k+1}} = \begin{bmatrix} X\_k & \Theta\_k \end{bmatrix}^t; Y\_k = \begin{bmatrix} i\_{sa\_k} & i\_{s\beta\_k} \end{bmatrix}^t; U\_k = \begin{bmatrix} u\_{sa\_k} & u\_{s\beta\_k} \end{bmatrix}^t; W\_k = \begin{bmatrix} W\_{x\_k} & W\_{\Theta\_k} \end{bmatrix}^t \tag{34}$$

Similarly, the linearization matrix *Hk* is written as follows:

$$H\_k = \begin{bmatrix} \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix} \tag{35}$$

In the determination of the initial covariance matrix *P*<sup>0</sup>∣0, it is generally limited to the choice of elements on the diagonal. These elements are chosen in such a way that they correspond to the uncertainty about estimates of initial state variables.

#### *5.3.1 Choice of covariance matrices Q and R*

It is via these matrices that the various measured, predicted and estimated states will pass. Their goals are to minimise the errors associated with approximate modelling and the presence of noise on the measurements. This is the most difficult point of applying the Kalman filter to observation. The matrix *Q* linked to the noises tainting the state, allows adjusting the estimated quality of the modelling and discretization. A strong value of *Q* gives a high value of the gain K stimulating the importance of the modelling and the dynamics of the filter. A high value of *Q* can, however, create an instability of the observation. The matrix *R* regulates the weight of the measurements. A high value indicates a great uncertainty of the measurement. On the other hand, a low value makes it possible to give a significant weight to the measurement.

#### *5.3.2 The reference recursive recipe (RRR) method for the EKF*

We can consider the choice of the Kalman filter calibration matrices *Q* and *R*, as well as the initial values of the estimated state vector *Xe*<sup>0</sup>∣<sup>0</sup> and the matrix *P*<sup>0</sup>∣0, as

degrees of freedom of the Kalman filter. The following steps explain the recursive or iterative RRR algorithm for the EKF [6]:


$$X\_{co|0} = \begin{bmatrix} \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix}; P\_{0|0} = \begin{bmatrix} \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{1} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{1} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{1} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{1} \end{bmatrix};\tag{36}$$

$$Q = \begin{bmatrix} q\_{11} & \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & q\_{22} & \mathbf{0} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & q\_{33} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{0} & q\_{44} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{0} & \mathbf{0} & q\_{55} \end{bmatrix}; R = \begin{bmatrix} r\_{11} & \mathbf{0} \\ \mathbf{0} & r\_{22} \end{bmatrix}\tag{37}$$

• Then, the filter is run again using the above updates of *Xe*<sup>0</sup>∣<sup>0</sup> , *P*<sup>0</sup>∣0, Θ, *Q* and *R* till statistical equilibrium is reached.

**Figure 5** illustrates the state space mathematical model of the observer.

### *5.3.3 Simulation results*

In this section, an extended Kalman filter is implemented in an induction motor vector control scheme. The EKF is designed to observe the motor states: the *d*-*q* stator phase current components *ids*, *iqs*, the *d*-*q* rotor flux components *ϕdr*, *ϕqr* and the mechanical speed *ωr*. The control law and the observer are implemented in MatLab/Simulink software. A load torque of +10 *N* � *m* is applied at *t*1=0*:*6*s* and removed at *t*2=1*:*6*s* in order to show the system robustness against the external perturbation. **Table A1** lists the parameters of the machine used in simulation.

The torque reference *T*<sup>∗</sup> *em* is generated by the speed controller, while the stator voltage references *V* <sup>∗</sup> *ds* and *V* <sup>∗</sup> *qs* are generated by the stator current controllers.

*Ad* ¼

*Ts* � *Lm Tr*

**discrete system**

With:

**68**

*Xek*þ<sup>1</sup> <sup>¼</sup> ½ � *Xk* <sup>Θ</sup>*<sup>k</sup> <sup>t</sup>*

0 *Ts* �

(

<sup>1</sup> � *Ts* � *<sup>γ</sup>* <sup>0</sup> *Ts* � *<sup>μ</sup>*

*Dynamic Data Assimilation - Beating the Uncertainties*

*Lm Tr*

*Tr*

*Tr*

*Ts* � *<sup>ω</sup><sup>r</sup>* <sup>1</sup> � *Ts*

**5.3 Implementation of the extended Kalman filter to the induction machine**

The application of the extended Kalman filter to the discrete system of the induction machine, taking into account the presence of state noise *Wk* and

> *Hk* <sup>¼</sup> <sup>10000</sup> 01000 � �

In the determination of the initial covariance matrix *P*<sup>0</sup>∣0, it is generally limited to the choice of elements on the diagonal. These elements are chosen in such a way that they correspond to the uncertainty about estimates of initial state variables.

It is via these matrices that the various measured, predicted and estimated states will pass. Their goals are to minimise the errors associated with approximate modelling and the presence of noise on the measurements. This is the most difficult point of applying the Kalman filter to observation. The matrix *Q* linked to the noises tainting the state, allows adjusting the estimated quality of the modelling and discretization. A strong value of *Q* gives a high value of the gain K stimulating the importance of the modelling and the dynamics of the filter. A high value of *Q* can, however, create an instability of the observation. The matrix *R* regulates the weight of the measurements. A high value indicates a great uncertainty of the measurement. On the other hand, a low value makes it possible to give a significant weight to the measurement.

We can consider the choice of the Kalman filter calibration matrices *Q* and *R*, as well as the initial values of the estimated state vector *Xe*<sup>0</sup>∣<sup>0</sup> and the matrix *P*<sup>0</sup>∣0, as

� � <sup>þ</sup> *Vk* <sup>¼</sup> *Cd* � *Xek* <sup>þ</sup> *Vk*

0 1 � *Ts* � *<sup>γ</sup>* �*Ts* � *<sup>μ</sup>* � *<sup>ω</sup><sup>r</sup> Ts* � *<sup>μ</sup>*

0 1 � *Ts*

0 0 0 01

measurement noise *Vk*. This leads to the following expressions:

*Xek*þ<sup>1</sup> ¼ *f Xek* , *Uk*

; *Yk* ¼ *is<sup>α</sup><sup>k</sup> is<sup>β</sup><sup>k</sup>*

*5.3.2 The reference recursive recipe (RRR) method for the EKF*

� �*<sup>t</sup>*

Similarly, the linearization matrix *Hk* is written as follows:

*Yk* ¼ *h Xek*

*5.3.1 Choice of covariance matrices Q and R*

*Ts* � *μ* � *ω<sup>r</sup>* 0

*Tr*

�*Ts* � *ω<sup>r</sup>* 0

*Tr*

� � <sup>þ</sup> *Wk* <sup>¼</sup> *Ad* � *Xek* <sup>þ</sup> *Bd* � *Uk* <sup>þ</sup> *Wk*

; *Uk* ¼ *us<sup>α</sup><sup>k</sup> us<sup>β</sup><sup>k</sup>*

� �*<sup>t</sup>*

0

; *Bd* ¼

*Ts* � <sup>1</sup> *σ* � *Ls*

0

*σ* � *Ls*

(32)

(33)

(34)

(35)

; *Wk* <sup>¼</sup> *Wxk <sup>W</sup>*Θ*<sup>k</sup>* ½ �*<sup>t</sup>*

<sup>0</sup> *Ts* � <sup>1</sup>

0 0 0 0 0 0

0

**Figure 5.** *The observer state space mathematical model.*

**Figure 6.** *Speed response.*

The observed speed Ω^*<sup>r</sup>* and rotor flux *ϕ*^*<sup>r</sup>* are served for speed and flux regulators [7, 8]. The coordinate transformation generates the *abc* components needed by the PWM modulator.

**Figure 8.**

**Figure 7.** *Rotor flux response.*

*Kalman Filtering Applied to Induction Motor State Estimation*

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

**Figure 9.**

**71**

*Stator phase currents response.*

*Electromagnetic torque response.*

The slip frequency is delivered by an integrator, this slip is the most important parameter for the indirect vector schemes. it depends on the observed rotor flux generated by the EKF observer.

**Figures 6**–**19** illustrate a performance comparison between the two observers: EKF in the left and ALO in the right. **Figure 7** shows the speed response according to the step speed reference of +100 *rad=s*. Both observers show good dynamic at starting up and the speed regulation loop rejects the applied load disturbance quickly. The two observers kept the same fast speed response since the same PI speed controller is used for both speed loops, there is no difference in the transient response. The system response time is very quick and does not exceed 0*:*2*s*, the sufficient time to achieve the permanent regime.

**Figure 8** shows the rotor flux response, it achieves the reference which is 1 *Wb* very quickly. Even the step speed reference starts at 0*:*2 *s*, the rotor flux response is independent to the speed application. It must reach the reference very rapidly at the starting up. Then, **Figure 9** shows the torque responses with the load application. At *Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

**Figure 7.** *Rotor flux response.*

**Figure 8.** *Electromagnetic torque response.*

**Figure 9.** *Stator phase currents response.*

The observed speed Ω^*<sup>r</sup>* and rotor flux *ϕ*^*<sup>r</sup>* are served for speed and flux regulators [7, 8]. The coordinate transformation generates the *abc* components needed by the

The slip frequency is delivered by an integrator, this slip is the most important parameter for the indirect vector schemes. it depends on the observed rotor flux

**Figures 6**–**19** illustrate a performance comparison between the two observers: EKF in the left and ALO in the right. **Figure 7** shows the speed response according to the step speed reference of +100 *rad=s*. Both observers show good dynamic at starting up and the speed regulation loop rejects the applied load disturbance quickly. The two observers kept the same fast speed response since the same PI speed controller is used for both speed loops, there is no difference in the transient response. The system response time is very quick and does not exceed 0*:*2*s*, the

**Figure 8** shows the rotor flux response, it achieves the reference which is 1 *Wb* very quickly. Even the step speed reference starts at 0*:*2 *s*, the rotor flux response is independent to the speed application. It must reach the reference very rapidly at the starting up. Then, **Figure 9** shows the torque responses with the load application. At

PWM modulator.

**Figure 6.** *Speed response.*

**70**

**Figure 5.**

*The observer state space mathematical model.*

*Dynamic Data Assimilation - Beating the Uncertainties*

generated by the EKF observer.

sufficient time to achieve the permanent regime.

**Figure 10.** *ids current response.*

**Figure 13.** *ϕqr flux response.*

*Kalman Filtering Applied to Induction Motor State Estimation*

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

**Figure 14.**

**Figure 15.** *Rotor flux error.*

**73**

*Mechanical speed error.*

**Figure 11.** *iqs current response.*

**Figure 12.** *ϕdr flux response.*

*Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

**Figure 13.** *ϕqr flux response.*

**Figure 10.** *ids current response.*

*Dynamic Data Assimilation - Beating the Uncertainties*

**Figure 11.** *iqs current response.*

**Figure 12.** *ϕdr flux response.*

**72**

**Figure 14.** *Mechanical speed error.*

**Figure 15.** *Rotor flux error.*

superiority of the EKF, no fluctuations seen around the reference. EKF uses a series of measurements containing noise and other inaccuracies contrary to ALO that employs only free noise measurements. **Figures 13** and **14** illustrate, respectively, the observed rotor flux components *ϕdr* and *ϕqr*. No fluctuations seen around the reference for both observers, only a small static error of observation. Finally, **Figures 15**–**19** illustrate the static error of all the observed components: the machine

All the quantities observed by the EKF are filtered and precise, the EKF is a very good observer for the systems that present any kind of noise. It will exploit the noise in order to estimate the quantity. The process of observation of the EKF is given in two stages, prediction and filtering. The prediction stage is aimed to obtain the next predicted states and predicted state-error covariance, while in the filtering stage, the next estimated states is obtained as the sum of the next predicted states and a

All the closed-loop observers are classified as deterministic observers, they can be easily corrupted by measuring noise and require parameter adaptation algorithms. The Kalman filter observer has high convergence rate and good disturbance rejection, which can take into account the model uncertainties, random disturbances, computational inaccuracies and measurement errors. These properties are the advantages of extended Kalman filters over other estimation methods. For these reasons, it had wide application in sensorless control in spite of its computational complexity. For non-linear problems Kalman filtering can

overcome this difficulty by using a linearized approximation, where, the stochastic continuous time system must be expressed in the discrete form in order to fit with the structure of the EKF. The process of observation of the EKF is given in two stages, prediction and filtering. The prediction stage is aimed to obtain the next predicted states and predicted state-error covariance, while in the filtering stage, the next estimated states is obtained as the sum of the next predicted states and a

However, the high degree of complexity of EKF structure and the high system

orders cause a higher computational requirement (the sampling time). Thus,

state parameters, the rotor flux and the mechanical speed.

*Kalman Filtering Applied to Induction Motor State Estimation*

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

correction term.

**Figure 19.** *ϕqr component error.*

**6. Conclusions**

correction term.

**75**

**Figure 18.** *ϕdr component error.*

the beginning, the speed controller operates the system at the physical limit since the step reference is the hardest for most control processes.

Until now, no apparent difference in the performance of the two observers, **Figures 11**–**19** will reveal this difference. **Figures 11** and **12** illustrate, respectively, the observed stator current components *ids* and *iqs*. We can notice clearly the

*Kalman Filtering Applied to Induction Motor State Estimation DOI: http://dx.doi.org/10.5772/intechopen.92871*

**Figure 19.** *ϕqr component error.*

superiority of the EKF, no fluctuations seen around the reference. EKF uses a series of measurements containing noise and other inaccuracies contrary to ALO that employs only free noise measurements. **Figures 13** and **14** illustrate, respectively, the observed rotor flux components *ϕdr* and *ϕqr*. No fluctuations seen around the reference for both observers, only a small static error of observation. Finally, **Figures 15**–**19** illustrate the static error of all the observed components: the machine state parameters, the rotor flux and the mechanical speed.

All the quantities observed by the EKF are filtered and precise, the EKF is a very good observer for the systems that present any kind of noise. It will exploit the noise in order to estimate the quantity. The process of observation of the EKF is given in two stages, prediction and filtering. The prediction stage is aimed to obtain the next predicted states and predicted state-error covariance, while in the filtering stage, the next estimated states is obtained as the sum of the next predicted states and a correction term.

#### **6. Conclusions**

All the closed-loop observers are classified as deterministic observers, they can be easily corrupted by measuring noise and require parameter adaptation algorithms. The Kalman filter observer has high convergence rate and good disturbance rejection, which can take into account the model uncertainties, random disturbances, computational inaccuracies and measurement errors. These properties are the advantages of extended Kalman filters over other estimation methods. For these reasons, it had wide application in sensorless control in spite of its computational complexity. For non-linear problems Kalman filtering can overcome this difficulty by using a linearized approximation, where, the stochastic continuous time system must be expressed in the discrete form in order to fit with the structure of the EKF. The process of observation of the EKF is given in two stages, prediction and filtering. The prediction stage is aimed to obtain the next predicted states and predicted state-error covariance, while in the filtering stage, the next estimated states is obtained as the sum of the next predicted states and a correction term.

However, the high degree of complexity of EKF structure and the high system orders cause a higher computational requirement (the sampling time). Thus,

the beginning, the speed controller operates the system at the physical limit since

Until now, no apparent difference in the performance of the two observers, **Figures 11**–**19** will reveal this difference. **Figures 11** and **12** illustrate, respectively, the observed stator current components *ids* and *iqs*. We can notice clearly the

the step reference is the hardest for most control processes.

**Figure 16.** *ids component error.*

*Dynamic Data Assimilation - Beating the Uncertainties*

**Figure 17.** *iqs component error.*

**Figure 18.** *ϕdr component error.*

**74**

additional challenges and problems are introduced, such as the reduction of dynamic performance and the increase of harmonics. Nevertheless, the development of new processors technology (DSPs and FPGA) solves this problem due to the powerful calculations processing.

**A. Appendix**

**A. Computer program**

*Used induction motor rated parameters.*

if flag==0

*a*

**Table A1.**

P=eye(5);

Ts=1e-5;

Tr=Lr/Rr;

a4=M/Tr; a5=-1/Tr;

**77**

R=diag([1e6 1e6]); % Sampling period

Sigma=1-M^2/(Ls\*Lr);

b1=1/(Sigma\*Ls);

a2=M/(Sigma\*Ls\*Lr\*Tr); a3=M/(Sigma\*Ls\*Lr);

B=[b1 0;0 b1;0 0;0 0;0 0];

global a1 a2 a3 a4 a5 b1; global F C K R Q P Ts B n p;

function [sys,x0]=EKF(t,x,u,flag)

*The parameters of the used induction motor in simulation.*

Q=diag([1e-6 1e-6 1e-6 1e-6 1e6]);

% Machine parameters———————————————————————— Rs=2.2;Rr=2.68;M=0.217;Ls=0.229;Lr=0.229;p=2;

% State noise covariance matrix————————————————————

% Measure noise covariance matrix———————————————————

% Defining A and B matrices——————————————————————

% Input Matrix—————————————————————————————————

a1=-(Rs/(Sigma\*Ls)+(1-Sigma)/(Sigma\*Tr));

% Initiating the state error covariance matrix———————————————

**Parameter <sup>a</sup> Rated value** Power 3 *kW* Voltage 380 *V* Frequency 50 *Hz* Pair pole 2 Rated speed 1440 *rpm* Stator resistance 2.20 Ω Rotor resistance 2.68 Ω Stator inductance 0.229 *H* Rotor inductance 0.229 *H* Mutual inductance 0.217 *H* Moment of inertia 0.047 *kg:m*<sup>2</sup> Viscous friction coefficient 0.004 *N:s=rad*

*Kalman Filtering Applied to Induction Motor State Estimation*

*DOI: http://dx.doi.org/10.5772/intechopen.92871*

Recently, different works have been conducted to improve the effectiveness and the performance of the sensorless EKF for IM drive control. A bi-input EKF estimator, which deals with the estimation of the whole state of the machine together with stator and rotor resistances is presented. Another multi-model EKFs are proposed in order to improve EKF performance under different noise conditions. Then, a Kalman filter estimator has been designed for DTC controlled induction motor drives.
