Nadia STOICUTA, Olimpiu STOICUTA
University of Petrosani, Romania
MONITORING ON-LINE BY THE STABILITY OF THE KALMAN FILTER USED IN THE VECTORIAL CONTROL SYSTEM FOR THE SPEED OF AN INDUCTION MOTOR
In the paper we present the stability study of the Kalman estimator used in a vectorial drive system of an induction motor with short-circuited rotor. We consider that the control system for speed is a vectorial system with direct orientation after the rotor flux (DFOC). Although there are suggestive experimental results, the implementation of such a system containing a Kalman filter generates serious problems because of the tuning of the covariant matrixes of the measurement noise and the process noise. Also the solving of the Riccati equations in real time is difficult. These problems, as well as the simplifier hypothesis from the determination of the mathematical model on the states space of the induction motor and the modification of the rotor resistance by temperature lead to the decrease of the estimator and control system performances. Therefore you must implement an algorithm for research of the estimator stability. This algorithm has to hold count of the sampling step of sundries processors used in the drives command. The stability study is done by the determination of the transition matrix poles.
Представлено устойчивое обучение оценщика Калмана, используемого в векторных системах с асинхронными двигателями и короткозамкнутым ротором. Предполагаем, что система управления скоростью является векторной ориентированной по потоку ротора. Хотя уже существуют экспериментальные результаты, осуществление такой системы с фильтром Калмана вызывает серьезные проблемы из-за необходимости настройки кова-риантных матриц измеренных помех и помех, возникающих в процессе работы. Также затруднено решение уравнений Риккати в реальном времени. Эти проблемы также, как упрощенное представление математической модели в пространстве состояний асинхронного двигателя и изменение сопротивления ротора при изменении температуры, приводят к ухудшению качества работы оценщика и системы управления. Поэтому необходимо реа-лизовывать алгоритм исследования устойчивости работы оценщика. Алгоритм должен поддерживать шаг выборки различных процессоров, используемых при управлении двигателями. Устойчивое обучение реализовано путем определения полюсов матрицы перехода состояний.
1. The Kalman filter. The equations which define the recursive algorithm of the Kalman filter where written on the basis set by the following stochastic model of the induction motor:
J x(k +1) = Fkx(k) + Hku (k) + w(k);
[ y (k) = Cx(k) + v(k),
where w and v are the process noise vector and the measurement noise vector which are of Gaussian type and have the following properties:
E[w(k)] = E[v(k)] = E[w(i)vT (j)] = 0;
E[w(i)wT (j)] = Qk 5j; E[v(i)vT (j)] = Rk 5г/,
where E is a statistic which means:
1 N
E (x) = lim — £ x(k)
N ^ N k=1
and 5. is a Kronecker function:
Jl for i = j;
5.. =\ 11 (0 for i * j.
The Fk and Hk matrixes are obtained from the A and B matrixes of the continuous model of the induction motor after discrimination. In practice two models are used:
• The model obtained from complete discrimination for which the Kalman filter is precise, but a high performance processor is required for implementation:
109
Санкт-Петербург. 2009
Fk = I + AkT + A,
Hk = BT + AkB
2 T2.
k 2 ; T2
2
• The model obtained from simplified discrimination for which the Kalman filter is not so precise, but there is no need for a high performance processor for implementation:
\Fk = I + AkT ; H = BT.
(2)
In (1) and (2) T is the sampling period T=(50^30)^s and Ak and B have forms which depend on the type of the observer:
• Kalman filter: The Kalman filter used for the determination of the rotoric fluxes:
Ak =
a11 0 a13 a14 ®A
0 a11 - a14 ®k a13
a31 0 a33 -®k
0 a31 ® k a33
b11 0 0 0 T 1 0 0 0
B= C =
0 b11 0 0 0 1 0 0
(3)
where:
( 1 1
aii = -
- + -
V Ts Tr J
Lm
; a„ = -
Lm
LL ct
Lm
T„
L„LTr a J_
Tr
133
b11 = —; Ts = L^ ; Tr = ^ ; o = 1 -
11 L„ ct s R„ r Rr
L
LsLr
and Ls, Lr, Lm are the stator, rotor and mutual inductance, Rs, Rr are the stator and rotor resistance and a is the mutual coefficient of leakage. The matrixes (3) were determined for: • the elements of the input vector are the stator voltages reported to the orientated axis system dq:
u{k) = ludS (k) udq (k)]T ;
• the elements of the state vector are the stator currents and the rotor fluxes reported to the orientated axis system dq:
X(k) = [ids(k)idq(kdr(kqr(k)]T ;
• the elements of the output vector are the stator currents reported to the orientated axis system dq:
It
y{k) = [ids {k) idq {k)]T .
dq '
• The extended Kalman filter:
The extended Kalman filter matrixes used for the determination of the rotor fluxes and of the rotor speed are:
Ak =
B =
"11 0
a11 0 a13 a14ra k 0"
0 a11 - a14®k a13 0
a31 0 a33 -®k 0
0 a31 ®k a33 0
0 0 0 0 0
_ T r
0 0 0 1 0 0 0
; с =
b„ 0 0 0 1 0 0
. (4)
The matrixes (4) were determined for:
• the elements of the input vector are the stator voltages reported to the orientated axis system dq:
u (k) = Ks(k )udq(k )]T;
• the elements of the state vector are the stator currents and the rotor fluxes reported to the orientated axis system dq and the rotor speed:
x(k) = [is (k)d (k)ydr (k)yqr (k)®(k)]T ;
• the elements of the output vector are the stator currents reported to the orientated axis system dq:
y(k) = [ids (k)idq (k)]T .
In those conditions, the equations which define the Kalman filter are:
a) The Kalman filter:
A(k/k -1) = Fk _i P(k - 1/k -1) FT_i + Qk _i; K (k) = A(k/k - 1)CT [NA(k/k - 1)CT + Rk ]-1;
X(k/k -1) = Fk-1X(k - 1/k -1) +
+ Hk-1u(k -1); (5)
X(k/k) = X(k/k -1) + K(k)[y(k) - CX(k/k -1)];
P(k/k) = [14 - K(k)C]A(k/k -1),
a14 =
31
where:
• (k / k -1) is an estimate at the moment kT on the basis of the anterior data which is simultaneous at the moment (k - 1)T ;
• K (k) is the Kalman matrix;
• x(k / k -1) is the extrapolated state (provided);
• x(k / k) is the estimated state at the moment kT ;
• y (k) - C ■ x(k / k -1) is the estimate of the extrapolated state;
• r(k / k -1) is the covariance a priori matrix of the extrapolated state x(k / k -1);
• P(k / k) is the covariance a posteriori matrix of the estimated state x(k / k).
The estimate error is:
~ (k / k) = x(k) - x(k / k). (6)
The initial conditions of the algorithm (5)
are:
P(0/0) = P0 and x(0/0) = x0.
The covariance matrixes Q and R are constant or are updated at every step. In the paper we consider that the noises do not sensibly modify the process and they could be considered constants. Accordingly, the matrixes Q and R are:
R =
where:
Q =
a1 0 a3 0
0 a1 0 a3
a3 0 a2 0
0 a3 0 a 2
a
• a, =
yr
a
a =
a
a
a =
Payr a is
a
• a is the leakage introduced by the input variables (uds and udq);
• ais and aVr are the leakages introduced by the output variables (is and yr);
• p is the correction coefficient. Because the PWM inverter introduced the
superior harmonics in the voltage and the stator current components and, implicit, in the rotor flood tides component, we consider for simula-
tion a source of white noise (Gaussian white noise in discreet time) K(m, n) = a25mn; where 5mn is a Kronecker function.
On the other side, the vector x0 we consider that it is null and the matrix P0 we determined as solution of discreet Riccati equation of filtration.
So as determine accurate values of the parameters a1; a2 and a3, we define an application - dependent operating mode and we minimize the mean square error of the rotor flux modulus for the case rotor resistance uncertainty: ARr/Rr=±60[%]:
1 N
J (a1a2a3) + . — ZK (k -Wr (k)]2 ,
V N k=1
where: yr (k) = ^<¥2dr (k) + V2r (k) .
b) The extended Kalman filter:
In order for the structural properties of the Kalman filter to be satisfied we will introduce a virtual speed ©m defined © m (k +1) = © m (k) + v6 (k) so that we'll have:
Fk-1 =
Fk
k-1
2 x4
G,
k-1
where:
Gk-1 =
f - f2
/2 f3
fx - /4
/4
f3
H
^©(Fk-1x(k-1)+Hk-1u(k-1)) = [/1 /2 /3
aa
and F-1, Hk-1 from inside the resented matrix are obtained from (3) by discrimination using (1) and (2).
The covariance matrixes Q and R are:
R =
where: a4 = a©/a4 ; a© is the leakage speed.
• C and Hk-1 matrixes that interfere in the algorithm of the extended Kalman filter are obtained by the discrimination using (1) and (2) from:
"1 0" ; Q = " Q 02X4 "
0 1 _02x4 a4I2_
B =
b11 0 0 0 0 0 0 b11 0 0 0 0
I
2
T
N =
1 0 0 0 0 0 0 1 0 0 0 0
Continuing, the extended Kalman filter is similar with (5) with the observations presented. 2. The determination of the Kc matrix.
For the stability study of the Kalman filter and of the extended Kalman filter we need the Kc matrix that makes the connection between the size entireness of the u{k) motor and the vector of the estimated sizes X(k). So:
u(k ) = - Kc (k )X(k), (7)
where:
K (k ) =
0 0 -
*sdk
(k) UsqX(k)
№
00-
*sqk
■(k)
(k)
№ г (k)|
for Kalman filter; and
Kc (k ) =
0 0 -
lsdX
(k )
к г(k Л
usdl(k ) кг (k
lsqX(k )
|кг (k
00-
'sqX
(k
|к г (k }
UsdÂk )
|к г (k } |кг (k Л
00
00
for the extended Kalman filter.
Voltages usdX(k) and usqX(k) and also flux
rotor absolute r (k) are obtained based to the
appendix 1 and 2.
3. Stability study by neglecting Kalman filter dynamics. The start relation is:
X(k +1) = FkX(k) + Hku(k) + w(k).
Replacing the expression from (6) and (7) in this relation, it is obtained:
X(k+1) = [Fk - HkKc(k)]X(k)+HK (k)~(k/k)+w(k).
For a first approximation, it is assumed that the error is neglected ~ (k / k) = 0 and then results:
X(k +1) = [Fk -HkKc(k)]X(k) + w(k).
Using z coupled impedance and assuming the process noise null, w(k) = 0 results:
[zI -(Fk - HkKc (k ))]X (z) = 0.
So, for the closed-loop to be a stable system, specific values of (Fk - HkKc (k)) have to be in basic circle around z flat origin.
Generally, this procedure supposes that there is no Kalman filter associated dynamics, which is not true.
4. Stability study when the loop is contained by Kalman filter. At large the motor does not have the same transition matrix like those used for design work of Kalman filter and Kc control matrix. It is possible that the built-in Kalman filter model and motor to be different. Because of this, we assume that the motors matrixes are F(nxn); H(nxp); C(qxn) and the equivalent model
matrix are: F*(nrxnr); H*(nrxp); C*(qxnr). The control matrix is Kc (pxnr) and the Kalman matrix is K(n,xq).
The system equations are:
• the motor:
x(k +1) = Fkx(k) + Hku (k) + w(k)
• the control law:
u (k - 1) = -Kc (k - l)x (k -1/k -1)
• estimation:
x(k/k) = A(k -1) xr (k - 1/k -1) + + K (k )CX(k) + K (k )v(k)
where:
A(k -1) = \l - K(k)C• ] F;_1 - Hk*_Kc (k -1)]
The (8) relation can be written differently: xr (k/k) = K(k)CFk-1 x(k -1) + + [A(k -1) - K(k)CHk-K (k -1)] x X x(k - 1/k -1) + K(k)Cw(k -1) + K(k)v(k). (9)
On the other hand:
x(k) = Fk-1x(k -1) - Hk-K (k -1) x
x xr (k - 1/k -1) + w(k -1). (10)
The (9) and (10) relations can be matrix
write:
' x(k) ' " Fk-1 - Hk-K (k -1) "
x(k/k ) K (k)CFk-1 A(k -1) - K (k )CHk-K (k -1)_
x(k -1) x(k - 1/k -1)
K (k )C
w(k -1) +
0
K(k)
v(k )•
x
1
+
X
Appendix 1
Appendix 2
Because w and v are Gauss uniform rows with zero average autonomous of
[x(0) xr(0/0)]T, then [x(k) xr(k/k)]Ti
is a zero av-
erage Gauss-Markov row and the system dynamics is ruled by the specific values of the square transition matrix FA (n + nrxn + nr):
Fa =
Fk-1
- Hk-1 ■ Kc (k-1)
K(k)CF-1 Ak-1) -K(k)CHk-1Kc (k-1)
5. Special case when the motor and the model are similar. If the motor and model have the same order, then xrbecame .rand x = x + ~ . The same:
A(k -1) - K (k )CHk-K (k -1) =
=[ i - k (k )C >;_! - H\_xKc (k -1)+
+ K (k )[C *H*k-1 - CHk-1]Kc (k -1).
The[x x]T vector can be transformed in [x ~]T vector by transforming:
" I 0" x x
I -1 x
By application of this transformation of the transition matrix and if the transforming matrix is its personal reverse matrix we have:
I 0 I -1
x
where:
Fk
k-1
- Hk-K (k -1) K(k)CFk-i A(k -1) - K(k)NHk-K (k -1)
Fk-1 _ Hk-1 Hk-1Kc (k - 1)
Y Z
I 0 "
I -1
Y = (/ - K(k)CF_i - (/ - K(k)C )Fk_i + + (H*_1 - Hk _i) Kc (k -1) - K (k) X
x(CX-i -CHk-i)Kc(k-1);
Z = (/ -K(k)C*)F*-1 - (H*-1 -Hk-i) X X Kc (k -1) - K(k)(CX-1 - CHk-1)Kc (k -1).
When Kalman filter model and installation
are the same, that is F = F *; H = H *; C = C * then Y = 0 and Z = (I - K(k)C)Fk-1.
6. Simulation results. As an example for what was mentioned, an induction motor with the circuited rotor that has the fallowing parameters:
Pn = 500[^ ]; Un = 127[F ]; h = 2,9[4 nn = 1400[roi /min]; zp = 2; Mn = 3,41[w • m]
Rs = 4,495[Q]; Rr = 5,365[q]; Ls = 165[mH ]; Lr = 162[mH]; Lm = 149[mH]
J = 0,95 • 10-3 [Kg • m2 ] ; fn = 50[Hz]
has been considered. In order to obtain the effects of the use of the Kalman filter in feedback with an induction motor of the type mentioned, the mathematical model of the motor and also the one of the Kalman filter have been
implemented in Matlab-Simulink, using the S_Function blocks. The sampling time used is 300[|j4 In this simulation it has been considered that the K (k) matrix is variable and it actualizes at every step.
7. Conclusions. Luenberger has studied the problem of the estimators included in the continual linear control systems. He showed that the estimator adds poles to the feed-back system without affecting the others poles. Due to the simulation of the three cases presented we showed that this is true only when the estimator is made to give a model to the motor (the last case presented), even if this is not an optimal project (in stochastic sense). After the analysis, it has been noticed that at speeds close to the nominal speed and also at very small speeds, eigenvalues of the estimator are very close of the ones of the motor, and we can conclude that the control system works fine. Bigger differences appear only at high speed. After the analysis it also has been noticed that part of the eigenvalues of the estimator fall behind the eigenvalues of the motor that practically means a decrease of the control system performances. The speed limit when this phenomenon appears depends of the sampling step, diminishing in the same time with the increase of the latter. While using the Kalman filters in vectorial control systems for speed, the fact that they become unstable when using a big sampling step, which means a decrease in the control system performances must be take in account.
x