robust dynamic state estimator accounting for load changes... · 2019-02-13 · robust dynamic...
TRANSCRIPT
Robust Dynamic State Estimator Accounting
for Load Changes
A Thesis Presented
by
Alireza Rouhani
to
The Department of Electrical and Computer Engineering
in partial fulfillment of the requirements
for the degree of
Master of Science
in
Electrical Engineering
in the field of
Power Systems
Northeastern University
Boston, Massachusetts
August 2013
© copyright by Alireza Rouhani 2013
All Rights Reserved
i
Abstract
Load models are commonly approximated by fixed impedance type loads when
formulating dynamic simulations. This is an acceptable approximation when using
dynamic simulation for a specific initial operating condition and the study runs for
a brief period typically to check system stability. When implementing an on-line
dynamic estimator such assumptions may not be viable due to the load dynamics
which are not typically known.
Unlike previous studies reported in literature, this work takes into account the
effect of changes in bus loads on dynamic state estimation. Two methods are
proposed to address this problem, in the first method the performance of dynamic
state estimator (DSE) is improved by monitoring the load changes on longer
intervals and strategically varying the variance of the system state error covariance
matrix to compensate for the errors introduced by changing loads[7]. Based on the
second method, by extending the state vector to include network variables, we can
eliminate the need to model loads and also it is possible to implement a distributed
yet synchronized solution algorithm that facilitates simultaneous solutions by
multiple areas which is highly helpful, especially when a large scale system is
considered with several generators[8].
The proposed methods are tested on the New-England 37-bus system where the
Unscented Kalman Filter (UKF) is chosen in formulating the DSE, due to its
advantages over the commonly used Extended Kalman Filter (EKF).
ii
Acknowledgments
I wish to express my gratitude to my research advisor and mentor, Professor Ali
Abur, for the tremendously rewarding educational and personal experience he has
afforded me. I have learned so much from his patient teaching and his tremendous
technical expertise. His constant support, guidance, and encouragement helped me
greatly in successfully completing my thesis. My thesis progressively improved as
a result of Professor Abur’s ability to look at problems from different perspectives,
together with many hours of discussions with me. Being a research assistant to
Professor Abur will greatly enhance my ability to stay at the forefront of my
current research area.
I would also like to express my heartfelt thanks to Professor Bahram Shafai and
Professor Hanoch Lev-Ari for serving as my thesis committee members. During
my graduate studies, they gave me inspiration and immense knowledge of their
areas of expertise.
Finally I would like to express my love and gratitude to my parents. Their
encouragement and support helped me to attend Northeastern University and for
that I will always be grateful.
iii
Contents
1 Introduction 1
1.1 Motivations for the Study ................................................................................................................ 2
1.2 Contribution of the Thesis ............................................................................................................... 3
1.3 Thesis Outline .................................................................................................................................. 3
2 Technical Background 4
2.1 Historical Overview of Power System State Estimation ................................................................ 4
2.2 Review of the Related Works in Dynamic State Estimation .......................................................... 6
3 Improving Performance of Dynamic State Estimators under Unknown Load Changes 9
3.1 Extended Kalman Filter ................................................................................................................ 10
3.2 Unscented Transformation ............................................................................................................ 12
3.3 Unscented Kalamn Filter ............................................................................................................... 14
3.4 Case Studies ................................................................................................................................... 16
3.4.1 Case 1: Comparing the performance of UKF and EKF ........................................................... 18
3.4.2 Case 2: Line switching transients .......................................................................................... 21
3.5 Conclusions .................................................................................................................................... 28
4 Distributed Implementation of an Augmented State Dynamic Estimator 29
4.1 Problem Formulation ..................................................................................................................... 30
4.2 Implementation of Dynamic Estimator .......................................................................................... 31
iv
4.2.1 Conventional Approach ........................................................................................................... 32
4.2.2 Dynamic State Estimation Using Augmented State Vector ..................................................... 35
4.2.3 Distributed Multi-Area Dynamic State Estimation ................................................................. 38
4.3 Conclusions .................................................................................................................................... 59
5 Concluding Remarks and Further Study 60
5.1 Concluding Remarks ...................................................................................................................... 60
5.2 Further Study ................................................................................................................................. 62
A Fundamental Scripts Used for Dynamic State Estimaton 64
A.1 EKF Using Conventional Approach-Assuming Classical Model for Generators ......................... 64
A.2 UKF Using Conventional Approach-Assuming Classical Model for Generators ........................ 67
A.3 UKF Using Augmented State Vector-Assuming Classical Model for Generators ....................... 72
A.4 UKF Using Augmented State Vector-Assuming Two-Axis Model for Generators ..................... 75
References 79
v
List of Figures
3.1 New-England, 37-bus system ....................................................................................................... 18
3.2 Per-unit rotor speed of generator#1 obtained from EKF ............................................................... 20
3.3 Per-unit rotor speed of generator#1obtained from UKF ................................................................ 21
3.4 Rotor angle of generator#1 when σ = 0.0001 ................................................................................ 22
3.5 Per-unit rotor speed of generators #1, 2 and 3 when σ =0.0001 .................................................... 23
3.6 Rotor angle of generator #1 when σ = 0.1 ..................................................................................... 23
3.7 Per-unit rotor speed of generators #1, 2 and 3 when σ = 0.1 ......................................................... 24
3.8 Magnified view of the per-unit rotor speed of generator#1, 2 and 3, for σ = 0.1 .......................... 25
3.9 Rotor angle of generator 1 when σ is gradually increased ............................................................. 26
3.10 Per-unit rotor speed of generators 1, 2 and 3 when σ is gradually increased ................................. 27
3.11 Magnified view of the per-unit rotor speed of generators 1, 2 and 3 when σ is gradually increased
................................................................................................................................................................. 27
4.1 New-England, 37-bus system with sudden load change in HALE69 ............................................ 34
4.2 Rotor angle of generator #1obtained based on conventional approach ......................................... 34
4.3 Per-unit rotor speed of generators 1, 2 and 31obtained based on conventional approach ............. 35
4.4 Rotor angle of generator #1obtained using augmented state vector approach .............................. 37
4.5 Per-unit rotor speed of generators# 1, 2 & 31obtained using augmented state vector approach ... 37
4.6 New-England, 37-bus system divided into four zones .................................................................. 40
4.7 Rotor angles of generators#1&8 inside zone 1 .............................................................................. 41
4.8 Per-unit rotor speeds of generators# 1&8 inside zone 1 ................................................................ 42
vi
4.9 Bus voltage’s magnitudes of generators# 1&8 inside zone 1 ........................................................ 42
4.10 Bus voltage’s angles of generators# 1&8 inside zone 1 ................................................................ 43
4.11 Rotor angles of generators#2-4 inside zone 2 ................................................................................ 43
4.12 Per-unit rotor speeds of generators# 2-4 inside zone 2 .................................................................. 44
4.13 Bus voltage’s magnitudes of generators# 2-4 inside zone 2 .......................................................... 44
4.14 Bus voltage’s angles of generators# 2-4 inside zone 2 .................................................................. 45
4.15 Rotor angles of generators#6-7 inside zone 3 ................................................................................ 45
4.16 Per-unit rotor speed of generators# 6-7 inside zone 3.................................................................... 46
4.17 Bus voltage’s magnitudes of generators# 6-7 inside zone 3 .......................................................... 46
4.18 Bus voltage’s angles of generators# 6-7 inside zone 3 .................................................................. 47
4.19 Rotor angle of generator#5 inside zone 4 ...................................................................................... 47
4.20 Per-unit rotor speed of generator# 5 inside zone 4 ........................................................................ 48
4.21 Bus voltage’s magnitude of generator# 5 inside zone 4 ................................................................ 48
4.22 Bus voltage’s angle of generator# 5 inside zone 4 ......................................................................... 49
4.23 Rotor angle of the generator in example 4.1 .................................................................................. 54
4.24 Per-unit rotor speed of the generator in example 4.1 ..................................................................... 54
4.25 Internal voltage-q axis of the generator in example 4.1 ................................................................. 55
4.26 Internal voltage-d axis of the generator in example 4.1 ................................................................. 55
4.27 Excitation voltage of the generator in example 4.1 ....................................................................... 56
4.28 Rate feedback of the generator in example 4.1 .............................................................................. 56
4.29 Exciter input of the generator in example 4.1 ................................................................................ 57
4.30 Mechanical input power(pu) of the generator in example 4.1 ....................................................... 57
4.31 Terminal bus voltage’s magnitude of the generator in example 4.1 .............................................. 58
4.32 Terminal bus voltage’s angle of the generator in example 4.1 ...................................................... 58
vii
List of Tables
3.1 Error metrics for case 1 .................................................................................................................. 19
3.2 Error metrics for case 2 .................................................................................................................. 24
4.1 CPU-Time associated with dynamic state estimation of the zones ............................................... 50
4.2 Data for example 4.1 ...................................................................................................................... 53
.
viii
Dedicated to my parents
1
Chapter 1
Introduction
Nowadays power system dynamic analysis is greatly important for the power
engineers. This is due largely to the desire to utilize transmission networks for
more flexible interchange transactions. In order to have a more realistic dynamic
analysis of the system it is significantly beneficial to know about the most updated
dynamic state variables in the system. Fortunately by taking advantage of Phasor
Measurement Units (PMU’s) we can make a dynamic state estimator which allows
us to estimate the real-time dynamic states of the system.
Researchers have considered this idea in the past decades and there are various
proposed algorithms regarding power system dynamic state estimation in the
literature. One of the fundamental characteristics of DSE’s algorithms is the usage
of physical time-varying model of the system. In a power system the behavior of
many of bus loads are unpredictable therefore assuming a constant load model for
these bus loads may not reflect their true behavior and as a result the assumed
time-varying model of the system will not reflect a true model of system.
Consequently, the usage of this wrong model will lower the performance of DSE.
Thus in order to obtain a more reliable and efficient state estimation result from a
DSE, it will be extremely beneficial to reduce or even eliminate the effect of the
usage of wrong load models within the DSE’s algorithm.
2
1.1 Motivations for the Study
One of the main goals of the project was to perform a robust dynamic state
estimation on a very large-scale power system in order to facilitate on-line
dynamic security analysis which will require the current dynamic state of the
system. However after evaluating the proposed approaches in the area of power
system dynamic state estimation some obstacles were found with these methods
when they were attempted to be implemented on a real large-scale system.
As mentioned earlier one of the main difficulties was to obtain a solution which
will take into account the effect of load changes on DSE and the other main issue
was related to the computational complexity which grows significantly with
system size.
Thus the main motivation of this work was to address these important issues in
order to make the implementation of DSE on the real systems more robust and
practical.
3
1.2 Contribution of the Thesis
This thesis describes two improvements that are related to the implementation of
dynamic state estimation in power systems. One of them is the way bus loads are
represented so that changes in bus loads can be taken into account during dynamic
state estimation. The other is related to the computational performance where the
computational burden per time step is reduced and made independent of system
size via strategically distributing the computational load. This is accomplished by
formulating the dynamic state estimation problem as a multi-area distributed
estimation problem and solving it in parallel by each area. Individual area
solutions are kept synchronized via the sue of phasor measurements that are
assumed to be available in each designated area.
1.3 Thesis Outline
The thesis is composed of five chapters. The first chapter states the motivation for
the presented work and outlines the contributions of the thesis. The next chapter
reviews the state of the art and provides historical perspective by considering
relevant work in the area.
Chapter 3 is about the proposed method of improving the dynamic state estimation
performance under unknown load changes.
The next chapter describes the multi-area distributed implementation of the
dynamic state estimator in order to address the problem of computational
complexity. The final chapter will conclude the thesis and also mention some of
the future work.
4
Chapter 2
Technical Background
This chapter provides a brief review of the static and dynamic state estimation
problems, their formulation and solution. Given the large volume of available
literature on these topics, this chapter refers to a subset of the most relevant work
done in the recent years.
2.1 Historical Overview of Power System State Estimation
As power systems grow larger and more intricate, real time monitoring becomes
significantly important in order to achieve reliable operation of the power systems.
The lack of appropriate real time monitoring of the system may lead to the
occurrence of drastic problems such as the Northeast Blackout of 1965.
The Energy Management System (EMS) functions are accountable for the
monitoring and control of power systems. On the other hand the state estimation
constitutes the foundation of EMS by providing real time state of the system to be
used by all other EMS functions [9]. Thus, an accurate and efficient state
estimation is necessary for a reliable and efficient operation of the power system.
5
In the early 1970s, Fred Schweppe [10,11,12] introduced the concept of static state
estimation to the area of power systems where static state of an electric power
system was defined as the voltage magnitudes and angles at all network buses.
Then assuming high number of measurements (more than state variables) these
state variables were estimated by obtaining the optimized solution for specific
equations which were related to load-flow equations. Since then, numerous
approaches have been proposed to estimate the state vector of the power systems.
Most of these proposed methods were mainly about the static state estimation
where the state vector is estimated based on the available measurements taken at a
point in time.
Since the loads in the power systems are continuously varying in time the power
delivered by the synchronous generators also have to be adjusted accordingly.
Thus, the dynamic state variables associated with system generators will have to be
tracked as the system load and/or topology change. Thus, in order to have a more
accurate continuous monitoring of the power system, state estimation should be
able to estimate the dynamic state variables of the system. This lead to the
development of the so called “Dynamic State Estimaton” solution, where in
addition to the static network model, generator dynamics need to be modeled as
well.
Dynamic state estimator tracks the dynamic state of the system and allows
prediction of the one step ahead dynamic states using the dynamic models. This
forecasting ability has tremendous advantages. As security analysis can now be
performed one time step ahead and hence may facilitate certain control actions,
particularly in cases of any emergency. Thus, dynamic state estimation algorithms
for power systems form an important branch of power system state estimation
6
techniques, with a potential to impact the very nature of operation of the real time
monitoring and control of power systems[9].
2.2 Review of the Related Works in Dynamic State Estimation
One of the first papers published on this topic is by A. S. Debs and R. E.
Larson[13], where kalman filtering techniques were first applied to the traditional
steady-state estimation process in power system applications. Since then, there
have been various works in this area. For instance, in the paper written by J.
Chang, G. N. Taranto and J. Chow[14], a gain-scheduling scheme was used for
state observer design in a single-machine infinite-bus (SMIB) system while
constant voltages were assumed in the dynamic modeling, which significantly
reduces the ability to represent the full dynamics of a power system. L. Lin,
Linawati, L.Jasa and E. Ambikairajah[15] propose a dynamic state estimation
scheme for a sixth-order synchronous machine where they assume some of the
state variables such as excitation voltage fdE and rotor angle are measurable.
Such measurements are unfortunately not commonly available and may be
obtained at additional cost. In the paper published by M. Huanga W. Li and W.
Yana[16], authors proposed a parameter estimation procedure based on square-root
UKF to estimate the parameters of the third order model of a synchronous
generator assuming injected active power by machine eP as one of the states with
the excitation voltage fdE as a input signal of the machine. V. Venkatasubram anian
7
and R. G. Kavasseri in [17] assumed a third-order synchronous machine and they
used approximate algebraic equilibrium equations to derive the quasi-steady states
of the generator, assuming the field current fdi was available as a measurement in
addition to the terminal quantities.
W. Gao and S. Wang in[18]used UKF to estimate the rotor angle and rotor speed
of a classical synchronous generator in a multi-machine system assuming loads
are modeled as constant impedances, where this assumption is not true in the real
systems and as we will see in this work the performance of DSE will suffer with
this assumption.
In a similar work by Z. Huang, K. Schneider, and J. Nieplocha [19] the loads are
considered to be modeled as constant impedances and the EKF is implemented to
estimate the state variables of the classical synchronous machines . A. Jain and
N. R. Shivakumar [20] investigated the effect of the number of PMUs and the
weightage given to their measurements on the accuracy of dynamic state
estimation. Based on their results with increase in the number of PMUs the error in
the estimates reduces drastically for small numbers but seem to saturate as the
PMUs are increased beyond a point. The weighting given to the PMU
measurements also affects the accuracy of the estimates. In their test cases studied,
a weighting of around 100 to 200 seems to give higher quality results.
Two papers are published by E. Ghahremani and I. Kamwa in this area. In the first
paper [21], the authors use EKF to estimate the state variables of a two-axis
synchronous generator connected to an infinite bus, here one parameter of the
machine is considered to be unknown and the authors mention that we can consider
the unknown parameter as a state variable and therefore estimate it beside the other
state variables of the machine. In the second paper [22], they use UKF to estimate
8
again the state variables of a two axis synchronous machine which is connected to
an infinite bus, they also talk about the benefits of UKF in comparison with EKF
such as the robustness of UKF when underlying functions of the system are highly
nonlinear.
A paper by G. S. Wang, W. Gao, A. P. Meliopoulos [23] describes how UKF can
be used to estimate the state variables of synchronous generators in multi-machine
systems. As an example in their nine bus test system with constant impedance
loads, they estimate the state variables of the two-axis synchronous machines with
IEEE-Type I exciters. They also show that in their simulations UKF has a better
performance than EKF. The work by G. Valverde and V. Terzija [24] also shows
that UKF can be used to estimate the voltage magnitudes and angles of the system.
They also show that the UKF performs better compared to EKF and static WLS.
In the work by G. Valverde, E. Kyriakides, G. T. Heydt and V. Terzija[25], UKF
has been used for on-line parameter estimation of a synchronous machines during
steady state conditions. The proposed methodology uses voltage and current
measurements taken from the stator and the field windings to update the
parameters of the synchronous machine.
In a nutshell, most of the papers published in this area try to estimate the dynamic
state variables associated with a single synchronous machine or several
synchronous machines in a power system where the loads are modeled by constant
impedances without considering load changes which occur in the real power
systems. The following chapters will address the issue of accurately estimating
dynamic state of the system while accounting for these load changes.
9
Chapter 3
Improving Performance of Dynamic State
Estimators under Unknown Load Changes
Availability of wide-area synchronized measurements at a rate which is
commensurate with the requirements of capturing the state dynamics of the
transmission grid allows new ways of estimating system states. One possibility is
to use these measurements and the assumed or known model of the transmission
system and devise a dynamic state estimator. This idea is certainly not new and has
been considered by several researchers in the past four decades. Initial attempts
ignored machine dynamics mainly due to the technological limitations of acquiring
synchronized measurements at the desired sampling rate. These resulted in tracking
estimators which used conventional measurements and no specific model for the
system states. Such tracking estimators were later improved via the use of load
forecasting. Due to the assumed sampling intervals in the order of seconds, these
estimators do not account for generator or load dynamics.
Given the recent proliferation of synchronized phasor measurements in
transmission substations, it is possible to formulate the dynamic state estimation
problem by incorporating both generator dynamics and network equations. The
main motivation of this study is to develop such a dynamic estimator which can
provide the best estimate for the real-time dynamic state of the system.
Availability of this dynamic state will facilitate execution of various contingency
10
scenarios such as sudden switching of certain lines, loss of system loads or
generation.
Previous dynamic estimator investigations commonly ignore load changes and use
constant impedance approximation for the loads [13-25]. While the load changes
are indeed much slower compared to the system dynamics, their dynamic behavior
will impact operating state of the system. Hence, such changes need to be
accounted for in the dynamic state estimation formulation. A simple and effective
approach to accomplish this with minimal extra computational burden is proposed
in this chapter. Implementation of the approach on the New-England 37-bus
system with 8 generators will be described and simulation results will be presented.
The well-known and documented [3] Unscented Kalman Filter (UKF) is used in
developing the dynamic state estimator which estimates the dynamic states namely
the rotor angle and speed of the synchronous generators in the system.
Comparative results to illustrate benefits of using UKF over the more commonly
known Extended Kalman Filter (EKF) are also presented for the same system and
operating conditions.
3.1 Extended Kalman Filter
EKF which was originally proposed by Stanley Schmidt so that the Kalman filter
could be applied to nonlinear spacecraft navigation problems[26] is undoubtedly
the most widely used nonlinear state estimation technique that has been applied in
the past few decades. However, the EKF can be difficult to tune and often gives
unreliable estimates if the system nonlinearities are severe. This is because the
EKF relies on linearization to propagate the mean and covariance of the state[3].
11
The discrete-time EKF can be summarized as follows:
Assume the system dynamics and measurement equations are given as follows:
kkk wkxfx ),(1 (3.1)
kkk vkxhz ),( (3.2)
where:
nx is a discrete state vector.
mz is a discrete measurement vector.
),0(~ kk QNw Gaussian process noise at time step k
),0(~ kk RNv Gaussian measurement noise at time step k
kQ and kR are covariance matrices of kw and kv respectively.
The EKF is initialized as follows:
)(ˆ00 xEx
, ])ˆ)(ˆ[( 00000
TxxxxEP (3.3)
Now for ,...,2,1k perform the following.
(a) Compute the following partial derivative matrices:
1ˆ
11 |
kx
kk
x
fF
1ˆ
11 |
kx
kk
fL
(3.4)
12
(b) Perform the time update of the state estimate and estimation-error
covariance as follows:
T
kkk
T
kkkk LQLFPFP 111111
)1,ˆ(ˆ11
kxfx kkk (3.5)
(c) Compute the following partial derivative matrices:
kx
kk
x
hH
ˆ|
kx
kk
v
hM
ˆ| (3.6)
(d) Perform the measurement update of the state estimate and estimation-error
covariance as follows:
1 T
kkk
T
kkk
T
kkk MRMHPHHPK
),ˆ(ˆˆ kxhzKxx kkkkk
kkkk PHKIP (3.7)
3.2 UNSCENTED TRANSFORMATION
Given the nonlinearity of the measurement and generator dynamic equations, it is
quite cumbersome if not impossible to transform the entire probability density
function (pdf) for the modeling and measurement errors. Use of first order
approximation as done in Extended Kalman Filter will introduce errors which may
at times cause significant biases and even divergence.
13
As an alternative, an approximation to the true pdf can be generated by
transforming individual points in state space and calculating a sample pdf based on
them. This is essentially what an unscented transformation (UT) does. To illustrate
the idea, consider a random vector x with mean x and covariance P . One can
find a set of deterministic vectors called sigma points whose ensemble mean and
covariance are equal to x and P . Let us also consider the nonlinear measurement
function )(xhz which can be used to obtain measurement points by
substituting the sigma points for x in the measurement equations. The ensemble
mean and covariance of the transformed vectors will give a good estimate of the
true mean and covariance of z .
Suppose that x is an 1n vector that is transformed by a nonlinear function
)(xhz ,The unscented transformation base on Choosing n2 sigma points is
mentioned by following steps:
)(
*
)( ii xxx ni 2,...,1
T
i
i nPx )()(
* ni ,...,1
T
i
in nPx )()(
* ni ,...,1 (3.8)
Please note that inP)( is the i th row of nP . Transform the sigma points as
follows:
)( )()( ii xhz ni 2,...,1 (3.9)
The approximated mean and covariance of z can then be obtained as follows:
nzu
2
1
n
i
iz2
1
)( (3.10)
14
nPu
2
1 T
u
i
u
n
i
i zzzz ))(( )(2
1
)(
(3.11)
The unscented transformation mentioned above (which is based on choosing n2
sigma points ) is not the only one that exists. As an example, it can be shown that
general unscented transformation which uses 12 n sigma points to obtain the
propagated mean and covariance, gives the same order of mean and covariance
estimation accuracy as given by unscented transformation base on n2 sigma
points[3]. For computational saving purposes, we can use other type of
transformations which use less number of sigma points. It can be shown
[27,28]that minimum number of sigma points which makes it possible to obtain the
propagated mean and covariance is equal to 1n .
In this work we will consider the standard unscented kalman filtet or (UKF) which
uses the n2 sigma points UT and we evaluate the performance of UKF in compare
with EKF. In the next part we summarize the algorithm of UKF.
3.3 UNSCENTED KALMAN FILTER
The UKF uses UT(here with n2 sigma points) for solving nonlinear problems by
considering system dynamics and measurement given by (3.1)&(3.2).
where:
nx is a discrete state vector.
mz is a discrete measurement vector.
15
),0(~ kk QNw Gaussian process noise at time step k
),0(~ kk RNv Gaussian measurement noise at time step k
kQ and kR are covariance matrices of kw and kv respectively.
The UKF is initialized as follows:
)(ˆ00 xEx
, ])ˆ)(ˆ[( 00000
TxxxxEP (3.12)
Time update equations are:
(a) Calculation of sigma points:
)(
*1
)(
1ˆˆ
i
k
i
k xxx
ni 2,...,1
T
ik
i nPx )( 1
)(
*
ni ,...,1
T
ik
in nPx )( 1
)(
*
ni ,...,1 (3.13)
(b) )1,ˆ(ˆ )(
1
)( kxfx i
k
i
k ,n
xk2
1ˆ
n
i
i
kx2
1
)(ˆ
n
Pk2
1
n
i
T
k
i
kk
i
k xxxx2
1
)()( )ˆˆ)(ˆˆ(1 kQ (3.14)
The measurement update equations are as follows:
(a) Calculation of sigma points:
)(
*
)( ˆˆi
k
i
k xxx ni 2,...,1
16
T
ik
i nPx )()(
*
ni ,...,1
T
ik
in nPx )()(
*
ni ,...,1 (3.15)
In order to save computational effort step (3.15) can be omitted [3] with a slight
degradation in filter performance.
(b) ),ˆ(ˆ )()( kxhz i
k
i
k , n
zk2
1ˆ
n
i
i
kz2
1
)(ˆ
n
Pz2
1
k
n
i
T
k
i
kk
i
k Rzzzz
2
1
)()( )ˆˆ)(ˆˆ(
n
Pxz2
1
n
i
T
k
i
kk
i
k zzxx2
1
)()( )ˆˆ)(ˆˆ(
1 zxzk PPK
)ˆ(ˆˆkkkkk zzKxx
T
kzkkk KPKPP (3.16)
3.4 CASE STUDIES
In this chapter the following discretized swing and measurement equations will be
used:
),(1 kxfx kk (3.17)
),( kxhz kk (3.18)
17
where:
][ T
k
T
k
T
kx
T
mkkk
T
k ][ 21
ki :rotor angle for generator i at time step k
T
mkkk
T
k ][ 21
ki :rotor speed for generator i at time step k
m2
n : # of generators
),(1 kxfx kk and ),( kxhz kk are obtained based on the discretized (using
second-order Runga-Kutta method) swing and measurement equations given
below:
00
0
/)(
iiGiMiii DPPf
H
0 ii (3.19)
EYIG exp
)Re( *
GiiGi IEP mi ,...,1 (3.20)
Please note that Hi, PMi, PGi, and Di are the inertia constant, mechanical input
power, injected active power and damping coefficient for the ith generator
respectively.
18
Classical machine model is assumed for the synchronous generators, and based on
this assumption E is an (mx1) matrix with entries:
iiEiE
where: |E| is the back-emf of generator i.
Yexp is an (m x m) matrix which is obtained using the bus admittance matrix Ybus,
equivalent constant admittances of loads and subtransient - reactances of the
generators. Further details can be found in [2,4,5].
3.4.1 Case 1: Comparing the performance of UKF and EKF
Dynamic estimators are implemented using UKF and EKF algorithms and they are
tested on New-England 37-bus, 8 generator system(Figure 3.1).
Fig.3.1. New-England, 37-bus system.
19
The algorithms are initialized by the same values of state variables
0x̂ (which are
different from actual values),
0P , kR and kQ . Assuming Time-step=0.02sec, we
run the simulation for 10 sec where at t=5sec the indicated transmission line in
Figure3.1which is the line between LAUF138 and MORO138(here MORO 138 is
heavily loaded bus)has been switched out. The following error metrics are
calculated for rotor angles and rotor speeds separately in order to compare the
performances:
Estimation-error for rotor angles =
m
ii
t
kik xxm
E1
2
ˆ1
(3.21)
Estimation-error for rotor speeds = E
m
mii
t
kik xxm
2
1
2
ˆ1
(3.22)
where:
ikxˆ and i
t
kx are the i th elements of
kx̂ and t
kx (true state variable at time k ).
In table 3.1 we show the error metrics for both algorithms.
Table 3.1: Error metrics for case 1
Algorithm EKF UKF
Estimation-error for rotor angles
0.093
0.046
Estimation-error for rotor speeds
0.087
0.028
20
It is evident that estimation errors of UKF are much less than those of EKF under
the same initialization conditions.
As an example we also show the estimated rotor speed of generator#1 which are
obtained from both dynamic state estimator in Figure3.2&Figure3.3. In all plots
the dashed lines indicate the estimated state variable and the solid lines show the
true state trajectories.
Fig.3.2. Per-unit rotor speed of generator#1 obtained from EKF.
0 1 2 3 4 5 6 7 8 9 100.99
1
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
time [sec]
Ro
tor
spe
ed
/ S
ync.
sp
ee
d
1/
sync
+1/
sync
21
Fig.3.3. Per-unit rotor speed of generator#1obtained from UKF.
3.4.2 Case 2: Line switching transients
As mentioned earlier, while the loads are modeled as constant impedances, they
indeed vary in time, albeit much slowly compared to the system states. Slow
changes in bus loads can be captured via SCADA system which scans system loads
every 3-5 seconds. Hence, system dynamic equations can then be updated each
time a load update is received. However, errors will inadvertently accumulate
during the interval in between load updates. Two approaches are proposed below
in order to address this issue:
0 1 2 3 4 5 6 7 8 9 100.99
1
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
time [sec]
Ro
tor
spe
ed
/ S
ync.
sp
ee
d
1/
sync
+1/
sync
22
I. Increasing standard deviation ( ) for kQ
In order to evaluate this approach, bus loads are changed in the 37 bus system
during a time-interval of 180 seconds. Changes are implemented as discrete
movements occurring 10 times within this interval. As the reference, true state
trajectories are simulated using this data. Also, for simplicity we just show the
rotor angle of generator 1 and the per-unit rotor speeds of generators 1, 2, and 3.
Figure 3.4 and 3.5 show the simulation results for =0.0001 and Figure 3.6 and
3.7 show the results for =0.1. The corresponding estimation-errors are given in
Table 3.2.
Fig.3.4. Rotor angle of generator#1 when σ = 0.0001 .
20 40 60 80 100 120 140 160 180
-2.5
-2
-1.5
-1
-0.5
0
0.5x 10
4
time [sec]
Ro
tor a
ng
le [
De
g]
1
1
+
23
Fig.3.5. Per-unit rotor speed of generators #1, 2 and 3 when σ =0.0001 .
Fig.3.6. Rotor angle of generator #1 when σ = 0.1 .
0 20 40 60 80 100 120 140 160 1800.98
0.985
0.99
0.995
1
1.005
time [sec]
Ro
tor
sp
ee
d/
Syn
c.
sp
eed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
0 20 40 60 80 100 120 140 160 180-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5x 10
4
time [sec]
Ro
tor
an
gle
[D
eg]
1
1
+
24
Fig.3.7. Per-unit rotor speed of generators #1, 2 and 3 when σ = 0.1 .
Table 3.2: Error metrics for case 2
0.0001 0.1
Estimation-error for rotor angles
148.2
2.54
Estimation-error for rotor speeds
2.91
0.16
As evident from the plots, estimation error is reduced by increasing the value of σ
within the time-interval. However, estimation errors show significant variation
within the interval.
0 20 40 60 80 100 120 140 160 1800.975
0.98
0.985
0.99
0.995
1
1.005
time [sec]
Roto
r speed/ S
ync. speed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
25
This can be illustrated by opening one of the lines in the 37 bus system 5 seconds
after the beginning of the interval. Estimation of the dynamic state for the
following 5 seconds using σ = 0.1 yields the per-unit rotor speeds of generators 1,
2 and 3 as given in Figure 3.8. Large mismatches between the estimated and true
trajectories imply less than satisfactory performance.
Fig.3.8. Magnified view of the per-unit rotor speed of generator#1, 2 and 3, for σ = 0.1 .
II. Gradual increase of σ within time intervals
In this approach, σ values are increased gradually within the time interval. This is
accomplished via the expression given below:
nnk Im
kQ
1
2
1
(3.23)
where:
0 1 2 3 4 5 6 7 8 9 100.99
0.992
0.994
0.996
0.998
1
1.002
time [sec]
Ro
tor
sp
ee
d/
Syn
c.
sp
eed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
26
x represents the next integer larger than x .
m is the number of time-steps within the time-interval.
σ1 and σ2 are the lower and upper limits chosen for σ.
The same line switching transients are simulated using 0.0001 and 0.1 for the
lower and upper limits of σ. The results are shown in Figure 3.9-3.11. Estimation-
errors for rotor angles and rotor speeds in this case are calculated as 0.268 and
0.022 respectively, which is much less than the previous approach. Dynamic state
estimator performance is considered very satisfactory using this approach.
Fig.3.9. Rotor angle of generator 1 when σ is gradually increased.
0 20 40 60 80 100 120 140 160 180-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5x 10
4
time [sec]
Ro
tor
an
gle
s [
De
g]
1
1
+
27
Fig.3.10. Per-unit rotor speed of generators 1, 2 and 3 when σ is gradually increased.
Fig.3.11. Magnified view of the per-unit rotor speed of generators 1, 2 and 3 when σ is gradually
increased.
0 20 40 60 80 100 120 140 160 1800.98
0.985
0.99
0.995
1
1.005
time [sec]
Ro
tor
sp
ee
d/
Syn
c.
sp
eed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
0 1 2 3 4 5 6 7 8 9 100.99
0.992
0.994
0.996
0.998
1
1.002
time [sec]
Roto
r speed/ S
ync. speed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
28
3.5 CONCLUSIONS
In this chapter, a simple yet effective approach to improve the performance of the
dynamic state estimation (using UKF formulation) is presented. The main idea is
to compensate for the changing load and maintain acceptable estimation accuracy
during intervals when loads are not updated. This is accomplished by gradually
increasing the σ values within the intervals. Simulation results for line switching
scenarios validate effectiveness of this approach in reducing estimation errors to
satisfactory levels. However, this approach does not give us a precise solution for
dynamic state estimation of systems where load are continuously being changed. In
the next chapter we will talk about an alternative approach in order to obtain an
accurate solution for these systems.
29
Chapter 4
Distributed Implementation of an
Augmented State Dynamic Estimator
Dynamic security assessment involves dynamic simulation of the system’s
response to expected contingencies such as sudden load changes, line switching,
short circuit faults, etc. This is a challenging problem due to the large number of
machine and network variables typically used in the formulation. However, since
the main concern is system stability, it is usually sufficient to run these simulations
not longer than a few seconds by which time system stability under the considered
contingency can be assessed. Given the relatively slow response of most loads to
changes in system frequency it has been customary to model loads as fixed
impedances and thus reducing the problem size down to generator buses. While
this approximation works well for dynamic studies carried out periodically each
time approximating the loads based on the current operating point, it may not be
suitable if the model is to be used continuously in real-time. This is indeed the
case when a dynamic state estimator (DSE) is to be implemented on-line since it
has to run continuously and has to track load changes in real-time.
As we mentioned in the previous chapter, one way to improve the performance of
the DSE is to monitor the load changes on longer intervals and strategically vary
the variance of the system state error covariance matrix to compensate for the
errors introduced by changing loads. This approach is simple to implement yet it
30
still yields an approximate solution. So, in this chapter an alternative and accurate
approach will be proposed where the dynamic state vector will be augmented by
the algebraic variables representing the complex bus voltages and the dynamic
state and measurement equations will be accordingly reformulated.
The downside of this proposal is that given the large number of buses compared to
the number of generating units connected to a typical transmission grid this will
lead to a significant increase in the problem size and complexity. In order to
overcome this limitation the dynamic state estimation formulation needs to be
scalable, i.e. complexity of the problem should remain minimally affected with
increasing system size. Thus, a multi-area approach to dynamic state estimation
will be used for this purpose. It will be shown that through the use of phasor
measurement unit (PMU) measurements, this can be achieved easily and with little
change in the existing dynamic state estimation formulation.
4.1 PROBLEM FORMULATION
Power system dynamics can be modeled as a set of differential algebraic equations
(DAE) where the expressions contain two sets of variables:
Dynamic state variables: denoted by vector x , which includes the rotor angle
and the rotor angular speed of each generator (assuming the classical
generator model only).
Algebraic variables: voltage magnitude V and voltage phase angle of each
bus.
Thus, the dynamic state variables and algebraic variables are estimated and
updated simultaneously at each time step as described in [6], [23].
31
The proposed approach which addresses both the computational complexity as
well as the load tracking is implemented on the 37-bus New England system with 8
generators. Here we have used Unscented Kalman Filter (UKF) in developing the
dynamic state estimator. For more details about UKF please refer to Chapter 3.
4.2 IMPLEMENTATION OF DYNAMIC ESTIMATOR
Consider the dynamic equations for synchronous generators using the classical
generator model:
00
0
/)(
iiGiMiii DPPf
H
0 ii (4.1)
where
id
iiii
Gixj
VEI
)Re( *
GiiiGi IEP (4.2)
mi ,...,1
m is total number of generators.
Please note that iH , MiP , GiP , iD , iE , dix are the inertia constant, mechanical
input power, injected active power, damping coefficient, back emf and subtransient
32
reactance for the i th generator respectively. iV and i are also the voltage
magnitude and voltage phase angle of the corresponding machine’s terminal
voltage.
4.2.1 Conventional Approach
Dynamic state vector for a m -generator system will be:
Tmmx ......11 (4.3)
Assuming terminal power output measurements for each unit as the measurement
set:
TmGmG vPvPz ...11 (4.4)
Second-order Runga-Kutta method can be used to discretize the differential
equations of the generators mentioned above. This will yield two sets of difference
equations [2]:
),(1 kxfx kk state dynamics (4.5)
33
),( kxhz kk measurement equations (4.6)
The algebraic variables, iV and i will also be updated at each time step k by
using the network-equations. The following assumptions will be made:
Simulation time-step=0.025s
Arbitrary initialization of variables in (3.12)
zz nnk IeR 51 and nnk IeQ 61 where, zn and n are the total number of
measurements(here is equal to m ) and total number of state variables in state
vector x respectively.
UKF is implemented and tested using the system shown in Figure 4.1. A sudden
increase in load at bus HALE69 at t=1s followed by disconnection of line LAUF69
to HALE69 (at t=1.1s) is simulated as the disturbance event. The generators are
indicated by numbers 1 to 8, and HALE69 bus is indicated by a (red) dashed circle
in Figure 4.1. The output of DSE for rotor angle of generator #1 and per-unit rotor
speeds of generators #1, 2& 3 are shown in Figure 4.2 and Figure 4.3 respectively.
Note that in all plots the dashed lines indicate the estimated state variables whereas
the solid lines show the true state trajectories.
34
Fig.4.1. New-England, 37-bus system with sudden load change in HALE69.
Fig.4.2. Rotor angle of generator #1obtained based on conventional approach.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
20
40
60
time [sec]
Roto
r an
gle
[Deg]
1
1
+
35
Fig.4.3. Per-unit rotor speed of generators 1, 2 and 31obtained based on conventional approach.
As evident from the above figures, after the disturbance at t=1s the estimated and
true state variables clearly deviate. The reason for this mismatch is the fact that
despite the sudden change in load it is not being incorporated into the network
equations of the dynamic state estimator since the reduced set of equations are
continued to be used based on the initial load assumption.
4.2.2 Dynamic State Estimation Using Augmented State Vector
The formulation is modified to incorporate the algebraic variables and the state
vector is augmented. It includes both the dynamic state variables of the generators
and algebraic variables of the network as shown below:
TNNmm VVx ............ 1111 (4.7)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.996
0.997
0.998
0.999
1
1.001
1.002
1.003
time [sec]
Roto
r sp
eed/ S
ync.
speed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
36
where m is total number of generators and N is total number of buses in the
system.
Here, in order to obtain (4.5) for updating the augmented state vector we consider
the following assumptions:
Dynamic state variables of generators again will be updated by discretizing the
differential equations of the generators(4.1)&(4.2).
The algebraic variables will be updated by:
kkVV
1 , kk 1 (4.8)
Where k
V and k are column vectors of the voltage magnitudes and voltage
phase angles of all buses respectively at time step k .
The set of measurements used for this case include:
Injected active power measurements at all generators.
Voltage magnitude and voltage phase angle of all buses.
UKF is again implemented for this formulation and the same test system and
disturbance scenario are used for simulations. The results for the rotor angle of
generator#1 and per-unit rotor speeds of generators#1,2 and 3 are shown in Figure
4.4 and Figure 4.5 respectively.
37
Fig.4.4. Rotor angle of generator #1obtained using augmented state vector approach.
Fig.4.5. Per-unit rotor speed of generators# 1, 2 & 3obtained using augmented state vector approach.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
20
time [sec]
Roto
r an
gle
[D
eg]
1
1
+
0 1 2 3 4 50.9965
0.997
0.9975
0.998
0.9985
0.999
0.9995
1
1.0005
time [sec]Roto
r sp
eed/ S
ync.
speed
1/
sync
+
1/
sync
2/
sync
+
2/
sync
3/
sync
+
3/
sync
38
The estimated and true trajectories of the state variables match closely as a result
of this revised formulation as seen from the above figures. While these results
appear very satisfactory, they may come at a high computational cost for large
scale systems.
In order to address this issue and make this approach scalable, a multi-area solution
will be presented next.
4.2.3 Distributed Multi-Area Dynamic State Estimation
The augmented state vector formulation also allows easy decoupling of the system
into smaller zones (areas) and performing the DSE independently for each zone.
When working with very large scale systems, it will thus be possible to identify
smaller size zones and perform the DSE simultaneously in parallel for these zones
and therefore obtain the DSE result for the entire system in a much shorter time.
Furthermore, as long as such zones can be found as observable islands, they can be
added to the system model without impacting the total solution time significantly.
In order to identify these specific zones, the following conditions should be
satisfied:
1. Zones are connected by lines or transformers, so each bus belongs to only
one zone.
2. Boundary bus injection measurements (current or power) are disregarded.
3. Each zone is fully observable by its own measurements.
39
4. Each zone has to have at least one phasor measurement to facilitate
synchronization with the rest of the zone estimates.
5. Measurements are available at the required scan rate of the dynamic
estimator.
The formulation for each zone will be identical to the one developed in the
previous section. As an example the augmented state vector by considering simple
classical models for the generators will be:
TNNmm zzzzVVx ............ 1111 (4.9)
where zm is total number of generators and zN is total number of buses inside the
zones which satisfy the above assumptions.
Considering the assumptions mentioned above, the test system of Figure 4.1 is
divided into four zones (as indicated by the dotted lines in Figure 4.6).
The following measurements are assumed for each zone:
Injected active powers by generators which are indicated by red arrows in
Figure 4.6.
Voltage magnitude and voltage phase angles of the buses which are indicated
by green circles (assuming PMUs are placed at these buses) in Figure 4.6.
Combination of power flows on transmission lines that make the zone
observable, Here we consider the active and reactive power through
transmission lines which are indicated by blue arrows in Figure 4.6.
Please note that some of the measurements may be redundant. As an example
the active and reactive power from bus A to bus B (end of arrow) can be
obtained by:
40
jVZVVI AAABBBAAAB */)(
)( *
ABAAAB IVrealP
)( *
ABAAAB IVimagQ (4.10)
Please note that ABZ and j are the impedance and the half of the total line
charging susceptance for the transmission line between A and B respectively.
Fig.4.6. New-England, 37-bus system divided into four zones.
Again, consider the same disturbance scenario as above but this time four separate
UKFs are implemented, one for each zone to estimate the corresponding
41
augmented state vectors of individual zones. In order to evaluate the performance
of DSE of each zone, we show the estimated rotor angle, per-unit rotor speed,
magnitude and angle of terminal voltage corresponding to generators of each zone
in below:
Fig.4.7. Rotor angles of generators#1&8 inside zone 1.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
20
time [sec]
Ro
tor
an
gle
[D
eg
]
1
1+
8
8+
42
.
Fig.4.8. Per-unit rotor speeds of generators# 1 & 8 inside zone 1.
.
Fig.4.9. Bus voltage’s magnitudes of generators# 1&8 inside zone 1.
0 1 2 3 4 50.997
0.9975
0.998
0.9985
0.999
0.9995
1
1.0005
time [sec]
Rot
or s
peed
/ Syn
c. s
peed
1/
sync
+1/
sync
8/
sync
+8/
sync
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
time [sec]
Bu
s V
olta
ge
(pu
)
|V1|
|V+1|
|V8|
|V+8|
43
.
Fig.4.10. Bus voltage’s angles of generators# 1 & 8 inside zone 1.
Fig.4.11. Rotor angles of generators#2-4 inside zone 2.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
time [sec]
Bus
vol
tag
e an
gle
[Deg
]
1
+1
8
+8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-160
-140
-120
-100
-80
-60
-40
-20
0
20
time [sec]
Roto
r an
gle
[Deg
]
2
2+
3
3+
4
4+
44
Fig.4.12. Per-unit rotor speeds of generators# 2-4 inside zone 2.
.
Fig.4.13. Bus voltage’s magnitudes of generators# 2-4 inside zone 2.
0 1 2 3 4 50.996
0.997
0.998
0.999
1
1.001
1.002
1.003
time [sec]
Rot
or s
peed
/ Syn
c. s
peed
2/
sync
+2/
sync
3/
sync
+3/
sync
4/
sync
+4/
sync
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.7
0.75
0.8
0.85
0.9
0.95
1
time [sec]
Bu
s V
olta
ge
(pu
)
|V2|
|V+2|
|V3|
|V+3|
|V4|
|V+4|
45
Fig.4.14. Bus voltage’s angles of generators# 2-4 inside zone 2.
Fig.4.15. Rotor angles of generators#6-7 inside zone 3.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-150
-100
-50
0
time [sec]
Bus
volta
ge a
ngle
[Deg
]
2
+2
3
+3
4
+4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
20
time [sec]
Ro
tor
an
gle
[D
eg
]
6
6+
7
7+
46
Fig.4.16. Per-unit rotor speed of generators # 6-7 inside zone 3.
Fig.4.17. Bus voltage’s magnitudes of generators# 6-7 inside zone 3.
0 1 2 3 4 50.997
0.998
0.999
1
1.001
1.002
1.003
time [sec]
Rot
or s
peed
/ Syn
c. s
peed
6/
sync
+6/
sync
7/
sync
+7/
sync
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
time [sec]
Bus V
oltag
e(p
u)
|V6|
|V+6|
|V7|
|V+7|
47
Fig.4.18. Bus voltage’s angles of generators# 6-7 inside zone 3.
Fig.4.19. Rotor angle of generator#5 inside zone 4.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-150
-100
-50
0
time [sec]
Bu
s vo
ltag
e a
ng
le [D
eg
]
6
+6
7
+7
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-140
-120
-100
-80
-60
-40
-20
0
20
time [sec]
Ro
tor
an
gle
[D
eg
]
5
5+
48
Fig.4.20. Per-unit rotor speed of generator# 5 inside zone 4.
Fig.4.21. Bus voltage’s magnitude of generator# 5 inside zone 4.
0 1 2 3 4 50.996
0.997
0.998
0.999
1
1.001
1.002
1.003
time [sec]
Rot
or s
peed
/ Syn
c. s
peed
5/
sync
+5/
sync
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.96
0.965
0.97
0.975
0.98
0.985
0.99
0.995
1
1.005
time [sec]
Bus V
oltag
e(p
u)
|V5|
|V+5|
49
Fig.4.22. Bus voltage’s angle of generator# 5 inside zone 4.
As seen in Figures 4.7 - 4.22, trajectories estimated by individual zone DSEs
closely match those estimated by the system-wide integrated DSE. These results
imply that large scale DSE implementation will be possible by zone-based DSEs
which are synchronized through phasor measurements existing in each zone.
Zones can exchange their results either with their neighbors or with everyone by
configuring a common data bus structure where all results will be uploaded. Now
we compare the CPU-time/time-step associated with dynamic state estimation of
each zone with CPU-time/time-step of the simulations in the previous part which
was obtained based on augmented state vector approach for entire system.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-150
-100
-50
0
time [sec]
Bus
vol
tage
ang
le [D
eg]
5
+5
50
Table 4.1: CPU-Time associated with dynamic state estimation of the zones.
Approach
K
(Number of time steps)
CPU-Time
(sec)
CPU-Time/K
(sec)
Augmented state vector
(entire system)
201
2.6938
0.0134
Conventional approach
201
0.3305
0.0016
Distributed Multi-Area
(zone 1)
201
0.4036
0.0020
Distributed Multi-Area
(zone 2)
201
0.4220
0.0021
Distributed Multi-Area
(zone 3)
201
0.4092
0.0020
Distributed Multi-Area
(zone 4)
201
0.3092
0.0015
Based on the data in table4.1 the CPU-times associated with dynamic state
estimation of the zones(specially for zone 4) are considerably smaller than CPU-
time of the results obtained based on augmented state vector approach for entire
system.
As we mentioned before, for simplicity we considered classical models for the
generators, now we finish this chapter by the following example where we estimate
the augmented state vector associated with a more complex model of a
synchronous generator.
51
Example 4.1
The differential equations corresponding to a synchronous two-axis generator with
IEEE-Type I exciter are given as follows [6]:
fddddq
q
do EIXXEdt
EdT
qqqdd
qo IXXEdt
EdT
0
dt
d
00
0
/2
DPP
dt
dHGM
RfdfdEE
fd
E VEESKdt
dET
fd
F
Ff
f
F ET
KR
dt
dRT
VVKET
KKRKV
dt
dVT refAfd
F
FAfAR
RA (4.11)
Please note that in the equations mentioned above the state variables associated
with two-axis generators are: rotor angle , rotor speed , internal voltages qE
and dE .
The state variables associated with IEEE-Type I exciter are: excitation voltage fdE ,
rate feedback fR , exciter input RV .
refV is called exciter reference (setpoint) where exciter systematically adjusts fdE in
52
attempt to minimize the difference between terminal voltage and this reference
signal.
Here ES is saturation function( function of fdE ) which is given beside the values of
constant variables in table 4.2.
Assuming the stator resistance is zero( 0aR ), we have[4],[21]:
d
mq
dX
VEI
)cos(
q
m
qX
VI
)sin(
)2sin(11
2)sin(
2
m
dq
mq
d
eXX
VE
X
VP
))(sin)(cos
()cos(
22
2
q
m
d
m
mq
d
eXX
VEX
VQ
m (4.12)
Now we consider the following assumptions:
The generator is connected to an infinite bus.
The mechanical input power MP is unknown, therefore we consider it as a
state variable.
The augmented state vector is: TMRffddq VPVREEEx
Tee vvVvQvPz 4321 , where 4451 IeRk and
101061 IeQk
Arbitrary initialization of variables in (3.12)
We discretize the equations mentioned above using Euler method.
53
Time step=0.02 sec.
Now we estimate the augmented state vector x for this machine where at t=1s we
have changed the value of refV (from 1.095 to 1.25). The results are shown in
figures 4.23-4.32.
Table 4.2: Data for example 4.1
(sec)H 23.64
)( puX d 0.146
)( puX d 0.0608
)( puX q 0.0969
)( puX q 0.0769
(sec)doT 8.96
(sec)qoT 0.31
D 0.0125
)( puV 1.04
(deg) 0
)( puVref 1.095
AK 20
(sec)AT 0.2
EK 1
(sec)ET 0.314
FK 0.063
(sec)FT 0.35
)( fdE ES )555.1exp(0039.0 fdE
54
Fig.4.23. Rotor angle of the generator in example 4.1.
Fig.4.24. Per-unit rotor speed of the generator in example 4.1.
0 0.5 1 1.5 2 2.5 3 3.5 4-6
-5
-4
-3
-2
-1
0
1
2
3
4
time [sec]
Ro
tor
an
gle
[D
eg
]
+
0 0.5 1 1.5 2 2.5 3 3.5 40.995
1
1.005
1.01
1.015
1.02
1.025
1.03
1.035
time [sec]
Roto
r sp
eed/
Syn
c. s
peed
/sync
+/sync
55
Fig. 4.25. Internal voltage-q axis of the generator in example 4.1.
Fig.4.26. Internal voltage-d axis of the generator in example 4.1.
0 0.5 1 1.5 2 2.5 3 3.5 40
0.2
0.4
0.6
0.8
1
1.2
1.4
time [sec]
Inte
rna
l vo
ltag
e-q
axi
s (
pu
)
Epq
E+pq
0 0.5 1 1.5 2 2.5 3 3.5 4-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
time [sec]
Inte
rna
l vo
lta
ge-d
axis
(p
u)
Epd
E+pd
56
Fig.4.27. Excitation voltage of the generator in example 4.1.
Fig.4.28. Rate feedback of the generator in example 4.1.
0 0.5 1 1.5 2 2.5 3 3.5 4-0.5
0
0.5
1
1.5
2
2.5
3
time [sec]
Excitation v
oltage (
pu)
Efd
E+fd
0 0.5 1 1.5 2 2.5 3 3.5 4-7
-6
-5
-4
-3
-2
-1
0
1
2
time [sec]
Rate
feedback
Rf
R+f
57
Fig.4.29. Exciter input of the generator in example 4.1.
Fig.4.30. Mechanical input power (pu) of the generator in example 4.1.
0 0.5 1 1.5 2 2.5 3 3.5 4-35
-30
-25
-20
-15
-10
-5
0
5
10
time [sec]
Exciter
input
VR
V+R
0 0.5 1 1.5 2 2.5 3 3.5 4-12
-10
-8
-6
-4
-2
0
2
4
time [sec]
Me
ch
. in
put
po
we
r(p
u)
PM
P+M
58
Fig.4.31. Terminal bus voltage’s magnitude of the generator in example 4.1.
Fig.4.32. Terminal bus voltage’s angle of the generator in example 4.1.
0 0.5 1 1.5 2 2.5 3 3.5 41
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
time [sec]
Bus V
oltage (
pu)
V
V+
0 0.5 1 1.5 2 2.5 3 3.5 4-0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
time [sec]
Bu
s v
olta
ge a
ngle
[D
eg
]
+
59
4.3 CONCLUSIONS
In this chapter, an alternative method for obtaining a more precise solution for
dynamic state estimation of a system with load changes has been proposed.
Furthermore, an extension of this formulation for large scale systems by a multi-
area implementation is also presented. The system is divided into several non-
overlapping zones which are synchronized via phasor measurements. DSEs are
simultaneously executed by each zone. Each zone uses the proposed augmented
state formulation where the state vector for each zone is estimated accounting for
changes in bus loads. Simulation results for a 37-bus system are used to
demonstrate the effectiveness of this approach.
60
Concluding Remarks and Further Study
5.1 Concluding Remarks
In this thesis, two different effective approaches to improve the performance of the
dynamic state estimation (using UKF formulation) are presented. The main idea of
the first approach is to reduce the error associated with dynamic state estimation
due to considering wrong load models within the network equations of the DSE.
Various type of load models can be implemented within the network equation of
DSE for example ZIP load model or constant impedance load. Conspicuously in
the real power system the future dynamic behavior of loads are unknown, therefore
the considered equivalent load models in DSE will be different than true load
models, thus this mis-modeling may drastically reduce the performance of DSE.
The proposed method mentions that the network equations of DSE can be restored
each time the most updated load models are obtained and during the time intervals
that load updates are not received the effect of mis-modeling on the performance of
DSE can be reduced by gradually increasing the σ values within the intervals. The
effectiveness of this approach has been evaluated by showing the simulation results
for New-England 37 bus system where the duration of time interval is considered
to be 180-sec and the loads have been changed( by 10 steps) during this period.
Chapter 5
61
However, the drawback of this method is that although it reduces the error of the
state estimation, it does not give us a precise solution.
Based on the second approach, using the augmented state vector which beside the
machine’s state variables also includes the algebraic network variables, namely
voltage magnitude and voltage phase angle of all buses, the effect of load changes
on dynamic state estimation can be accurately taken into account. The reason is
that machines state variables will be updated through their dynamic equations
which includes the true estimated algebraic network variables. In other words by
estimating these algebraic variables the differential algebraic equations in DSE will
be independent of load models.
This approach also allows us to perform a multi-area dynamic state estimation for a
large scale system where we split the system into several non-overlapping zones
which are synchronized via phasor measurements. Then we implement DSEs
simultaneously in each zone to estimate the corresponding augmented state vectors
which take into account the changes in bus loads. The simulation results for the
New-England 37 bus system also validated the effectiveness of this approach.
62
5.2 Further Study
Obtaining a correct equivalent load model connected to the bus loads can be highly
beneficial in power system analysis. Using wrong load models may lead to
inconsistent results for dynamic stability (as shown in this work) and voltage
collapse studies [29]. In general load modeling approaches are classified into two
categories: Component-based approach [30] and measurement-based approach [31,
32] . The drawback of the first approach is that the load inventory of typical loads
is needed to synthesize loads model therefore the performance of this approach
depends on true inventory of the loads connected to the feeders which is not
always available [33]. The second approach estimates load parameters using
measurements which gives a more precise picture of the real-time loads and their
dynamic characteristics[34].
Aggregate (Composite ) load model which includes static load(ZIP load) in parallel
with induction motor is one of the most accepted models for describing the
dynamic of the loads. Aggregate load model can be generally presented as
follows[35]:
MOTZIPs PPP ** 11
MOTZIPs QQQ ** 22 (5.1)
Where sP , ZIPP and MOTP represent the real power of aggregate load, ZIP load and
induction motor load; and are static and dynamic load percentages.
The ZIP load is expressed as follows:
pppZIP c
V
Vb
V
VaPP )()(
0
2
0
0
63
qqqZIP c
V
Vb
V
VaQQ )()(
0
2
0
0 (5.2)
Where 0P and 0Q represent the real and reactive load power in the steady state;
1 ppp cba and .1 qqq cba
Now the main purpose is to identify the parameters and also estimate the state
variables of the aggregate load which includes:
Load composition parameters: 2121 ,,, .
The parameters of ZIP load: qqqppp cbacba ,,,,, .
The parameters and state variables associated with the induction load motor,
more details are available in [35].
However in real power systems due to large number of bus loads it is not practical
to install a large number of meters such as PMUs on these buses. Fortunately,
estimation of the augmented state vector allows to accurately monitor the systems
state variables under load changes. Based on these estimated state variables the
estimated phasor voltages, injected active and reactive power by the bus loads can
be readily obtained.
Development of novel methods to identify the parameters and estimate the state
variables of the corresponding aggregated load models will be investigated as
future work.
.
64
Appendix A
FUNDAMENTAL SCRIPTS USED FOR DYNAMIC
STATE ESTIMATION
A.1 EKF based on conventional approach assuming classical model for
synchronous generators
**************Extended Kalman Filter(conventional method) **************
for k=2:kmax%k means the kth time step, Kmax is the time step when fault
occurs(here line outage)
%Obtaining partial derivative matrix(F COMPUTATION)
F2=t_step*[eye(no),zeros(no)]; % t_step is time-step, no is total number of
generators
dedx=[zeros(no),diag(j*ABS_E.*exp(j*my_dp(:,k-1)))]; % ABS_E is a column
vector inculing magnitudes of back EMFs, my_dp is the posteriori estimate of
rotor angles
didx=Y*dedx; % Y is the reduced Ybus before the fault(line outage)
E=ABS_E.*exp(j*my_dp(:,k-1));
I=Y*E;
dpgdx=real(conj(diag(I))*dedx+diag(E)*conj(didx));
F1=t_step*diag(M.^-1)*(0-dpgdx); % M is column vector of inertia constants
F_inc=[F1;F2];
F=eye(ns)+F_inc;
%P_M (priori estimation error covariance)computation
65
Q=sig_Q^2*eye(ns); % ns is total number of state variables, sig_Q is std of
state error covariance matrix
P_M=F*P_P*F'+Q;
%x_minus(priori estimation of x) computation
E=ABS_E.*exp(j*my_dp(:,k-1));
I=Y*E;
my_PG_minus(:,k-1)=real(E.*conj(I));
PM0=my_PG_minus(:,1); %pmech=pelec at t=0
g=M.^-1.*(PM0-my_PG_minus(:,k-1));
my_w_minus=my_xp(1:no,k-1)+t_step*g;
my_delta_minus=my_xp(no+1:ns,k-1)+t_step*my_xp(1:no,k-1);
my_xm=[my_w_minus;my_delta_minus];
%COMPUTATION OF Hk and h=PG @ x_minus
dedx=[zeros(no),diag(j*ABS_E.*exp(j*my_delta_minus))];
didx=Y*dedx;
E=ABS_E.*exp(j*my_delta_minus);
I=Y*E;
h=real(E.*conj(I));
HH=real(conj(diag(I))*dedx+diag(E)*conj(didx));
%COMPUTATION OF Mk
MM=eye(no);
%COMPUTATION of K(Kalman gain)
R=sig_R^2*eye(no);%sig_R is the std of measurement error covariance
matrix
K=P_M*HH'*(HH*P_M*HH'+MM*R*MM')^-1;
y=my_PG(:,k)+sig_R*randn(no,1); %my_PG is the actual injected active
power by the generators
my_xp(:,k)=my_xm+K*(y-h); % my_xp is posteriori estimation of x
my_dp=my_xp(no+1:ns,:);
66
P_P=(eye(ns)-K*HH)*P_M*((eye(ns)-K*HH)).'+K*R*(K).';
end
for k=kmax+1:kend%kend is the last time step of the simulation
%F COMPUTATION
F2=t_step*[eye(no),zeros(no)];
dedx=[zeros(no),diag(j*ABS_E.*exp(j*my_dp(:,k-1)))];
didx=Y_SW*dedx;
E=ABS_E.*exp(j*my_dp(:,k-1));
I=Y_SW*E; %Y_SW is the reduced Ybus after the fault (line outage)
dpgdx=real(conj(diag(I))*dedx+diag(E)*conj(didx));
F1=t_step*diag(M.^-1)*(0-dpgdx);
F_inc=[F1;F2];
F=eye(ns)+F_inc;
%P_M computation
Q=sig_Q^2*eye(ns);
P_M=F*P_P*F'+Q;
%x_minus computation
E=ABS_E.*exp(j*my_dp(:,k-1));
I=Y_SW*E;
my_PG_minus(:,k-1)=real(E.*conj(I));
g=M.^-1.*(PM0-my_PG_minus(:,k-1));
my_w_minus=my_xp(1:no,k-1)+t_step*g;
my_delta_minus=my_xp(no+1:ns,k-1)+t_step*my_xp(1:no,k-1);
my_xm=[my_w_minus;my_delta_minus];
%COMPUTATION OF Hk and h=PG @ x_minus
dedx=[zeros(no),diag(j*ABS_E.*exp(j*my_delta_minus))];
67
didx=Y_SW*dedx;
E=ABS_E.*exp(j*my_delta_minus);
I=Y_SW*E;
h =real(E.*conj(I));
HH =real(conj(diag(I))*dedx+diag(E)*conj(didx));%correct
%COMPUTATION OF Mk
MM=eye(no);
%COMPUTATION of K (Kalman gain)
R=sig_R^2*eye(no);
K=P_M*HH'*(HH*P_M*HH'+MM*R*MM')^-1;
y =my_PG(:,k)+sig*randn(no,1);
my_xp(:,k)=my_xm+K*(y-h);
my_dp=my_xp(no+1:ns,:);
P_P=(eye(ns)-K*HH)*P_M*((eye(ns)-K*HH)).'+K*R*(K).';
end
A.2 Unscented Kalman Filter (UKF) based on conventional approach
assuming classical model for synchronous generators
************Unscented Kalman Filter(conventional method) ************
ABS_E_rep=repmat(ABS_E,1,2*ns);%ABS_E is a column vector including
magtinudes of back EMFs.
M_rep=repmat(M,1,2*ns);% M is column vector of inertia constants
Damp_rep=repmat(Damp,1,2*ns)/(2*pi*f0); Damp is column vector of damping
coefficients
PM0_rep=repmat(PM0,1,2*ns);%pmech=pelec at t=0
68
for k=2:k_kamx%k means the kth time step, Kmax is the time step when fault
occurs(here line outage)
% Obtaining first set of sigma points
A=chol(ns*P_P);
my_x_tilda=[A',-A'];
rep1=repmat(my_xp(:,k-1),1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:ns,:);
%Obtaining the transformed sigma points
E=ABS_E_rep.*exp(j*my_del_sigma);
I=Y*E;
my_PG=real(E.*conj(I));
g=M_rep.^-1.*(PM0_rep-my_PG1-Damp_rep.*my_w_sigma);
ka=g*t_step;
kpa=my_w_sigma*t_step;
E=ABS_E_rep.*exp(j*(my_del_sigma+kpa));
I=Y*E;
my_PGp=real(E.*conj(I));
g=M_rep.^-1.*(PM0_rep- my_PGp-Damp_rep.*(my_w_sigma+ka));
kb=g*t_step;
kpb=(my_w_sigma+ka)*t_step;
my_del_sigma=my_del_sigma+(kpa+kpb)/2;
my_w_sigma=my_w_sigma+(ka+kb)/2;
my_x_sigma=[my_w_sigma;my_del_sigma];
%x_minus(priori estimation of x)
x_minus=(2*ns)^-1*(sum(my_x_sigma'))';
69
%P_M(priori state error covariance matrix)
Q=sig_Q^2*eye(ns);
x_minus_rep=repmat(x_minus,1,2*ns);
P_M=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(my_x_sigma-x_minus_rep)'+Q;
%obtaining new set of sigma points-this step can be omitted
A=chol(ns*P_M);
my_x_tilda=[A',-A'];
rep1=repmat(x_minus,1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:ns,:);
%y_sigma(predicted measurements)
E=ABS_E_rep.*exp(j*my_del_sigma);
I=Y*E;
my_PG1=real(E.*conj(I));
y_sigma=my_PG1;
%y predict
y_predict=(2*ns)^-1*(sum(y_sigma'))';
% cov y predict &R
y_predict_rep=repmat(y_predict,1,2*ns);
R=sig_R^2*eye(no);
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)'+R;
%cross cov x_minus and y predict
P_xy=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)';
%measurement update
K=P_xy*P_y^-1;
70
y =my_PG(:,k)+sig_R*randn(no,1);
my_xp(:,k)=x_minus+K*(y-y_predict);
my_dp=my_xp(no+1:ns,:);
P_P=P_M-K*P_y*K';
end
for k=kmax+1:kend %kend is the last time step of the simulation
% Obtaining first set of sigma points
A=chol(ns*P_P);
my_x_tilda=[A',-A'];
rep1=repmat(my_xp(:,k-1),1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:ns,:);
% Obtaining the transformed sigma points
E=ABS_E_rep.*exp(j*my_del_sigma);
I=Y_SW*E;
my_PG1=real(E.*conj(I));
g=M_rep.^-1.*(PM0_rep-my_PG1-Damp_rep.*my_w_sigma);
ka=g*t_step;
kpa=my_w_sigma*t_step;
E=ABS_E_rep.*exp(j*(my_del_sigma+kpa));
I=Y_SW*E;
my_PGp=real(E.*conj(I));
g=M_rep.^-1.*(PM0_rep- my_PGp-Damp_rep.*(my_w_sigma+ka));
kb=g*t_step;
kpb=(my_w_sigma+ka)*t_step;
my_del_sigma=my_del_sigma+(kpa+kpb)/2;
my_w_sigma=my_w_sigma+(ka+kb)/2;
my_x_sigma=[my_w_sigma;my_del_sigma];
% x_minus(priori estimation of x)
71
x_minus=(2*ns)^-1*(sum(my_x_sigma'))';
% P_M(priori state error covariance matrix)
Q=sig_Q^2*eye(ns);
x_minus_rep=repmat(x_minus,1,2*ns);
P_M=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(my_x_sigma-x_minus_rep)'+Q;
% obtaining new set of sigma points-this step can be omitted
A=chol(ns*P_M);
my_x_tilda=[A',-A'];
rep1=repmat(x_minus,1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:ns,:);
%y_sigma(predicted measurements)
E=ABS_E_rep.*exp(j*my_del_sigma);
I=Y_SW*E;
my_PG1=real(E.*conj(I));
y_sigma=my_PG1;
%y predict
y_predict=(2*ns)^-1*(sum(y_sigma'))';
% cov y predict &R
y_predict_rep=repmat(y_predict,1,2*ns);
R=sig_R^2*eye(no);
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)'+R;
%cross cov x_minus and y predict
P_xy=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)';
72
%measurement update
K=P_xy*P_y^-1;
y =my_PG(:,k)+sig_R*randn(no,1);
my_xp(:,k)=x_minus+K*(y-y_predict);
my_dp=my_xp(no+1:ns,:);
P_P=P_M-K*P_y*K';
end
A.3 Unscented Kalman Filter (UKF) based on augmented state vector
approach assuming classical model for synchronous generators
************Unscented Kalman Filter(augmented state vector) ************
ABS_E_rep=repmat(ABS_E,1,2*ns);%ABS_E is a column vector including magtinudes
of back EMFs.
M_rep=repmat(M,1,2*ns);% M is column vector of inertia constants
Damp_rep=repmat(Damp,1,2*ns)/(2*pi*f0); Damp is column vector of damping
coefficients
PM0_rep=repmat(PM0,1,2*ns);%pmech=pelec at t=0
for k=2:kend%k means the kth time step kend is the last time step of the
simulation
% Obtaining first set of sigma points
A=chol(ns*P_P);
my_x_tilda=[A',-A'];
rep1=repmat(my_xp(:,k-1),1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:2*no,:);
my_v_sigma=my_x_sigma(2*no+1:2*no+nd,:);
my_theta_sigma=my_x_sigma(2*no+nd+1:2*no+2*nd,:);
%Obtaining the transformed sigma points
73
E=ABS_E_rep.*exp(j*my_del_sigma);
EV=[E;my_v_sigma.*exp(j*my_theta_sigma)];
I=Y_BUS*EV; %Y_BUS is the bus admittance matrix which also includes the
internal buses of the generators
my_PG1=real(E.*conj(I(1:no,:)));
g=M_rep.^-1.*(PM0_rep-my_PG1-Damp_rep.*my_w_sigma);
ka=g*t_step;
kpa=my_w_sigma*t_step;
E=ABS_E_rep.*exp(j*(my_del_sigma+kpa));
EV=[E;my_v_sigma.*exp(j*my_theta_sigma)];
I=Y_BUS*EV;
my_PGp=real(E.*conj(I(1:no,:)));
g=M_rep.^-1.*(PM0_rep- my_PGp-Damp_rep.*(my_w_sigma+ka));
kb=g*t_step;
kpb=(my_w_sigma+ka)*t_step;
my_del_sigma=my_del_sigma+(kpa+kpb)/2;
my_w_sigma=my_w_sigma+(ka+kb)/2;
my_x_sigma=[my_w_sigma;my_del_sigma;my_v_sigma;my_theta_sigma];
% x_minus(priori estimation of x)
x_minus=(2*ns)^-1*(sum(my_x_sigma'))';
% P_M(priori state error covariance matrix)
Q=sig_Q^2*eye(ns);
x_minus_rep=repmat(x_minus,1,2*ns);
P_M=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(my_x_sigma-x_minus_rep)'+Q;
% obtaining new set of sigma points
A=chol(ns*P_M);
my_x_tilda=[A',-A'];
rep1=repmat(x_minus,1,2*ns);
74
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:2*no,:);
my_v_sigma=my_x_sigma(2*no+1:2*no+nd,:);
my_theta_sigma=my_x_sigma(2*no+nd+1:2*no+2*nd,:);
% y_sigma(predicted measurements)
E=ABS_E_rep.*exp(j*my_del_sigma);
EV=[E;my_v_sigma.*exp(j*my_theta_sigma)];
I=Y_BUS*EV;
my_PG1=real(E.*conj(I(1:no,:)));
my_absv1=my_v_sigma;
my_theta1=my_theta_sigma;
y_sigma=[my_PG1;my_absv1;my_theta1];
%y predict
y_predict=(2*ns)^-1*(sum(y_sigma'))';
% cov y predict &R
y_predict_rep=repmat(y_predict,1,2*ns);
R=sig_R^2*eye(2*nd+no); %nd is total number of buses without internal buses
of the generators
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)'+R;
%cross cov x_minus and y predict
P_xy=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)';
%measurement update
K=P_xy*P_y^-1;
y_small=my_PG(:,k)+sig_R*randn(no,1);
y_v=my_abs_v(:,k)+sig_R*randn(nd,1);
75
y_theta=my_theta_v(:,k)+sig_R*randn(nd,1);
y=[y_small;y_v; y_theta];
my_xp(:,k)=x_minus+K*(y-y_predict);
my_dp=my_xp(no+1:2*no,:);
my_vp=my_xp(2*no+1:2*no+nd,:);
my_thetp=my_xp(2*no+nd+1:2*no+2*nd,:);
P_P=P_M-K*P_y*K';
end
A.4 Unscented Kalman Filter (UKF) based on augmented state vector
approach assuming two axis synchronous generator with IEEE-TypeI Exciter
********Unscented Kalman Filter(augmented state vector-two axis) ********
ABS_E_rep=repmat(ABS_E,1,2*ns);%ABS_E is a column vector including magnitudes
of back EMFs.
M_rep=repmat(M,1,2*ns);% M is column vector of inertia constants
Damp_rep=repmat(Damp,1,2*ns)/(2*pi*f0); Damp is column vector of damping
coefficients
PM0_rep=repmat(PM0,1,2*ns);%pmech=pelec at t=0
for k=2:kend%k means the kth time step kend is the last time step of the
simulation
% Obtaining first set of sigma points
A=chol(ns*P_P);
my_x_tilda=[A',-A'];
rep1=repmat(my_xp(:,k-1),1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:2*no,:);
my_eq_sigma=my_x_sigma(2*no+1:3*no,:);
my_ed_sigma=my_x_sigma(3*no+1:4*no,:);
my_ef_sigma=my_x_sigma(4*no+1:5*no,:);
my_RF_sigma=my_x_sigma(5*no+1:6*no,:);
my_VR_sigma=my_x_sigma(6*no+1:7*no,:);
76
my_v_sigma=my_x_sigma(7*no+1:7*no+nd,:); %nd is total number of buses without
internal buses of the generators
my_theta_sigma=my_x_sigma(7*no+nd+1:7*no+2*nd,:);
my_PM0_sigma=my_x_sigma(7*no+2*nd+1:8*no+2*nd,:);
% Obtaining the transformed sigma points
my_PGa=(my_v_sigma./xdp).*my_eq_sigma.*sin(my_del_sigma-
my_theta_sigma)+0.5.*(1/xq-1/xdp).*(my_v_sigma.^2).*sin(2.*my_del_sigma-
2.*my_theta_sigma);
g=M_rep.^-1.*(my_PM0_sigma-my_PGa-Damp_rep.*my_w_sigma);
my_w_sigma=my_w_sigma+t_step*g;
my_del_sigma=my_del_sigma+t_step*my_w_sigma;
g=(1/Tdop).*(my_ef_sigma-my_eq_sigma-(xd/xdp-1).*(my_eq_sigma-
my_v_sigma.*cos(my_del_sigma)));
my_eq_sigma=my_eq_sigma+t_step*g;
g=(1/Tqop).*(-my_ed_sigma-(1-xqp/xq).*(my_v_sigma.*sin(my_del_sigma)));
my_ed_sigma=my_ed_sigma+t_step*g;
SE=0.0039*exp(1.555*my_ef_sigma); % Here SE is the saturation function of Efd
g=(1/TE).*(-(KE+SE).*my_ef_sigma+my_VR_sigma );
my_ef_sigma=my_ef_sigma+t_step*g;
g=(1/TF).*(-my_RF_sigma+(KF/TF).*my_ef_sigma);
my_RF_sigma=my_RF_sigma+t_step*g;
g=(1/TA).*(-my_VR_sigma+KA.*my_RF_sigma-(KF*KA/TF).*my_ef_sigma+KA.*(Vref-
my_v_sigma));
my_VR_sigma=my_VR_sigma+t_step*g;
my_x_sigma=[my_w_sigma;my_del_sigma;my_eq_sigma;my_ed_sigma;my_ef_sigma;my_RF
_sigma;my_VR_sigma;my_v_sigma;my_theta_sigma;my_PM0_sigma];
% x_minus(priori estimation of x)
x_minus=(2*ns)^-1*(sum(my_x_sigma'))';
% P_M(priori state error covariance matrix)
Q=sig_Q^2*eye(ns);
x_minus_rep=repmat(x_minus,1,2*ns);
P_M=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(my_x_sigma-x_minus_rep)'+Q;
77
% obtaining new set of sigma points
A=chol(ns*P_M);
my_x_tilda=[A',-A'];
rep1=repmat(x_minus,1,2*ns);
my_x_sigma=my_x_tilda+rep1;
my_w_sigma=my_x_sigma(1:no,:);
my_del_sigma=my_x_sigma(no+1:2*no,:);
my_eq_sigma=my_x_sigma(2*no+1:3*no,:);
my_ed_sigma=my_x_sigma(3*no+1:4*no,:);
my_ef_sigma=my_x_sigma(4*no+1:5*no,:);
my_RF_sigma=my_x_sigma(5*no+1:6*no,:);
my_VR_sigma=my_x_sigma(6*no+1:7*no,:);
my_v_sigma=my_x_sigma(7*no+1:7*no+nd,:);
my_theta_sigma=my_x_sigma(7*no+nd+1:7*no+2*nd,:);
my_PM0_sigma=my_x_sigma(7*no+2*nd+1:8*no+2*nd,:);
% y_sigma(predicted measurements)
my_PG1=(my_v_sigma./xdp).*my_eq_sigma.*sin(my_del_sigma-
my_theta_sigma)+0.5.*(1/xq-1/xdp).*(my_v_sigma.^2).*sin(2.*my_del_sigma-
2.*my_theta_sigma);
my_QG1=(my_v_sigma./xdp).*my_eq_sigma.*cos(my_del_sigma-my_theta_sigma)-
(my_v_sigma.^2).*((cos(my_del_sigma-
my_theta_sigma)).^2./xdp+(sin(my_del_sigma-my_theta_sigma)).^2./xq);
my_absv1=my_v_sigma;
my_theta1=my_theta_sigma;
my_Ef1=my_ef_sigma;
my_VR1=my_VR_sigma;
my_RF1=my_RF_sigma;
my_w1=my_w_sigma;
my_delta1=my_del_sigma;
y_sigma=[my_PG1;my_absv1;my_theta1;my_QG1];
%y predict
78
y_predict=(2*ns)^-1*(sum(y_sigma'))';
% cov y predict &R
y_predict_rep=repmat(y_predict,1,2*ns);
R=sig_R^2*eye(2*nd+2*no);
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)'+R;
%cross cov x_minus and y predict
P_xy=(2*ns)^-1*(my_x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)';
%measurement update
K=P_xy*P_y^-1;
y_small=my_PG(:,k)+sig_R*randn(no,1);
y_smallb=my_QG(:,k)+sig_R*randn(no,1);
y_v=my_abs_v(:,k)+sig_R*randn(nd,1);
y_theta=my_theta_v(:,k)+sig_R*randn(nd,1);
y=[y_small; y_v;y_theta;y_smallb];
my_xp(:,k)=x_minus+K*(y-y_predict);
my_dp=my_xp(no+1:2*no,:);
my_eqp=my_xp(2*no+1:3*no,:);
my_edp=my_xp(3*no+1:4*no,:);
my_efp=my_xp(4*no+1:5*no,:);
my_RFp=my_xp(5*no+1:6*no,:);
my_VRp=my_xp(6*no+1:7*no,:);
my_vp=my_xp(7*no+1:7*no+nd,:);
my_thetp=my_xp(7*no+nd+1:7*no+2*nd,:);
my_PM0p=my_xp(7*no+2*nd+1:8*no+2*nd,:);
P_P=P_M-K*P_y*K';
end
79
References
[1] A. Abur and A. Gomez Exposito, Power System State Estimation. New York:
Marcel Dekker, 2004.
[2] P. Kundur, Power System Stability and Control. New York: McGraw Hill,
1994.
[3] D. Simon, Optimal State Estimation: Kalman, H Infinity and Nonlinear
Approaches. New Jersey: John Wiley & Sons, 2006.
[4] A. Bergen, V. Vittal, Power Systems Analysis. Prentice Hall, 1999.
[5] J. Glover, M. Sarma, and T. Overbye, Power Systems Analysis and Design.
Thomson, 2008.
[6] P. Sauer and M. Pai, Power System Dynamics and Stability. Prentice Hall,
1998.
[7] A. Rouhani and A. Abur, "Improving Performance of Dynamic State
Estimators under Unknown Load Changes," accepted for presentation at the
IEEE Power & Energy Society General Meeting, July 21-25, 2013, Vancouver,
CA.
80
[8] A. Rouhani and A. Abur, " Distributed Implementation of an Augmented
State Dynamic Estimator," accepted for presentation at the IEEE North
American Power Symposium Sep. 22-24, 2013, KS, USA.
[9] N. Shivakumar and A. Jain, "A Review of Power System Dynamic State
Estimation Techniques," in Proc. Joint Int. Conf. Power System Technology
and IEEE Power India Conf. (POWERCON 2008),2008, pp. 1-6.
[10] F. Schweppe and J. Wildes, "Power System Static-State Estimation part I:
Exact-Model," IEEE Transaction on Power Apparatus and Systems, vol. PAS-
89, pp. 120-125, Nov. 1970.
[11] F. Schweppe and D. Rom, "Power System Static-State Estimation part II:
Approximate Model," IEEE Transaction on Power Apparatus and Systems,
vol. PAS- 89, pp. 125-130, Nov. 1970.
[12] F. Schweppe, "Power System Static-State Estimation part III:
Implementation," IEEE Transaction on Power Apparatus and Systems, vol.
PAS- 89, pp. 130-135, Nov. 1970.
[13] A. Debs and R. Larson, "A dynamic estimation for tracking the state of a
power system," IEEE Trans. Power App. Syst., vol. PAS-89, pp.1670-1678,
Sep. – Oct. 2007.
81
[14] J. Chang, G. Taranto, and J. Chow, "Dynamic state estimation in power
system using gain-scheduled nonlinear observer," in Proc.1995 IEEE Control
Application Conf, pp.221-226.
[15] L. Lin, Linawati, L. Jasa, and E. Ambikairajah, "A hybrid state estimation
scheme for power system," in Proc.2002 IEEE Circuits and Systems Conf.
(APCCAS’02), vol.1, pp.555-558.
[16] M. Huanga, W. Li, and W. Yana, "Estimating parameters of synchronous
generators using square-root unscented Kalman filter," Int. J. Elect. Power Syst.
Res., vol. 80, pp. 1137-1144, Sep.2010.
[17] V. Venkatasubramanian and R. Kavasseri, "Direct computation of generator
internal dynamic states from terminal measuremnts," in Proc. 37th Hawaii Int.
Conf. System Science, 2004, pp. 1-6.
[18] W. Gao and S. Wang, "On-line dynamic state estimation of power systems,"
in Proc. 42nd
North American Power Symp. (NAPS), Arlington, TX, sep. 26-28,
2010.
[19] Z. Huang, K. Schneider, and J. Nieplocha, "Feasibility studies of applying
Kalman filter techniques to power system dynamic state estimation," Proc.
International Power Engineering Conf., 2007.
82
[20] A. Jain and N. Shivakumar , "Impact of PMU in dynamic state estimation of
power systems," in Proc. 40th
North American Power Symp. (NAPS), Calgary,
sep. 2008.
[21] E. Ghahremani and I. Kamwa, "Dynamic State Estimation in Power System
by Applying the Extended Kalman Filter With Unknown Inputs to Phasor
Measurements," IEEE Trans. Power Syst., vol. 26, no. 4, pp.2556-2566, Nov.
2011.
[22] E. Ghahremani and I. Kamwa, "Online State Estimation of a Synchronous
Generator Using Unscented Kalman Filter From Phasor Measurements Units,"
IEEE Trans. Energy Conversion, vol. 26, no. 4, pp.1099-1108, Dec.2011.
[23] S. Wang, W. Gao, and A. Meliopoulos, "An Alternative Method for Power
System Dynamic State Estimation Based on Unscented Transform," IEEE
Trans. Power Syst., vol. 27, no. 2, pp.942-950, May 2012.
[24] G. Valverde and V. Terzija, "Unscented Kalman filter for power system
dynamic state estimation," IET Gen., Transm., Distrib., vol. 5, no. 1, pp. 29-37,
Jan. 2011.
[25] G. Valverde, E. Kyriakides, G. Heydt, and V. Terzija "On-line parameter
estimation of saturated synchronous machines," in Proc. IEEE Power &
Energy Society General Meeting, July 24-29, 2011, San Diego, USA.
83
[26] J. Bellantoni and K. Dodge, "A square root formulation of the Kalman
Schmidt filter," AIAA Journal, 5, pp.1309-1314, 1967.
[27] S. Julier and J. Uhlmann, "Reduced sigma point filters for the propagation of
means and covariances through nonlinear transformations," American Control
Conference, pp.887-892, 2002.
[28] S. Julier and J. Uhlmann, "Unscented filtering and nonlinear estimation,"
Proceedings of the IEEE, 92(3), pp.401-422, (March 2004).
[29] W. Kao, C. Lin, C. Huang, Y. Chen, and C. Chiou, "Comparison of
simulated power system dynamics applying various load models with actual
recorded data," IEEE Trans. Power App. Syst., vol. 9, no. 1, pp.248-254, Feb.
1994.
[30] Load Modeling for Power Flow and Transient Stability Computer Studies,
EPRI, Rep., Jan. 1987, vol. 1-4, General Electric Company.
[31] D. Karlsson and D. Hill, "Modeling and Identification of Nonlinear
Dynamic Loads in Power Systems," IEEE Trans. Power Syst., vol. 9, no. 1,
Feb. 1994.
[32] J. Wang, H. Jiang, C. Chang, and A. Liu, "Development of a frequency-
dependent composite load model using the measurement approach," IEEE
Trans. Power Syst., vol. 9, no. 3, pp.1546-1556, Aug. 1994.
84
[33] D. SAGI, "Physically Based Electric Load Estimation Using Fuzzy-Neuro
Systems," Ph.D. dissertation , Dept. Elect. Eng., New Mexico State Univ., Las
Cruces, New Mexico, May 2009.
[34] C. Lin, A. Chen, C. Chiou, C. Huang, H. Chiang, J. Wang, and L. Fekih-
Ahmed, "Dynamic load models in power system using the measurement
approach," IEEE Trans. Power Syst., vol. 8, no. 1, pp.309-315, Feb. 1993.
[35] H. Bai, P. Zhang, and V. Ajjarapu, , "A novel parameter identification
approach via hybrid learning for aggregate load modeling," IEEE Trans. Power
Syst., vol. 24, no. 3, pp.1145-1154, 2009.