Open access peer-reviewed chapter

Kalman Filtering Applied to Induction Motor State Estimation

By Yassine Zahraoui and Mohamed Akherraz

Submitted: November 4th 2019Reviewed: May 18th 2020Published: June 27th 2020

DOI: 10.5772/intechopen.92871

Downloaded: 473


This chapter presents a full definition and explanation of Kalman filtering theory, precisely the filter stochastic algorithm. After the definition, a concrete example of application is explained. The simulated example concerns an extended Kalman filter applied to machine state and speed estimation. A full observation of an induction motor state variables and mechanical speed will be presented and discussed in details. A comparison between extended Kalman filtering and adaptive Luenberger state observation will be highlighted and discussed in detail with many figures. In conclusion, the chapter is ended by listing the Kalman filtering main advantages and recent advances in the scientific literature.


  • Kalman filtering
  • stochastic algorithm
  • non-linear discrete system
  • state variables estimation
  • standard Kalman filter
  • extended Kalman filter

1. Introduction

Kalman filtering is an algorithm that employs a series of observations over time, containing noise and other inaccuracies, and generates approximations of unknown variables that tend to be more accurate than those based on a single measurement alone, by estimating a joint probability distribution over the variables for each time-frame, as in [1].

The Kalman filter is a state observer which detects the presence of measurement noises as well as uncertainties about an unknown dynamic state system, this system is generally assimilated to state noise by stochastic algorithms tending to minimise the variance of the estimation error, as described in [2].

The Kalman filter is suitable for recursive linear filtering of discrete data. It provides an estimation of a state vector or a parameter and its error covariance and variance matrix that contain information about the accuracy of its state variables, as in [3]. The natural presence of noise when an induction machine is driven by an inverter represents a strong argument for the choice of this kind of observers. Its characteristics will relate to the observation of the speed and the components of the rotor fluxes. The only needed measurements are the stator currents. Some state variables will be provided directly by the control law. Thus, the stator voltages will be considered as inputs for the filter. Table 1 shows a technical comparison between the adaptive observer and the stochastic filter.

Technical comparison
FeaturesAdaptive Luenberger ObserverExtended Kalman Filter
Response timeVery wellVery well
Tracking errorLittleVery little
Torque ripplesVery highMedium
RobustnessRobustVery robust
Noise sensitivityVery sensitiveNot sensitive

Table 1.

Comparison between ALO and EKF.

The comparison is based on the obtained results.


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 algebra-differential system, Park’s model reflects the dynamic behaviour of the electrical and electromagnetic modes of the asynchronous machine. It admits several classes of state 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:


Where X, Uand Yare the state vector, the input vector and the output vector, respectively:




The rotor motion is expressed by:


Where Jis the motor inertia, Temis the electromagnetic torque, TLis the load torque, and fis 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 discrete time linear state model composed of two additional terms for taking into account discrete state noise Wkand discrete state measurement Vk.

Figure 3.

Induction motor model with input, state and output components.


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:


Erepresents 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+1kfrom the process state equations and also the previous values of the estimated states Xkkat time k. In addition, the predicted state covariance matrix Pis also obtained before the new measurements are made, for this purpose the mathematical model and also the covariance matrix Qof the system are used.


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·YŶto the predicted states Xk+1kobtained in the first phase. This correction term is a weighted difference between the actual output vector Yand the predicted output vector Ŷ. 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+1kat the present moment k+1. Figure 4 below shows the principle of the standard Kalman filter.

Figure 4.

Standard Kalman filter principle.


Where Kdenotes the gain matrix of the Kalman filter, Pis the estimation error covariance matrix, Qand Rare, respectively, the covariance matrices of the state and the measurement noises. The gain matrix Kis 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:


Such as:


Where fand hare non-linear functions, Xekdesignates the extended state vector, Xkand Θkare 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 Θk+1=Θk. The following discrete augmented state model is constructed:


Ad, Bdand Cdare, respectively, the state, the input and the discrete output matrices. Iis the identity matrix.

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

  • Initialization of the states X00, the parameters Θ00and the covariance matrices P00, Qand R

  • Prediction of the states and the parameters


  • Prediction of error covariance matrix


Fkis the gradient matrix defined as follows:


  • Calculation of Kalman gain


Hkis the gradient matrix defined as follows:


  • Estimation of the states and the parameters


  • Estimate of the error covariance matrix


  • Update matrices at instant k=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:


In which:




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 Tsas in [5], the discrete augmented state model can be approximated by:


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


This leads to:


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 Wkand measurement noise Vk. This leads to the following expressions:




Similarly, the linearization matrix Hkis written as follows:


In the determination of the initial covariance matrix P00, 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 Qlinked to the noises tainting the state, allows adjusting the estimated quality of the modelling and discretization. A strong value of Qgives a high value of the gain K stimulating the importance of the modelling and the dynamics of the filter. A high value of Qcan, however, create an instability of the observation. The matrix Rregulates 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 Qand R, as well as the initial values of the estimated state vector Xe00and the matrix P00, as degrees of freedom of the Kalman filter. The following steps explain the recursive or iterative RRR algorithm for the EKF [6]:

  • Given the system model and the measurements, the first filter pass through the data of EKF is carried out using guess values of Xe00, P00, Θ, Rand Q.

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

  • If Xe00is unknown, then the smoothed state values can be used as the initial state values.

  • The estimated smoothed P00is scaled up by the number of time points Nand 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 Rand Qwill in general be full. But, only the diagonal terms in Qneed to be used in the basic state equations and not in the parameter states. Only the diagonal terms in Rneed 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.


  • Then, the filter is run again using the above updates of Xe00, P00, Θ, Qand Rtill statistical equilibrium is reached.

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

Figure 5.

The observer state space mathematical model.

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-qstator phase current components ids, iqs, the d-qrotor flux components ϕdr, ϕqrand the mechanical speed ωr. The control law and the observer are implemented in MatLab/Simulink software. A load torque of +10N·mis applied at t1=0.6sand removed at t2=1.6sin order to show the system robustness against the external perturbation. Table A1 lists the parameters of the machine used in simulation.

The torque reference Temis generated by the speed controller, while the stator voltage references Vdsand Vqsare generated by the stator current controllers. The observed speed Ω̂rand rotor flux ϕ̂rare served for speed and flux regulators [7, 8]. The coordinate transformation generates the abccomponents needed by the PWM modulator.

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 619 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 +100rad/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.2s, the sufficient time to achieve the permanent regime.

Figure 6.

Speed response.

Figure 7.

Rotor flux response.

Figure 8 shows the rotor flux response, it achieves the reference which is 1Wbvery quickly. Even the step speed reference starts at 0.2s, 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 the beginning, the speed controller operates the system at the physical limit since the step reference is the hardest for most control processes.

Figure 8.

Electromagnetic torque response.

Figure 9.

Stator phase currents response.

Until now, no apparent difference in the performance of the two observers, Figures 1119 will reveal this difference. Figures 11 and 12 illustrate, respectively, the observed stator current components idsand iqs. We can notice clearly the 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 ϕdrand ϕqr. No fluctuations seen around the reference for both observers, only a small static error of observation. Finally, Figures 1519 illustrate the static error of all the observed components: the machine state parameters, the rotor flux and the mechanical speed.

Figure 10.

idscurrent response.

Figure 11.

iqscurrent response.

Figure 12.

ϕdrflux response.

Figure 13.

ϕqrflux response.

Figure 14.

Mechanical speed error.

Figure 15.

Rotor flux error.

Figure 16.

idscomponent error.

Figure 17.

iqscomponent error.

Figure 18.

ϕdrcomponent error.

Figure 19.

ϕqrcomponent error.

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, 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.

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.



The authors would like to thank the managers and the members of the “Laboratoire d’électronique de puissance et commande (EPC) de l’Ecole Mohammadia d’Ingénieurs (EMI)” for their precious remarks and suggestions.


A. Appendix


A. Computer program

Parameter aRated value
Power3 kW
Voltage380 V
Frequency50 Hz
Pair pole2
Rated speed1440 rpm
Stator resistance2.20 Ω
Rotor resistance2.68 Ω
Stator inductance0.229 H
Rotor inductance0.229 H
Mutual inductance0.217 H
Moment of inertia0.047 kg.m2
Viscous friction coefficient0.004 N.s/rad

Table A1.

The parameters of the used induction motor in simulation.

Used induction motor rated parameters.

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

global a1 a2 a3 a4 a5 b1;

global F C K R Q P Ts B n p;

if flag==0

% Machine parameters--------------------------


% Initiating the state error covariance matrix-----------------


% State noise covariance matrix----------------------

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

% Measure noise covariance matrix---------------------

R=diag([1e6 1e6]);

% Sampling period


% Defining A and B matrices------------------------









% Input Matrix-----------------------------------

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

% Measure Matrix----------------------------

C=[1 0 0 0 0;0 1 0 0 0];

% Loop ---------------------------------


x0=[0 0 0 0 0];


elseif flag==2






% State prediction----------------------------


% Covariance prediction-------------------------


% Kalman gain matrix---------------------------


% State estimation----------------------------


% State error covariance estimation---------------------



elseif flag==3


elseif flag==9




Notations and symbols

isα, isβstator current components in α−β reference frame
ϕrα, ϕrβrotor flux components in α−β reference frame
usα, usβstator voltage components in α−β reference frame
Rs, Rr
Ls, Lr, Lmstator, rotor and mutual inductances
Trrotor time constant
Temelectromagnetic torque
TLload torque
ωrelectrical speed
Ωrmechanical speed
σBlondel’s coefficient
ppole pair number
Jinertia moment
ffriction coefficient
A, B, Ccontrol, input and output matrices of the induction motor model
EKFextended Kalman filter
ALOadaptive Luenberger observer
IMinduction motor
MatLabmatrix laboratory
DSPdigital signal processor
FPGAfield-programmable gate array
DTCdirect torque control

© 2020 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Yassine Zahraoui and Mohamed Akherraz (June 27th 2020). Kalman Filtering Applied to Induction Motor State Estimation, Dynamic Data Assimilation - Beating the Uncertainties, Dinesh G. Harkut, IntechOpen, DOI: 10.5772/intechopen.92871. Available from:

chapter statistics

473total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Data Processing Using Artificial Neural Networks

By Wesam Salah Alaloul and Abdul Hannan Qureshi

Related Book

First chapter

Introductory Chapter: Artificial Intelligence - Challenges and Applications

By Dinesh G. Harkut and Kashmira Kasat

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us