Upload
phamnhu
View
215
Download
3
Embed Size (px)
Citation preview
POWER SYSTEM DYNAMIC STATE
ESTIMATION and LOAD MODELING
A Thesis Presented
by
Cem Bila
to
The Department of Electrical and Computer Engineering
in partial fulfillment of the requirements
for the degree of
Master of Science
in
Electrical and Computer Engineering
Northeastern University
Boston, Massachusetts
September 2013
c© copyright by Cem Bila 2013
All Rights Reserved
Northeastern University
Abstract
Department of Electrical and Computer Engineering
Master of Science in Electrical and Computer Engineering
by Cem Bila
iii
State estimation which constitutes the core of the Energy Management Sys-
tem (EMS), plays an important role in monitoring, control and stability analysis
of electric power systems. An efficient, timely and accurate state estimation is a
prerequisite for a reliable operation of modern power grids.
Traditional state estimators, which are based on steady state system model, can-
not capture the system dynamics very well due to the slow updating rate of SCADA
systems. In mid 1980s of the 20th century, Phasor Measurement Unit (PMU)-based
Wide-Area Measurement Systems (WAMS) emerged. The introduction of this high
speed measurement systems, featured with synchronous sampling, has revolutionized
the way state estimation process is being performed. These lead to the development
of Dynamic State Estimation (DSE) techniques, which enables the dynamic view of
power systems in the control center. Various techniques are available in literature
for dynamic state estimation which can be applied to power systems.
In this thesis, the power system dynamic state estimation process, based on
Kalman Filtering techniques, is discussed. The dynamic state variables of multi-
machine power systems which are generator rotor speed and generator rotor angle
are estimated. The computational performance of Extended Kalman Filter (EKF)
and Unscented Kalman Filter (UKF) algorithms in the estimation process of the
dynamic state vector of the power systems are compared. The plots of the dynamic
state variables, rotor speed and rotor angle, are observed under various transient
conditions. It is verified that both EKF and UKF are sufficient techniques in esti-
mation of dynamic state vector elements under transient conditions. Although EKF
is one of the most widely used methods in power system dynamic state estimation
process, it is investigated that the linearization and Jacobian matrix calculation can
lead to some drawbacks. The UKF algorithm which is based on unscented transfor-
mation is introduced as a more effective method. It is demonstrated that UKF is
easier to implement and more accurate in estimation.
In addition, this thesis describes the load modeling issues in electric power sys-
tems. It is an obvious fact that the accuracy of load model is a very important factor
effecting the power system stability analysis and control. In this work, the parameter
iv
estimation for assumed ZIP load model is performed based on the Weighted Least
Square (WLS) estimation method. In order to obtain more reliable and precise cal-
culations of power system state estimation studies, a more accurate load modeling
can be developed and integrated into the dynamic state estimation process of power
systems as a future work.
Acknowledgments
First and foremost, I would like to express my deepest gratitude to my advisor,
Professor Ali Abur, for providing me the opportunity to conduct research in the
field of power systems at Northeastern University. I am grateful to his guidance,
support and patience throughout this M.S study. I am enlightened by his wealth
of knowledge and expertise. This thesis would never been accomplished without his
constructive suggestions, invaluable comments and tireless efforts on teaching. It
has been an honor and a great pleasure to be his research assistant.
I would like to extend my gratitude to Professor Hanoch Lev-Ari and Professor
Bahram Shafai for serving as my masters thesis committee members. I appreciated
that they shared their opinions, knowledge and suggestions concerning my thesis
topic.
I would like to thank Faith Crisley, Graduate Coordinator at the Department
of Electrical and Computer Engineering, for her help and invaluable advice during
the rough times of my study at Northeastern University.
I am indebted to express my gratitude to my friends who have always been there
to give me wonderful support and encouragement.
Finally, I would like to give special thanks to my parents for their endless love
and support.
v
Contents
Abstract ii
Acknowledgments v
List of Figures viii
List of Tables xi
1 Introduction 1
1.1 Motivations for the Study . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Power System Model and Transient Stability 10
2.1 Power System Dynamics and Swing Equation . . . . . . . . . . . . . 10
2.2 Numerical Integration Methods for the Swing Equation . . . . . . . . 12
2.2.1 Euler Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Second order Runge-Kutta integration: Trapezoidal rule . . . 14
2.2.3 Fourth order Runge-Kutta integration . . . . . . . . . . . . . 15
2.2.4 Simulation Studies and Results . . . . . . . . . . . . . . . . . 16
2.3 Multimachine Stability Studies . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Classical Model and Assumptions . . . . . . . . . . . . . . . . 19
2.3.2 Preliminary Calculations for Initialization . . . . . . . . . . . 20
3 Use of EKF and UKF Techniques in Power System DSE 26
3.1 Mathematical Modeling . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Extended Kalman Filter (EKF) Algorithm . . . . . . . . . . . . . . . 27
3.3 Unscented Kalman Filter (UKF) Algorithm . . . . . . . . . . . . . . 30
3.4 Simulation Studies and Results . . . . . . . . . . . . . . . . . . . . . 35
3.4.1 Description of Simulation Studies . . . . . . . . . . . . . . . . 35
3.4.2 3-Generator 5-Bus Power System . . . . . . . . . . . . . . . . 38
3.4.3 3-Generator 9-Bus Power System . . . . . . . . . . . . . . . . 44
vi
Contents vii
3.4.4 IEEE 5-Generator 14-Bus Power System . . . . . . . . . . . . 56
3.4.5 IEEE 6-Generator 30-Bus Power System . . . . . . . . . . . . 59
3.4.6 IEEE 8-Generator 37-Bus Power System . . . . . . . . . . . . 63
3.4.7 IEEE 10-Generator 39-Bus Power System . . . . . . . . . . . 66
3.4.8 IEEE 7-Generator 57-Bus Power System . . . . . . . . . . . . 69
3.4.9 50-Generator 145-Bus Power System . . . . . . . . . . . . . . 73
3.4.10 17-Generator 162-Bus Power System . . . . . . . . . . . . . . 76
4 Parameter Estimation for ZIP Load Modeling 80
4.1 Polynomial (ZIP) Load Model . . . . . . . . . . . . . . . . . . . . . . 80
4.2 Revised Power Flow Program Simulating ZIP Load . . . . . . . . . . 82
4.3 ZIP Load Parameter Estimation Algorithm . . . . . . . . . . . . . . . 83
5 Concluding Remarks and Further Study 88
5.1 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Further Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
A Matlab Script Example for EKF Algorithm 90
B Matlab Script Example for UKF Algorithm 132
Bibliography 157
List of Figures
2.1 An illustration of Euler method. . . . . . . . . . . . . . . . . . . . . . 13
2.2 Plot of w1 when ∆t = 0.0005s for the 3-generator 9-bus power system 16
2.3 Plot of w1 when ∆t = 0.01s for the 3-generator 9-bus power system . 17
2.4 Plot of w1 when ∆t = 0.03s for the 3-generator 9-bus power system . 17
2.5 Plot of w1 when ∆t = 0.05s for the 3-generator 9-bus power system . 18
2.6 Multimachine power system representation (classical model) for tran-sient stability study . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7 Classical model for simplified synchronous generator . . . . . . . . . . 20
3.1 Kalman Filter is simply a two-step prediction-update process . . . . . 36
3.2 The one-line diagram of the 3-generator 5-bus power system . . . . . 39
3.3 Estimation of ω1 by EKF for the 3-generator 5-bus power system . . 39
3.4 Estimation of ω1 by UKF for the 3-generator 5-bus power system . . 40
3.5 Estimation of ω2 by EKF for the 3-generator 5-bus power system . . 40
3.6 Estimation of ω2 by UKF for the 3-generator 5-bus power system . . 41
3.7 Estimation of ω3 by EKF for the 3-generator 5-bus power system . . 41
3.8 Estimation of ω3 by UKF for the 3-generator 5-bus power system . . 42
3.9 Estimation of δ2−1 by EKF for the 3-generator 5-bus power system . . 42
3.10 Estimation of δ2−1 by UKF for the 3-generator 5-bus power system . 43
3.11 Estimation of δ3−1 by EKF for the 3-generator 5-bus power system . . 43
3.12 Estimation of δ3−1 by UKF for the 3-generator 5-bus power system . 44
3.13 The one-line diagram of the 3-generator 9-bus power system . . . . . 45
3.14 Estimation of ω1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 45
3.15 Estimation of ω1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 46
3.16 Estimation of ω2 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 46
3.17 Estimation of ω2 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 47
3.18 Estimation of ω3 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 47
3.19 Estimation of ω3 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 48
3.20 Estimation of δ2−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 48
viii
List of Figures ix
3.21 Estimation of δ2−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 49
3.22 Estimation of δ3−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 49
3.23 Estimation of δ3−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1 . . . . . . . . . . . . . . . . . . . . . 50
3.24 Estimation of ω1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 51
3.25 Estimation of ω1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 51
3.26 Estimation of ω2 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 52
3.27 Estimation of ω2 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 52
3.28 Estimation of ω3 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 53
3.29 Estimation of ω3 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 53
3.30 Estimation of δ2−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 54
3.31 Estimation of δ2−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 54
3.32 Estimation of δ3−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 55
3.33 Estimation of δ3−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2 . . . . . . . . . . . . . . . . . . . . . 55
3.34 The one-line diagram of the 5-generator 14-bus power system . . . . . 56
3.35 Estimation of ω5 by EKF for the 5-generator 14-bus power system . . 57
3.36 Estimation of ω5 by UKF for the 5-generator 14-bus power system . . 58
3.37 Estimation of δ5−1 by EKF for the 5-generator 14-bus power system . 58
3.38 Estimation of δ5−1 by UKF for the 5-generator 14-bus power system . 59
3.39 The one-line diagram of the 6-generator 30-bus power system . . . . . 60
3.40 Estimation of ω2 by EKF for the 6-generator 30-bus power system . . 61
3.41 Estimation of ω2 by UKF for the 6-generator 30-bus power system . . 61
3.42 Estimation of δ2−1 by EKF for the 6-generator 30-bus power system . 62
3.43 Estimation of δ2−1 by UKF for the 6-generator 30-bus power system . 62
3.44 The one-line diagram of the 8-generator 37-bus power system . . . . . 63
3.45 Estimation of ω7 by EKF for the 8-generator 37-bus power system . . 64
3.46 Estimation of ω7 by UKF for the 8-generator 37-bus power system . . 65
3.47 Estimation of δ7−1 by EKF for the 8-generator 37-bus power system . 65
3.48 Estimation of δ7−1 by UKF for the 8-generator 37-bus power system . 66
3.49 Estimation of ω10 by EKF for the 10-generator 39-bus power system . 67
3.50 Estimation of ω10 by UKF for the 10-generator 39-bus power system . 68
3.51 Estimation of δ10−1 by EKF for the 10-generator 39-bus power system 68
3.52 Estimation of δ10−1 by UKF for the 10-generator 39-bus power system 69
List of Figures x
3.53 The one-line diagram of the 7-generator 57-bus power system . . . . . 70
3.54 Estimation of ω3 by EKF for the 7-generator 57-bus power system . . 71
3.55 Estimation of ω3 by UKF for the 7-generator 57-bus power system . . 71
3.56 Estimation of δ3−1 by EKF for the 7-generator 57-bus power system . 72
3.57 Estimation of δ3−1 by UKF for the 7-generator 57-bus power system . 72
3.58 Estimation of ω45 by EKF for the 50-generator 145-bus power system 74
3.59 Estimation of ω45 by UKF for the 50-generator 145-bus power system 74
3.60 Estimation of δ45−1 by EKF for the 50-generator 145-bus power system 75
3.61 Estimation of δ45−1 by UKF for the 50-generator 145-bus power system 75
3.62 Estimation of ω10 by EKF for the 17-generator 162-bus power system 77
3.63 Estimation of ω10 by UKF for the 17-generator 162-bus power system 77
3.64 Estimation of δ10−1 by EKF for the 17-generator 162-bus power system 78
3.65 Estimation of δ10−1 by UKF for the 17-generator 162-bus power system 78
4.1 An illustration of ZIP load model . . . . . . . . . . . . . . . . . . . . 82
4.2 Daily load profile for 14-bus system . . . . . . . . . . . . . . . . . . . 84
4.3 Estimation of α4 in the 14-bus power system . . . . . . . . . . . . . . 85
4.4 Estimation of β4 in the 14-bus power system . . . . . . . . . . . . . . 86
4.5 Estimation of γ4 in the 14-bus power system . . . . . . . . . . . . . . 86
List of Tables
3.1 Generator dynamic data of the 3-generator 5-bus power system . . . 38
3.2 Performance indices of EKF and UKF for the 3-generator 5-bus powersystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Generator dynamic data of the 3-generator 9-bus power system . . . 44
3.4 Performance indices of EKF and UKF for the 3-generator 9-bus powersystem considering the transient case 1 . . . . . . . . . . . . . . . . . 50
3.5 Performance indices of EKF and UKF for the 3-generator 9-bus powersystem considering the transient case 2 . . . . . . . . . . . . . . . . . 56
3.6 Generator dynamic data of the 5-generator 14-bus power system . . . 57
3.7 Performance indices of EKF and UKF for the 5-generator 14-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.8 Generator dynamic data of the 6-generator 30-bus power system . . . 59
3.9 Performance indices of EKF and UKF for the 6-generator 30-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.10 Generator dynamic data of the 8-generator 37-bus power system . . . 64
3.11 Performance indices of EKF and UKF for the 8-generator 37-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.12 Generator dynamic data of the 10-generator 39-bus power system . . 67
3.13 Performance indices of EKF and UKF for the 10-generator 39-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.14 Generator dynamic data of the 7-generator 57-bus power system . . . 70
3.15 Performance indices of EKF and UKF for the 7-generator 57-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.16 Performance indices of EKF and UKF for the 50-generator 145-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.17 Performance indices of EKF and UKF for the 17-generator 162-buspower system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.1 Power flow solution of 14-bus system with ZIP load . . . . . . . . . . 83
xi
Chapter 1
Introduction
The rapid growth and increasing complexity in recent years makes the monitor-
ing and control of power systems a very significant issue. The Energy Management
Systems (EMS) at the control centers are responsible for this task of monitoring
and control of the system. The state estimator, which is the backbone of the en-
ergy management systems, provides a optimum real time data of the system state
based on the available measurements on the assumed system model. The efficiency
and accuracy of the state estimator output is very crucial as it forms the basis for
the EMS functions such as security analysis, automatic generation control, opti-
mal power flow and load forecasting. Thus, the concept of state estimation plays a
major role in ensuring the secure and economic operation of the power systems in
large-scale interconnected power grids. Depending on the desired states (static or
dynamic), power system state estimation can be formulated as a static or dynamic
estimation problem.
1.1 Motivations for the Study
The state estimation process for a power network is determining the best esti-
mate of the present state of the system by collecting the real time measurements from
the sensors monitoring the grid. The vector consisting of bus voltage magnitudes
and bus voltage phase angles is called the static vector of an electric power system.
1
Chapter 1. Introduction 2
The real time measurement data gathered from the network and used in the esti-
mation process includes power injections, power flows on the transmission lines and
voltage magnitudes at each bus of the system. The telemetered measurement data is
received through the Supervisory Control and Data Acquisition Systems (SCADA)
and the state vector is estimated by using the predetermined state estimation al-
gorithm and power system model. If the state vector is obtained for the current
instant of time k from the set of measurement data received at the same instant of
time k, then such an estimation method is called as Static State Estimation (SSE).
In static state estimation, the snap-shot of the measurements are taken, processed
and the estimate of the state vector variables is obtained at the same point of time.
The static state estimators, having a crucial role in the reliable operation of the
transmission and distribution systems, are widely used in the power system state
estimation.
The power systems are defined as quasi-static systems. This means that they
change with time very slowly but steadily. The change of the power system is driven
by the continuous variation of the loads. As the loads change, the generators feeding
the network need to be adjusted in accordance with the load variations. This results
in the change of power injections and power flows which makes the system dynamic.
The resulting dynamic changes need to be monitored continuously and therefore
the power system state estimation needs to be performed in short interval of time.
The static state estimators can not efficiently and accurately capture this dynamic
behavior of the expanded large power networks. Consequently, another method is
developed in order to monitor the continuous dynamic changes in power systems
which is called as Dynamic State Estimation (DSE). By using the actual physical
modeling of the time varying nature of the power system, DSE algorithm predicts
the system state at the next instant of time k + 1 along with the state estimates
obtained at the previous instant of time k. The DSE method has a vital advantage
such that it allows the prediction of the system state at one time step ahead. Hence,
the forecasting ability of the DSE algorithm plays a major role in the improvement
of the overall energy management system operation and control.
The performance and the accuracy of the state estimators in power systems
Chapter 1. Introduction 3
heavily depends on the measurements gathered from the network. Traditionally, the
measurements including injections, flows and voltage magnitudes, are collected by
the SCADA systems via Remote Terminal Units (RTU) and processed in the state
estimation algorithms at the control center. In mid 1980s, a new device has devel-
oped which is called as Phasor Measurement Unit (PMU). The main importance of
this device lies in the fact that it can measure both the voltage phasor and current
phasor at the system buses where the device is present. By the emergency of this
synchronized measurement tool, for the first time, both the bus voltage magnitudes
and bus voltage angles can be directly measured which are the state vector ele-
ments. Moreover, PMU measurements are highly accurate compared to the SCADA
measurements. In this regard, the PMUs which work in synchronization with Global
Positioning System (GPS) satellites, are superior to the traditional SCADA systems.
The introduction of highly accurate angular measurement data by means of these
high updating rate synchronized measurement devices play an important role in the
modern day energy management systems. As a result, the PMUs can also be incor-
porated into the dynamic state estimation studies of power systems such that the
dynamic view can be captured in a more accurate and efficient way. The progress
and improvement in the way of monitoring the power networks by the emergence of
these new technologies creates a deep motivation for developing new methodologies
in the field of power system dynamic state estimation.
In the studies of power system operation and analysis, historically, generator and
transmission modeling have received the most attention. However, load modeling has
also become a considerably critical issue due to the increasing stresses on power grids.
The continually increasing complexity of the power networks and the incorporation of
various load components from many sources motivates the researchers to concentrate
on load modeling. The accurate and verified load model plays a major role in the
power system stability analysis. It is clear that more accurate load models need
also be used during the state estimation processes rather than making traditional
assumptions. The parameter estimation of reliable, complex load models by using
the measurements collected by high technology systems (PMUs) seems to become an
important concern which needs to be considered in the power system state estimation
Chapter 1. Introduction 4
studies.
1.2 Related Work
There has been a considerable progress in the field of power system state estima-
tion since it is firstly introduced by Fred Schweppe in the late 1960s [1–3]. The state
estimation (SE) tool has benefited from large number of theoretical developments
and practical improvements [4]. Various methodologies have been offered regarding
the mathematical formulation, numerical solution, computational procedure, real-
time implementation, measurement types, calculation of the state estimates and
identification of the modeling errors in the literature concerning both static and
dynamic power system state estimation process.
The basic concept of ’Static State Estimation (SSE)’ is defined and several nu-
merical approaches are offered as a solution in [1–3, 5, 6]. The general structure and
main functions of the static state estimator are listed in [7]. One of the most widely
used methods to solve the power system static state estimation problem appears to
be the Weighted Least Squares (WLS) approach. The WLS estimators have been
studied extensively and their numerical stability as well as computational efficiency
have been greatly improved by various techniques [8, 9]. Traditionally, the power sys-
tems are collected by low updating rate SCADA systems via Remote Terminal Units
(RTU). The widely used measurement types in the common state estimation process
can be listed as power injections, power flows, voltage and current magnitudes. More
recently, the Phasor Meausrement Units (PMUs), which provide Global Positioning
System (GPS)-synchronized measurements, among which are voltage and current
phasor magnitude and phase angles, are expected to introduce major improvements
in state estimation SE performance and capabilities [4, 10]. The impact of synchro-
nized phasor measurements on the state estimation function is well described in [11].
The problem of state estimation is investigated in very large systems using phasor
measurement units in [12]. An algorithm is developed which uses known system
topology information, together with PMU phasor angle measurements to detect sys-
tem single and double line outages [13, 14]. Although the WLS method is widely
Chapter 1. Introduction 5
used, well developed technique in power system state estimation, it is found to be
not robust as it fails in the presence of bad data [15]. The Least Value Estima-
tor (LAV) method is offered in [15], as an alternative to WLS estimator, which is
more robust as it can automatically reject bad-data in the absence of the leverage
measurements. The static state estimation process in power system is normally ac-
complished by without the use of time-history data or prediction [16]. The problem
of state estimation combined with the knowledge of the forecasted load is posed as
a Kalman filtering problem using a novel discrete-time model [16]. The inclusion of
dynamic models provides the basis for performing the state estimation via Kalman
filtering [16].
Estimation of the dynamic state of a power system is the first prerequisite for
control and stability prediction under transient conditions as mentioned in [17]. The
great importance of the ’Dynamic State Estimation (DSE)’ in system monitoring
and control of power systems, especially with the introduction of Phasor Measure-
ment Units (PMUs), is extensively explained in literature [18–22]. A dynamic state
estimator for power systems is firstly addressed by Debs and Larson [23]. In this
work, the state change is represented by Gaussian noise. Then, a novel method for
detecting and identifying anomalies as occurrence of bad-data, changes in network
configuration and sudden variation of states, in dynamic state estimation for electric
power systems is proposed in [24]. Simple dynamic models for the state vector be-
havior, combined with linearized measurement equations, have been proposed and
the estimations have been achieved through Kalman filtering theory [25]. Through
the application of Kalman filter techniques, the set of measurements is used to es-
timate the model state parameters at a first stage and the state vector at a second
stage [25]. New algorithms considering exponential smoothing and least-squares es-
timation techniques are used for forecasting and filtering the state vector for power
systems [25].
One of the most widely used method in power system dynamic state estima-
tion is Extended Kalman Filter (EKF) which takes into account both the incoming
measurements and the predicted state to obtain an optimal estimate of the system
Chapter 1. Introduction 6
state as mentioned in [26]. Two algorithms are proposed for dynamic state estima-
tion which incorporate the measurement function nonlinearities in the EKF scheme
in [26]. The feasibility of applying Extended Kalman Filter techniques to include
dynamic state variables (generator rotor speed and rotor angle) in the state estima-
tion process is well investigated in [27]. The proposed EKF based dynamic state
estimation procedure is tested on a multi-machine system with both large and small
disturbances [27]. The extended Kalman filter with unknown inputs, referred to as
EKF-UI, is proposed for estimating the states and the unknown inputs of the syn-
chronous machine simultaneously in [28]. A novel framework to perform EKF based
dynamic state estimation in a distributed way is proposed in [29] considering increas-
ing complexity associated with large-scale renewable resources and novel smart-grid
technologies. According to [29], DSE can be implemented in a distributed environ-
ment by decomposing the systems into subsystems to increase the computational
speed of DSE process in large scale power systems.
Although the EKF is one of the most widely used estimation algorithm for
nonlinear systems, more than 35 years of experience in estimation community has
shown that it is difficult to implement, difficult to tune and only reliable for systems
that are almost linear on the time scale of the updates [30]. In order to overcome
the difficulties and drawbacks of the EKF algorithm which mainly arise from its use
of linearization, the Unscented Transformation (UT) is developed as a method to
propogate mean and covariance information through nonlinear transformation [30].
The motivation, use and advantages of proposed Unscented Kalman Filter (UKF),
based on unscented transformation, is illustrated in literature [30–36]. The accu-
racy and easier implementation of UKF in estimating the dynamics of generators
is investigated in [31, 34] with appropriate simulation results. The performance of
the UKF technique is derived, demonstrated and compared with the performance of
classical EKF technique by using three different test power systems under typical
network and measurement conditions in [32]. It is proved by using the performance
indices that the UKF has higher filtering capacities during slow dynamic changes
than EKF estimator [32]. A new parameter estimation method for frequency, am-
plitude and phase tracking based on UKF is presented in [33] and it is shown that
Chapter 1. Introduction 7
UKF method has high estimation accuracy both under normal and noisy conditions
[33]. A derivative free approach to Kalman filtering is introduced and applied to
state estimation-based control of a class of nonlinear dynamical systems in [35]. A
new method for the simultaneous estimation of power components and frequency is
presented based on UKF method [36].
The concept of load modeling becomes an important issue with the increas-
ing complexity of grids and the emergency of various load components in networks.
An accurate and correct representation of loads is highly significant in power sys-
tem operation, control and stability studies. The need for correct representation of
electrical loads is stability studies are discussed by presenting several series of load-
voltage tests performed on the Southern California Edison system in [37]. In [38], it
is emphasized that the parameters of a second order state space load model can be
identified form actual system load measurements by using a Weighted Least Squares
(WLS) parameter identiifcation process. The development of dynamic load models
for the Taipower system is described in [39]. The development of measurement-
based composite load model which has the structure of a motor in combination with
a static ZIP type is discussed in [40]. The identification of the parameters of this
model is presented based on the multicurve identification technique [40]. The work
[41] indicates that the multi-state physical load models can be used to properly rep-
resent the behavior of end-use loads for distribution system analysis. A multistate
ZIP model of PEVs is discussed and formulated in [42]. The performance of two
algorithms is investigated for complex load model parameter estimation by using
phasor measurements [43]. The load modeling at distribution level with complete
load model structure is discussed in [44]. The composite load modeling is reviewed
and an augmented state estimator based on Local Iterative Extended Kalman Filter
(LIEKF) is proposed to estimate dominant parameters of the load in [45].
Chapter 1. Introduction 8
1.3 Contributions of the Thesis
The main objective of this thesis is to demonstrate how the application of
Kalman Filtering techniques are valid in estimating the dynamic variables of multi-
machine power systems. As illustrated in earlier studies, the Extended Kalman Filter
(EKF) and Unscented Kalman Filter (UKF) are both sufficient tools to be included
in power system dynamic state estimation studies. In comparison of these two algo-
rithms, it is realized that UKF is more accurate, robust and easy to implement in
the state estimation of dynamic states under various transition cases.
In performing the dynamic state estimation of the multi-machine systems, the
load models are assumed to be constant impedance as in the case of most of the
related work in the literature. A composite load model namely ZIP load model is
also discussed in this study. It is verified that the parameters of the polynomial
which represents the ZIP load model can be estimated by means of the Wighted
Least Square (WLS) algorithm.
1.4 Thesis Outline
This thesis comprises five chapters and it is organized as follows. In the current
chapter, motivations for conducting this research are presented including general
background information, the relevant literature is reviewed and the contributions of
the thesis is briefly discussed.
In the succeeding chapter (Chapter 2), the derivation of the swing equation
is briefly summarized. The classical multi-machine model of power systems based
on several assumptions is explained and the steps for initialization of the system is
listed. The numerical integration methods used in the transient stability computa-
tion procedure of the power systems are explained and compared.
Chapter 3 covers the Extended Kalman Filter (EKF) and Unscented Kalman
Filter (UKF) techniques applied in the estimation of dynamic variables. It compares
Chapter 1. Introduction 9
the application of EKF and UKF algorithms in power system DSE based on the
results of various simulation studies.
Chapter 4 provides a brief review of the polynomial ZIP load modeling in power
systems. It expresses the mathematical model of composite ZIP loads and discusses
the ZIP load model parameter estimation based on Weighted Least Square (WLS)
technique.
Finally, in Chapter 5, the main contributions of this study to power system
dynamic state estimation and load modeling are discussed. Also, some possible
ideas are mentioned about what can be done for further study.
Chapter 2
Power System Model and
Transient Stability
2.1 Power System Dynamics and Swing Equation
The dynamic equation governing the motion of the machine rotor of a three-
phase synchronous generator is called the swing equation [46, 47]. In rotational
systems, the net accelerating torque acting on a rotating body is the product of
the moment of inertia of the rotor times its angular acceleration which is based
on Newton’s second law [47, 48]. The equation for the rotor motion is given by
[47, 49, 50],
Jαm = Tm − Te − Td = Ta (2.1)
where J is the moment of inertia of the rotating masses in kg.m2, αm is rotor angular
acceleration, rad/s2, Tm is the mechanical torque in N.m, Te is the electrical torque
in N.m, Td is the damping torque in N.m and Ta is the net accelerating torque in
N.m. The rotor angular acceleration is defined as
αm =dωmdt
=d2θmdt2
(2.2)
10
Chapter 2. Power System Model and Transient Stability 11
where ωm = dθmdt
is rotor angular velocity in rad/s and θm is rotor angular posi-
tion with respect to a stationary axis in rad [49]. It is convenient to measure the
rotor angular position with respect to a synchronously rotating reference axis and
accordingly it is defined as
θm = ωmsynt+ δm (2.3)
where ωmsyn is synchronous angular velocity of the rotor in rad/s and δm is the rotor
angular position with respect to a synchronously rotating reference axis in rad [49].
Then, by taking the second order derivative of θm with respect to time, we obtain
d2θmdt2
=d2δmdt2
(2.4)
and by substituting Eq. 2.2 and Eq. 2.4, Eq. 2.1 becomes
Jd2θmdt2
= Jd2δmdt2
= Tm − Te − Td = Ta. (2.5)
It is better to work with power rather than torque. Accordingly, by multiplying
both sides of Eq. 2.5 by angular velocity ωm we obtain
Jωmd2δmdt2
= Tmωm − Teωm − Tdωm (2.6)
and recalling that power is the product of torque and angular velocity, the Eq. 2.1
can be expressed as
Jωmd2δmdt2
= Pm − Pe − Pd (2.7)
where Pm is the mechanical input power in W , Pe is the electrical output in W and
Pd is the damping power in W . At synchronous speed ωmsyn, the angular momentum
Jωmsyn is denoted by M in joules-second per mechanical radian. By using M instead
of Jωm, Eq. 2.7 can be rewritten as the following equation [47]
Md2δmdt2
= Pm − Pe − Pd (2.8)
Chapter 2. Power System Model and Transient Stability 12
The normalized inertia constant H, in joules/VA or per unit-seconds, is defined
as [49]
H =stored kinetic energy at synchronous speed
three-phase rating of the generator=
12Jωm
2syn
SB(3φ)
. (2.9)
Replacing Jωmsyn by M and solving the resulting equation for M , we obtain [47]
M =2H
ωmsynSB(3φ). (2.10)
Substituting Eq. 2.10 into Eq. 2.8 and dividing both sides by SB(3φ), the per-unit
expression of the swing equation can be written as
2H
ωmsyn
d2δmdt2
=Pm − Pe − Pd
SB(3φ)
= Pmp.u. − Pep.u. − Pdp.u. (2.11)
where Pmp.u., Pep.u.. Pdp.u. are per-unit mechanical, electrical and damping power
respectively [47]. In Eq. 2.11, δm is expressed in mechanical radians and ωmsyn is
expressed in mechanical radians per second [47]. The Eq. 2.11 can be rewritten as
follow2H
ωsyn
d2δ
dt2= Pm − Pe − Pd in per unit. (2.12)
In literature, the normalized inertia constant M is also defined as 2Hωsyn
[47].
Thus, by substituting M instead of 2Hωsyn
in Eq. 2.12, the convenient form of swing
equation is defined as the following equation
Md2δ
dt2= Pm − Pe − Pd in per unit. (2.13)
2.2 Numerical Integration Methods for the Swing
Equation
In general, systems in the real world are described with continuous-time dy-
namics as in the case of the swing equation. However, state estimation and control
algorithms are almost always implemented in digital electronics [51]. Accordingly,
Chapter 2. Power System Model and Transient Stability 13
this often requires to transform the continuous time dynamics to discrete time dy-
namics [51]. In order to perform the numerical integration, it is more convenient to
convert the swing equation into a set of coupled first order differential equations as
follow
Mdω
dt= Pm − Pe − Pd
dδ
dt= ω.
(2.14)
In this section, three numerical integration methods are discussed and compared in
order to obtain a solution for the set of differential equations of the above form.
2.2.1 Euler Method
Consider the first-order differential equation [52]
dx
dt= f(x, t) (2.15)
with x = x0 at t = t0. The Figure 2.1 illustrates the principles of applying Euler
method [52].
Figure 2.1: An illustration of Euler method.
At x = x0, t = t0 the curve representing the true solution by its tangent having
a slope [52]dx
dt
∣∣∣∣x=x0
= f(x0, t0) (2.16)
Chapter 2. Power System Model and Transient Stability 14
and therefore,
∆x =dx
dt
∣∣∣∣x=x0
∆t. (2.17)
The value of x at t = t1 = t0 + ∆t is given by
x1 = x0 + ∆x = x0 +dx
dt
∣∣∣∣x=x0
∆t. (2.18)
The Euler method which is the equivalent of using the first two terms of the
Taylor series expansion for x around the point (x0, t0), can be generalized as follows:
xn+1 = xn +dx
dt
∣∣∣∣x=xn
∆t. (2.19)
2.2.2 Second order Runge-Kutta integration: Trapezoidal
rule
Referring to the differential equation Eq. 2.15, the second order R-K method
for the value of x at t = t0 + ∆t is [52]
x1 = x0 + ∆x = x0 +k1 + k2
2(2.20)
where
k1 = f(x0, t0)∆t
k2 = f(x0 + k1, t0 + ∆t)∆t.
This method is equivalent to considering first and second derivative terms in
the Taylor series and the general formula giving the value of x for the (n+ 1)st step
is [52]
xn+1 = xn +k1 + k2
2(2.21)
Chapter 2. Power System Model and Transient Stability 15
where
k1 = f(xn, tn)∆t
k2 = f(xn + k1, tn + ∆t)∆t.
2.2.3 Fourth order Runge-Kutta integration
The general formula giving the value of x for the (n+ 1)st step is [52]
xn+1 = xn +1
6(k1 + 2k2 + 2k3 + k4) (2.22)
where
k1 = f(xn, tn)∆t
k2 = f(xn + k12, tn + ∆t
2)∆t
k3 = f(xn + k22, tn + ∆t
2)∆t
k4 = f(xn + k3, tn + ∆t)∆t
The physical interpretation of the above solution is as follows [52]:
k1 = (slope at the beginning of time step)∆t
k2 = (first approximation to slope at midstep)∆t
k3 = (second approximation to slope at midstep)∆t
k4 = (slope at the end of step)∆t
∆x = 16(k1 + 2k2 + 2k3 + k4)
The fourth-order R-K method is equivalent to considering up to fourth deriva-
tives in the Taylor series expansion.
The three methods discussed above can be used to solve the swing equations
for the multimachine power system stability.
Chapter 2. Power System Model and Transient Stability 16
2.2.4 Simulation Studies and Results
In this section, the three numerical integration methods used in the transient
stability computation procedure are compared and some simulation results are pre-
sented. The WSCC 3-Generator 9-Bus test power system [50] is considered in order
to compare the performance of the three methods in transient analysis.
The behavior of the rotor speed of the first generator ω1 can be used to observe
the performances of the methods under different time steps. As a transient case, a
bus fault at bus 4 is considered between t = 1s and t = 1.15s. The plot of ω1 can
be seen in the below figures for three methods and for different time steps. In an
accurate transient stability solution, the ω1 in p.u. needs to converge to 1 after doing
some oscillations starting from t = 1s.
Time step=0.0005s:
0 5 10 15 20 25 30 35 40 45 500.998
1
1.002
1.004
1.006
1.008
1.01
1.012
1.014
The plot of ω1 when time step is 0.0005s
time (s)
ω 1 in p
u
Euler2nd order R−K4th order R−K
Figure 2.2: Plot of w1 when ∆t = 0.0005s for the 3-generator 9-bus powersystem
Chapter 2. Power System Model and Transient Stability 17
Time step=0.01s:
5 10 15 20 25 30 35 40 45 50
0.98
0.99
1
1.01
1.02
1.03
1.04
1.05
1.06
The plot of ω1 when time step is 0.01s
time (s)
ω 1 in p
u
Euler2nd order R−K4th order R−K
Figure 2.3: Plot of w1 when ∆t = 0.01s for the 3-generator 9-bus power system
Time step=0.03s:
5 10 15 20 25 30 35 40 45
1
1.002
1.004
1.006
1.008
1.01
1.012
The plot of ω1 when time step is 0.03s
time (s)
ω 1 in p
u
2nd order R−K4th order R−K
Figure 2.4: Plot of w1 when ∆t = 0.03s for the 3-generator 9-bus power system
Chapter 2. Power System Model and Transient Stability 18
Time step=0.05s:
5 10 15 20 25 30 35 40 45 50
1
1.002
1.004
1.006
1.008
1.01
1.012
The plot of ω1 when time step is 0.05s
time (s)
ω 1 in p
u
4th order R−K
Figure 2.5: Plot of w1 when ∆t = 0.05s for the 3-generator 9-bus power system
When we observe the behavior of ω1, it is seen that the 4th order Runge Kutta
method gives better transient stability solution compared to others. The Euler
method which only considers the first two terms of the Taylor series expansion, gives
sufficient accuracy if and only if the time step is set to be very small as ∆t = 0.0005s.
If the time step is set to be very small, the computational effort required will be very
high [52]. Therefore Euler method is not very appropriate method to be used in
transient stability studies of power systems as it requires very small time steps and
accordingly high computer storage. The 2nd order Runge Kutta method also gives
accurate solutions but it is worse than 4th order Runge Kutta method as expected.
The 4th order R-K still gives accurate solution even when the time step is set to
0.05s as seen in Figure 2.5.
2.3 Multimachine Stability Studies
A multimachine power system can schematically be represented as in Figure 2.6
below with n number of synchronous generators and m-constant impedance loads
[47, 53]. The transmission network, together with the transformers, connects the
Chapter 2. Power System Model and Transient Stability 19
various nodes. The loads, which are modeled as constant impedances, connect the
load buses to the reference node.
Figure 2.6: Multimachine power system representation (classical model) fortransient stability study
The phasors |Ei|∠δi stands for internal machine voltages whereas Vai represents
the terminal bus voltages. The terminal currents Ii are coming from the synchronous
generators into the network.
2.3.1 Classical Model and Assumptions
It is an obvious fact that, the electic power systems are continually growing in
size with the addition of many interconnected transmission networks and emerging
new technologies. This high dimensionality and the increase in complexity of the
power systems make the transient stability study a complicated issue. It is more
convenient to simplify the complex power system and involve some assumptions while
doing the mathematical modeling. The classical model is considered throughout the
transient analysis and the following set of assumptions are considered [49, 53]:
1. The three-phase synchronous machines are represented by a constant internal
voltage Ei∠δi behind a transient reactance xd connected in series which is illustrated
on Figure 2.7 below: The magnitudes of the internal generator voltages |Ei| are
Chapter 2. Power System Model and Transient Stability 20
Figure 2.7: Classical model for simplified synchronous generator
kept constant throughout the transient simulation while the variation of angle δi is
observed.
2. The motion of each synchronous machine rotor (relative to a synchronously
rotating reference frame) is at a fixed angle relative to the angle of the voltage
behind the transient reactance.
3. The loads are represented by constant impedances.
4. The mechanical power input to each of the synchronous generators is constant.
5. The damping power is represented as proportional to the rotor speed ω and it is
considered negligible in some cases.
2.3.2 Preliminary Calculations for Initialization
To prepare the multimachine system for transient stability study, the following
set of preliminary calculations are made [46, 53]:
1. The system data are converted to a common system base; a system base of 100
MVA is conventionally chosen. The mechanical, electrical and damping power values
are represented in per unit.
2. The load data from the prefault power flow are converted to equivalent impedances
or admittances. The data for this step are obtained from the result of the power flow
study. If a certain load bus has a voltage solution VLi and complex power demand
Chapter 2. Power System Model and Transient Stability 21
SLi = PLi + jQLi, then using SLi = VLiI∗Li (which implies ILi = S∗Li/V
∗Li), we get
yLi =ILiVLi
=S∗Li|VLi|2
=PLi − jQLi
|VLi|2(2.23)
where yLi = gLi + jbLi is the equivalent shunt load admittance.
3. The internal voltages of the generators |Ei|∠δi0 are calculated from the power flow
data using the predisturbance terminal voltages |Vai|∠βi0 as follows. The terminal
voltage is used as reference.
|Ei|∠δi′ = |Vai|+ jxdiIi. (2.24)
Expressing Ii in terms of SGi and Vai, we have
|Ei|∠δi′ = |Vai|+ jxdiS
∗Gi
|Vai|= |Vai|+ j
xdi(PGi − jQGi)
|Vai|
= (|Vai|+QGixdi|Vai|
) + j(PGixdi|Vai|
)
(2.25)
Thus the angle difference between internal and terminal voltage in Figure is δ′i. Since
the actual terminal voltage angle is βi, we obtain the initial generator angle δ0i by
adding the predisturbance voltage angle βi to δ′i, or
δ0i = δ′i + βi. (2.26)
4. The Ybus matrices for the prefault, faulted and postfault network conditions are
calculated. In obtaining these matrices, the following steps are involved:
a. The equivalent load admittances calculated in step 2 are connected between the
load busses and the reference node. Additional nodes are provided for the internal
generator nodes and the appropriate values of admittances corresponding to xd are
connected between these nodes and the generator terminal nodes.
b. In order to obtain the Ybus corresponding to the faulted system, usually the three-
phase to ground faults are considered. The faulted Ybus is then obtained by setting
the row and column corresponding to the faulted node to zero. If there is any other
Chapter 2. Power System Model and Transient Stability 22
switching condition other than fault condition, the admittance matrix is determined
for each switching condition.
c. The postfault Ybus is obtained by removing the line that would have been switched
following the protective relay operation.
5. In the final step, the reduced bus admittance matrix, which is denoted by Y ,
is obtained as follows. The system Ybus for each network condition provides the
following relationship between the voltages and currents:
I = YbusV (2.27)
where the current vector I is given by the injected currents at each bus. In the
classical model considered, injected currents exist only at the n-internal generator
buses. All other currents are zero. As a result, the injected current vector has the
form
I =
In
· · ·
0
(2.28)
We now partition the matrices Ybus and V appropriately to obtain
I =
In
· · ·
0
=
Ynn
... Yns
· · · · · · · · ·
Ysn... Yss
En
· · ·
Vs
(2.29)
The subscript n is used to denote the internal generator nodes, and the subscript s
is used for all the remaining nodes.
Ynn is a diagonal matrix of inverted generator impedances; that is
Ynn =
1
jxd10
1jxd1
. . .
0 1jxdn
(2.30)
Chapter 2. Power System Model and Transient Stability 23
and also, the kmth element of Yns is
Ynskm =
−1jxdn
if m = Gn and k = n,
0 otherwise.
(2.31)
Note that the voltage at the internal generator nodes are given by the internal emf ’s.
Expanding Eq. 2.29, we get
In = YnnEn + YnsVs 0 = YsnEn + YssVs
from which we eliminate Vs to determine
In = (Ynn − YnsY −1ss Ysn)En = Y En (2.32)
The matrix Y is the desired reduced admittance matrix. It has dimensions (nxn)
where n is the number of the generators. From Eq. 2.32 we also observe that the
reduced admittance matrix provides us a complete description of all the injected
currents in terms of the internal generator bus voltages. We will now use this re-
lationship to derive an expression for the (active) electrical power output of each
generator and hence obtain the differential equations governing the dynamics of the
system.
The power injected into the network at node i, which is the electrical power
output of machine i, is given by [49, 53]
PGi = Re(EiI∗i ). (2.33)
The expression for the injected current at each generator bus Ii in terms of the
reduced admittance matrix parameters is given by Eq. 2.32 [53].
Using In = Y En, the ith component of the injected current is given by
Ii =n∑j=1
YijEi, i = 1, 2, · · · , n. (2.34)
Chapter 2. Power System Model and Transient Stability 24
The diagonal element Yii (i = 1, 2, · · · , n) is the driving point admittance for
node i and the off-diagonal element Yij (i = 1, 2, · · · , n, i 6= j) is the transfer admit-
tance between nodes i and j [47, 49]. The diagonal and off-diagonal elements of the
reduced admittance matrix Y can be defined as follow [47]
Yii = |Yii|∠θii = Gii + jBii
Yij = |Yij|∠θij = Gij + jBij,
where Gii = |Yii| cos(θii) is the short-circuit conductance; Gij = |Yij| cos(θij) is the
transfer conductance; and Bij = |Yij| sin(θij) is the transfer susceptance.
Substituting Eq. 2.34 into Eq. 2.33, the following expression can be written for
the electric power delivered to the network by machine i [47, 53]:
PGi = Re[n∑j=1
|Ei||Ej||Yij|∠(δi − δj − θij)], i = 1, 2, · · · , n
=n∑j=1
|Ei||Ej||Yij| cos(δi − δj − θij).(2.35)
The above equation can also be rewritten as
PGi = |E2i ||Yii| cos(θii) +
n∑j=1j 6=i
|Ei||Ej||Yij| cos(δi − δj − θij), i = 1, 2, · · · , n
= E2i Gii +
n∑j=1j 6=i
|Ei||Ej||Yij| cos(δi − δj − θij).(2.36)
The electric output power can also be written by using conductances and suscep-
tances as follow
PGi = E2i Gii +
n∑j=1j 6=i
|Ei||Ej||Yij|[sin(θij) sin(δi − δj) + cos(θij) cos(δi − δj)]
= E2i Gii +
n∑j=1j 6=i
|Ei||Ej|[Bij sin(δi − δj) + Gij cos(δi − δj)], i = 1, 2, · · · , n.
(2.37)
Chapter 2. Power System Model and Transient Stability 25
The mechanical power input Pmi for each generator is constant throughout the
transient stability procedure. The damping power is expressed by the damping con-
stant,in seconds per electrical radian, times first derivative of the rotor angle which
is specified as Pdi = Didδidt
= Diwi. The first order differential equations representing
the second order swing equation for a synchronous generator in a multimachine power
system can be expressed can be expressed as follow by using the above description
of the electric output power [53]:
Midωidt
= Pmi − E2i Gii −
n∑j=1j 6=i
|Ei||Ej|[Bij sin(δi − δj) + Gij cos(δi − δj)]− Pdi
dδidt
= ωi, i = 1, 2, · · · , n.(2.38)
The difference form of the above first order differential equations are determined
by using the three numerical integration methods described in the Section 2.2. The
actual solution of the above equations for both the rotor speed ω and the rotor angle
δ are found by discrete time simulation of the transient operation. By consider-
ing the prefault, fault and postfault cases, the actual values are obtained at each
computation time step for each generator in the system.
Chapter 3
Use of EKF and UKF Techniques
in Power System DSE
3.1 Mathematical Modeling
The dynamic state estimation algorithms calculate the dynamic states of the
system which are the state variables in the non-linear algebraic equations represent-
ing the power system. The first step in the dynamic state estimation process is the
identification of the mathematical modeling for the time behavior of the power sys-
tem. By using the mathematical model of the system and the collected measurement
data, DSE predicts the dynamic state vector one step ahead.
A dynamic system can generally be modeled as set of non-linear differential
equations [27, 28]:dx
dt= f(x, u, w) (3.1)
where f(.) is the system function, x vector represents the state variables, the u
vector represents the algebraic variables and w stands for process (system) noise.
26
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 27
The difference form of Eq. 3.1 can be written as [27]:
xk = xk−1 + f(xk−1, uk−1, wk−1)∆t
= g(xk−1, uk−1, wk−1)(3.2)
where k − 1 is the present instant of time index, k is the next instant of time index
and ∆t is the time step. The measurements at time step k can be represented as a
vector of non-linear functions h(.) in terms of the state variables x and measurement
noise v as below [27]:
zk = h(xk, vk) (3.3)
The resulting error between the measured and calculated values is given by [27]
εk = zk − h(xk, vk) (3.4)
Since not all of the dynamic variables of power systems can directly be measured,
they need to be computed and estimated. The execution of Kalman Filter techniques
in the power system dynamic state estimation can solve this problem. Kalman Filter
has the ability of incorporating the noise characteristics into the computations. The
Extended Kalman Filter (EKF) and Unscented Kalman Filter (UKF) algorithms
can be applied to estimate the dynamics of a multimachine power system which
are the state variables in the non-linear differential equations. The EKF and UKF
algorithms are illustrated in the following sections.
3.2 Extended Kalman Filter (EKF) Algorithm
The Extended Kalman Filter (EKF) algorithm which is a two step prediction-
correction process, can be summarized as [51]:
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 28
1. The discrete time system equations are presented as follows:
xk = fk−1(xk−1, uk−1, wk−1)
yk = hk(xk, vk)
wk ∼ (0, Qk)
vk ∼ (0, Rk)
(3.5)
The system noise covariance matrix is represented by Qk and the measurement
noise covariance matrix is represented by Rk.
2. Initialize the filter:
x+0 = E(x0)
P+0 = E[(x− x+
0 )(x− x+0 )T ]
(3.6)
where x+0 represents the initial state and P+
0 represents the initial state covariance
matrix. The subscript + indicates the estimate is in an a posteriori estimate.
For k = 1, 2, ..., perform the following:
Prediction:
3. Compute the following partial derivative matrices at the current state estimate
x+k−1:
Fk−1 =∂fk−1
∂x
∣∣∣∣x+k−1
Lk−1 =∂fk−1
∂w
∣∣∣∣x+k−1
(3.7)
4. Perform the time update of state estimate and estimation-error covariance matrix:
P−k = Fk−1P+k−1F
Tk−1 + Lk−1Q
+k−1L
Tk−1
x−k = fk−1(x+k−1, uk−1, 0)
(3.8)
where the subscript − denotes the estimate is in an a priori estimate.
Correction:
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 29
5. Perform the following partial derivative matrices at the state update x−k :
Hk =∂hk∂x
∣∣∣∣x−k
Vk =∂hk∂v
∣∣∣∣x−k
(3.9)
6. Perform the measurement update of the state estimate and estimation covariance
as follows:
Kk = P−k HTk (HkP
−k H
Tk + VkRkV
Tk )−1
x+k = x−k +Kk[yk − hk(x−k , 0)]
P+k = (I −KkHk)P
−k
(3.10)
where Kk is the Kalman gain matrix, x+k is the state estimate and P+
k is the estima-
tion error covariance matrix.
The Extended Kalman Filter (EKF), as illustrated above, is one of the most
widely used estimation algorithm for estimating the non-measurable state variables
of non-linear systems. It can also be successfully applied to the estimation of multi-
machine dynamic variables uncluding rotor speed and rotor angle. It shows suffi-
ciently valid performance in both small disturbance conditions and large disturbance
conditions. However, it is obvious that the system state equations f(.) and some of
the measurement equations h(.) are non-linear functions of state variables. Accord-
ingly, the linearization and Jacobian matrix calculation are indispensible. The EKF
method linearizes all of the non-linear trnasformations and it calculates Jacobian
matrices during the estimation process. It is a well known fact that, although the
EKF method is computationally efficient in dynamic state estimation, the lineariza-
tion and Jacobian matrix calculation can lead to some serious drawbacks [30, 34]:
(1) First of all, the linearization is reliable if the higher order terms in Taylor ex-
pansion can be ignored. If this condition can not hold, the linearized approximation
can be extremely poor. As a result, if the time step is not set sufficiently small, the
filter performance will be highly unstable.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 30
(2) The linearization process can only be applied if the Jacobian matrices exist.
However, in some cases, Jacobian matrices do not exist and it is impossible to
perform linearization during the filtering process.
(3) The other disadvantage about EKF is that the Jacobian matrix calculation which
includes many partial derivations, is an error-prone process. The Jacobian matrix
calculation can be really CPU intensive. It can require pages of dense algebra which
will later on need to be converted into a code while running the simulations. If
there is some incorrect parts in the algebra or in the code, this can lead to serious
problems.
In order to overcome the above drawbacks of EKF method existing due to the
linearization and Jacobian matrix calculation, another method can be offered which
does not include linearization and Jacobian matrix computation. The Unscented
Kalman Filter (UKF) method, as illustrated in the following section, can be used
instead of EKF in the dynamic studies of muti-machine power systems. UKF which
is based on unscented transformation is a more efficient, straightforward and easy
to implement in the dynamic state estimation process.
3.3 Unscented Kalman Filter (UKF) Algorithm
As mentioned, the linear approximations applied to non-linear equations repre-
senting the system dynamics can create low accuracy and reduced estimation perfor-
mance. There occurs unstability in the filtering due to the reason that the high order
terms in the Taylor series expansion are neglected. The Unscented Transform (UT),
which offers an opportunity to overcome these limitations of linearization based EKF
algorithm, can be summerized as:
Unscented Transform (UT):
The unscented transformation is an effective method which claims that it is
easier to approximate a Guassian distribution than a non-linear function [32, 33].
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 31
By this theory, the statistical distribution of the state is propagated through the non-
linear equations which provides better approximation of state vector and covariance
matrix [32]. The Unscented Transformation theory can be summarized as follow[32–
34]:
Suppose that x is an n-dimensional random variable with mean m and covari-
ance Pxx. Then suppose another random variable y which is related to x through a
non-linear function
y = f(x). (3.11)
The main idea of unscented transformation is to obtain a set of deterministically
chosen sigma points which capture the mean and covariance of the original distri-
bution of x exactly. The sigma points are then propogated to calculate the mean y
and covariance Pyy of y.
Based on the knowledge of x, the 2n+ 1 sigma points can be found as
x0 = m
xi = m+
(√(n+ λ)Pxx
)ii = 1, . . . , n
xi+n = m−(√
(n+ λ)Pxx
)ii = 1, . . . , n
(3.12)
where
(√(n+ λ)Pxx
)iis the ith row or column of matrix square root of the (n +
λ)Pxx. The parameter λ can be defined as λ = α2(n + κ) − n. It is suggested
to use 10−4 ≤ α ≤ 1 and κ = 3 − n or κ = 0. The square root matrix can be
approximated by P = AAT , where A is lower triangular matrix obtained from the
Cholesky factorization of P [32].
In the next state, the previously obtained sigma points can be transformed
through non-linear function and as a result the transformed sigma points are calcu-
lated as below:
χi = f(xi) (3.13)
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 32
Then the mean and covariance of y can be calculated by using the previously
calculated transformed sigma points as:
y =2n∑i=0
W imy
i
Pyy =2n∑i=0
W ic(χ
i − y)(χi − y)T
(3.14)
where the weights W im and W i
c are defined as
W 0m =
λ
n+ λ
W 0c =
λ
n+ λ+ (1− α2 + β)
W im = W i
c =1
2(n+ λ)
(3.15)
where the parameter β takes a value 2 which is typical for a Guassian distribution.
The UKF algorithm consists of three main parts which are sigma points calcu-
lation, state prediction and state correction respectively.
The Unscented Kalman Filter (UKF), based on unscented transformation (UT)
theory, can be summarized as follows [51]:
1. The discrete time system equations are presented as follows:
xk = fk−1(xk−1, uk−1, wk−1)
yk = hk(xk, vk)
wk ∼ (0, Qk)
vk ∼ (0, Rk)
(3.16)
The system noise covariance matrix is represented by Qk and the measurement
noise covariance matrix is represented by Rk.
2. Initialize the filter:
x+0 = E(x0)
P+0 = E[(x− x+
0 )(x− x+0 )T ]
(3.17)
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 33
where x+0 represents the initial state and P+
0 represents the initial state covariance
matrix. The subscript + indicates the estimate is in an a posteriori estimate.
3. The following time update equations are used to propagate the state estimate
and covariance from one measurement time to the next.
(a) Firstly, to propagate from time step k−1 to k, the sigma points xik−1 are specified
according to the following formula:
x(i)k−1 = x+
k−1 + x(i), i = 1, . . . , 2n
x(i) =
(√(n+ λ)P+
k−1
)Ti
, i = 1, . . . , n
x(n+i) = −(√
(n+ λ)P+k−1
)Ti
, i = 1, . . . , n
(3.18)
(b) Use the known nonlinear system equation f(.) to transform the sigma points
into x(i)k vectors as shown in Eq. 3.18 with appropriate changes since our nonlinear
transformation is f(.) rather than h(.):
x(i)k−1
f(·)−−→ x(i)k , x
(i)k = f(x
(i)k−1, uk, tk) (3.19)
(c) Combine the x(i)k vectors to obtain the a priori state estimate at time k which is
given by the following formula:
x−k =1
2n
2n∑i=1
x(i)k (3.20)
(d) Estimate the a priori error covariance by adding Qk−1 to the end of the equation
in order to take the process noise into account:
P−k =1
2n
2n∑i=1
(x(i)k − x
−k )(x
(i)k − x
−k )T +Qk−1 (3.21)
4. The time update equations are completed at this point and the measurement
update equations need to be implemented in the final part of the UKF algorithm.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 34
(a) Choose sigma points x(i)k with appropriate changes since the current best guess
for the mean and covariance of xk are x−k and P−k :
x(i)k = x−k + x(i), i = 1, . . . , 2n
x(i) =
(√(n+ λ)P−k
)Ti
, i = 1, . . . , n
x(n+i) = −(√
(n+ λ)P−k
)Ti
, i = 1, . . . , n
(3.22)
(b) Use the known nonlinear measurement equation h(.) to transform the sigma
points into y(i)k vectors as follow:
y(i)k
h(·)−−→ x(i)k , y
(i)k = h(x
(i)k , tk) (3.23)
(c) Combine the y(i)k vectors to obtain the predicted measurement at time k:
yk =1
2n
2n∑i=1
y(i)k (3.24)
(d) Estimate the covariance of the predicted measurement by adding Rk to the end
of the equation in order to take the measurement noise into account:
P−y =1
2n
2n∑i=1
(y(i)k − yk)(y
(i)k − yk)
T +Rk (3.25)
(e) Estimate the cross covariance between x−k and yk:
P−xy =1
2n
2n∑i=1
(x(i)k − x
−k )(y
(i)k − yk)
T (3.26)
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 35
(f) Finally, the measurement update of the state estimate can be performed by using
the normal Kalman filter equations:
Kk = PxyP−1y
x+k = x−k +Kk(yk − yk)
P+k = P−k − (KkPyK
Tk )
(3.27)
where Kk is the Kalman gain matrix, x+k is the state estimate and P+
k is the estima-
tion error covariance matrix.
3.4 Simulation Studies and Results
3.4.1 Description of Simulation Studies
In this section, the dynamic variables which are the generator rotor speed ω and
the generator rotor angle δ are estimated by using both Extended Kalman Filter
(EKF) and Unscented Kalman Filter (UKF) techniques. The estimation process
is simulated along with the transient stability computation procedure on various
multi-machine test power systems. During the simulations, in order to test the
estimation performance of both EKF and UKF techniques, different scenarios were
considered as bus fault, sudden load change, line switch. These different transient
cases are applied to the multi-machine test systems in a definite time interval and the
change of the behaviors of the dynamic state variables are observed. The EKF and
UKF algorithms are applied in order to estimate the actual behavior of the dynamic
variables under these transient conditions. In order to compare the performances of
EKF and UKF, the simulation and filtering specifications are definitely kept same
for both algorithm. The bus real power injections, reactive power injections, bus
voltage magnitudes and bus voltage angles are used as measurement vector during
the estimation process.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 36
The dynamic state vector x and the measurement vector z can be shown as
below:
x =
ω1
ω2
...
ωn
δ1
δ2
...
δn
z =
PG1
...
PGn
QG1
...
QGn
|V1|...
|Vs|
θ1
...
θs
(3.28)
where n represents the number of generators and s represents the number of buses
in the power power system.
The general principle of the Kalman filtering process which is applied during
the dynamic estimation process of the test power systems can be summarized on the
Figure 3.1 below.
Figure 3.1: Kalman Filter is simply a two-step prediction-update process
As summarized on Figure 3.1, in the DSE process, by using the coming mea-
surements and the state estimates at time instant k along with the mathematical
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 37
model of the test power system, the state vector for the next instant of time k + 1
is predicted.
During the simulations, a random Gaussian noise is assumed with mean equal
to zero and standard deviation equal to σ = 10−2 for both system noise and mea-
surement noise. This means that the diagonal elements of the Q (system noise
covariance) and R (measurement noise covariance) matrix are set to σ2 = 10−4 dur-
ing the simulations. The diagonal elements of the initial error covariance matrix
P0 is also set to σ2 = 10−4. The initial values of the state estimate vector x+0 are
arbitrarily chosen but the same values are used for both EKF and UKF case. In this
study, the simulations are carried out by using all of the numerical integration inte-
gration methods which are Euler method, Second Order Runge Kutta and Fourth
Order Runge Kutta method. However, the results for Fourth Order Runge Kutta
method are presented for all of the test systems during the comparison of EKF and
UKF as it performs more accurate transient stability solution. The base is assumed
as Sbase = 100 MVA and the system frequency is assumed as 60 Hz for all of the
simulations and for all of the test systems.
The comparison of the performances of EKF and UKF is made based on the
following performance indices:
Estimation Error (ξ):
The estimation error for the time instant k is calculated by using the following
formula [32]:
ξk =1
2n
2n∑i=1
|xik − xik| (3.29)
where 2n is the number of states (n rotor speed and n rotor angle), x is the actual
state vector calculated at the end of the transient stability analysis and x represents
the estimated state vector as a result of the Kalman filtering process.
The overall estimation error is defined by using the following formula which
calculates the mean of the estimation error vector including the estimation error for
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 38
each computation step:
ξ =1
kmax
kmax∑k=1
ξk (3.30)
The estimation error is calculated for the generator rotor speed ω variables and
the generator rotor angle δ variables by using the same formula separately as shown
below:
ξω =1
kmax
kmax∑k=1
[1
n
n∑i=1
|ωik − ωik|
]
ξδ =1
kmax
kmax∑k=1
[1
n
n∑i=1
|δik − δik|
] (3.31)
where n is the number of ω and δ in the state vector.
The EKF and UKF performances are presented in the following section including
the plots of the dynamic states and the performance indices for different test power
systems.
3.4.2 3-Generator 5-Bus Power System
The one-line diagram of the 3-generator 5-bus test power system is shown on
Figure 3.2 [53]. The generator dynamic data is given in Table 3.1 [53]. The time
step is set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor
angle δ are estimated considering the transient case described below:
Transient Case : Fault at Bus 4 from t = 0s to t = 0.1s. The Line 3− 4 is removed
at t = 0.1s.
Table 3.1: Generator dynamic data of the 3-generator 5-bus power system
Para. Unit G1 G2 G3
xd p.u. 0.08 0.18 0.12H s 10 3.01 6.4D p.u. 0 0 0
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 39
Figure 3.2: The one-line diagram of the 3-generator 5-bus power system
Generator 1 : The rotor speed ω1 is estimated by using EKF as shown on Figure 3.3
and UKF as shown on Figure 3.4.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
Estimation of ω1 by EKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.3: Estimation of ω1 by EKF for the 3-generator 5-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 40
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
Estimation of ω1 by UKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.4: Estimation of ω1 by UKF for the 3-generator 5-bus power system
Generator 2 : The rotor speed ω2 is estimated by using EKF as shown on Figure 3.5
and UKF as shown on Figure 3.6.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
Estimation of ω2 by EKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.5: Estimation of ω2 by EKF for the 3-generator 5-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 41
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
Estimation of ω2 by UKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.6: Estimation of ω2 by UKF for the 3-generator 5-bus power system
Generator 3 : The rotor speed ω3 is estimated by using EKF as shown on Figure 3.7
and UKF as shown on Figure 3.8.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
time (s)
Estimation of ω3 by EKF
ω 3 in p
u
ω
3
ωest3
Figure 3.7: Estimation of ω3 by EKF for the 3-generator 5-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 42
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 51
1.005
1.01
1.015
1.02
1.025
1.03
1.035
1.04
1.045
time (s)
Estimation of ω3 by UKF
ω 3 in p
u
ω
3
ωest3
Figure 3.8: Estimation of ω3 by UKF for the 3-generator 5-bus power system
Generator 2 : The relative rotor angle δ2−1 is estimated by using EKF as shown on
Figure 3.9 and UKF as shown on Figure 3.10.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−0.3
−0.25
−0.2
−0.15
−0.1
−0.05
0
0.05
Estimation of δ2−1
by EKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.9: Estimation of δ2−1 by EKF for the 3-generator 5-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 43
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−0.25
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
Estimation of δ2−1
by UKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.10: Estimation of δ2−1 by UKF for the 3-generator 5-bus power system
Generator 3 : The relative rotor angle δ3−1 is estimated by using EKF as shown on
Figure 3.11 and UKF as shown on Figure 3.12.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
Estimation of δ3−1
by EKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.11: Estimation of δ3−1 by EKF for the 3-generator 5-bus power system
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.2.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 44
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
Estimation of δ3−1
by UKF
time (s)
δ 3−1 in
rad
δ
31
δ3−1est
Figure 3.12: Estimation of δ3−1 by UKF for the 3-generator 5-bus power system
Table 3.2: Performance indices of EKF and UKF for the 3-generator 5-bus powersystem
PerformanceIndex
EKF UKF
ξ 0.0109 0.0879ξω 4.8579× 10−4 7.6836× 10−4
ξδ 0.0213 0.1750
3.4.3 3-Generator 9-Bus Power System
The one-line diagram of the 3-generator 9-bus test power system is shown on
Figure 3.13 [50]. The generator dynamic data is given in Table 3.3 [50]. The time
step is set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor
angle δ for three generators are estimated considering the two transient cases.
Transient Case 1 : Fault at Bus 4 from t = 1s to t = 1.15s [27].
Table 3.3: Generator dynamic data of the 3-generator 9-bus power system
Para. Unit G1 G2 G3
xd p.u. 0.0608 0.1198 0.1813H s 13.64 6.4 3.01D p.u. 9.6 2.5 1
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 45
Figure 3.13: The one-line diagram of the 3-generator 9-bus power system
Generator 1 : The rotor speed ω1 is estimated by using EKF as shown on Figure 3.14
and UKF as shown on Figure 3.15.
0 1 2 3 4 5 6 7 8 9 101
1.005
1.01
1.015
Estimation of ω1 by EKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.14: Estimation of ω1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 46
0 1 2 3 4 5 6 7 8 9 101
1.005
1.01
1.015
Estimation of ω1 by UKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.15: Estimation of ω1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1
Generator 2 : The rotor speed ω2 is estimated by using EKF as shown on Figure 3.16
and UKF as shown on Figure 3.17.
0 1 2 3 4 5 6 7 8 9 100.995
1
1.005
1.01
1.015
1.02
Estimation of ω2 by EKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.16: Estimation of ω2 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 47
0 1 2 3 4 5 6 7 8 9 100.995
1
1.005
1.01
1.015
1.02
Estimation of ω2 by UKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.17: Estimation of ω2 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1
Generator 3 : The rotor speed ω3 is estimated by using EKF as shown on Figure 3.18
and UKF as shown on Figure 3.19.
0 1 2 3 4 5 6 7 8 9 100.998
1
1.002
1.004
1.006
1.008
1.01
1.012
1.014
1.016
1.018
time (s)
Estimation of ω3 by EKF
ω 3 in p
u
ω
3
ωest3
Figure 3.18: Estimation of ω3 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 48
0 1 2 3 4 5 6 7 8 9 100.995
1
1.005
1.01
1.015
1.02
time (s)
Estimation of ω3 by UKF
ω 3 in p
u
ω
3
ωest3
Figure 3.19: Estimation of ω3 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1
Generator 2 : The relative rotor angle δ2−1 is estimated by using EKF as shown on
Figure 3.20 and UKF as shown on Figure 3.21.
0 1 2 3 4 5 6 7 8 9 10−1.5
−1
−0.5
0
0.5
1
1.5
Estimation of δ2−1
by EKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.20: Estimation of δ2−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 49
0 1 2 3 4 5 6 7 8 9 10−1.5
−1
−0.5
0
0.5
1
Estimation of δ2−1
by UKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.21: Estimation of δ2−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1
Generator 3 : The relative rotor angle δ3−1 is estimated by using EKF as shown on
Figure 3.22 and UKF as shown on Figure 3.23.
0 1 2 3 4 5 6 7 8 9 10−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Estimation of δ3−1
by EKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.22: Estimation of δ3−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 1
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.4 for the transient case 1.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 50
0 1 2 3 4 5 6 7 8 9 10−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Estimation of δ3−1
by UKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.23: Estimation of δ3−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 1
Table 3.4: Performance indices of EKF and UKF for the 3-generator 9-bus powersystem considering the transient case 1
PerformanceIndex
EKF UKF
ξ 0.0242 0.0224ξω 6.1186× 10−4 0.0011ξδ 0.479 0.0437
Transient Case 2 : Load change of 100 W at Bus 4 from t = 1s to t = 1.15s [27].
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 51
Generator 1 : The rotor speed ω1 is estimated by using EKF as shown on Figure 3.24
and UKF as shown on Figure 3.25.
0 1 2 3 4 5 6 7 8 9 100.996
0.997
0.998
0.999
1
1.001
1.002
1.003
1.004
1.005
Estimation of ω1 by EKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.24: Estimation of ω1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2
0 1 2 3 4 5 6 7 8 9 100.996
0.997
0.998
0.999
1
1.001
1.002
1.003
1.004
1.005
Estimation of ω1 by UKF
time (s)
ω 1 in p
u
ω
1
ωest1
Figure 3.25: Estimation of ω1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 52
Generator 2 : The rotor speed ω2 is estimated by using EKF as shown on Figure 3.26
and UKF as shown on Figure 3.27.
0 1 2 3 4 5 6 7 8 9 100.995
1
1.005
1.01
1.015
Estimation of ω2 by EKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.26: Estimation of ω2 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2
0 1 2 3 4 5 6 7 8 9 100.995
1
1.005
1.01
1.015
Estimation of ω2 by UKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.27: Estimation of ω2 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 53
Generator 3 : The rotor speed ω3 is estimated by using EKF as shown on Figure 3.28
and UKF as shown on Figure 3.29.
0 1 2 3 4 5 6 7 8 9 100.996
0.998
1
1.002
1.004
1.006
1.008
time (s)
Estimation of ω3 by EKF
ω 3 in p
u
ω
3
ωest3
Figure 3.28: Estimation of ω3 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2
0 1 2 3 4 5 6 7 8 9 100.996
0.998
1
1.002
1.004
1.006
1.008
time (s)
Estimation of ω3 by UKF
ω 3 in p
u
ω
3
ωest3
Figure 3.29: Estimation of ω3 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 54
Generator 2 : The relative rotor angle δ2−1 is estimated by using EKF as shown on
Figure 3.30 and UKF as shown on Figure 3.31.
0 1 2 3 4 5 6 7 8 9 10−1.5
−1
−0.5
0
0.5
Estimation of δ2−1
by EKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.30: Estimation of δ2−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2
0 1 2 3 4 5 6 7 8 9 10−1.5
−1
−0.5
0
0.5
Estimation of δ2−1
by UKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.31: Estimation of δ2−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 55
Generator 3 : The relative rotor angle δ3−1 is estimated by using EKF as shown on
Figure 3.32 and UKF as shown on Figure 3.33.
0 1 2 3 4 5 6 7 8 9 10−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
Estimation of δ3−1
by EKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.32: Estimation of δ3−1 by EKF for the 3-generator 9-bus power systemconsidering the transient case 2
0 1 2 3 4 5 6 7 8 9 10−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
Estimation of δ3−1
by UKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.33: Estimation of δ3−1 by UKF for the 3-generator 9-bus power systemconsidering the transient case 2
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.5 for the transient case 2.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 56
Table 3.5: Performance indices of EKF and UKF for the 3-generator 9-bus powersystem considering the transient case 2
PerformanceIndex
EKF UKF
ξ 0.0115 0.0078ξω 5.5429× 10−4 7.9425× 10−4
ξδ 0.0225 0.0149
3.4.4 IEEE 5-Generator 14-Bus Power System
The one-line diagram of the IEEE 5-generator 14-bus test power system is shown
on Figure 3.34. The generator dynamic data is given in Table 3.6. The time step is
set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor angle δ
for three generators are estimated considering the transient case described below:
Transient Case : Line 4− 5 is removed at t = 2s.
Figure 3.34: The one-line diagram of the 5-generator 14-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 57
Table 3.6: Generator dynamic data of the 5-generator 14-bus power system
Para. Unit G1 G2 G3 G4 G5
xd p.u. 0.2995 0.185 0.185 0.232 0.232H s 5.148 6.54 6.54 5.06 5.06D p.u. 2 2 2 2 2
Generator 5 : The rotor speed ω5 is estimated by using EKF as shown on Figure 3.35
and UKF as shown on Figure 3.36.
2 4 6 8 10 12 14 16 18
0.997
0.998
0.999
1
1.001
1.002
1.003
1.004
1.005
1.006
Estimation of ω5 by EKF
time (s)
ω 5 in p
u
ω
5
ωest5
Figure 3.35: Estimation of ω5 by EKF for the 5-generator 14-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 58
0 2 4 6 8 10 12 14 16 18 200.9965
0.997
0.9975
0.998
0.9985
0.999
0.9995
1
1.0005
Estimation of ω5 by UKF
time (s)
ω 5 in p
u
ω
5
ωest5
Figure 3.36: Estimation of ω5 by UKF for the 5-generator 14-bus power system
Generator 5 : The relative rotor angle δ5−1 is estimated by using EKF as shown on
Figure 3.37 and UKF as shown on Figure 3.38.
0 2 4 6 8 10 12 14 16 18 20−1.5
−1.4
−1.3
−1.2
−1.1
−1
−0.9
−0.8
−0.7
Estimation of δ5−1
by EKF
time (s)
δ 5−1 in
rad
δ
5−1
δ5−1est
Figure 3.37: Estimation of δ5−1 by EKF for the 5-generator 14-bus power system
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.7.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 59
0 2 4 6 8 10 12 14 16 18 20−0.9
−0.8
−0.7
−0.6
−0.5
−0.4
−0.3
−0.2
−0.1
0
Estimation of δ5−1
by UKF
time (s)
δ 5−1 in
rad
δ
5−1
δ5−1est
Figure 3.38: Estimation of δ5−1 by UKF for the 5-generator 14-bus power system
Table 3.7: Performance indices of EKF and UKF for the 5-generator 14-buspower system
PerformanceIndex
EKF UKF
ξ 0.0119 0.0075ξω 3.0873× 10−4 4.7698× 10−5
ξδ 0.0235 0.0150
3.4.5 IEEE 6-Generator 30-Bus Power System
The one-line diagram of the IEEE 6-generator 30-bus test power system is shown
on Figure 3.39. The generator dynamic data is given in Table 3.8. The time step is
set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor angle δ
for three generators are estimated considering the transient case described below:
Transient Case : Line 3− 4 is removed at t = 1s.
Table 3.8: Generator dynamic data of the 6-generator 30-bus power system
Para. Unit G1 G2 G3 G4 G5 G6
xd p.u. 0.2995 0.185 0.185 0.232 0.232 0.232H s 5.148 6.54 6.54 5.06 5.06 5.06D p.u. 2 2 2 2 2 2
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 60
Figure 3.39: The one-line diagram of the 6-generator 30-bus power system
Generator 2 : The rotor speed ω2 is estimated by using EKF as shown on Figure 3.40
and UKF as shown on Figure 3.41.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 61
2 4 6 8 10 12 14 16 18 20
0.9995
1
1.0005
1.001
1.0015
1.002
1.0025
1.003
Estimation of ω2 by EKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.40: Estimation of ω2 by EKF for the 6-generator 30-bus power system
2 4 6 8 10 12 14 16 18 20
0.9995
1
1.0005
1.001
1.0015
1.002
1.0025
1.003
1.0035
1.004
Estimation of ω2 by UKF
time (s)
ω 2 in p
u
ω
2
ωest2
Figure 3.41: Estimation of ω2 by UKF for the 6-generator 30-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 62
Generator 2 : The relative rotor angle δ2−1 is estimated by using EKF as shown on
Figure 3.42 and UKF as shown on Figure 3.43.
0 2 4 6 8 10 12 14 16 18 20−1.2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
Estimation of δ2−1
by EKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.42: Estimation of δ2−1 by EKF for the 6-generator 30-bus power system
0 2 4 6 8 10 12 14 16 18 20−1.2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
Estimation of δ2−1
by UKF
time (s)
δ 2−1 in
rad
δ
2−1
δ2−1est
Figure 3.43: Estimation of δ2−1 by UKF for the 6-generator 30-bus power system
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.9.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 63
Table 3.9: Performance indices of EKF and UKF for the 6-generator 30-buspower system
PerformanceIndex
EKF UKF
ξ 0.0054 0.0044ξω 2.3019× 10−4 4.1161× 10−4
ξδ 0.0130 0.0085
3.4.6 IEEE 8-Generator 37-Bus Power System
The one-line diagram of the IEEE 8-generator 37-bus test power system is shown
on Figure 3.44. The generator dynamic data is given in Table 3.10. The time step
is set as ∆t = 0.04s. The generator rotor speed ω and generator relative rotor angle
δ for three generators are estimated considering the transient case described below:
Transient Case : Line 32− 35 is removed between t = 2s and t = 2.5s.
Figure 3.44: The one-line diagram of the 8-generator 37-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 64
Table 3.10: Generator dynamic data of the 8-generator 37-bus power system
Generator xd (p.u.) H (s) D (p.u.)
G1 0.08 7.5 2.6G2 0.19 3 2.1G3 0.16 6.2 1.45G4 0.1408 4 2.23G5 0.32 4 0.93G6 0.152 3.32 2.12G7 0.195 2.72 1.7G8 0.08 6.2 1.88
Generator 7 : The rotor speed ω7 is estimated by using EKF as shown on Figure 3.45
and UKF as shown on Figure 3.46.
2 4 6 8 10 12 14 16 18 20
1
1.0005
1.001
1.0015
1.002
Estimation of ω7 by EKF
time (s)
ω 7 in p
u
ω
7
ωest7
Figure 3.45: Estimation of ω7 by EKF for the 8-generator 37-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 65
2 4 6 8 10 12 14 16 18
1
1.0002
1.0004
1.0006
1.0008
1.001
1.0012
1.0014
1.0016
1.0018
Estimation of ω7 by UKF
time (s)
ω 7 in p
u
ω
7
ωest7
Figure 3.46: Estimation of ω7 by UKF for the 8-generator 37-bus power system
Generator 7 : The relative rotor angle δ7−1 is estimated by using EKF as shown on
Figure 3.47 and UKF as shown on Figure 3.48.
2 4 6 8 10 12 14 16 18 20
−0.228
−0.226
−0.224
−0.222
−0.22
−0.218
−0.216
Estimation of δ7−1
by EKF
time (s)
δ 7−1 in
rad
δ
7−1
δ7−1est
Figure 3.47: Estimation of δ7−1 by EKF for the 8-generator 37-bus power system
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.11.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 66
2 4 6 8 10 12 14 16 18 20
−0.23
−0.225
−0.22
−0.215
−0.21
−0.205
−0.2
Estimation of δ7−1
by UKF
time (s)
δ 7−1 in
rad
δ
7−1
δ7−1est
Figure 3.48: Estimation of δ7−1 by UKF for the 8-generator 37-bus power system
Table 3.11: Performance indices of EKF and UKF for the 8-generator 37-buspower system
PerformanceIndex
EKF UKF
ξ 0.0015 3.8377× 10−4
ξω 1.7485× 10−5 4.5823× 10−5
ξδ 0.0029 7.2172× 10−4
3.4.7 IEEE 10-Generator 39-Bus Power System
The generator dynamic data is given in Table 3.12. The damping coefficient D
is set to zero for all generators. The time step is set as ∆t = 0.02s. The generator
rotor speed ω and generator relative rotor angle δ for three generators are estimated
considering the transient case described below:
Transient Case : Line 4− 14 and 16− 17 is removed at t = 2s.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 67
Table 3.12: Generator dynamic data of the 10-generator 39-bus power system
Generator xd (p.u.) H (s) D (p.u.)
G1 0.006 500 0G2 0.0697 30.3 0G3 0.0531 35.8 0G4 0.0436 28.6 0G5 0.132 26 0G6 0.05 34.8 0G7 0.049 26.4 0G8 0.057 24.3 0G9 0.057 34.5 0G10 0.031 42 0
Generator 10 : The rotor speed ω10 is estimated by using EKF as shown on Fig-
ure 3.49 and UKF as shown on Figure 3.50.
2 4 6 8 10 12 14 16 18 20
1
1.001
1.002
1.003
1.004
1.005
1.006
1.007
Estimation of ω10
by EKF
time (s)
ω 10 in
pu
ω
10
ωest10
Figure 3.49: Estimation of ω10 by EKF for the 10-generator 39-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 68
2 4 6 8 10 12 14 16 18 20
1
1.001
1.002
1.003
1.004
1.005
1.006
1.007
Estimation of ω10
by UKF
time (s)
ω 10 in
pu
ω
10
ωest10
Figure 3.50: Estimation of ω10 by UKF for the 10-generator 39-bus power system
Generator 10 : The relative rotor angle δ10−1 is estimated by using EKF as shown
on Figure 3.51 and UKF as shown on Figure 3.52.
0 2 4 6 8 10 12 14 16 18 20−0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Estimation of δ10−1
by EKF
time (s)
δ 10−1
in r
ad
δ
10−1
δ10−1est
Figure 3.51: Estimation of δ10−1 by EKF for the 10-generator 39-bus powersystem
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.13.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 69
0 2 4 6 8 10 12 14 16 18 20−0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Estimation of δ10−1
by UKF
time (s)
δ 10−1
in r
ad
δ
10−1
δ10−1est
Figure 3.52: Estimation of δ10−1 by UKF for the 10-generator 39-bus powersystem
Table 3.13: Performance indices of EKF and UKF for the 10-generator 39-buspower system
PerformanceIndex
EKF UKF
ξ 0.0205 0.0168ξω 4.3964× 10−4 8.1861× 10−4
ξδ 0.0406 0.0329
3.4.8 IEEE 7-Generator 57-Bus Power System
The one-line diagram of the IEEE 7-generator 57-bus test power system is shown
on Figure 3.53. The generator dynamic data is given in Table 3.14. The time step is
set as ∆t = 0.02s. The damping coefficient D is set to zero for all generators. The
generator rotor speed ω and generator relative rotor angle δ for three generators are
estimated considering the transient case described below:
Transient Case : Line 3− 4 is removed at t = 2s.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 70
Figure 3.53: The one-line diagram of the 7-generator 57-bus power system
Table 3.14: Generator dynamic data of the 7-generator 57-bus power system
Generator xd (p.u.) H (s) D (p.u.)
G1 0.152 18.3 0G2 0.150 10.2 0G3 0.234 6.5 0G4 0.251 4.5 0G5 0.262 4.5 0G6 0.252 5.4 0G7 0.252 5.4 0
Generator 3 : The rotor speed ω3 is estimated by using EKF as shown on Figure 3.54
and UKF as shown on Figure 3.55.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 71
1 2 3 4 5 6 7 8 9 10
1
1.002
1.004
1.006
1.008
1.01
1.012
1.014
1.016
Estimation of ω3 by EKF
time (s)
ω 3 in p
u
ω
3
ωest3
Figure 3.54: Estimation of ω3 by EKF for the 7-generator 57-bus power system
1 2 3 4 5 6 7 8 9 10
1
1.005
1.01
1.015
Estimation of ω3 by UKF
time (s)
ω 3 in p
u
ω
3
ωest3
Figure 3.55: Estimation of ω3 by UKF for the 7-generator 57-bus power system
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 72
Generator 3 : The relative rotor angle δ3−1 is estimated by using EKF as shown on
Figure 3.56 and UKF as shown on Figure 3.57.
0 1 2 3 4 5 6 7 8 9 10−0.6
−0.58
−0.56
−0.54
−0.52
−0.5
−0.48
−0.46
−0.44
−0.42
−0.4
Estimation of δ3−1
by EKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.56: Estimation of δ3−1 by EKF for the 7-generator 57-bus power system
0 1 2 3 4 5 6 7 8 9 10−0.6
−0.58
−0.56
−0.54
−0.52
−0.5
−0.48
−0.46
−0.44
−0.42
−0.4
Estimation of δ3−1
by UKF
time (s)
δ 3−1 in
rad
δ
3−1
δ3−1est
Figure 3.57: Estimation of δ3−1 by UKF for the 7-generator 57-bus power system
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.15.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 73
Table 3.15: Performance indices of EKF and UKF for the 7-generator 57-buspower system
PerformanceIndex
EKF UKF
ξ 0.0412 0.0242ξω 0.0015 0.0023ξδ 0.0808 0.0462
3.4.9 50-Generator 145-Bus Power System
The generator dynamic data of the 50-generator 145-bus test power system is
taken from [54]. The damping coefficient D is set to zero for all generators. The time
step is set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor
angle δ for three generators are estimated considering the transient case described
below:
Transient Case : Line 59− 107 and line 136− 140 are removed at t = 1s.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 74
Generator 45 : The rotor speed ω45 is estimated by using EKF as shown on Fig-
ure 3.58 and UKF as shown on Figure 3.59.
2 4 6 8 10 12 14 16 18 20
1
1.0001
1.0002
1.0003
1.0004
1.0005
1.0006
Estimation of ω45
by EKF
time (s)
ω 45 in
pu
ω
45
ωest45
Figure 3.58: Estimation of ω45 by EKF for the 50-generator 145-bus powersystem
2 4 6 8 10 12 14 16 18
1
1.0001
1.0002
1.0003
1.0004
1.0005
1.0006
Estimation of ω45
by UKF
time (s)
ω 45 in
pu
ω
45
ωest45
Figure 3.59: Estimation of ω45 by UKF for the 50-generator 145-bus powersystem
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 75
Generator 45 : The relative rotor angle δ45−1 is estimated by using EKF as shown
on Figure 3.60 and UKF as shown on Figure 3.61.
2 4 6 8 10 12 14 16 18 20
−0.458
−0.456
−0.454
−0.452
−0.45
−0.448
−0.446
−0.444
−0.442
−0.44
Estimation of δ45−1
by EKF
time (s)
δ 45−1
in r
ad
δ
45−1
δ45−1est
Figure 3.60: Estimation of δ45−1 by EKF for the 50-generator 145-bus powersystem
2 4 6 8 10 12 14 16 18
−0.455
−0.45
−0.445
−0.44
−0.435
−0.43
−0.425
−0.42
Estimation of δ45−1
by UKF
time (s)
δ 45−1
in r
ad
δ
45−1
δ45−1est
Figure 3.61: Estimation of δ45−1 by UKF for the 50-generator 145-bus powersystem
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.16.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 76
Table 3.16: Performance indices of EKF and UKF for the 50-generator 145-buspower system
PerformanceIndex
EKF UKF
ξ 0.0043 2.5621× 10−4
ξω 4.4831× 10−5 1.3326× 10−5
ξδ 0.0085 4.9910× 10−4
3.4.10 17-Generator 162-Bus Power System
The generator dynamic data of the 17-generator 162-bus test power system is
taken from [54]. The damping coefficient D is set to zero for all generators. The time
step is set as ∆t = 0.02s. The generator rotor speed ω and generator relative rotor
angle δ for three generators are estimated considering the transient case described
below:
Transient Case : Line 95− 99 and line 159− 160 are removed at t = 2s.
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 77
Generator 10 : The rotor speed ω10 is estimated by using EKF as shown on Fig-
ure 3.62 and UKF as shown on Figure 3.63.
2 4 6 8 10 12 14 16 18 200.9996
0.9998
1
1.0002
1.0004
1.0006
1.0008
1.001
1.0012
1.0014
1.0016
Estimation of ω10
by EKF
time (s)
ω 10 in
pu
ω
10
ωest10
Figure 3.62: Estimation of ω10 by EKF for the 17-generator 162-bus powersystem
2 4 6 8 10 12 14 16 18
0.9996
0.9998
1
1.0002
1.0004
1.0006
1.0008
1.001
1.0012
1.0014
1.0016
Estimation of ω10
by UKF
time (s)
ω 10 in
pu
ω
10
ωest10
Figure 3.63: Estimation of ω10 by UKF for the 17-generator 162-bus powersystem
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 78
Generator 10 : The relative rotor angle δ10−1 is estimated by using EKF as shown
on Figure 3.64 and UKF as shown on Figure 3.65.
2 4 6 8 10 12 14 16 18 20
0.293
0.2935
0.294
0.2945
0.295
0.2955
0.296
Estimation of δ10−1
by EKF
time (s)
δ 10−1
in r
ad
δ
10−1
δ10−1est
Figure 3.64: Estimation of δ10−1 by EKF for the 17-generator 162-bus powersystem
2 4 6 8 10 12 14 16 18
0.294
0.296
0.298
0.3
0.302
0.304
0.306
0.308
0.31
Estimation of δ10−1
by UKF
time (s)
δ 10−1
in r
ad
δ
10−1
δ10−1est
Figure 3.65: Estimation of δ10−1 by UKF for the 17-generator 162-bus powersystem
Chapter 3. Use of EKF and UKF Techniques in Power System DSE 79
The comparison of the performance indices of EKF and UKF is illustrated in
Table 3.17.
Table 3.17: Performance indices of EKF and UKF for the 17-generator 162-buspower system
PerformanceIndex
EKF UKF
ξ 0.0022 9.0924× 10−4
ξω 4.4752× 10−5 5.6862× 10−5
ξδ 0.0043 0.0018
Chapter 4
Parameter Estimation for ZIP
Load Modeling
It is an obvious fact that the load modeling plays an important role in power
systems analysis which is mentioned in the literature [37–45]. One of the most
commonly accepted power system load model is the polynomial load model which is
also called as ZIP load model. Power system analysis software tools often use this
traditional and commonly accepted ZIP load model.
4.1 Polynomial (ZIP) Load Model
A polynomial (ZIP) load model can be defined as a quadratic curve load for
real and reactive power that is based on the load voltage. In this model, both
the real and reactive power consumed by the load bus is expressed as a voltage
dependent polynomial which is one of the most common method in end-use load
modeling. In the ZIP model, all loads in the power system network can be assumed
as a combination of constant power, constant current and constant impedance load.
The mathematical representation of the polynomial ZIP load model can be
expressed as below [41, 42, 55]:
80
Chapter 4. Parameter Estimation for ZIP Load Modeling 81
Pi =
[|V 2a ||V 2n |.|Sn|.Z%.cos(Zθ) +
|Va||Vn|
.|Sn|.I%.cos(Iθ) + |Sn|.P%.cos(Pθ)
]Qi =
[|V 2a ||V 2n |.|Sn|.Z%.sin(Zθ) +
|Va||Vn|
.|Sn|.I%.sin(Iθ) + |Sn|.P%.sin(Pθ)
]100 = Z% + I% + P%
(4.1)
where
Pi : Real power consumption of ith load;
Qi : Reactive power consumption of ith load;
Va : Actual terminal voltage;
Vn : Nominal terminal voltage;
Sn : Apparent power consumption at nominal voltage;
Z% : Percent of load that is constant impedance;
I% : Percent of load that is constant current;
P% : Percent of load that is constant power;
Zθ : Phase angle of constant impedance component;
Iθ : Phase angle of constant current component;
Pθ : Phase angle of constant power component;
In a time-variant load representation, the coefficients of the ZIP model, Vn, Sn,
Z%, I%, P%, Zθ, Iθ and Pθ remain constant, but the power consumption, Pi and Qi,
of the ith load varies with the actual terminal voltage, Va [41]. In the polynomial
representation of the ZIP load, the constant coefficient is equivalent to P%, the linear
coefficient is equivalent to I% and the quadratic coefficient is equivalent to Z% [41].
The ZIP load model only varies the power consumption as a function of actual
terminal voltage, Va [41].
In this study the mathematical representation of the ZIP load model, as illus-
trated in Figure 4.1, is simplified as below:
PLi= αPLi0
+ β|Vi|+ γ|Vi|2, i = 1, . . . ,m
QLi= αQLi0
+ β|Vi|+ γ|Vi|2, i = 1, . . . ,m(4.2)
Chapter 4. Parameter Estimation for ZIP Load Modeling 82
Figure 4.1: An illustration of ZIP load model
where
PLi: Real power consumption of ith load;
QLi: Reactive power consumption of ith load;
|Vi| : Voltage magnitude of the ith load bus
α : Coefficient of constant power component
β : Coefficient of constant current component
γ : Coefficient of constant impedance component
m : Number of load buses
4.2 Revised Power Flow Program Simulating ZIP
Load
In this section, a program which gives a power flow solution for power systems
whose loads are represented as polynomial ZIP model, is revised. A 14-Bus power
system is used as a test system which has composite ZIP load model at each load
bus. The following table illustrates a power flow solution of a 14-Bus system. The
ZIP load parameters (α, β and γ) are specified for each load bus in the test system
and the input file containing the ZIP parameters is given to the power flow program
as an input. The voltage magnitude |Vi|, phase angle θi, real power PL and reactive
power QL are obtained as an output of the power flow program. The program gives
the results based on the given input file containing the specified ZIP parameters and
Chapter 4. Parameter Estimation for ZIP Load Modeling 83
initial powers (PLi0 and QLi0) for each bus. By using the bus voltage magnitudes
|Vi|, obtained as an output of the program, and the specified ZIP load parameters
of each load bus, the real power PLi and reactive power QLi of each load bus are
calculated. The calculated values of real and reactive power are compared to the
values obtained in the solution of the power flow program. The Table 4.1 illustrates
that the power flow solution obtained as an output of the program is correct.
Table 4.1: Power flow solution of 14-bus system with ZIP load
BusNo
|Vi|(V)
θi in deg PLiin
puQLi
inpu
αPLi0+ β|Vi| +
γ|Vi|2 in puαQLi0
+ β|Vi| +γ|Vi|2 in pu
1 1.0600 0.00 0 0 0 02 1.0237 -4.13 0.2149 0.1900 0.2149 0.19003 0.9971 -9.25 0.4105 0.2020 0.4105 0.20214 0.9524 -8.81 0.4183 0.2822 0.4183 0.28225 0.9633 -7.58 0.0558 0.0399 0.0557 0.03996 0.9640 -14.98 0.1258 0.1155 0.1257 0.11557 0.9408 -14.65 0.0913 0.0913 0.0913 0.09138 0.9412 -17.30 0.2325 0.2325 0.2325 0.23259 0.9373 -15.52 0.1444 0.1087 0.1444 0.108710 0.9260 -15.86 0.1079 0.1012 0.1079 0.101211 0.9299 -15.75 0.0970 0.0935 0.0970 0.093512 0.9277 -15.82 0.1021 0.0927 0.1021 0.092713 0.9313 -15.79 0.1180 0.1020 0.1180 0.102014 0.9089 -16.37 0.1177 0.0971 0.1177 0.0971
4.3 ZIP Load Parameter Estimation Algorithm
The ZIP load parameters of 14-Bus power system are estimated by using a
technique based on Weighted Least Square (WLS) algorithm. In order apply the
estimation algorithm to the load bus ZIP parameters of 14-Bus system, the following
steps are followed:
The daily load profile L(MW) of the 14-Bus test system is assumed as shown
on the Figure 4.2. The values of the load profile are chosen for every 15 minutes in a
day. Therefore, also considering the initial point, there occurs 60x2415
+ 1 = 97 points
in the load profile for each 15 minute in 24 hours.
Chapter 4. Parameter Estimation for ZIP Load Modeling 84
0 200 400 600 800 1000 1200 1400200
300
400
500
600
700
800
900
1000Daily Real Power Variation
time (min)
L (M
W)
Figure 4.2: Daily load profile for 14-bus system
The base load for the system is assumed as 700 MW and each point of load
profile data is divided by this base load 700 MW. Then, the 97 coefficients are
obtained and 97 input data file for 14-Bus test system are produced by multiplying
the power injections and load powers by these coefficients. The produced 97 input
data files, containing also the ZIP parameters for each load bus, are given to the
power flow program as an input. Then 97 power flow solutions are obtained for each
input data file as an output of the program. By using the voltage magnitudes |Vi|,
real load power solutions PLi from the solutions and initial load powers |PLi0| of the
load buses from the input files, the ZIP load paramaters are estimated and compared
to their original values entered in the input files. The mathematical representation
of the estimation algorithm can be summarized as below
PLi1
PLi2...
PLik...
PLiN
︸ ︷︷ ︸
z
=
PLi01 |Vi|1 |Vi|21
PLi02 |Vi|2 |Vi|22
......
...
PLi0k |Vi|k |Vi|2k...
......
PLi0N |Vi|N |Vi|2N
︸ ︷︷ ︸
H
αi
βi
γi
︸ ︷︷ ︸x
(4.3)
Chapter 4. Parameter Estimation for ZIP Load Modeling 85
where i represents the number of load bus in the system and N represents the
maximum number of points in the load profile which is 97 in this case.
The estimation of the ZIP parameters can be obtained by using the following
formula:
x = (HTH)−1HT z
x = (HTWH)−1HTWz(4.4)
The weight matrix used in the estimation of the ZIP parameters is defined as
W =
w1 0 · · · 0
0 w2 · · · 0...
.... . .
...
0 0 · · · wWL
(4.5)
where WL is the window length. The ZIP parameters are estimated by sliding the
window of length WL through the polynomial equations.
The ZIP parameter estimation of bus 4 is presented as an example as below:
0 200 400 600 800 1000 1200 1400−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6Actual and Estimated plot of Alpha for Load Bus 4
time (min)
Alp
ha
AlphaAlpha
est
Figure 4.3: Estimation of α4 in the 14-bus power system
The technique summarized above can be used to estimated the ZIP load pa-
rameters which is based on Weighted Least Squares(WLS) algorithm. By sliding
Chapter 4. Parameter Estimation for ZIP Load Modeling 86
200 400 600 800 1000 1200
0
2
4
6
8
10
Actual and Estimated plot of Beta for Load Bus 4
time (min)
Bet
a
BetaBeta
est
Figure 4.4: Estimation of β4 in the 14-bus power system
200 400 600 800 1000 1200
−10
−9
−8
−7
−6
−5
−4
−3
−2
−1
0
Actual and Estimated plot of Gama for Load Bus 4
time (min)
Gam
a
GamaGama
est
Figure 4.5: Estimation of γ4 in the 14-bus power system
Chapter 4. Parameter Estimation for ZIP Load Modeling 87
the window having a specified length, the parameters are estimated by using the
Eq 4.4. It is seen on the figures that the three ZIP parameters of the load bus 4 are
approximately estimated but there occurs a considerable error during the transition
of the parameters.
Chapter 5
Concluding Remarks and Further
Study
5.1 Concluding Remarks
The Dynamic State Estimation (DSE) which calculates the state by consider-
ing the time varying behavior of the system, plays a major role in real monitoring
and control of large scale power grids. The introduction of the Phasor Measure-
ment Units (PMUs) into power systems makes a great progress in the dynamic state
estimation process. This thesis presents the Extended Kalman Filter (EKF) and
Unscented Kalman Filter (UKF) techniques in the aplication of dynamic state esti-
mation for multi-machine power systems. As verified by the simulation results, the
UKF algorithm is very promising method compared to EKF as it is more efficient,
robust, easy to implement and has lower computational demand. The estimation
error values of EKF and UKF algorithms illustrates that UKF gives more accurate
performance under different transient conditions.
In addition, the importance of using accurate load models in power system
stability analysis and control is also addressed. The composite polynomial ZIP load
model is explained which is one of the most common model used in power system
analysis tools. An algorithm based on Weighted Least Squares (WLS) parameter
88
Chapter 5. Concluding Remarks and Further Study 89
identification process is presented in order to estimate the parameters of ZIP load
model. By using the voltage magnitudes and real or reactive power values of the load
buses as measurements, it is possible to estimate the three parameters representing
the ZIP model of the load buses.
5.2 Further Study
In the process of Dynamic State Estimation (DSE) applied to various multima-
chine power systems, several assumptions are considered. For instance, a classical
model is used for generators and constant impedance model is assumed for all the
load buses in the system. As a further study, the dynamic parameters, other than
rotor speed and rotor angle, of the generators can also be considered in the dynamic
state estimation and the dynamic state vector can be extended. The loads, repre-
sented by more accurate and reliable models, can be incorporated into the power
system dynamic state estimation.
Appendix A
Matlab Script Example for EKF
Algorithm
clear all;
close all;
clc;
%%
%%
% IEEE 14 Bus System
% Power System Dynamic State Estimation by EKF
% Measurements : Pinj, Qinj, |V|, theta
% Line is removed after t=1s
%%
%%
%System Frequency
90
Chapter A. Appendix A 91
f0=60;
w_syn=2*pi*f0;
%System Base (MVA)
Sbase=100;
%Number of Generators and Buses
n=5;
s=14;
%Simulation Time Values in sec
t_step=0.02;
t_SW=2;
t_end=20;
t=(0:t_end/t_step)*t_step;
%Machine Dynamic Data
H=[5.148;6.54;6.54;5.06;5.06];
Xd=[0.2995;0.185;0.185;0.232;0.232];
D=[2;2;2;2;2];
M=2*H/w_syn;
%Loaded Bus
bus_load=[2;3;4;5;6;9;10;11;12;13;14];
%Line removed
a=4;
b=5;
%%
Chapter A. Appendix A 92
%%
%Power Flow Solution PET
Vbus_abs0=zeros(s,1);
theta0=zeros(s,1);
E_abs=zeros(n,1);
delta0=zeros(n,1);
PG0=zeros(n,1);
QG0=zeros(n,1);
PL=zeros(length(bus_load),1);
QL=zeros(length(bus_load),1);
fname_BUSOTP=’BUSOTP.dat’;
fid_BUSOTP=fopen(fname_BUSOTP);
cell_BUSOTP = textscan(fid_BUSOTP, ’%s’, ’delimiter’, ’\n’);
size_BUSOTP=size(cell_BUSOTP{1});
rownum_BUSOTP = size_BUSOTP(1);
fclose(fid_BUSOTP);
fid_BUSOTP=fopen(fname_BUSOTP);
readline=fgets(fid_BUSOTP);
readline=fgets(fid_BUSOTP);
gennum=1;
for ii=1:s
%Bus Voltages
busnum=str2num(readline(1:6));
Vbus_abs0(busnum)=str2num(readline(7:14));
theta0(busnum)=(pi/180)*str2num(readline(15:23));
Chapter A. Appendix A 93
%Generator Real and Reactive Power
if str2num(readline(24:35)) ~= 0 | str2num(readline(36:47)) ~= 0
PG0(gennum)=str2num(readline(24:35))/Sbase;
QG0(gennum)=str2num(readline(36:47))/Sbase;
gennum=gennum+1;
end
%Real and Reactive Load
for jj=1:length(bus_load)
if str2num(readline(1:6)) == bus_load(jj)
PL(jj)=(str2num(readline(24:35))/Sbase)
-str2num(readline(48:59));
QL(jj)=(str2num(readline(36:47))/Sbase)
-str2num(readline(60:71));
end
end
readline=fgets(fid_BUSOTP);
end
fclose(fid_BUSOTP);
%%
%%
%Admittance Matrices before the line is removed
Yss=zeros(s,s);
Ynn=zeros(n,n);
Yns=zeros(n,s);
Ysn=zeros(s,n);
Chapter A. Appendix A 94
fname_ymatrix=’ymatrix.dat’;
fid_ymatrix=fopen(fname_ymatrix);
cell_ymatrix = textscan(fid_ymatrix, ’%s’, ’delimiter’, ’\n’);
size_ymatrix=size(cell_ymatrix{1});
rownum_ymatrix = size_ymatrix(1);
fclose(fid_ymatrix);
fid_ymatrix=fopen(fname_ymatrix);
for rownum = 1 : rownum_ymatrix
readline=fgets(fid_ymatrix);
bus_i=str2num(readline(1:6));
bus_j=str2num(readline(7:15));
%Yss
G=str2num(readline(17:31));
B=str2num(readline(33:49));
Yss(bus_i, bus_j)=G+i*B;
end
fclose(fid_ymatrix);
%Load Admittance
SL=PL+j*QL;
VL=zeros(length(bus_load),1);
for ii=1:length(bus_load)
VL(ii)=Vbus_abs0(bus_load(ii));
end
yL=conj(SL)./(VL.^2);
Chapter A. Appendix A 95
%Add load admittances to Yss
for ii=1:length(yL)
Yss(bus_load(ii),bus_load(ii))=Yss(bus_load(ii),bus_load(ii))+yL(ii);
end
%Add inverted generator impedences to Yss
for ii=1:n
Yss(ii,ii)=Yss(ii,ii)+1/(j*Xd(ii));
end
%Ynn
Ynn=diag(1./(j*Xd));
%Yns
Yns=[-Ynn zeros(n,s-n)];
Yns(4,6)=Yns(4,4);Yns(4,4)=0;
Yns(5,8)=Yns(5,5);Yns(5,5)=0;
%Ysn
Ysn=transpose(Yns);
%Bus Reconstruction Matrix
RV=-inv(Yss)*Ysn;
%System Admittance Matrix
Y_bus=[Ynn Yns; Ysn Yss];
%Reduced Admittance Matrix
Y=Ynn-Yns*inv(Yss)*Ysn;
%Admittance Matrices after the line is removed
yab=-Yss(a,b);
Yss_SW=Yss;
Yss_SW(a,a)=Yss_SW(a,a)-yab;
Yss_SW(b,b)=Yss_SW(b,b)-yab;
Yss_SW(a,b)=Yss_SW(a,b)+yab;
Yss_SW(b,a)=Yss_SW(b,a)+yab;
Chapter A. Appendix A 96
Ynn_SW=Ynn;
Yns_SW=Yns;
Ysn_SW=Ysn;
%Bus Reconstruction Matrix
RV_SW=-inv(Yss_SW)*Ysn_SW;
%System Admittance Matrix
Y_bus_SW=[Ynn_SW Yns_SW; Ysn_SW Yss_SW];
%Reduced Admittance Matrix
Y_SW=Ynn_SW-Yns_SW*inv(Yss_SW)*Ysn_SW;
%%
%%
%Initialization:
%Initial values of state variables
Va_abs=Vbus_abs0(1:n);
beta=theta0(1:n);
w0=[0;0;0;0;0];
delta0=angle(Va_abs+QG0.*Xd./Va_abs + j*PG0.*Xd./Va_abs)+beta;
%Initial values of generator voltages and currents
E_abs=abs(Va_abs+QG0.*Xd./Va_abs + j*PG0.*Xd./Va_abs);
E0=E_abs.*exp(j*delta0);
I0=Y*E0;
%Initial power injections
PG0=real(E0.*conj(I0)); PM=PG0;
QG0=imag(E0.*conj(I0));
%%
Chapter A. Appendix A 97
%%
%Actual state:
kSW=t_SW/t_step+1;
kend=t_end/t_step+1;
%State
x=zeros(2*n,kend);
w=zeros(n,kend);
w(:,1)=w0;
delta=zeros(n,kend);
delta(:,1)=delta0;
%Measurements
PG1=zeros(n,kend);
QG1=zeros(n,kend);
Vmag=zeros(s,kend);
Vangle=zeros(s,kend);
z=zeros(2*n+2*s,kend);
for k=2:kend
if k<kSW
%Generator Voltage and Current
E1=E_abs.*exp(j*delta(:,k-1));
I1=Y*E1;
%Measurements : PG, QG
PG1(:,k-1)=real(E1.*conj(I1));
QG1(:,k-1)=imag(E1.*conj(I1));
Chapter A. Appendix A 98
Vmag(:,k-1)=abs(RV*E1);
Vangle(:,k-1)=angle(RV*E1);
z(:,k-1)=[PG1(:,k-1);QG1(:,k-1);Vmag(:,k-1);Vangle(:,k-1)];
%States
%k1
k1_w = t_step * (M.^-1.*(PM-PG1(:,k-1)-(D.*((w(:,k-1))/w_syn))));
k1_delta = t_step * (w(:,k-1));
%k2
E2=E_abs.*exp(j*(delta(:,k-1)+k1_delta/2));
I2=Y*E2;
PG2=real(E2.*conj(I2));
k2_w = t_step * (M.^-1.*(PM-PG2-(D.*((w(:,k-1)+k1_w/2)/w_syn))));
k2_delta = t_step * (w(:,k-1)+k1_w/2);
%k3
E3=E_abs.*exp(j*(delta(:,k-1)+k2_delta/2));
I3=Y*E3;
PG3=real(E3.*conj(I3));
k3_w = t_step * (M.^-1.*(PM-PG3-(D.*((w(:,k-1)+k2_w/2)/w_syn))));
k3_delta = t_step * (w(:,k-1)+k2_w/2);
%k4
E4=E_abs.*exp(j*(delta(:,k-1)+k3_delta));
I4=Y*E4;
PG4=real(E4.*conj(I4));
k4_w = t_step * (M.^-1.*(PM-PG4-(D.*((w(:,k-1)+k3_w)/w_syn))));
k4_delta = t_step * (w(:,k-1)+k3_w);
w(:,k) = w(:,k-1) + (1/6)*(k1_w + 2*k2_w + 2*k3_w + k4_w);
Chapter A. Appendix A 99
delta(:,k) = delta(:,k-1) + (1/6)*(k1_delta + 2*k2_delta
+ 2*k3_delta + k4_delta);
else
%Generator Voltage and Current
E1=E_abs.*exp(j*delta(:,k-1));
I1=Y_SW*E1;
%Measurements : PG, QG
PG1(:,k-1)=real(E1.*conj(I1));
QG1(:,k-1)=imag(E1.*conj(I1));
Vmag(:,k-1)=abs(RV_SW*E1);
Vangle(:,k-1)=angle(RV_SW*E1);
z(:,k-1)=[PG1(:,k-1);QG1(:,k-1);Vmag(:,k-1);Vangle(:,k-1)];
%States
%k1
k1_w = t_step * (M.^-1.*(PM-PG1(:,k-1)-(D.*((w(:,k-1))/w_syn))));
k1_delta = t_step * (w(:,k-1));
%k2
E2=E_abs.*exp(j*(delta(:,k-1)+k1_delta/2));
I2=Y_SW*E2;
PG2=real(E2.*conj(I2));
k2_w = t_step * (M.^-1.*(PM-PG2-(D.*((w(:,k-1)+k1_w/2)/w_syn))));
k2_delta = t_step * (w(:,k-1)+k1_w/2);
%k3
E3=E_abs.*exp(j*(delta(:,k-1)+k2_delta/2));
Chapter A. Appendix A 100
I3=Y_SW*E3;
PG3=real(E3.*conj(I3));
k3_w = t_step * (M.^-1.*(PM-PG3-(D.*((w(:,k-1)+k2_w/2)/w_syn))));
k3_delta = t_step * (w(:,k-1)+k2_w/2);
%k4
E4=E_abs.*exp(j*(delta(:,k-1)+k3_delta));
I4=Y_SW*E4;
PG4=real(E4.*conj(I4));
k4_w = t_step * (M.^-1.*(PM-PG4-(D.*((w(:,k-1)+k3_w)/w_syn))));
k4_delta = t_step * (w(:,k-1)+k3_w);
w(:,k) = w(:,k-1) + (1/6)*(k1_w + 2*k2_w + 2*k3_w + k4_w);
delta(:,k) = delta(:,k-1) + (1/6)*(k1_delta + 2*k2_delta
+ 2*k3_delta + k4_delta);
end
end
%Actual State x
%w in pu
%delta in rad
x=[1+w/w_syn; delta];
x=x(:,1:kend-1);
%%
%%
%Estimated state:
Chapter A. Appendix A 101
%Number of states and measurements
ns=2*n;
nm=2*n+2*s;
%Covariance Matrices
sig=1e-2;
P_plus=sig^2*eye(ns);%Error covariance matrix
Q=sig^2*eye(ns);%System noise covariance matrix
R=sig^2*eye(nm);%Measurement noise covariance matrix
%State
xhat_plus=zeros(ns,kend);
xhat_plus(:,1)=[1.5;3.5;3.2;2.1;2.3;4.5;2.3;2.2;1.5;3.2];
what_plus=xhat_plus(1:n,:);
deltahat_plus=xhat_plus(n+1:ns,:);
%Measurements
y=zeros(nm,kend);
h=zeros(nm,kend);
%Extended Kalman Filter (EKF) Algorithm
for k=2:kend
if k<kSW
%Compute the partial derivative matrices F and L
%%%%%%%%%%%%%%%%%%%%%%%%%% k1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k1w:
%PM
d_k1w_PM=0;
Chapter A. Appendix A 102
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k1w_PG1=(-1*t_step*diag(M.^-1))*dPG1;
%w(k-1):
d_k1w_w=[(-1*t_step/w_syn)*diag(D).*diag(M.^-1),zeros(n)];
%d_k1w:
d_k1w=d_k1w_PM+d_k1w_PG1+d_k1w_w;
%k1delta:
%w(k-1):
d_k1delta_w=[t_step*eye(n),zeros(n)];
%d_k1delta
d_k1delta=d_k1delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% k2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k2w:
%PM
d_k2w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k2w_PG1=(-1*t_step*diag(M.^-1))*dPG1;
%PG2
Chapter A. Appendix A 103
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k2w_PG2=(-1*t_step*diag(M.^-1))*dPG2;
%w(k-1)
d_k2w_w=[(0.5)*(t_step^2/w_syn^2)*(diag(D)^2.*diag(M.^-1)^2)
-(t_step/w_syn)*(diag(D).*diag(M.^-1)) zeros(n)];
%d_k2w
d_k2w=d_k2w_PM+d_k2w_PG1+d_k2w_PG2+d_k2w_w;
%dk2delta:
%PM:
d_k2delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k2delta_PG1=(-1*(0.5)*t_step^2*diag(M.^-1))*dPG1;
%w(k-1)
d_k2delta_w=[diag(t_step)-((0.5)*t_step^2/w_syn)*diag(D)
.*diag(M.^-1),zeros(n)];
%d_k2delta
d_k2delta=d_k2delta_PM+d_k2delta_PG1+d_k2delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Chapter A. Appendix A 104
%%%%%%%%%%%%%%%%%%%%%%%%%% k3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k3w:
%PM
d_k3w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k3w_PG1=(((-1*t_step^3)/(4*w_syn^2))*diag(D.^2).*diag(M.^-3))*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k3w_PG2=((t_step^2/(2*w_syn))*diag(D)*diag(M.^-2))*dPG2;
%PG3
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
PG1_k2delta=real(E1.*conj(I1));
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
Chapter A. Appendix A 105
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k3w_PG3=-1*t_step*diag(M.^-1)*dPG3;
%w(k-1)
d_k3w_w=[((t_step^2/(2*w_syn))*diag(D.^2).*diag(M.^-2))
-((t_step^3/(4*w_syn^3))*diag(D.^3).*diag(M.^-3))
-((t_step/w_syn)*diag(D).*diag(M.^-1)), zeros(n)];
%d_k3w
d_k3w=d_k3w_PM+d_k3w_PG1+d_k3w_PG2+d_k3w_PG3+d_k3w_w;
%k3delta:
%PM
d_k3delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k3delta_PG1=((0.25*t_step^3/w_syn)*diag(D).*diag(M.^-2))*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y*dE2;
Chapter A. Appendix A 106
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k3delta_PG2=(-0.5*t_step^2*diag(M.^-1))*dPG2;
%w(k-1)
d_k3delta_w=[((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2))
+t_step*eye(n)-0.5*(t_step^2/w_syn)*diag(D).*diag(M.^-1), zeros(n)];
%d_k3delta
d_k3delta=d_k3delta_PM+d_k3delta_PG1+d_k3delta_PG2+d_k3delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% k4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k4w:
%PM
d_k4w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k4w_PG1=(t_step^4/(4*w_syn^3))*diag(D.^3)*diag(M.^-4)*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
D_k4w_PG2=(-0.5*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-3)*dPG2;
%PG3
Chapter A. Appendix A 107
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
PG1_k2delta=real(E1.*conj(I1));
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*(t_step*eye(n)-0.5*t_step^2
*w_syn^-1*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k4w_PG3=(t_step^2/w_syn)*diag(D)*diag(M.^-2)*dPG3;
%PG4
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
PG1_k3delta=real(E1.*conj(I1));
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y*E2;
PG2_k3delta=real(E2.*conj(I2));
k3delta=(0.5*t_step^2*diag(M.^-1)-0.25*(t_step^3/w_syn)*diag(D)
*diag(M.^-2))*PM-0.5*t_step^2*diag(M.^-1)*PG2_k3delta+0.25
*(t_step^3/w_syn)*diag(D)*diag(M.^-2)*PG1_k3delta
+(0.25*(t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D).*diag(M.^-1))*what_plus(:,k-1);
E4=E_abs.*exp(i*(deltahat_plus(:,k-1)+k3delta));
I4=Y*E4;
dE4_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
Chapter A. Appendix A 108
dE4_2=[zeros(n), dPG1(:,n+1:2*n)*0.25*(t_step^3/w_syn)*diag(D)
*diag(M.^-2)*diag(i*0.5*E_abs.*exp(i*0.25*(t_step^3/w_syn)
*diag(D)*diag(M.^-2)*PG1_k3delta))];
dE4_3=[zeros(n), dPG2(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG2_k3delta))];
dE4_4=[((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D)*diag(M.^-1))*diag(i*E_abs
.*exp(i*((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE4=dE4_1+dE4_2+dE4_3+dE4_4;
dI4=Y*dE4;
dPG4=real(conj(diag(I4))*dE4+diag(E4)*conj(dI4));
d_k4w_PG4=-1*t_step*diag(M.^-1)*dPG4;
%w(k-1)
d_k4w_w=[(t_step^4/(4*w_syn^4))*diag(D.^4)*diag(M.^-4)
+(t_step^2/(w_syn^2))*diag(D.^2)*diag(M.^-2)-(t_step^3/(2*w_syn^3))
*diag(D.^3)*diag(M.^-3)-(t_step/w_syn)*diag(D)*diag(M.^-1), zeros(n)];
%d_k4w
d_k4w=d_k4w_PM+d_k4w_PG1+D_k4w_PG2+d_k4w_PG3+d_k4w_PG4+d_k4w_w;
%k4delta:
%PM
d_k4delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k4delta_PG1=-1*(t_step^4/(4*w_syn^2))*diag(D.^2).*diag(M.^-3)*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
Chapter A. Appendix A 109
I2=Y*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k4delta_PG2=(t_step^3/(2*w_syn))*diag(D)*diag(M.^-2)*dPG2;
%PG3
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
PG1_k2delta=real(E1.*conj(I1));
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*(t_step*eye(n)-0.5*t_step^2
*w_syn^-1*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k4delta_PG3=-1*t_step^2*diag(M.^-1)*dPG3;
%w(k-1)
d_k4delta_w=[(t_step^3/(2*w_syn^2))*diag(D.^2)*diag(M.^-2)
-(t_step^4/(4*w_syn^3))*diag(D.^3)*diag(M.^-3)-((t_step^2/w_syn)
*diag(D)*diag(M.^-1)), zeros(n)];
%d_k4delta
d_k4delta=d_k4delta_PM+d_k4delta_PG1+d_k4delta_PG2
Chapter A. Appendix A 110
+d_k4delta_PG3+d_k4delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%dw
d_w=[eye(n),zeros(n)]+(1/6)*(d_k1w+2*d_k2w+2*d_k3w+d_k4w);
%d_delta
d_delta=[zeros(n),eye(n)]+(1/6)*(d_k1delta+2*d_k2delta
+2*d_k3delta+d_k4delta);
%F
F=[d_w;d_delta];
%L
L=eye(ns);
%Prediction:
%Time update of state estimate and estimation error covariance
%Compute P_minus and x_minus
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y*E1;
PG_plus1=real(E1.*conj(I1));
k1_w=t_step*M.^-1.*(PM-PG_plus1-(D.*((xhat_plus(1:n,k-1))/w_syn)));
k1_delta=t_step*xhat_plus(1:n,k-1);
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k1_delta));
I2=Y*E2;
PG_plus2=real(E2.*conj(I2));
Chapter A. Appendix A 111
k2_w=t_step*M.^-1.*(PM-PG_plus2-(D.*((xhat_plus(1:n,k-1)
+0.5*k1_w)/w_syn)));
k2_delta=t_step*(xhat_plus(1:n,k-1)+0.5*k1_w);
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2_delta));
I3=Y*E3;
PG_plus3=real(E3.*conj(I3));
k3_w=t_step*M.^-1.*(PM-PG_plus3-(D.*((xhat_plus(1:n,k-1)
+0.5*k2_w)/w_syn)));
k3_delta=t_step*(xhat_plus(1:n,k-1)+0.5*k2_w);
E4=E_abs.*exp(i*(deltahat_plus(:,k-1)+k2_delta));
I4=Y*E4;
PG_plus4=real(E4.*conj(I4));
k4_w=t_step*M.^-1.*(PM-PG_plus4-(D.*((xhat_plus(1:n,k-1)+k3_w)/w_syn)));
k4_delta=t_step*(xhat_plus(1:n,k-1)+k3_w);
what_minus=xhat_plus(1:n,k-1)+(1/6)*(k1_w+2*k2_w+2*k3_w+k4_w);
deltahat_minus=xhat_plus(n+1:2*n,k-1)+(1/6)*(k1_delta+2*k2_delta
+2*k3_delta+k4_delta);
P_minus=F*P_plus*transpose(F)+L*Q*L’;
xhat_minus=[what_minus;deltahat_minus];
%Correction:
%Compute the partial derivative matrices H and V
dE=[zeros(n),diag(i*E_abs.*exp(i*deltahat_minus))];
Chapter A. Appendix A 112
dI=Y*dE;
E=E_abs.*exp(i*deltahat_minus);
I=Y*E;
h1=real(E.*conj(I));
h2=imag(E.*conj(I));
h3=abs(RV*E);
h4=angle(RV*E);
h(:,k)=[h1;h2;h3;h4];
HH1=real(conj(diag(I))*dE+diag(E)*conj(dI));
HH2=imag(conj(diag(I))*dE+diag(E)*conj(dI));
HH3=zeros(s,2*n);
HH4=[zeros(s,n) ones(s,n)];
HH=[HH1;HH2;HH3;HH4];
V=eye(nm);
%Measurement update of state estimate and estimation error covariance
%Compute K, x_plus and P_plus
K=P_minus*transpose(HH)*inv(HH*P_minus*transpose(HH)+V*R*transpose(V));
v=sig^2*randn(nm,1);
y1=PG1(:,k);
y2=QG1(:,k);
y3=Vmag(:,k);
y4=Vangle(:,k);
y(:,k)=[y1;y2;y3;y4]+v;
xhat_plus(:,k)=xhat_minus+K*(y(:,k)-h(:,k));
what_plus=xhat_plus(1:n,:);
deltahat_plus=xhat_plus(n+1:2*n,:);
P_plus=(eye(ns)-K*HH)*P_minus;
else
Chapter A. Appendix A 113
%Compute the partial derivative matrices F and L
%%%%%%%%%%%%%%%%%%%%%%%%%% k1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k1w:
%PM
d_k1w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k1w_PG1=(-1*t_step*diag(M.^-1))*dPG1;
%w(k-1):
d_k1w_w=[(-1*t_step/w_syn)*diag(D).*diag(M.^-1),zeros(n)];
%d_k1w:
d_k1w=d_k1w_PM+d_k1w_PG1+d_k1w_w;
%k1delta:
%w(k-1):
d_k1delta_w=[t_step*eye(n),zeros(n)];
%d_k1delta
d_k1delta=d_k1delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% k2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k2w:
%PM
d_k2w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
Chapter A. Appendix A 114
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k2w_PG1=(-1*t_step*diag(M.^-1))*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y_SW*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y_SW*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k2w_PG2=(-1*t_step*diag(M.^-1))*dPG2;
%w(k-1)
d_k2w_w=[(0.5)*(t_step^2/w_syn^2)*(diag(D)^2.*diag(M.^-1)^2)
-(t_step/w_syn)*(diag(D).*diag(M.^-1)) zeros(n)];
%d_k2w
d_k2w=d_k2w_PM+d_k2w_PG1+d_k2w_PG2+d_k2w_w;
%dk2delta:
%PM:
d_k2delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k2delta_PG1=(-1*(0.5)*t_step^2*diag(M.^-1))*dPG1;
%w(k-1)
Chapter A. Appendix A 115
d_k2delta_w=[diag(t_step)-((0.5)*t_step^2/w_syn)
*diag(D).*diag(M.^-1),zeros(n)];
%d_k2delta
d_k2delta=d_k2delta_PM+d_k2delta_PG1+d_k2delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% k3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k3w:
%PM
d_k3w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k3w_PG1=(((-1*t_step^3)/(4*w_syn^2))*diag(D.^2).*diag(M.^-3))*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y_SW*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y_SW*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k3w_PG2=((t_step^2/(2*w_syn))*diag(D)*diag(M.^-2))*dPG2;
%PG3
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
PG1_k2delta=real(E1.*conj(I1));
Chapter A. Appendix A 116
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y_SW*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y_SW*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k3w_PG3=-1*t_step*diag(M.^-1)*dPG3;
%w(k-1)
d_k3w_w=[((t_step^2/(2*w_syn))*diag(D.^2).*diag(M.^-2))
-((t_step^3/(4*w_syn^3))*diag(D.^3).*diag(M.^-3))
-((t_step/w_syn)*diag(D).*diag(M.^-1)), zeros(n)];
%d_k3w
d_k3w=d_k3w_PM+d_k3w_PG1+d_k3w_PG2+d_k3w_PG3+d_k3w_w;
%k3delta:
%PM
d_k3delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k3delta_PG1=((0.25*t_step^3/w_syn)*diag(D).*diag(M.^-2))*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
Chapter A. Appendix A 117
I2=Y_SW*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y_SW*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k3delta_PG2=(-0.5*t_step^2*diag(M.^-1))*dPG2;
%w(k-1)
d_k3delta_w=[((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2))
+t_step*eye(n)-0.5*(t_step^2/w_syn)*diag(D).*diag(M.^-1), zeros(n)];
%d_k3delta
d_k3delta=d_k3delta_PM+d_k3delta_PG1+d_k3delta_PG2+d_k3delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% k4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%k4w:
%PM
d_k4w_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k4w_PG1=(t_step^4/(4*w_syn^3))*diag(D.^3)*diag(M.^-4)*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y_SW*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
Chapter A. Appendix A 118
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y_SW*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
D_k4w_PG2=(-0.5*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-3)*dPG2;
%PG3
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
PG1_k2delta=real(E1.*conj(I1));
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y_SW*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*(t_step*eye(n)-0.5*t_step^2
*w_syn^-1*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y_SW*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k4w_PG3=(t_step^2/w_syn)*diag(D)*diag(M.^-2)*dPG3;
%PG4
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
PG1_k3delta=real(E1.*conj(I1));
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y_SW*E2;
PG2_k3delta=real(E2.*conj(I2));
k3delta=(0.5*t_step^2*diag(M.^-1)-0.25*(t_step^3/w_syn)*diag(D)
*diag(M.^-2))*PM-0.5*t_step^2*diag(M.^-1)*PG2_k3delta+0.25
Chapter A. Appendix A 119
*(t_step^3/w_syn)*diag(D)*diag(M.^-2)*PG1_k3delta
+(0.25*(t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D).*diag(M.^-1))*what_plus(:,k-1);
E4=E_abs.*exp(i*(deltahat_plus(:,k-1)+k3delta));
I4=Y_SW*E4;
dE4_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE4_2=[zeros(n), dPG1(:,n+1:2*n)*0.25*(t_step^3/w_syn)*diag(D)
*diag(M.^-2)*diag(i*0.5*E_abs.*exp(i*0.25*(t_step^3/w_syn)
*diag(D)*diag(M.^-2)*PG1_k3delta))];
dE4_3=[zeros(n), dPG2(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG2_k3delta))];
dE4_4=[((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D)*diag(M.^-1))*diag(i*E_abs
.*exp(i*((0.25*t_step^3/w_syn^2)*diag(D.^2)*diag(M.^-2)+t_step*eye(n)
-0.5*(t_step^2/w_syn)*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE4=dE4_1+dE4_2+dE4_3+dE4_4;
dI4=Y_SW*dE4;
dPG4=real(conj(diag(I4))*dE4+diag(E4)*conj(dI4));
d_k4w_PG4=-1*t_step*diag(M.^-1)*dPG4;
%w(k-1)
d_k4w_w=[(t_step^4/(4*w_syn^4))*diag(D.^4)*diag(M.^-4)
+(t_step^2/(w_syn^2))*diag(D.^2)*diag(M.^-2)-(t_step^3/(2*w_syn^3))
*diag(D.^3)*diag(M.^-3)-(t_step/w_syn)*diag(D)*diag(M.^-1), zeros(n)];
%d_k4w
d_k4w=d_k4w_PM+d_k4w_PG1+D_k4w_PG2+d_k4w_PG3+d_k4w_PG4+d_k4w_w;
%k4delta:
%PM
d_k4delta_PM=0;
%PG1
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
Chapter A. Appendix A 120
dE1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dI1=Y_SW*dE1;
dPG1=real(conj(diag(I1))*dE1+diag(E1)*conj(dI1));
d_k4delta_PG1=-1*(t_step^4/(4*w_syn^2))*diag(D.^2).*diag(M.^-3)*dPG1;
%PG2
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+(0.5)*t_step*what_plus(:,k-1)));
I2=Y_SW*E2;
dE2_1=[zeros(n),diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE2_2=[diag(i*(0.5)*t_step*E_abs.*exp(0.5*i*t_step
*what_plus(:,k-1))),zeros(n)];
dE2=dE2_1+dE2_2;
dI2=Y_SW*dE2;
dPG2=real(conj(diag(I2))*dE2+diag(E2)*conj(dI2));
d_k4delta_PG2=(t_step^3/(2*w_syn))*diag(D)*diag(M.^-2)*dPG2;
%PG3
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
PG1_k2delta=real(E1.*conj(I1));
k1w=t_step * (M.^-1.*(PM-PG1_k2delta-(D.*((what_plus(:,k-1))/w_syn))));
k2delta=t_step*what_plus(:,k-1)+0.5*t_step*k1w;
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2delta));
I3=Y_SW*E3;
dE3_1=[zeros(n), diag(i*E_abs.*exp(i*deltahat_plus(:,k-1)))];
dE3_2=[zeros(n), dPG1(:,n+1:2*n)*-1*0.5*t_step^2*diag(M.^-1)
*diag(i*0.5*E_abs.*exp(-1*i*0.5*t_step^2*diag(M.^-1)*PG1_k2delta))];
dE3_3=[(t_step*eye(n)-0.5*t_step^2*w_syn^-1*diag(D)*diag(M.^-1))
*diag(i*0.5*E_abs.*exp(i*0.5*(t_step*eye(n)-0.5*t_step^2*w_syn^-1
*diag(D)*diag(M.^-1))*what_plus(:,k-1))), zeros(n)];
dE3=dE3_1+dE3_2+dE3_3;
dI3=Y_SW*dE3;
dPG3=real(conj(diag(I3))*dE3+diag(E3)*conj(dI3));
d_k4delta_PG3=-1*t_step^2*diag(M.^-1)*dPG3;
Chapter A. Appendix A 121
%w(k-1)
d_k4delta_w=[(t_step^3/(2*w_syn^2))*diag(D.^2)*diag(M.^-2)
-(t_step^4/(4*w_syn^3))*diag(D.^3)*diag(M.^-3)-((t_step^2/w_syn)
*diag(D)*diag(M.^-1)), zeros(n)];
%d_k4delta
d_k4delta=d_k4delta_PM+d_k4delta_PG1+d_k4delta_PG2
+d_k4delta_PG3+d_k4delta_w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%dw
d_w=[eye(n),zeros(n)]+(1/6)*(d_k1w+2*d_k2w+2*d_k3w+d_k4w);
%d_delta
d_delta=[zeros(n),eye(n)]+(1/6)*(d_k1delta+2*d_k2delta
+2*d_k3delta+d_k4delta);
%F
F=[d_w;d_delta];
%L
L=eye(ns);
%Prediction:
%Time update of state estimate and estimation error covariance
%Compute P_minus and x_minus
E1=E_abs.*exp(i*deltahat_plus(:,k-1));
I1=Y_SW*E1;
PG_plus1=real(E1.*conj(I1));
Chapter A. Appendix A 122
k1_w=t_step*M.^-1.*(PM-PG_plus1-(D.*((xhat_plus(1:n,k-1))/w_syn)));
k1_delta=t_step*xhat_plus(1:n,k-1);
E2=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k1_delta));
I2=Y_SW*E2;
PG_plus2=real(E2.*conj(I2));
k2_w=t_step*M.^-1.*(PM-PG_plus2-(D.*((xhat_plus(1:n,k-1)
+0.5*k1_w)/w_syn)));
k2_delta=t_step*(xhat_plus(1:n,k-1)+0.5*k1_w);
E3=E_abs.*exp(i*(deltahat_plus(:,k-1)+0.5*k2_delta));
I3=Y_SW*E3;
PG_plus3=real(E3.*conj(I3));
k3_w=t_step*M.^-1.*(PM-PG_plus3-(D.*((xhat_plus(1:n,k-1)
+0.5*k2_w)/w_syn)));
k3_delta=t_step*(xhat_plus(1:n,k-1)+0.5*k2_w);
E4=E_abs.*exp(i*(deltahat_plus(:,k-1)+k2_delta));
I4=Y_SW*E4;
PG_plus4=real(E4.*conj(I4));
k4_w=t_step*M.^-1.*(PM-PG_plus4-(D.*((xhat_plus(1:n,k-1)
+k3_w)/w_syn)));
k4_delta=t_step*(xhat_plus(1:n,k-1)+k3_w);
what_minus=xhat_plus(1:n,k-1)+(1/6)*(k1_w+2*k2_w+2*k3_w+k4_w);
deltahat_minus=xhat_plus(n+1:2*n,k-1)+(1/6)*(k1_delta+2*k2_delta
+2*k3_delta+k4_delta);
P_minus=F*P_plus*transpose(F)+L*Q*L’;
Chapter A. Appendix A 123
xhat_minus=[what_minus;deltahat_minus];
%Correction:
%Compute the partial derivative matrices H and V
dE=[zeros(n),diag(i*E_abs.*exp(i*deltahat_minus))];
dI=Y_SW*dE;
E=E_abs.*exp(i*deltahat_minus);
I=Y_SW*E;
h1=real(E.*conj(I));
h2=imag(E.*conj(I));
h3=abs(RV_SW*E);
h4=angle(RV_SW*E);
h(:,k)=[h1;h2;h3;h4];
HH1=real(conj(diag(I))*dE+diag(E)*conj(dI));
HH2=imag(conj(diag(I))*dE+diag(E)*conj(dI));
HH3=zeros(s,2*n);
HH4=[zeros(s,n) ones(s,n)];
HH=[HH1;HH2;HH3;HH4];
V=eye(nm);
%Measurement update of state estimate and estimation error covariance
%Compute K, x_plus and P_plus
K=P_minus*transpose(HH)*inv(HH*P_minus*transpose(HH)+V*R*transpose(V));
v=sig^2*randn(nm,1);
y1=PG1(:,k);
y2=QG1(:,k);
y3=Vmag(:,k);
y4=Vangle(:,k);
y(:,k)=[y1;y2;y3;y4]+v;
Chapter A. Appendix A 124
xhat_plus(:,k)=xhat_minus+K*(y(:,k)-h(:,k));
what_plus=xhat_plus(1:n,:);
deltahat_plus=xhat_plus(n+1:2*n,:);
P_plus=(eye(ns)-K*HH)*P_minus;
end
end
%Estimated State
%w in pu
%delta in rad
x_est=[1+xhat_plus(1:n,:)/w_syn; xhat_plus(n+1:ns,:)];
x_est=x_est(:,1:kend-1);
%%
%%
%Overall Estimation Error
err_est=(1/size(x,2))*sum((1/ns)*sum(abs(x-x_est)));
%Estimation Error for w
err_est_w=(1/size(x,2))*sum((1/n)*sum(abs(x(1:n,:)-x_est(1:n,:))));
%Estimation Error for delta
err_est_delta=(1/size(x,2))*sum((1/n)*sum(abs(x(n+1:2*n,:)-x_est(n+1:2*n,:))));
%%
Chapter A. Appendix A 125
%%
t=t(1:kend-1);
%Figures:
figure(1)%w1 in pu
plot(t,x(1,:),’linewidth’,2);
hold on;
plot(t,x_est(1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_1 in pu’,’fontsize’,15);
legend(’\omega_1’,’\omega^e^s^t_1’);
figure(2)%w2 in pu
plot(t,x(2,:),’linewidt’,2);
hold on;
plot(t,x_est(2,:),’linestyle’,’--’,’color’,’r’,’linewidt’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_2 in pu’,’fontsize’,15);
legend(’\omega_2’,’\omega^e^s^t_2’);
figure(3)%w3 in pu
plot(t,x(3,:),’linewidth’,2);
hold on;
plot(t,x_est(3,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_3 in pu’,’fontsize’,15);
legend(’\omega_3’,’\omega^e^s^t_3’);
figure(4)%w4 in pu
plot(t,x(4,:),’linewidth’,2);
hold on;
plot(t,x_est(4,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
Chapter A. Appendix A 126
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_4 in pu’,’fontsize’,15);
legend(’\omega_4’,’\omega^e^s^t_4’);
figure(5)%w5 in pu
plot(t,x(5,:),’linewidth’,2);
hold on;
plot(t,x_est(5,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
title(’Estimation of \omega_5 by EKF’,’fontsize’,15);
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_5 in pu’,’fontsize’,15);
legend(’\omega_5’,’\omega^e^s^t_5’);
figure(6)%delta1 in rad
plot(t,x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_1 in rad’,’fontsize’,15);
legend(’\delta_1’,’\delta_1^e^s^t’);
figure(7)%delta2 in rad
plot(t,x(n+2,:),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2 in rad’,’fontsize’,15);
legend(’\delta_2’,’\delta_2^e^s^t’);
figure(8)%delta3 in rad
Chapter A. Appendix A 127
plot(t,x(n+3,:),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3 in rad’,’fontsize’,15);
legend(’\delta_3’,’\delta_3^e^s^t’);
figure(9)%delta4 in rad
plot(t,x(n+4,:),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4 in rad’,’fontsize’,15);
legend(’\delta_4’,’\delta_4^e^s^t’);
figure(10)%delta5 in rad
plot(t,x(n+5,:),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5 in rad’,’fontsize’,15);
legend(’\delta_5’,’\delta_5^e^s^t’);
figure(11)%delta2-1 in rad
plot(t,x(n+2,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2_1 in rad’,’fontsize’,15);
Chapter A. Appendix A 128
legend(’\delta_2_1’,’\delta_2_1^e^s^t’);
figure(12)%delta3-1 in rad
plot(t,x(n+3,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3_1 in rad’,’fontsize’,15);
legend(’\delta_3_1’,’\delta_3_1^e^s^t’);
figure(13)%delta4-1 in rad
plot(t,x(n+4,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4_1 in rad’,’fontsize’,15);
legend(’\delta_4_1’,’\delta_4_1^e^s^t’);
figure(14)%delta5-1 in rad
plot(t,x(n+5,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
title(’Estimation of \delta_5_-_1 by EKF’,’fontsize’,15);
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5_-_1 in rad’,’fontsize’,15);
legend(’\delta_5_-_1’,’\delta_5_-_1^e^s^t’);
figure(15)%delta1 in deg
plot(t,x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+1,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
Chapter A. Appendix A 129
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_1 in deg’,’fontsize’,15);
legend(’\delta_1’,’\delta_1^e^s^t’);
figure(16)%delta2 in deg
plot(t,x(n+2,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2 in deg’,’fontsize’,15);
legend(’\delta_2’,’\delta_2^e^s^t’);
figure(17)%delta3 in deg
plot(t,x(n+3,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3 in deg’,’fontsize’,15);
legend(’\delta_3’,’\delta_3^e^s^t’);
figure(18)%delta4 in deg
plot(t,x(n+4,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4 in deg’,’fontsize’,15);
legend(’\delta_4’,’\delta_4^e^s^t’);
figure(19)%delta5 in deg
plot(t,x(n+5,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
Chapter A. Appendix A 130
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5 in deg’,’fontsize’,15);
legend(’\delta_5’,’\delta_5^e^s^t’);
figure(20)%delta2-1 in deg
plot(t,x(n+2,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2_1 in deg’,’fontsize’,15);
legend(’\delta_2_1’,’\delta_2_1^e^s^t’);
figure(21)%delta3-1 in deg
plot(t,x(n+3,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3_1 in deg’,’fontsize’,15);
legend(’\delta_3_1’,’\delta_3_1^e^s^t’);
figure(22)%delta4-1 in deg
plot(t,x(n+4,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4_1 in deg’,’fontsize’,15);
legend(’\delta_4_1’,’\delta_4_1^e^s^t’);
Chapter A. Appendix A 131
figure(23)%delta5-1 in deg
plot(t,x(n+5,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5_1 in deg’,’fontsize’,15);
legend(’\delta_5_1’,’\delta_5_1^e^s^t’);
%%
Appendix B
Matlab Script Example for UKF
Algorithm
clear all;
close all;
clc;
%%
%%
% IEEE 14 Bus System
% Power System Dynamic State Estimation by UKF
% Measurements : Pinj, Qinj, |V|, theta
% Line is removed after t=1s
%%
%%
%System Frequency
132
Chapter B. Appendix B 133
f0=60;
w_syn=2*pi*f0;
%System Base (MVA)
Sbase=100;
%Number of Generators and Buses
n=5;
s=14;
%Simulation Time Values in sec
t_step=0.02;
t_SW=2;
t_end=20;
t=(0:t_end/t_step)*t_step;
%Machine Data
H=[5.148;6.54;6.54;5.06;5.06];
Xd=[0.2995;0.185;0.185;0.232;0.232];
D=[2;2;2;2;2]*1;
M=2*H/w_syn;
%Loaded Bus
bus_load=[2;3;4;5;6;9;10;11;12;13;14];
%Line removed
a=4;
b=5;
%%
Chapter B. Appendix B 134
%%
%Power Flow Solution PET
Vbus_abs0=zeros(s,1);
theta0=zeros(s,1);
E_abs=zeros(n,1);
delta0=zeros(n,1);
PG0=zeros(n,1);
QG0=zeros(n,1);
PL=zeros(length(bus_load),1);
QL=zeros(length(bus_load),1);
fname_BUSOTP=’BUSOTP.dat’;
fid_BUSOTP=fopen(fname_BUSOTP);
cell_BUSOTP = textscan(fid_BUSOTP, ’%s’, ’delimiter’, ’\n’);
size_BUSOTP=size(cell_BUSOTP{1});
rownum_BUSOTP = size_BUSOTP(1);
fclose(fid_BUSOTP);
fid_BUSOTP=fopen(fname_BUSOTP);
readline=fgets(fid_BUSOTP);
readline=fgets(fid_BUSOTP);
gennum=1;
for ii=1:s
%Bus Voltages
busnum=str2num(readline(1:6));
Vbus_abs0(busnum)=str2num(readline(7:14));
theta0(busnum)=(pi/180)*str2num(readline(15:23));
Chapter B. Appendix B 135
%Generator Real and Reactive Power
if str2num(readline(24:35)) ~= 0 | str2num(readline(36:47)) ~= 0
PG0(gennum)=str2num(readline(24:35))/Sbase;
QG0(gennum)=str2num(readline(36:47))/Sbase;
gennum=gennum+1;
end
%Real and Reactive Load
for jj=1:length(bus_load)
if str2num(readline(1:6)) == bus_load(jj)
PL(jj)=(str2num(readline(24:35))/Sbase)
-str2num(readline(48:59));
QL(jj)=(str2num(readline(36:47))/Sbase)
-str2num(readline(60:71));
end
end
readline=fgets(fid_BUSOTP);
end
fclose(fid_BUSOTP);
%%
%%
%Admittance Matrices before the line is removed
Yss=zeros(s,s);
Ynn=zeros(n,n);
Yns=zeros(n,s);
Ysn=zeros(s,n);
Chapter B. Appendix B 136
fname_ymatrix=’ymatrix.dat’;
fid_ymatrix=fopen(fname_ymatrix);
cell_ymatrix = textscan(fid_ymatrix, ’%s’, ’delimiter’, ’\n’);
size_ymatrix=size(cell_ymatrix{1});
rownum_ymatrix = size_ymatrix(1);
fclose(fid_ymatrix);
fid_ymatrix=fopen(fname_ymatrix);
for rownum = 1 : rownum_ymatrix
readline=fgets(fid_ymatrix);
bus_i=str2num(readline(1:6));
bus_j=str2num(readline(7:15));
%Yss
G=str2num(readline(17:31));
B=str2num(readline(33:49));
Yss(bus_i, bus_j)=G+i*B;
end
fclose(fid_ymatrix);
%Load Admittance
SL=PL+j*QL;
VL=zeros(length(bus_load),1);
for ii=1:length(bus_load)
VL(ii)=Vbus_abs0(bus_load(ii));
end
yL=conj(SL)./(VL.^2);
Chapter B. Appendix B 137
%Add load admittances to Yss
for ii=1:length(yL)
Yss(bus_load(ii),bus_load(ii))=Yss(bus_load(ii),bus_load(ii))+yL(ii);
end
%Add inverted generator impedences to Yss
for ii=1:n
Yss(ii,ii)=Yss(ii,ii)+1/(j*Xd(ii));
end
%Ynn
Ynn=diag(1./(j*Xd));
%Yns
Yns=[-Ynn zeros(n,s-n)];
Yns(4,6)=Yns(4,4);Yns(4,4)=0;
Yns(5,8)=Yns(5,5);Yns(5,5)=0;
%Ysn
Ysn=transpose(Yns);
%Bus Reconstruction Matrix
RV=-inv(Yss)*Ysn;
%System Admittance Matrix
Y_bus=[Ynn Yns; Ysn Yss];
%Reduced Admittance Matrix
Y=Ynn-Yns*inv(Yss)*Ysn;
%Admittance Matrices after the line is removed
yab=-Yss(a,b);
Yss_SW=Yss;
Yss_SW(a,a)=Yss_SW(a,a)-yab;
Yss_SW(b,b)=Yss_SW(b,b)-yab;
Yss_SW(a,b)=Yss_SW(a,b)+yab;
Yss_SW(b,a)=Yss_SW(b,a)+yab;
Chapter B. Appendix B 138
Ynn_SW=Ynn;
Yns_SW=Yns;
Ysn_SW=Ysn;
%Bus Reconstruction Matrix
RV_SW=-inv(Yss_SW)*Ysn_SW;
%System Admittance Matrix
Y_bus_SW=[Ynn_SW Yns_SW; Ysn_SW Yss_SW];
%Reduced Admittance Matrix
Y_SW=Ynn_SW-Yns_SW*inv(Yss_SW)*Ysn_SW;
%%
%%
%Initialization:
%Initial values of state variables
Va_abs=Vbus_abs0(1:n);
beta=theta0(1:n);
w0=[0;0;0;0;0];
delta0=angle(Va_abs+QG0.*Xd./Va_abs + j*PG0.*Xd./Va_abs)+beta;
%Initial values of generator voltages and currents
E_abs=abs(Va_abs+QG0.*Xd./Va_abs + j*PG0.*Xd./Va_abs);
E0=E_abs.*exp(j*delta0);
I0=Y*E0;
%Initial power injections
PG0=real(E0.*conj(I0)); PM=PG0;
QG0=imag(E0.*conj(I0));
%%
Chapter B. Appendix B 139
%%
%Actual state:
kSW=t_SW/t_step+1;
kend=t_end/t_step+1;
%State
x=zeros(2*n,kend);
w=zeros(n,kend);
w(:,1)=w0;
delta=zeros(n,kend);
delta(:,1)=delta0;
%Measurements
PG1=zeros(n,kend);
QG1=zeros(n,kend);
Vmag=zeros(s,kend);
Vangle=zeros(s,kend);
z=zeros(2*n+2*s,kend);
for k=2:kend
if k<kSW
%Generator Voltage and Current
E1=E_abs.*exp(j*delta(:,k-1));
I1=Y*E1;
%Measurements : PG, QG
PG1(:,k-1)=real(E1.*conj(I1));
Chapter B. Appendix B 140
QG1(:,k-1)=imag(E1.*conj(I1));
Vmag(:,k-1)=abs(RV*E1);
Vangle(:,k-1)=angle(RV*E1);
z(:,k-1)=[PG1(:,k-1);QG1(:,k-1);Vmag(:,k-1);Vangle(:,k-1)];
%States
%k1
k1_w = t_step * (M.^-1.*(PM-PG1(:,k-1)-(D.*((w(:,k-1))/w_syn))));
k1_delta = t_step * (w(:,k-1));
%k2
E2=E_abs.*exp(j*(delta(:,k-1)+k1_delta/2));
I2=Y*E2;
PG2=real(E2.*conj(I2));
k2_w = t_step * (M.^-1.*(PM-PG2-(D.*((w(:,k-1)+k1_w/2)/w_syn))));
k2_delta = t_step * (w(:,k-1)+k1_w/2);
%k3
E3=E_abs.*exp(j*(delta(:,k-1)+k2_delta/2));
I3=Y*E3;
PG3=real(E3.*conj(I3));
k3_w = t_step * (M.^-1.*(PM-PG3-(D.*((w(:,k-1)+k2_w/2)/w_syn))));
k3_delta = t_step * (w(:,k-1)+k2_w/2);
%k4
E4=E_abs.*exp(j*(delta(:,k-1)+k3_delta));
I4=Y*E4;
PG4=real(E4.*conj(I4));
k4_w = t_step * (M.^-1.*(PM-PG4-(D.*((w(:,k-1)+k3_w)/w_syn))));
k4_delta = t_step * (w(:,k-1)+k3_w);
Chapter B. Appendix B 141
w(:,k) = w(:,k-1) + (1/6)*(k1_w + 2*k2_w + 2*k3_w + k4_w);
delta(:,k) = delta(:,k-1) + (1/6)*(k1_delta + 2*k2_delta
+ 2*k3_delta + k4_delta);
else
%Generator Voltage and Current
E1=E_abs.*exp(j*delta(:,k-1));
I1=Y_SW*E1;
%Measurements : PG, QG
PG1(:,k-1)=real(E1.*conj(I1));
QG1(:,k-1)=imag(E1.*conj(I1));
Vmag(:,k-1)=abs(RV_SW*E1);
Vangle(:,k-1)=angle(RV_SW*E1);
z(:,k-1)=[PG1(:,k-1);QG1(:,k-1);Vmag(:,k-1);Vangle(:,k-1)];
%States
%k1
k1_w = t_step * (M.^-1.*(PM-PG1(:,k-1)-(D.*((w(:,k-1))/w_syn))));
k1_delta = t_step * (w(:,k-1));
%k2
E2=E_abs.*exp(j*(delta(:,k-1)+k1_delta/2));
I2=Y_SW*E2;
PG2=real(E2.*conj(I2));
k2_w = t_step * (M.^-1.*(PM-PG2-(D.*((w(:,k-1)+k1_w/2)/w_syn))));
k2_delta = t_step * (w(:,k-1)+k1_w/2);
%k3
Chapter B. Appendix B 142
E3=E_abs.*exp(j*(delta(:,k-1)+k2_delta/2));
I3=Y_SW*E3;
PG3=real(E3.*conj(I3));
k3_w = t_step * (M.^-1.*(PM-PG3-(D.*((w(:,k-1)+k2_w/2)/w_syn))));
k3_delta = t_step * (w(:,k-1)+k2_w/2);
%k4
E4=E_abs.*exp(j*(delta(:,k-1)+k3_delta));
I4=Y_SW*E4;
PG4=real(E4.*conj(I4));
k4_w = t_step * (M.^-1.*(PM-PG4-(D.*((w(:,k-1)+k3_w)/w_syn))));
k4_delta = t_step * (w(:,k-1)+k3_w);
w(:,k) = w(:,k-1) + (1/6)*(k1_w + 2*k2_w + 2*k3_w + k4_w);
delta(:,k) = delta(:,k-1) + (1/6)*(k1_delta + 2*k2_delta
+ 2*k3_delta + k4_delta);
end
end
%Actual State x
%w in pu
%delta in rad
x=[1+w/w_syn; delta];
x=x(:,1:kend-1);
%%
%%
Chapter B. Appendix B 143
%Estimated state:
%Number of states and measurements
ns=2*n;
nm=2*n+2*s;
%Covariance Matrices
sig=1e-2;
P=sig^2*eye(ns);%Error covariance matrix
Q=sig^2*eye(ns);%System noise covariance matrix
R=sig^2*eye(nm);%Measurement noise covariance matrix
%Estimated State
x_hat=zeros(2*n,kend);
xhat_plus(:,1)=[1.5;3.5;3.2;2.1;2.3;4.5;2.3;2.2;1.5;3.2];
%Sigma points
x_sigma=zeros(ns,2*ns);
%Unscented Kalman Filter (UKF) Algorithm
for k=2:kend
if k<kSW
%Sigma Points
A=chol(ns*P);
x_tilda=[A, -A];
x_sigma=repmat(x_hat(:,k-1),1,2*ns)+x_tilda;
w_sigma=x_sigma(1:n,:);
delta_sigma=x_sigma(n+1:ns,:);
Chapter B. Appendix B 144
%Update Sigma Points
E1=repmat(E_abs,1,2*ns).*exp(j*delta_sigma);
I1=Y*E1;
Pi1=real(E1.*conj(I1));
PM_rep=repmat(PM,1,2*ns);
M_rep=repmat(M,1,2*ns);
D_rep=repmat(D,1,2*ns);
%k1
k1_w = t_step * (M_rep.^-1.*(PM_rep-Pi1-(D_rep.*(w_sigma./w_syn))));
k1_delta = t_step * w_sigma;
%k2
E2=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k1_delta/2));
I2=Y*E2;
Pi2=real(E2.*conj(I2));
k2_w = t_step * (M_rep.^-1.*(PM_rep-Pi2-(D_rep.*((w_sigma
+k1_w/2)./w_syn))));
k2_delta = t_step * (w_sigma+k1_w/2);
%k3
E3=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k2_delta/2));
I3=Y*E3;
Pi3=real(E3.*conj(I3));
k3_w = t_step * (M_rep.^-1.*(PM_rep-Pi3-(D_rep.*((w_sigma
+k2_w/2)./w_syn))));
k3_delta = t_step * (w_sigma+k2_w/2);
%k4
E4=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k3_delta));
I4=Y*E4;
Pi4=real(E4.*conj(I4));
Chapter B. Appendix B 145
k4_w = t_step * (M_rep.^-1.*(PM_rep-Pi4-(D_rep
.*((w_sigma+k3_w)./w_syn))));
k4_delta = t_step * (w_sigma+k3_w);
w_sigma_up = w_sigma + (1/6)*(k1_w+2*k2_w+2*k3_w+k4_w);
delta_sigma_up = delta_sigma + (1/6)*(k1_delta+2*k2_delta
+2*k3_delta+k4_delta);
w_sigma=w_sigma_up;
delta_sigma=delta_sigma_up;
x_sigma=[w_sigma;delta_sigma];
%Prioiri State Estimate
x_minus=(1/(2*ns))*(sum(x_sigma’))’;
%Priori Covariance Matrix
x_minus_rep=repmat(x_minus,1,2*ns);
P_minus=(1/(2*ns))*(x_sigma-x_minus_rep)*(x_sigma-x_minus_rep)’+Q;
%New Sigma Points
A=chol(ns*P_minus);
x_tilda=[A’,-A’];
x_sigma=repmat(x_hat(:,k-1),1,2*ns)+x_tilda;
w_sigma=x_sigma(1:n,:);
delta_sigma=x_sigma(n+1:ns,:);
%y Sigma Points
E=repmat(E_abs,1,2*ns).*exp(j*delta_sigma);
I=Y*E;
y1=real(E.*conj(I));
y2=imag(E.*conj(I));
y3=abs(RV*E);
Chapter B. Appendix B 146
y4=angle(RV*E);
y_sigma=[y1;y2;y3;y4];
%y Predict
y_predict=(1/(2*ns))*(sum(y_sigma’))’;
%Covariance of predicted measurements Py
y_predict_rep=repmat(y_predict,1,2*ns);
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)’+R;
%Cross covariance Pxy
P_xy=(2*ns)^-1*(x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)’;
%Measurement update of state estimate
K=P_xy*P_y^-1;
y_PG=PG1(:,k);
y_QG=QG1(:,k);
y_Vmag=Vmag(:,k);
y_Vangle=Vangle(:,k);
v=sig^2*randn(nm,1);
y=[y_PG;y_QG;y_Vmag;y_Vangle]+v;
x_hat(:,k)=x_minus+K*(y-y_predict);
P=P_minus-K*P_y*K’;
else
%Sigma Points
A=chol(ns*P);
x_tilda=[A, -A];
x_sigma=repmat(x_hat(:,k-1),1,2*ns)+x_tilda;
Chapter B. Appendix B 147
w_sigma=x_sigma(1:n,:);
delta_sigma=x_sigma(n+1:ns,:);
%Update Sigma Points
E1=repmat(E_abs,1,2*ns).*exp(j*delta_sigma);
I1=Y_SW*E1;
Pi1=real(E1.*conj(I1));
PM_rep=repmat(PM,1,2*ns);
M_rep=repmat(M,1,2*ns);
D_rep=repmat(D,1,2*ns);
%k1
k1_w = t_step * (M_rep.^-1.*(PM_rep-Pi1-(D_rep.*(w_sigma./w_syn))));
k1_delta = t_step * w_sigma;
%k2
E2=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k1_delta/2));
I2=Y_SW*E2;
Pi2=real(E2.*conj(I2));
k2_w = t_step * (M_rep.^-1.*(PM_rep-Pi2
-(D_rep.*((w_sigma+k1_w/2)./w_syn))));
k2_delta = t_step * (w_sigma+k1_w/2);
%k3
E3=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k2_delta/2));
I3=Y_SW*E3;
Pi3=real(E3.*conj(I3));
k3_w = t_step * (M_rep.^-1.*(PM_rep-Pi3
-(D_rep.*((w_sigma+k2_w/2)./w_syn))));
k3_delta = t_step * (w_sigma+k2_w/2);
%k4
Chapter B. Appendix B 148
E4=repmat(E_abs,1,2*ns).*exp(j*(delta_sigma+k3_delta));
I4=Y_SW*E4;
Pi4=real(E4.*conj(I4));
k4_w = t_step * (M_rep.^-1.*(PM_rep-Pi4-
(D_rep.*((w_sigma+k3_w)./w_syn))));
k4_delta = t_step * (w_sigma+k3_w);
w_sigma_up = w_sigma + (1/6)*(k1_w+2*k2_w+2*k3_w+k4_w);
delta_sigma_up = delta_sigma + (1/6)*(k1_delta+2*k2_delta
+2*k3_delta+k4_delta);
w_sigma=w_sigma_up;
delta_sigma=delta_sigma_up;
x_sigma=[w_sigma;delta_sigma];
%Priori State Estimate
x_minus=(1/(2*ns))*(sum(x_sigma’))’;
%Priori Covariance Matrix
x_minus_rep=repmat(x_minus,1,2*ns);
P_minus=(1/(2*ns))*(x_sigma-x_minus_rep)*(x_sigma-x_minus_rep)’+Q;
%New Sigma Points
A=chol(ns*P_minus);
x_tilda=[A’,-A’];
x_sigma=repmat(x_hat(:,k-1),1,2*ns)+x_tilda;
w_sigma=x_sigma(1:n,:);
delta_sigma=x_sigma(n+1:ns,:);
%y Sigma Points
E=repmat(E_abs,1,2*ns).*exp(j*delta_sigma);
I=Y_SW*E;
Chapter B. Appendix B 149
y1=real(E.*conj(I));
y2=imag(E.*conj(I));
y3=abs(RV_SW*E);
y4=angle(RV_SW*E);
y_sigma=[y1;y2;y3;y4];
%y Predict
y_predict=(1/(2*ns))*(sum(y_sigma’))’;
%Covariance of predicted measurements Py
y_predict_rep=repmat(y_predict,1,2*ns);
P_y=(2*ns)^-1*(y_sigma-y_predict_rep)*(y_sigma-y_predict_rep)’+R;
%Cross covariance Pxy
P_xy=(2*ns)^-1*(x_sigma-x_minus_rep)*(y_sigma-y_predict_rep)’;
%Measurement update of state estimate
K=P_xy*P_y^-1;
y_PG=PG1(:,k);
y_QG=QG1(:,k);
y_Vmag=Vmag(:,k);
y_Vangle=Vangle(:,k);
v=sig^2*randn(nm,1);
y=[y_PG;y_QG;y_Vmag;y_Vangle]+v;
x_hat(:,k)=x_minus+K*(y-y_predict);
P=P_minus-K*P_y*K’;
end
end
Chapter B. Appendix B 150
%Estimated State
%w in pu
%delta in rad
x_est=[1+x_hat(1:n,:)/w_syn; x_hat(n+1:ns,:)];
x_est=x_est(:,1:kend-1);
%%
%%
%Overall Estimation Error
err_est=(1/size(x,2))*sum((1/ns)*sum(abs(x-x_est)));
%Estimation Error for w
err_est_w=(1/size(x,2))*sum((1/n)*sum(abs(x(1:n,:)-x_est(1:n,:))));
%Estimation Error for delta
err_est_delta=(1/size(x,2))*sum((1/n)*sum(abs(x(n+1:2*n,:)-x_est(n+1:2*n,:))));
%%
%%
t=t(1:kend-1);
%Figures:
figure(1)%w1 in pu
plot(t,x(1,:),’linewidth’,2);
hold on;
plot(t,x_est(1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_1 in pu’,’fontsize’,15);
legend(’\omega_1’,’\omega^e^s^t_1’);
Chapter B. Appendix B 151
figure(2)%w2 in pu
plot(t,x(2,:),’linewidt’,2);
hold on;
plot(t,x_est(2,:),’linestyle’,’--’,’color’,’r’,’linewidt’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_2 in pu’,’fontsize’,15);
legend(’\omega_2’,’\omega^e^s^t_2’);
figure(3)%w3 in pu
plot(t,x(3,:),’linewidth’,2);
hold on;
plot(t,x_est(3,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_3 in pu’,’fontsize’,15);
legend(’\omega_3’,’\omega^e^s^t_3’);
figure(4)%w4 in pu
plot(t,x(4,:),’linewidth’,2);
hold on;
plot(t,x_est(4,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_4 in pu’,’fontsize’,15);
legend(’\omega_4’,’\omega^e^s^t_4’);
figure(5)%w5 in pu
plot(t,x(5,:),’linewidth’,2);
hold on;
plot(t,x_est(5,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
title(’Estimation of \omega_5 by UKF’,’fontsize’,15);
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\omega_5 in pu’,’fontsize’,15);
Chapter B. Appendix B 152
legend(’\omega_5’,’\omega^e^s^t_5’);
figure(6)%delta1 in rad
plot(t,x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_1 in rad’,’fontsize’,15);
legend(’\delta_1’,’\delta_1^e^s^t’);
figure(7)%delta2 in rad
plot(t,x(n+2,:),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2 in rad’,’fontsize’,15);
legend(’\delta_2’,’\delta_2^e^s^t’);
figure(8)%delta3 in rad
plot(t,x(n+3,:),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3 in rad’,’fontsize’,15);
legend(’\delta_3’,’\delta_3^e^s^t’);
figure(9)%delta4 in rad
plot(t,x(n+4,:),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
Chapter B. Appendix B 153
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4 in rad’,’fontsize’,15);
legend(’\delta_4’,’\delta_4^e^s^t’);
figure(10)%delta5 in rad
plot(t,x(n+5,:),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5 in rad’,’fontsize’,15);
legend(’\delta_5’,’\delta_5^e^s^t’);
figure(11)%delta2-1 in rad
plot(t,x(n+2,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2_1 in rad’,’fontsize’,15);
legend(’\delta_2_1’,’\delta_2_1^e^s^t’);
figure(12)%delta3-1 in rad
plot(t,x(n+3,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3_1 in rad’,’fontsize’,15);
legend(’\delta_3_1’,’\delta_3_1^e^s^t’);
figure(13)%delta4-1 in rad
plot(t,x(n+4,:)-x(n+1,:),’linewidth’,2);
hold on;
Chapter B. Appendix B 154
plot(t,x_est(n+4,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4_1 in rad’,’fontsize’,15);
legend(’\delta_4_1’,’\delta_4_1^e^s^t’);
figure(14)%delta5-1 in rad
plot(t,x(n+5,:)-x(n+1,:),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)-x_est(n+1,:),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
title(’Estimation of \delta_5_-_1 by UKF’,’fontsize’,15);
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5_-_1 in rad’,’fontsize’,15);
legend(’\delta_5_-_1’,’\delta_5_-_1^e^s^t’);
figure(15)%delta1 in deg
plot(t,x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+1,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_1 in deg’,’fontsize’,15);
legend(’\delta_1’,’\delta_1^e^s^t’);
figure(16)%delta2 in deg
plot(t,x(n+2,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2 in deg’,’fontsize’,15);
legend(’\delta_2’,’\delta_2^e^s^t’);
Chapter B. Appendix B 155
figure(17)%delta3 in deg
plot(t,x(n+3,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3 in deg’,’fontsize’,15);
legend(’\delta_3’,’\delta_3^e^s^t’);
figure(18)%delta4 in deg
plot(t,x(n+4,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4 in deg’,’fontsize’,15);
legend(’\delta_4’,’\delta_4^e^s^t’);
figure(19)%delta5 in deg
plot(t,x(n+5,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)*(180/pi),’linestyle’,’--’,’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5 in deg’,’fontsize’,15);
legend(’\delta_5’,’\delta_5^e^s^t’);
figure(20)%delta2-1 in deg
plot(t,x(n+2,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+2,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
Chapter B. Appendix B 156
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_2_1 in deg’,’fontsize’,15);
legend(’\delta_2_1’,’\delta_2_1^e^s^t’);
figure(21)%delta3-1 in deg
plot(t,x(n+3,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+3,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_3_1 in deg’,’fontsize’,15);
legend(’\delta_3_1’,’\delta_3_1^e^s^t’);
figure(22)%delta4-1 in deg
plot(t,x(n+4,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+4,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_4_1 in deg’,’fontsize’,15);
legend(’\delta_4_1’,’\delta_4_1^e^s^t’);
figure(23)%delta5-1 in deg
plot(t,x(n+5,:)*(180/pi)-x(n+1,:)*(180/pi),’linewidth’,2);
hold on;
plot(t,x_est(n+5,:)*(180/pi)-x_est(n+1,:)*(180/pi),’linestyle’,’--’,
’color’,’r’,’linewidth’,2);
grid on;
xlabel(’time (s)’,’fontsize’,15);
ylabel(’\delta_5_1 in deg’,’fontsize’,15);
legend(’\delta_5_1’,’\delta_5_1^e^s^t’);
%%
Bibliography
[1] F. C. Schweppe and J. Wildes, “Power system static-state estimation, part
i: Exact model,” IEEE Transactions on, Power Apparatus and Systems, vol.
PAS-89, no. 1, pp. 120–125, 1970.
[2] F. C. Schweppe and D. Rom, “Power system static-state estimation, part ii:
Approximate model,” IEEE Transactions on, Power Apparatus and Systems,
vol. PAS-89, no. 1, pp. 125–130, 1970.
[3] F. C. Schweppe, “Power system static-state estimation, part iii: Implementa-
tion,” IEEE Transactions on, Power Apparatus and Systems, vol. PAS-89, no. 1,
pp. 130–135, 1970.
[4] A. Gomez-Exposito, A. Abur, A. de la Villa Jaen, and C. Gomez-Quiles, “A
multilevel state estimation paradigm for smart grids,” Proceedings of the IEEE,
vol. 99, no. 6, pp. 952–976, 2011.
[5] R. Larson, W. Tinney, and J. Peschon, “State estimation in power systems
part i: Theory and feasibility,” IEEE Transactions on, Power Apparatus and
Systems, vol. PAS-89, no. 3, pp. 345–352, 1970.
[6] R. Larson, W. Tinney, L. Hajdu, and D. Piercy, “State estimation in power sys-
tems part ii: Implementation and applications,” IEEE Transactions on, Power
Apparatus and Systems, vol. PAS-89, no. 3, pp. 353–363, 1970.
[7] F. Schweppe and E. Handschin, “Static state estimation in electric power sys-
tems,” Proceedings of the IEEE, vol. 62, no. 7, pp. 972–982, 1974.
157
Bibliography 158
[8] A. Abur and M. K. Celik, “A fast algorithm for the weighted least absolute value
state estimation [for power systems],” IEEE Transactions on, Power Systems,
vol. 6, no. 1, pp. 1–8, 1991.
[9] A. Abur and A. G. Exposito, Power System State Estimation: Theory and
Implementation. New York: Marcel Dekker, 2004.
[10] M. Gol, A. Abur, and F. Galvan, “Metrics for success: Performance metrics for
power system state estimators and measurement designs,” IEEE, Power and
Energy Magazine, vol. 10, no. 5, pp. 50–57, 2012.
[11] A. Abur, “Impact of phasor measurements on state estimation,” in 2009.
ELECO 2009. International Conference on, Electrical and Electronics Engi-
neering, 2009, pp. I–3–I–7.
[12] M. Zhao and A. Abur, “Multi area state estimation using synchronized phasor
measurements,” IEEE Transactions on, Power Systems, vol. 20, no. 2, pp. 611–
617, 2005.
[13] J. E. Tate and T. J. Overbye, “Line outage detection using phasor angle mea-
surements,” IEEE Transactions on, Power Systems, vol. 23, no. 4, pp. 1644–
1652, 2008.
[14] J. Tate and T. Overbye, “Double line outage detection using phasor angle mea-
surements,” in 2009. PES ’09. IEEE, Power Energy Society General Meeting,
2009, pp. 1–5.
[15] M. Gol and A. Abur, “Pmu based robust state estimation using scaling,” in
2012, North American Power Symposium (NAPS), 2012, pp. 1–5.
[16] E. A. Blood, B. Krogh, and M. Ilic, “Electric power system static state estima-
tion through kalman filtering and load forecasting,” in 2, 008 IEEEPower and
Energy Society General Meeting - Conversion and Delivery of Electrical Energy
in the 21st Century, 2008, pp. 1–6.
[17] W. Miller and J. B. Lewis, “Dynamic state estimation in power systems,” IEEE
Transactions on, Automatic Control, vol. 16, no. 6, pp. 841–846, 1971.
Bibliography 159
[18] A. Jain and N. R. Shivakumar, “Phasor measurements in dynamic state estima-
tion of power systems,” in 2008 IEEE Region 10 Conference - TENCON 2008,
2008, pp. 1–6.
[19] H. Xue, Q. quan Jia, N. Wang, Z. qian Bo, H. tang Wang, and H. xia Ma, “A
dynamic state estimation method with pmu and scada measurement for power
systems,” in 2007. IPEC 2007. International, Power Engineering Conference,
2007, pp. 848–853.
[20] A. Jain and N. Shivakumar, “Impact of pmu in dynamic state estimation of
power systems,” in 2008. NAPS ’08. 40th North American, Power Symposium,
2008, pp. 1–8.
[21] N. R. Shivakumar and A. Jain, “A review of power system dynamic state estima-
tion techniques,” in 2008. POWERCON 2008. Joint International Conference
on, Power System Technology and IEEE Power India Conference, 2008, pp.
1–6.
[22] A. Jain and N. R. Shivakumar, “Power system tracking and dynamic state
estimation,” in 2009. PSCE ’09. IEEE/PES, Power Systems Conference and
Exposition, 2009, pp. 1–8.
[23] A. Debs and R. Larson, “A dynamic estimator for tracking the state of a power
system,” IEEE Transactions on, Power Apparatus and Systems, vol. PAS-89,
no. 7, pp. 1670–1678, 1970.
[24] K. Nishiya, J. Hasegawa, and T. Koike, “Dynamic state estimation including
anomaly detection and identification for power systems,” IEE Proceedings C,
Generation, Transmission and Distribution, vol. 129, no. 5, pp. 192–198, 1982.
[25] A. Leite da Silva, M. Do Coutto Filho, and J. F. De Queiroz, “State forecasting
in electric power systems,” IEE Proceedings C, Generation, Transmission and
Distribution, vol. 130, no. 5, pp. 237–244, 1983.
[26] J. K. Mandal, A. Sinha, and L. Roy, “Incorporating nonlinearities of measure-
ment function in power system dynamic state estimation,” IEE Proceedings-
Generation, Transmission and Distribution, vol. 142, no. 3, pp. 289–296, 1995.
Bibliography 160
[27] Z. Huang, K. Schneider, and J. Nieplocha, “Feasibility studies of applying
kalman filter techniques to power system dynamic state estimation,” in 2007.
IPEC 2007. International, Power Engineering Conference, 2007, pp. 376–382.
[28] E. Ghahremani and I. Kamwa, “Dynamic state estimation in power system by
applying the extended kalman filter with unknown inputs to phasor measure-
ments,” IEEE Transactions on, Power Systems, vol. 26, no. 4, pp. 2556–2566,
2011.
[29] P. Du, Z. Huang, Y. Sun, R. Diao, K. Kalsi, K. K. Anderson, Y. Li, and B. Lee,
“Distributed dynamic state estimation with extended kalman filter,” in 2011,
North American Power Symposium (NAPS), 2011, pp. 1–6.
[30] S. J. Julier and J. K. Uhlmann, “Unscented filtering and nonlinear estimation,”
Proceedings of the IEEE, vol. 92, no. 3, pp. 401–422, 2004.
[31] W. Gao and S. Wang, “On-line dynamic state estimation of power systems,” in
2010, North American Power Symposium (NAPS), 2010, pp. 1–6.
[32] G. Valverde and V. Terzija, “Unscented kalman filter for power system dynamic
state estimation,” IET, Generation, Transmission Distribution, vol. 5, no. 1, pp.
29–37, 2011.
[33] H. Novanda, P. Regulski, F. Gonzalez-Longatt, and V. Terzija, “Unscented
kalman filter for frequency and amplitude estimation,” in IEEE Trondheim,
PowerTech, 2011, pp. 1–6.
[34] S. Wang, W. Gao, and A. Meliopoulos, “An alternative method for power system
dynamic state estimation based on unscented transform,” IEEE Transactions
on, Power Systems, vol. 27, no. 2, pp. 942–950, 2012.
[35] G. G. Rigatos, “A derivative-free kalman filtering approach to state estimation-
based control of nonlinear systems,” IEEE Transactions on, Industrial Elec-
tronics, vol. 59, no. 10, pp. 3987–3997, 2012.
Bibliography 161
[36] P. Regulski and V. Terzija, “Estimation of frequency and fundamental power
components using an unscented kalman filter,” IEEE Transactions on, Instru-
mentation and Measurement, vol. 61, no. 4, pp. 952–962, 2012.
[37] M. H. Kent, W. R. Schmus, F. A. Mccrackin, and L. M. Wheeler, “Dynamic
modeling of loads in stability studies,” IEEE Transactions on, Power Apparatus
and Systems, vol. PAS-88, no. 5, pp. 756–763, 1969.
[38] F. J. Meyer and K. Lee, “Improved dynamic load model for power system
stability studies,” IEEE Transactions on, Power Apparatus and Systems, vol.
PAS-101, no. 9, pp. 3303–3309, 1982.
[39] C.-J. Lin, Y.-T. Chen, C.-Y. Chiou, C.-H. Huang, H.-D. Chiang, J.-C. Wang,
and L. Fekih-Ahmed, “Dynamic load models in power systems using the mea-
surement approach,” IEEE Transactions on, Power Systems, vol. 8, no. 1, pp.
309–315, 1993.
[40] H. Renmu, M. Jin, and D. Hill, “Composite load modeling via measurement
approach,” IEEE Transactions on, Power Systems, vol. 21, no. 2, pp. 663–672,
2006.
[41] K. Schneider, J. Fuller, and D. Chassin, “Multi-state load models for distribu-
tion system analysis,” IEEE Transactions on, Power Systems, vol. 26, no. 4,
pp. 2425–2433, 2011.
[42] E. Sortomme, A. I. Negash, S. Venkata, and D. Kirschen, “Multistate voltage
dependent load model of a charging electric vehicle,” in 2012 IEEE, Transporta-
tion Electrification Conference and Expo (ITEC), 2012, pp. 1–5.
[43] S. Guo and T. Overbye, “Parameter estimation of a complex load model using
phasor measurements,” in 2012 , IEEEPower and Energy Conference at Illinois
(PECI), 2012, pp. 1–6.
[44] J. Hou, Z. Xu, and Z. Y. Dong, “Measurement-based load modeling at distri-
bution level with complete model structure,” in 2012 IEEE, Power and Energy
Society General Meeting, 2012, pp. 1–6.
Bibliography 162
[45] A. Najafabadi and A. Alouani, “Real time estimation of sensitive parameters
of composite power system load model,” in 2012 IEEE PES, Transmission and
Distribution Conference and Exposition (T D), 2012, pp. 1–8.
[46] P. M. Anderson and A. A. Fouad, Power system Control and Stability. New
Jersey: IEEE Press Power Engineering Series, 2003.
[47] B. Bilir, Bifurcation Analysis of Nonlinear Oscillations in Power Systems. Ann
Arbor, MI: Bell and Howell Information and Learning Company, 2001.
[48] N. Mohan, Electric Machines and Drives. New Jersey: John Wiley and Sons,
2012.
[49] J. D. Glover, M. S. Sarma, and T. J. Overbye, Power System Analysis and
Design. Stamford, CT: CL-Engineering, 2012.
[50] P. W. Sauer and M. A. Pai, Power System Dynamics and Stability. New Jersey:
Prentice Hall, 1998.
[51] D. Simon, Optimal State Estimation: Kalman, H∞, and Nonlinear Approaches.
New Jersey: John Wiley and Sons, 2006.
[52] P. Kundur, Power System Stability and Control. New York: McGraw-Hill,
1994.
[53] A. R. Bergen and V. Vittal, Power System Analysis. 2nd ed. New Jersey:
Prentice Hall, 2000.
[54] R. D. Christie, “Power systems test case archive,” Aug. 1999. [Online]. Avail-
able: http://www.ee.washington.edu/research/pstca.
[55] T. Cutsem and C. Vournas, Voltage Stability of Electric Power Systems.
Boston, MA: Springer Science+ Business Media, LLC, 2008.