Open access peer-reviewed chapter

Kalman Filtering Applied to Induction Motor State Estimation

Written By

Yassine Zahraoui and Mohamed Akherraz

Submitted: 04 November 2019 Reviewed: 18 May 2020 Published: 27 June 2020

DOI: 10.5772/intechopen.92871

From the Edited Volume

Dynamic Data Assimilation - Beating the Uncertainties

Edited by Dinesh G. Harkut

Chapter metrics overview

1,058 Chapter Downloads

View Full Metrics


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, U and Y are the state vector, the input vector and the output vector, respectively:




The rotor motion is expressed by:


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 discrete time linear state model composed of two additional terms for taking into account discrete state noise Wk and 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:


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+1k from the process state equations and also the previous values of the estimated states Xkk 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.


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+1k obtained in the first phase. This correction term is a weighted difference between the actual output vector Y and 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+1k at the present moment k+1. Figure 4 below shows the principle of the standard Kalman filter.

Figure 4.

Standard Kalman filter principle.


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:


Such as:


Where f and h are non-linear functions, Xek designates the extended state vector, Xk and Θk 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 Θk+1=Θk. The following discrete augmented state model is constructed:


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 non-linear system requires the execution of the following steps:

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

  • Prediction of the states and the parameters


  • Prediction of error covariance matrix


Fk is the gradient matrix defined as follows:


  • Calculation of Kalman gain


Hk is 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 Ts as 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 Wk and measurement noise Vk. This leads to the following expressions:




Similarly, the linearization matrix Hk is 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 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 Xe00 and 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, Θ, R and Q.

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

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

  • The estimated smoothed P00 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 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.


  • Then, the filter is run again using the above updates of Xe00, P00, Θ, Q and R till 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-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 +10N·m is applied at t1=0.6s and removed at t2=1.6s 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 Tem is generated by the speed controller, while the stator voltage references Vds and Vqs are generated by the stator current controllers. The observed speed Ω̂r and rotor flux ϕ̂r are served for speed and flux regulators [7, 8]. The coordinate transformation generates the abc components 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 1Wb very 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 ids and 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 ϕdr and ϕ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.

ids current response.

Figure 11.

iqs current response.

Figure 12.

ϕdr flux response.

Figure 13.

ϕqr flux response.

Figure 14.

Mechanical speed error.

Figure 15.

Rotor flux error.

Figure 16.

ids component error.

Figure 17.

iqs component error.

Figure 18.

ϕdr component error.

Figure 19.

ϕqr component 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


  1. 1. Brown RG. Introduction to Random Ssignal Analysis and Kalman Filtering. Vol. 8. New York: Wiley; 1983
  2. 2. Lefebvre T, Bruyninckx H, Schutter J. Nonlinear Kalman Filtering for Force-Controlled Robot Tasks. Vol 19. Berlin: Springer; 2005
  3. 3. Brown RG, Hwang PYC. Introduction to Random Signals and Applied Kalman Filtering. Vo. 3. New York: Wiley; 1992
  4. 4. Kron G. Generalized theory of electrical machinery. Transactions of the American Institute of Electrical Engineers. 1930;49(2):666-683
  5. 5. Zahraoui Y, Fahassa C, Akherraz M, Bennassar A. Sensorless vector control of induction motor using an EKF and SVPWM algorithm. In: 5th International Conference on Multimedia Computing and Systems (ICMCS). Marrakech: IEEE; 2016. pp. 588-593. DOI: 10.1109/ICMCS.2016.7905584
  6. 6. Ananthasayanam MR. A reference recursive recipe for tuning the statistics of the Kalman filter. In: de Oliveira Serra GL, editor. Kalman Filters—Theory for Advanced Applications. Rijeka: IntechOpen; 2018. DOI: 10.5772/intechopen.71961
  7. 7. Zahraoui Y, Akherraz M, Fahassa C, Elbadaoui S. Robust control of sensorless sliding mode controlled induction motor drive facing a large scale rotor resistance variation. In: Proceedings of the 4th International Conference on Smart City Applications, SCA ‘19 (Casablanca, Morocco), Association for Computing Machinery, Oct. 2019; 2020. pp. 1-6
  8. 8. Tahar B, Bousmaha B, Ismail B, Houcine B. Speed sensorless field-oriented control of induction motor with fuzzy luenberger observer. Electrotehnica, Electronica, Automatica. 2018;66(4):22

Written By

Yassine Zahraoui and Mohamed Akherraz

Submitted: 04 November 2019 Reviewed: 18 May 2020 Published: 27 June 2020