benchmarking current control methods using a single-phase ... · of the new current control method...
TRANSCRIPT
Benchmarking Current Control
Methods Using a Single-phase
Voltage Source Inverter Topology
Eric Lam
This thesis is presented for the degree of
Masters of Engineering Science (by Research)
at
The University of Western Australia
School of Electrical, Electronics and Computer Engineering
March 2010
Supervisors:
Dr. Lawrence J. Borle
Dr. Herbert H. C. Iu
Abstract
When faced with the task of developing a new current control method, it was soon realised
that there was not a consistent way to prove that a newly developed current control
method had made improvements over existing methods. Thus the focus of this thesis
turned towards investigating what aspects affect the fidelity (i.e. quality of control) of
current control methods for the given voltage source inverter (VSI ) topology. The main
purpose of such research would be to develop a set of criteria to justify any improvements
of the new current control method over existing current control methods and also identify
which particular aspects might show potential for improvement in control fidelity. Both
aspects require a way of measuring the capabilities of present methods and therefore
necessitates the establishment of desirable performance criteria. This effectively leads
to a “benchmark” approach to investigating the performance of existing current control
methods.
The highlights from carrying out this investigation are as follows:
• Phase-shift between the current output versus the reference current was observed to
be proportional to the target switching frequency of the considered current control
methods, which indicates an aspect of predictability that may have compensation
potential.
• The results also showed a proportional relationship between phase-shift and blanking
time, which would justify using appropriate compensation methods.
• Feedback delay was shown to contribute additional low-order harmonic content and
thus such delays should be minimised whenever possible.
• A control method that performs well independent of DC bus variation will make it
easier to design for, since it would be sufficient to just design the DC bus level to
meet a certain controllability margin (where this margin will ensure that the system
remains controllable even under transients and non-ideal assumptions).
• However, also take into consideration that there are diminishing returns from over
specification of this the DC bus margin.
iii
• Hysteretic or sliding mode controls using just the current as feedback is a very
useful quality, since the current controller tends to be more robust than those based
on modelling the system. For example, Hysteresis, Parabola and Ramptime did not
require significant redesign to change its operation from a pure inverter setup to a
shunt active power filter configuration.
Although not fully explored in this thesis, the next logical step would be to attempt to
implement ways to gain such improvements. To assist with incorporating these improve-
ments in future work, some implementation matters are discussed in light of developing
a new/improved current control method. Due to an expectation of increased controller
complexity, it is anticipated that a digital implementation would be preferred over an
analogue implementation. If such work was to be embarked upon by this author, then the
intention would be to:
• start with and build improvements upon the “best” current control algorithm inves-
tigated to have the most desired features/characteristics; and
• leverage the author’s existing experience in DSP development to implement the
control algorithm with a DSP.
.
iv
Contents
Abstract iii
Glossary xv
Acknowledgements xvii
Publications xix
Statement of contribution xxi
1 Introduction 1
1.1 Scope and Aim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Conventions and Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Current error signal versus current difference signal . . . . . . . . . . 2
1.2.2 Per-unit representation of system quantities . . . . . . . . . . . . . . 2
1.3 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Current Control Methods for Voltage Source Inverters 5
2.1 Voltage Source Inverter Topology . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 CC-VSI and Controllability . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 CC-VSI in Active Power Filter (APF) applications . . . . . . . . . . 8
2.2 Desirable Current Control Characteristics . . . . . . . . . . . . . . . . . . . 12
v
CONTENTS
2.2.1 Low harmonic distortion . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Fast transient responses and fast control loop . . . . . . . . . . . . . 14
2.2.3 Tolerance to parameter change . . . . . . . . . . . . . . . . . . . . . 15
2.2.4 Zero-Average Current Error . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.5 Ideas exploited by control algorithms . . . . . . . . . . . . . . . . . . 17
2.3 Current Control Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Proportional Integral Triangular Carrier Current Control . . . . . . 19
2.3.2 Standard Hysteresis Current Control . . . . . . . . . . . . . . . . . . 23
2.3.3 Parabola Current Control . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.4 Ramptime Current Control . . . . . . . . . . . . . . . . . . . . . . . 28
3 Analysing the Performance of Existing Current Controls for Voltage
Source Inverters 35
3.1 Benchmarking Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.1 Current Reference Waveform . . . . . . . . . . . . . . . . . . . . . . 37
3.1.2 Developing Appropriate Measures of Control Fidelity . . . . . . . . . 39
3.2 Computer Assisted Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Simulation-based Analysis with Practical Considerations . . . . . . . . . . . 43
3.3.1 Base Case under Ideal Assumptions . . . . . . . . . . . . . . . . . . 43
3.3.2 Blanking Time Effects . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.3 DC Level Requirements for Controllability . . . . . . . . . . . . . . . 45
3.3.4 Robustness to DC Bus Fluctuation . . . . . . . . . . . . . . . . . . . 45
3.3.5 Inductance Parameter Dependency . . . . . . . . . . . . . . . . . . . 46
3.3.6 Behaviour from Feedback Inaccuracies (Noise and Lag) . . . . . . . 46
3.3.7 All Conditions from 3.3.1 to 3.3.6 are Combined . . . . . . . . . . . 46
3.3.8 Lower Target Switching Frequency . . . . . . . . . . . . . . . . . . . 47
vi
CONTENTS
3.3.9 Adjusting the Control Methods for Analysis . . . . . . . . . . . . . . 47
3.4 Active Power Filter as a benchmark . . . . . . . . . . . . . . . . . . . . . . 48
4 Results and Discussion 51
4.1 Results from the Simulation-based Analysis . . . . . . . . . . . . . . . . . . 51
4.1.1 General Observations . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1.2 Base Case for Ideal Performance . . . . . . . . . . . . . . . . . . . . 59
4.1.3 Blanking Time Effects . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.4 DC Voltage Requirements for Controllability . . . . . . . . . . . . . 62
4.1.5 Robustness to DC Bus Fluctuation . . . . . . . . . . . . . . . . . . . 63
4.1.6 Inductance Parameter Dependency . . . . . . . . . . . . . . . . . . . 64
4.1.7 Behaviour from Feedback Inaccuracies (Noise and Lag) . . . . . . . 64
4.1.8 All Conditions from 3.3.1 to 3.3.6 are Combined . . . . . . . . . . . 68
4.1.9 Lower Target Switching Frequency . . . . . . . . . . . . . . . . . . . 68
4.2 Initial results from hardware-based Active Power Filter experiment . . . . . 69
5 General Implementation Advice 73
5.1 Some Implementation Warnings and Issues . . . . . . . . . . . . . . . . . . 73
5.1.1 Dealing with some common issues . . . . . . . . . . . . . . . . . . . 74
5.2 Allowing For Control Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3 Suggested Future Development Platform . . . . . . . . . . . . . . . . . . . . 77
5.3.1 Analogue or Digital Implementation? . . . . . . . . . . . . . . . . . . 77
5.3.2 Digital Signal Processor . . . . . . . . . . . . . . . . . . . . . . . . . 78
6 Conclusion 83
6.1 What has the investigations revealed? . . . . . . . . . . . . . . . . . . . . . 83
6.2 Future Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
vii
CONTENTS
6.2.1 Possible avenues for control design/improvement . . . . . . . . . . . 84
6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A Technical Data 87
A.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.2 Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.2.1 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Bibliography 105
viii
List of Figures
2.1 1-ph FB CC-VSI Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Phasor diagrams that show the controllability relationship under the de-
scribed scenarios (top: in-phase; mid: inverter appears purely inductive;
bottom: inverter appears purely capacitive) . . . . . . . . . . . . . . . . . . 8
2.3 Basic shunt APF configuration . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Block diagram of the basic shunt APF topology used in this work . . . . . . 11
2.5 ZACE Current Ripple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Simplified (Linearized) Current Ripple . . . . . . . . . . . . . . . . . . . . . 18
2.7 PI Triangular Carrier Current Control . . . . . . . . . . . . . . . . . . . . . 21
2.8 PI Triangular Carrier Control Model . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Potential for noise to cause earlier switching in Hysteresis current control . 24
2.10 1-ph HB CC-VSI topology assumed in Parabola current control derivations 25
2.11 Parabola current control behaviour with double parabolic bands . . . . . . 26
2.12 One of the suggested circuits for implementing Parabola current control . . 27
2.13 Error signal with relevant Ramptime timing variables labelled . . . . . . . . 29
2.14 Polarised Ramptime current control block diagram . . . . . . . . . . . . . . 31
3.1 Inductive load where uncontrollable region becomes apparent . . . . . . . . 38
3.2 Steady-state and the transient waveforms for current reference (per unit
based) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 DC bus fluctuation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
ix
LIST OF FIGURES
4.1 Distortion: Overview of analysis (Steady-state, 20 kHz) . . . . . . . . . . . . 52
4.2 Phase-shift: Overview of analysis (Steady-state, 20 kHz) . . . . . . . . . . . 54
4.3 Phase-shift: Overview of analysis (Steady-state, 5 kHz) . . . . . . . . . . . . 54
4.4 ESDi: Overview of analysis (Steady-state, 20 kHz) . . . . . . . . . . . . . . 55
4.5 ESDi: Overview of analysis (Steady-state, 5 kHz) . . . . . . . . . . . . . . . 55
4.6 Example of steady-state PI waveform in 5 kHz system with 90 out-of-phase
reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.7 ESDi: Overview of analysis (Transient, 20 kHz) . . . . . . . . . . . . . . . . 57
4.8 Distortion: Overview of analysis (Transient, 20 kHz) . . . . . . . . . . . . . 57
4.9 ESDi: Overview of analysis (Transient, 5 kHz) . . . . . . . . . . . . . . . . 58
4.10 Distortion: Overview of analysis (Transient, 5 kHz) . . . . . . . . . . . . . . 58
4.11 Distortion: Overview of analysis (Steady-state, 5 kHz) . . . . . . . . . . . . 59
4.12 Distortion: Blanking time (Steady Steady and Transient, 20 kHz and 5 kHz) 60
4.13 Phase-shift: Blanking time (Steady-state, 20 kHz and 5 kHz) . . . . . . . . 61
4.14 ESDi: Blanking time (Steady-state, 20 kHz) . . . . . . . . . . . . . . . . . 61
4.15 Distortion: DC margin (Steady-state and Transient, 20 kHz and 5 kHz) . . 62
4.16 ESDi: DC margin (Steady-state, 20 kHz and 5 kHz) . . . . . . . . . . . . . 63
4.17 Potential explanation for supposed improved performance in Hysteresis . . 64
4.18 Distortion: Inductance variation (Steady-State and Transient, 20 kHz and
5 kHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.19 Distortion: Feedback Inaccuracies (Steady-state and Transient, 20 kHz and
5 kHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.20 ESDi: Feedback Delay (Steady-state and Transient, 20 kHz and 5 kHz) . . 67
4.21 Phase-shift: Feedback Delay (Steady-state, 20 kHz and 5 kHz) . . . . . . . . 68
4.22 PI current control (pre-filtered current) . . . . . . . . . . . . . . . . . . . . 70
4.23 Hysteresis current control (pre-filtered current) . . . . . . . . . . . . . . . . 70
x
LIST OF FIGURES
4.24 Ramptime current control (pre-filtered current) . . . . . . . . . . . . . . . . 70
4.25 PI current control (post-filtered current) . . . . . . . . . . . . . . . . . . . . 71
4.26 Hysteresis curent control (post-filtered current) . . . . . . . . . . . . . . . . 71
4.27 Ramptime current control (post-filtered current) . . . . . . . . . . . . . . . 71
A.1 PSIM Shunt APF experiment schematic . . . . . . . . . . . . . . . . . . . . 88
A.2 PI triangular carrier current control implementation schematic . . . . . . . 89
A.3 Standard Hysteresis current control implementation schematic . . . . . . . 90
xi
List of Tables
3.1 Ideal System Parameters for 20 kHz . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Blanking Delay For 20 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Combined Non-Ideal Parameters For 20 kHz System . . . . . . . . . . . . . 47
3.4 Adjusted Ideal System Paramters For 5 kHz . . . . . . . . . . . . . . . . . . 47
3.5 Initial APF System Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1 Legend for Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Phase-shift: Criteria specific results (Steady-state, 20 kHz) . . . . . . . . . . 53
4.3 Phase-shift: Criteria specific results (Steady-state, 5 kHz) . . . . . . . . . . 53
4.4 Measure values before the LC filter . . . . . . . . . . . . . . . . . . . . . . . 69
4.5 Measure values after the LC filter . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1 DSP inside an FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
xiii
Glossary
1-ph single-phase
AC alternating current
ADC analogue-to-digital converter
APF active power filter
ASIC application specific integrated circuit
DC direct current
DSP digital signal processor
FB full-bridge
FPGA field-programmable gate array
HB half-bridge
IGBT insulated-gate bipolar transistor
GTO gate turn-off thyristor
IP intellectual property
MOSFET metal-oxide-semiconductor field-effect transistor
pu per-unit
PWM pulse-width modulation
RISC reduced instruction set computer
THD total harmonic distortion
VSI voltage source inverter
ZACE zero average current error
xv
Acknowledgements
Here I sincerely express my gratitude to the following peoples involved in supporting my
postgraduate research project.
• My family and friends - they have been very understanding and supportive through-
out the duration of my studies. A special mention goes to my parents.
• Mr. Hamdan Daniyal - a fellow research colleague and also great friend, whom I
have had the good fortune of being able to work and cooperate with. I will especially
remember his dedication and contributions to the joint development of a physical
hardware experiment.
• Mr. Silvio Ziegler - another wonderful friend and fellow research colleague, whom
also had a willingness to share both intellectually and socially. His focus and attitude
towards his work tended to flow on and motivate all those around him.
• Dr. Lawrence Borle - my original, but now external supervisor, whom is probably
one of the most considerate and selfless persons I have ever met — for despite leaving
his academic position to pursue a career back in industry, he generously continued
to offer supervision in a reduced-role. Without his technical knowledge and advice,
my ability to learn and conduct this research would have suffered significantly.
• Dr. Herbert Iu - my coordinating supervisor, whom kindly took me under his wing
after Dr. Borle left academia. Always willing and helpful whenever needed, his
academic insight and experiences were highly-valuable in the pursuit of publications.
• Past and present employers - for work arrangements that have permitted my con-
tinued studies.
• And others, whom I have shared social, intercultural and intellectual experiences as
part of my studies.
xvii
Publications
Conference papers:
• E. Lam (80 %), L. J. Borle, H. H. C. Iu, “Simulation-based analysis of current con-
trol methods for voltage source inverters with practical considerations” in 11th IEEE
Workshop on Control and Modeling for Power Electronics, Zurich, Switzerland, Pa-
per Number TS8.1, August 2008.
• H. Daniyal, E. Lam (40 %), L. J. Borle, H. H. C. Iu, “Comparing Current Con-
trol Methods Using an Active Power Filter Application as the Benchmark” in Aus-
tralasian Universities Power Engineering Conference, Sydney, Australia, Paper P-
112, December 2008.
Submitted for Journal publication:
• H. Daniyal, E. Lam (25 %), L. J. Borle, H. H. C. Iu, “Hysteresis, PI and Ramptime
Current Control Techniques for Active Power Filter Application: An Experimental
Comparison”, Submitted to: IEEE Transactions for Industrial Electronics, Date
submitted: 17 Jan 2010, Present status: Under review
xix
Statement of contribution
This thesis presents work that was either of my own or of various co-authors that included
myself during the candidature period. My main contributions are:
• arriving at the idea of “benchmarking” current control techniques, then carrying out
a corresponding simulation-based investigation (as per COMPEL 2008);
• also developing automation scripts (e.g. MATLAB M files) to assist in the pre-
processing and analysis of results from both simulation and experimental data;
• design and implementation of Hysteresis, Parabola and PI triangular carrier current
control boards for hardware experiments; and
• assisted in the analysis and write-up of collaborative papers (AUPEC 2008 and TIE
journal paper submitted in 2010 presently under review).
To further elaborate on joint collaborative work (see estimated proportion of contributions
indicated in the previous Publications section):
1. As indicated previously in the acknowledgements, Hamdan Daniyal put together
most of the APF experiment and I provided assistance in design decisions (in-
cluding safety considerations), construction/wiring and troubleshooting issues. In
terms of current controllers, Hamdan implemented Ramptime current control and
my contribution was Proportional-Integral and Hysteresis current control boards.
Subsequently, Hamdan performed most of the collection of experimental data and
I provided the MATLAB functions to analyse it. Together we have co-authored
an AUPEC 2008 conference paper presenting our findings from this data, where
each of us contributed approximately equal effort towards the preparation of this
publication. Hamdan did go on to attend and present the conference paper.
2. Hamdan and myself have taken the APF research further since the AUPEC paper
and have submitted it to a relevant journal for review. Due to noise issues at
higher power levels of our AUPEC setup, this research extension required a new
xxi
hardware setup. Since being preoccupied with writing up this thesis, my ability to
participate in this extended research were occasional and limited. Thus Hamdan has
contributed a significantly greater proportion of effort towards developing this new
hardware experiment platform, collecting and then processing results under it. That
said, I still managed to provide some support for automated processing of data via
MATLAB and had input into the write-up of the paper.
xxii
Chapter 1
Introduction
There are many current control methods in existence for the voltage source inverter topol-
ogy. Developing a new and improved current control method requires the understanding
of what existing current control methods are presently capable of. For this reason, bench-
marking is the strategy adopted to investigate current control performance. Benchmarking
is the practice of establishing a repeatable process for measuring performance against a
set of desirable criteria and then running each candidate of interest through this process.
Not only does benchmarking establish how well existing current control methods perform
based on the benchmark criteria, but also the same benchmark process will enable any
newly developed method to also be compared. Thus the creation of a suitable current con-
trol benchmark and applying it for a selection of existing methods was deemed a necessary
component in the preparatory groundwork for the development of an improved current
control technique.
1.1 Scope and Aim
The motivation behind this research topic was to be able to provide guidance for the
development of a new current control method. Although if time permitted, information
derived from this process could be used to design and implement a new current control
method. However, it was deemed that taking this to the next step would be a challenge
best left for a doctorate level degree (PhD) rather than the masters level degree targeted.
With this scope in mind, the thesis will discuss these specific research outcomes as follows:
• determine some suitable measures of control fidelity that allow unbiased comparisons
of different current controls;
• investigate what present current control methods are capable of;
1
1.2. CONVENTIONS AND NOTATIONS
• identify areas that might be improved; and
• suggest possible implementation issues and solutions.
Thus the primary contribution from this work is in measuring and comparing the
performance of existing current controls, where this would lead into further work on how
gains could be made in an improved current control method.
1.2 Conventions and Notations
1.2.1 Current error signal versus current difference signal
The current error signal (ie) in most literature follows standard control design convention,
where it is defined as the desired reference current minus the measured (actual) current
(Equation 1.1). However, some current control methods (particularly non-linear controls)
tend to adopt the current difference signal as the basis for controlling the current. This
current difference signal (idif ) is defined as the measured (actual) current minus the desired
reference current as in Equation 1.2. An obvious reason for choosing idif instead of ie is
because it is would be easy to recognise and interpret the ripple current in idif . Thus
expect to see idif in latter chapters, especially in Section 2.3.
ie = iref − imeas (1.1)
idif = imeas − iref = −ie (1.2)
, where:
• iref : reference current
• imeas: measured current
1.2.2 Per-unit representation of system quantities
The basic concept of the per-unit representation is to express quantities of the same type
(e.g. power, voltage, current) as a ratio of a selected base quantity of that same type. This
effectively turns the base quantity into a unit of measure. Per-units are generally used
in the field of electrical power systems, especially power transmission. Yet inexplicably,
it is not as commonly used for power electronics, even though it is still appropriate to
do so. The benefit of using per-units is to allow relevant system calculations to be done
efficiently. For example, a power system designed with per-units could be re-scaled for
2
INTRODUCTION
higher power ratings with relative ease. A minimum of two base quantities are required
to use the per-unit representation:
• Pbase (base power): nominal power rating of the system
• Vbase (base voltage): nominal voltage at that power rating
and a third is also defined for this work:
• f1 (base frequency): fundamental line frequency
The remaining base quantities automatically become defined as derivations of the
above, for example:
• Ibase (base current) =PbaseVbase
• Zbase (base impedance) =VbaseIbase
• Lbase (base inductance) =Zbase2πf1
• Tbase (base period) =1
f1
A quantity using the per-unit scale will typically be denoted by pu as its units. A
designer familiar with the per-unit system will then be able to recognise the relevant
base to use in their calculations. As an example, here are some quantities converted into
per-units, where the base power is 2400 W and the base voltage is 240 V:
• Ibase = 2400240 = 10A
• Zbase = 24010 = 24 Ω
• 1A = 1/10 = 0.1 pu
• 12 Ω = 12/24 = 0.5 pu
1.3 Thesis Outline
The basic structure of this thesis is as follows:
3
1.3. THESIS OUTLINE
• General introduction to the current control of a single-phase full-bridge voltage
source inverter topology and an overview of current control methods that are in-
vestigated in this work.
• Desirable qualities for current controls suitable for the VSI topology, which lead
to the development of a procedure (benchmark) to measure performance for these
qualities in existing current control methods. The same procedure can then be used
to justify any improvements when proposing new methods.
• Results from the benchmark procedure for some current control methods discussed
earlier.
• Some implementation suggestions based on the findings and control tuning experi-
ences. Also includes background information about DSP chips in anticipation that
the DSP will be the appropriate device for implementating an improved current
method.
• Future continuation and concluding remarks.
4
Chapter 2
Current Control Methods for
Voltage Source Inverters
For any given engineering problem, there are usually multiple ways to achieve a solution.
Thus it becomes necessary to have the scope defined, which restricts and targets our
investigation. The rest of this chapter will elaborate on the specific voltage source inverter
circuit topology and the relevant suitable current control methods to be covered in this
investigation.
2.1 Voltage Source Inverter Topology
The voltage source inverter (VSI) topology is a common topology used for DC-AC appli-
cations, including the following:
1. active power filters (APF);
2. uninterruptible power supplies (UPS);
3. solar inverters; and
4. motor drives
In this work we are specifically interested in the single-phase full-bridge configuration
that is depicted in Figure 2.1 below. The figure depicts MOSFET based switches, but
these can also be other switching devices such as IGBTs or GTOs depending on the
desired application ratings. Also, whilst this topology is capable of supporting voltage
control as well, our particular interest is in using it for current control applications. For
one, magnetic saturation issues can usually be avoided due to current control suppressing
5
2.1. VOLTAGE SOURCE INVERTER TOPOLOGY
the chance for build-up of the DC offset in the current, as opposed to pure voltage control
that would regulate the voltage in disregard of the current. Since we have particular
interest in current control of this topology, this control system is sometimes referred to as
“single-phase full-bridge current-controlled VSI” (or in shorthand: “1-ph FB CC-VSI”).
+−VDC
Sat
Sab
Sbt
Sbb
A
+
L
+ −VL
i L
Load
+
−
VLoad
−
BVI nv
Figure 2.1: 1-ph FB CC-VSI Topology
2.1.1 CC-VSI and Controllability
The CC-VSI control relies on the inductor to regulate the line current by switching the
voltage potential applied across the inductor between permitted switching configurations
for the given VSI topology. For proper current regulation, the control would impose a
positive voltage potential across the inductor to cause the current to “slope” upwards
and impose the opposite polarity across the inductor to cause the current to “slope”
downwards. However, since the potential is applied across the line inductor with a load,
then it is possible under certain load conditions for the line current to be uncontrollable (as
discussed later). Current feedback is acquired via imeas, which measures the line current
iL and typically performed by devices such as hall-effect current sensors. This measured
current would be compared against the desired reference current and depending on the
control strategy, the timing of switching and switching configuration are determined and
applied in a manner that would cause the line current to follow the reference current.
This research focuses on bipolar switching, which is one typical method of switching
operation for this topology and involves a full reversal of the DC bus voltage potential
applied between the mid-points (A and B). This corresponds to cross-alternating between
the two pairs of switches such that in one state the line voltage is imposed in one direction
and in the other state the line voltage in the opposite direction. Implementation of this
would simply involve sending the same control signals to Sat and Sbb and sending the
complementary control signals to Sab and Sbt. Although other switching schemes do
exist (e.g. unipolar switching), for this work it was decided that high-fidelity demanding
applications would be of interest — namely active power filters discussed later in this
chapter. Thus bipolar switching becomes the preferred choice for its greater controllability
despite some negatives (e.g. typically considered less efficient and has greater ripple than
6
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
unipolar switching). Readers should be able to find a more information about these
switching schemes in any good power electronics textbook.
An important issue to observe at this point is that the switching devices are non-ideal
in reality and always have finite turn “on” and “off” times that are often asymmetric or
at least, very difficult to make symmetric. If the control signals were to simply attempt
an immediate alternation of states as implied, then this sets up a situation for shorting
the DC bus. To avoid this issue, the control must introduce a suitable delay between the
instant we signal the turning “off” of one switch in a pair and the instant we signal the
turning “on” of the other switch in that pair. This delay is commonly known as blanking
time (also known as blanking delay or dead-time). However, this also presents a problem
that affects the resultant current output — the effective switching instant may become
delayed depending on the path of current flow. More specifically, when current transfers
from the free-wheeling diode to the switch, then blanking time imposes a delay to the
switching instant. But when current transfers from the switch to the free-wheeling diode,
then the switching instant is unaffected by blanking time.
Typically having the VDC greater than the peak expected voltages on inverter output
(i.e. load-side of inductor) will mean that the system is able to control the current, but this
does not always guarantee controllability (e.g. in the case of fundamental reactive power
flow). For full controllability of the given CC-VSI topology, the voltage output from the
inverter must be able to at least match the fundamental voltages applicable at the inductor
no matter what the currents required (e.g. even if the desired current is 90 out of phase
to the voltage). Whenever the control lacks full controllability there will be times when
it is unable to appropriately correct errors. This is because there is insufficient inverter
capability to source or sink current compared to that demanded, even if it went to the
duty-cycle extremes (i.e. fully-on or fully-off). Fixed switching frequency operation may
sometimes be sacrificed during these situations, since maintaining the extreme duty-cycles
will at least provide more optimal error correction.
Thus additional controllability requirements are needed so that the inverter is able to
compensate for any kind of load currents comprised of active and reactive components.
For example, such capability would reasonably be expected in APF applications to filter
out a certain level of line distortions. Equation 2.1 expresses the controllability margin as
a relationship between components involved in the expected fundamental line voltage and
DC bus voltage, which must be greater than zero for controllability.
VctrlMargin = VDC −Re~VLoad,fund + ~VL,fund
≥ 0 (2.1)
where VL,fund is the inductor voltage component and depends on the phase difference
between the line current and the line voltage. If the two are in-phase, then the minimum
requirement for controllability is when the VDC meets the requirements for the load. Oth-
7
2.1. VOLTAGE SOURCE INVERTER TOPOLOGY
erwise, if the inverter looks completely inductive (i.e. the output from the inverter has the
line current lagging the line voltage by 90 ), then VL,fund has the same magnitude of the
per-unit inductance multiplied by the fundamental load voltage VLoad,fund, but it is neg-
ative. Alternatively, if the inverter looks completely capacitive (i.e. the output from the
inverter has the line current lagging the line voltage by 90 ), then VL,fund is positive with
a magnitude equal to the per-unit inductance multiplied by the fundamental load voltage
VLoad,fund. From this we can see why reactive components will affect the controllability, in
that it may improve or worsen the prospects of controllability. To assist in understanding
the above situations, refer to the phase diagrams in Figure 2.2.
VLoad,fundIline
VL,fundVinv
= IL,fund
VLoad,fund
IlineVL,fund Vinv
= IL,fund
VLoad,fund
Iline
VL,fund
Vinv= IL,fund
VDC,min
VDC,min
VDC,min
~z = a+ bjj
j
j
Figure 2.2: Phasor diagrams that show the controllability relationship under the de-scribed scenarios (top: in-phase; mid: inverter appears purely inductive; bottom: inverterappears purely capacitive)
2.1.2 CC-VSI in Active Power Filter (APF) applications
As mentioned previously, CC-VSIs may be applied in Active Power Filter (APF) systems
with the goal of improving the quality of grid power and remains quite a popular research
subject over decades since the initial concepts of APFs were proposed in the 1970s [1–10].
The general aims of an APF are to:
8
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
• reduce distortions (such as harmonics) caused by non-linear loads;
• improve power factors for reactive loads; and
• in multi-phase systems, it may also perform load balancing.
Various topologies exist for APF applications [11], but specifically the basic shunt (some-
times called parallel) APF for a single-phase grid supply shall be considered in this work
as represented in Figure 2.3. This is because the primary focus of this work is to develop
a suitable test platform for determining the fidelity of various current controls and it was
identified that an APF application would perhaps prove to be a challenging yet realistic
way of determining the performance of current control methods. Notice that the grid
supply, APF (inverter) and load are tied to a common node, which has been labelled as
the Point of Common Coupling (PCC).
APF
Load
Gridigrid iload
iinv
PCC
imeasLPF
Figure 2.3: Basic shunt APF configuration
There are two main ways CC-VSIs can be used to perform active power filtering. One
strategy requires the calculation of compensation currents that would offset distortions
[7, 12]. This first approach usually requires measuring an additional current variable in
the system (typically iload). This is due to the inverter often being treated as standalone,
where the current control is merely concerned with the inverter output. Thus in this
situation, the current control is given the compensation current as its reference. But then
of course, additional information regarding the load must also be measured to be able to
compute this compensation current reference. The compensation current strategy provides
the designer with greater flexibility in determining what gets compensated and how, but
at the expense of computation time. Note that it is possible for compensation currents
be computed internally, but then included into a current reference suitable for the current
control of the grid current. This is the situation for the APF controller described in [10],
which appears to be more like a hybrid system combined with the second strategy to be
introduced shortly.
The other strategy is to avoid computing the compensation current altogether and
is often achieved by measuring and controlling the grid supply current (via the inverter)
directly rather than a computed current reference [13, 14]. Thus a “clean” sinusoidal
current reference that is in-phase with the grid voltage can be fed to the current controller,
which attempts to achieve this on the grid supply line. The complexity of implementation
9
2.1. VOLTAGE SOURCE INVERTER TOPOLOGY
can be immediately reduced using this approach, because it does not have to compute the
compensation current. Also there is no need to measure an additional variable, foregoing
any components associated with doing so. Hence it is deemed that under this approach,
the performance of the current control will never depend on how well the compensation
current is calculated. Finally, in line with our fidelity testing intentions, this strategy of
directly controlling the grid current would imply that more is demanded from the current
controller because it inherently factors in all errors for correction and thus supports a very
high control bandwidth (whereas compensation current calculations will tend to limit the
control bandwidth). As this is the more appropriate choice for the intentions of this work,
the explanations of how to control this system will be based on this particular approach
and will be the applicable APF system for all subsequent chapters.
To further explain this approach, Figure 2.4 expands upon the basic configuration
(previously shown in Figure 2.3) so that most internal components of the system are
visually represented — especially in the way of the required control blocks. Also notice
that this system can be considered the single-phase version of the three-phase APF system
described in [9, 14], as they share a very similar APF control scheme despite some variation
in the design (e.g. the low-pass filter). It is considered unnecessary to go to a three-phase
system, since a single-phase APF configuration should be sufficient in determining current
control fidelity. As from the diagram, the main signals that need to be measured for this
system are:
• the DC bus voltage (VDC);
• the voltage at PCC (VPCC); and
• the grid current to be controlled (imeas).
The measured VDC is passed through a low-pass filter, so that the result does not
contain all the ripples experienced from the switching. The resulting filtered VDC variable
is then compared against the desired bus voltage for it to be controlled by the outer loop
voltage regulator. In this work, the outer loop is a Proportional-Integral (PI) controller
and is tuned via empirical methods to arrive at acceptable stability and gains, which on
most occasions maintain VDC at the expected level. VPCC is measured for the phase-lock
loop (PLL) to be able synchronise the current reference to be in-phase with it. The inner
loop current control then uses the measured imeas to determine the required switching such
that the desired “clean” grid current is achieved, where presently the schematic shows a
PI triangular carrier current control.
In later discussions, the inner loop current control block will be substituted with other
suitable current control methods. However, since the grid line current is being measured
rather than the inverter current (iinv), the inner loop current control needs to take into
10
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
-+VDC
VDC,ref
PI OuterLoop
Voltage Control
Iref,mag
PhaseLockLoop(PLL)
CurrentReferenceGenerator
iref,unitysinwave
VPCC
iref
-+Inner LoopCurrentControl
Sgatesie
Non-linearLoad
iinv
imeas
PCC
VoltageSourceInverter
Sgates
Low-PassFilter(LPF)
iloadimeasGrid igrid
Figure 2.4: Block diagram of the basic shunt APF topology used in this work
consideration the direction of current flow from the inverter is opposite to that of the
measured grid current. The approach used in this work was to treat the input to the inner
loop control as it would be expected for a typical inverter, but adjust the output gating
signals so that they are appropriate for controlling igrid. This effectively means:
• if the inner loop current control was ie based, then continue using iref − imeas; or
• if the inner loop current control was idif based, then continue using imeas− iref ; and
• the current control gating signals are basically flipped, so that when the control
deems it necessary to switch igrid to move towards the positive direction, the control
actually demands the inverter to switch iinv in the negative direction (and vice-
versa).
Observe that there are two aspects to the controllability of this system corresponding
to the inner current control loop and outer voltage control loop requirements. The con-
trollability requirements for the inner current control loop will be pretty much the same as
for current control of a VSI, but becomes dependent on the outer voltage control loop due
to its regulation of the VDC bus voltage. The desired APF operation relies on there being
enough VDC bus voltage for the harmonic/reactive components to be partially, if not fully,
compensated for. Assuming the outer loop maintains a sufficient level of VDC voltage by
commanding an appropriately sized sinusoidal inner loop reference current that is in-phase
with the grid voltage, then the APF would automatically provide the currents to offset
the harmonics and reactive components drawn by the load. Or alternatively stated, this
should correspond to drawing a higher amplitude in-phase sinusoidal current from the grid
to:
11
2.2. DESIRABLE CURRENT CONTROL CHARACTERISTICS
• replenish and maintain the APF bus voltage, which is used for countering the har-
monics and reactive load current components (may also include inverter losses); and
• supply the active component of the load.
However, the controllability of the inner loop may be affected whenever there is a sud-
den significant increase in load current requirements (i.e. transients) — which is especially
the case for non-linear loads. If there is insufficient current being source from the grid, then
the load would attempt to source the rest from the inverter. As a result, the VDC bus will
temporarily sag assuming the voltage regulating outer loop is unable to respond quickly
enough in such situations. It may be tempting to make the outer loop respond faster,
but doing so will generally risk the stability of the outer loop voltage controller. Thus
it may not always be possible for full compensation to take place under such demanding
scenarios, and partial or even no compensation occurs whenever there is insufficient VDC
voltage to maintain full inner-loop controllability.
2.2 Desirable Current Control Characteristics
The purpose of the current control is to produce a current signal that is the same as
the desired reference current. Anything else present in the output signal is considered
distortion. In practice there will always be some level of distortion too costly to completely
remove, which is why various measures like total harmonic distortion (THD) exist to help
quantify it. Still, the aim is to avoid any imperfections found in the output current signal
and there are generally three aspects of distortion to consider:
1. DC offset: the offset from zero when comparing the generated current signal against
the current reference signal — equivalently described as when the average current
error signal is offset from zero. DC offsets drive magnetic components into saturation,
which is a problem given the presence of the line inductor in our topology. The risk
is that once the line inductor becomes saturated, then it no longer operates with the
desired behaviour, and consequently the controllability of the system is lost.
2. harmonics: considered to be the unwanted frequency components generated in the
output. Assuming that the current slopes are linear (current ripple looks triangular),
it is common for frequency components at odd-multiples of the switching frequency
to be generated in the output due to the switching action of these control strategies
(corresponding to the “triangular” current ripple form). Also, this means theoreti-
cally no even-frequency components of the switching frequency should be generated.
This is explained in further detail under “Low harmonic distortion”.
12
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
3. phase-shift: any phase-shift in the output current signal versus the current reference.
Typically control systems have slight phase lags due to the act of error correction
after the event. The reason that phase-shift is important is because power factor is
affected by the phase difference between the voltage and current. Any significant
phase-shifts of the generated current would imply a reduction in the power factor.
Fast transient responses become important here, because removing errors within the
shortest amount of time would reduce phase lag. Predictive methods or other meth-
ods of lag compensation may also be able to help reduce phase-shifts even further.
Similarly deadbeat controls, which attempt to reduce the error to zero within a given
number of time steps, are expected to incur phase-shifts that correspond to at least
that many number of time steps.
Keeping this in mind, you will find that most of the characteristics listed reflect the
desire to minimise all aspects of distortion and are generally important across the various
applications. However, I have also included some which are perhaps more application spe-
cific, with the hopes of finding out which current control methods may be more appropriate
for those specific applications.
2.2.1 Low harmonic distortion
Low harmonic current distortion is an important quality in quite a few applications be-
cause unwanted harmonics can shorten the lifetime for certain devices (e.g. transformers
and induction machines), since the harmonics can cause temperature rises beyond the
device ratings [15]. There also exist industry standards, such as the IEEE 519-1992 and
IEC 61000-3-6, which provide industry standard guidelines for measuring harmonics and
define acceptable limits on the level of harmonics to help guarantee power quality or min-
imise electromagnetic interference. Harmonics contribute to disturbances in more sensitive
equipment (e.g. telecommunications). Since typical systems will need to meet such re-
quirements for low harmonic content and this is generally achieved through using a filter
on the line output, which obviously adds to the cost and also represents a potential source
of instability if the cut-off frequency resonates with anything attached to the line (may
include the control loop itself).
Small low-order current harmonics distortion
Note that low-order harmonics is distinct from “low harmonics” discussed above and actu-
ally refers to harmonic distortions that are relatively close to the fundamental. Minimisa-
tion of these low-order harmonics are therefore addressed as a subset of the low harmonic
distortion quality. Due to the closeness of low-order harmonics to the fundamental, these
13
2.2. DESIRABLE CURRENT CONTROL CHARACTERISTICS
harmonic components would not be sufficiently attenuated even with a properly designed
output line filter. Ideally, minimal low-order harmonics will thus ensure that the shape
of the reference current is reproduced as closely as possible in the line output before the
filter and also allows the “low harmonic distortion” after filtering to be minimised as well.
The reason why this attribute was proposed was to measure and identify whether variable
switching frequency methods, such as Hysteresis, produce low-order harmonic components
of significance in comparison to the control methods that feature the switching character-
istics of being narrowband and relatively high frequency as discussed later.
Narrowband and relatively high switching frequency
The common switching action of the control strategy for this topology will contribute
harmonic distortion in the line current at the corresponding switching frequencies. A fil-
ter will need to be designed to remove such switching content. The purpose of having a
relatively high switching frequency is to move it significantly away from the fundamental
line current. This means that the filter designed would have minimal affect on the funda-
mental and also implies less cost for the filter itself. It also becomes desirable to have a
narrower switching frequency band in the frequency domain, as this reduces the filtering
requirements necessary to attenuate a narrower-band of switching harmonics. Thus many
control methods aim to target fixed-switching frequency operation for these reasons. An-
other benefit from fixed switching frequency operation is the opportunity to synchronize
switching action between multi-phase systems. With a switching synchronization across
the multiple phases, it is possible to offset the effects of one switching action against
another and thus reduce the requirements for magnetic components.
2.2.2 Fast transient responses and fast control loop
Fast transient response is important in applications such as APFs. APF applications re-
quire that the current control method be fast at reacting to sudden “pulse” currents drawn
by non-linear loads (e.g. diode bridge rectifier load). Thus apart from maintaining stabil-
ity, the current control used in an APF implementation must also be able to achieve good
performance in all three transient response parameters: fast start-up time, low overshoot
and fast settling time. Hysteresis Current Control is often recognised as the best current
control strategy under such criteria. A fast control loop should imply a fast transient
response, but this was included to address the minimisation of phase-shift.
14
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
2.2.3 Tolerance to parameter change
Tolerance to parameter changes is a very important characteristic to have. It is never
possible to get the ideal components in practice and so sources of variation include:
• slight difference between the true component value and the desired value (where
most components are manufactured with certain tolerance levels), which will result
in slight variation of system parameters;
• ideal models do not necessarily reflect true system behaviour, e.g. if inductors be-
come saturated or a purely resistive load is swapped for a diode rectifier loads, where
both cause very non-linear changes in system behaviour and parameters.
Variation of system parameters generally alter the initial assumptions during the design
and may therefore severely impact the behaviour and performance of the control method.
Subsequent to proper control design using the expected system parameters, there are two
ways of addressing parameter variation:
1. online parameter estimation which is an on-going self-adjusting process that usually
involves either many measurements and/or calculations;
2. higher-level abstraction which passively ignores the variation of system parameters
as long as the few parameters (may be single) being measured do capture the infor-
mation it needs for performing the control.
Online parameter estimation is often achieved in predictive control methods, but this may
be too expensive due to the calculations and/or additional measurement requirement. The
additional cost of the former may not be justifiable and this is where the latter shines.
We can consider Hysteresis and Ramptime current control methods as examples of the
latter, where both algorithms rely purely on information from the error signal to perform
control.
2.2.4 Zero-Average Current Error
Certain current control methods feature Zero-Average Current Error (ZACE), a control
characteristic initially coined in [16] and explained in detail by [17], but for convenience
the main points will be briefly covered here. Basically, it describes achieving an average
ripple current that will ideally approach zero within each switching instance and also a
balance in the areas enclosed by the excursions on either side of zero within one switching
period. ZACE by definition would guarantee that the output mostly comprises of the
desired current and on average the current should follow the reference in each switching
15
2.2. DESIRABLE CURRENT CONTROL CHARACTERISTICS
period. Note that when combined together with the first assumption, simply ensuring that
a zero-error crossing occurs at every half switching period implies a symmetrical balance
and achieves the desired average current within a switching period.
A1
−A1
A2
−A2
imeas
iref
Figure 2.5: ZACE Current Ripple
Although not immediately implied in Figure 2.5, an accurate ZACE control would
“slide” the window of consideration at each switching instance (i.e. half the switching
period) such that there is an overlap from the previous switching cycle, leading to −A1 ≈A2. Note that ZACE inherently caters for many desirable characteristic as follows.
Minimises low-order harmonics
As inherent from the symmetry, ZACE avoids introducing low-order harmonics from
switching as long as the given current reference is a clean sinusoidal. This is because
if the control was highly ZACE accurate, then it would achieve an average current that
matched the desired current reference for every switching period considered.
Approaches performance of dead-beat control
The very definition of ZACE implies that the error should be corrected within one switch-
ing period for the given current reference. This should mean that any control featuring
ZACE approaches the behaviour of dead-beat control or the ability to correct an error
within a guaranteed amount of time. This is basically governed by the control’s closed-
loop response, as the switching decisions must be able to be determined ahead of the next
switching period.
Avoids saturation of magnetics
Ideally ZACE would imply that DC offsets never exist, since there should be symmetry of
the areas bound by the error signal above and below the reference current. That is, the
16
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
actual current will have the DC content of the reference. Of course, in reality ZACE may
not always be achieved, but nevertheless it still helps.
2.2.5 Ideas exploited by control algorithms
Blanking delay compensation
A universal form of blanking time (i.e. applicable to any VSI control method) is to
alter the gate control signals by simply delaying the gate signal transition from “off” to
“on” by an appropriate time after the transition of the other gate signal from “on” to
“off”. However, in control methods that can pre-determine their switching instances for
a switching cycle (or half-cycle), it becomes possible to incorporate the blanking delay
into the timing of the switching instant so as to compensate for the delay and achieve
the effective switching instant at the time that was originally intended. Note because
blanking delay does not always affect the switching instant (as mentioned earlier in Section
2.1.1), it would be necessary for this compensation to take the direction of current into
consideration. Unfortunately this is not applicable to all control methods, so control
methods like Hysteresis will still need to use the standard approach. Balanced blanking
delay becomes particularly useful when the duty-cycle ratio approaches the extremes (0%
or 100%), since standard blanking delay effectively introduces an offset.
Linearity of current slopes within a switching period
Since the switching frequency is generally much faster than the rate at which the AC volt-
age changes and assuming full controllability, then it is possible to approximate the slopes
of inductor current in each direction as being temporarily “frozen” like constants. Put
in another way — when the switching frequency is significantly faster than the expected
voltage changes across the inductor, then the current ripple can often be imagined as linear
between switching instances. This switching ripple is depicted in the top part of Figure 2.6
and below it is an example switching signal of an ideal switch given the selected switching
period. It also leads to the use of “ramping up” and “ramping down” terminology, which
“ramping up” corresponds to when a positive voltage potential is applied across the line
inductor (L) and “ramping down” is when a negative voltage potential is applied across
the line inductor. As an example, this is a principle assumption used in the Ramptime
current control.
17
2.3. CURRENT CONTROL TECHNIQUES
imeas
iref
on
off
Figure 2.6: Simplified (Linearized) Current Ripple
Multi-phase inductor requirements reduction
Although not the focus of this work, multi-phase (e.g. three-phase grid connect) systems
can benefit from methods that have fixed switching frequency outputs as long as the
common node is floating (i.e. not connected to neutral). By having a fixed-switching
frequency, the outer loop control can then synchronise a pair of phases such that when
one line is pulled in one direction, the other line is pulled in the opposite direction. For
example, if we consider this in a three-phrase topology, one phase can be the standing
phase with the remaining two phases performing synchronised switching in this manner.
This effectively reduces the ripple on the lines and thus permits the designer to reduce the
inductor size, as demonstrated in [17].
2.3 Current Control Techniques
There are numerous current control techniques suitable for voltage source inverter topolo-
gies. The current control methods investigated in this work includes:
1. Proportional-Integral (PI) Triangular Carrier Current Control;
2. Hysteresis Current Control;
3. Ramptime Current Control; and
4. Parabola Current Control.
18
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
However, various applications involving CC-VSI have slightly different requirements that
make different aspects of current control performance more important than others. One
such example is the APF application already introduced and is further explored in later
chapters. Under APF applications, the transient performance of a current control method
tends to be of greater focus in an APF implementation.
This work purposely includes PI triangular carrier and Hysteresis current controls on
the basis that they are relatively easy to understand and well-known standard control
methods. They are also encountered in existing performance comparing work like [18] as
a standalone inverter current control and [3, 5, 7] under APF applications. The inclusion
of Ramptime and Parabola current control methods are due to their interesting charac-
teristics that should make them more favourable than the standard PI and Hysteresis for
certain application criteria. Each of these will we be discussed in further details in the
sections that follow. Predictive methods are not considered in this work because they tend
to rely heavily on accurate modelling of the system and are thus more application specific
and often very complicated in comparison to the methods considered here.
2.3.1 Proportional Integral Triangular Carrier Current Control
Proportional-Integral (PI) control is merely a special case (i.e. having zero differential
component) of the Proportional-Integral-Differential (PID) control. PID control is a well-
known and well-understood control technique and often considered the base standard for
performing linear control. As the name may already suggest, it simply comprises of each
component summed together:
1. the proportional component is the input multiplied by a certain scale KP and implies
that the output would be directly affected by the input as long as KP is non-zero.
2. the integral component is the integral of the input multiplied by a certain scale KI ,
which means that the output would be affected by all the past input values seen if
KI is non-zero.
3. the differential component is the differential of the input multiplied by a certain scale
KD and it determines how much the output should be affected by sudden changes
in input values, which is set to zero in PI control.
PID control is used in a variety of applications because it is simple and flexible, where the
coefficients KP , KI and KD required for achieving the desired control can be attained via:
1. an experimental tuning process (e.g. Ziegler-Nichols method); or
19
2.3. CURRENT CONTROL TECHNIQUES
2. using equations derived from the system model to go through a theoretically optimal
design process and/or via a graphical design process (e.g. bode-plots and zeros-pole
placements).
Due to its simplicity, PID controllers do have limitations to the systems it can ade-
quately control. Therefore, some systems will be unsuitable for PID control. One potential
advantage from using PID control is the opportunity to use an empirical design approach,
such as Ziegler-Nichols method, to produce an appropriate control without much (if any)
knowledge of the underlying system model. In fact the system does not necessarily have to
be linear, as long as it can be approximated to a linear system with appropriate assump-
tions (i.e. based on the intended region of operation) [19]. The switching nature of the
CC-VSI topology is a clear sign of a non-linear system, but with certain linearization as-
sumptions a linear control method can be used to control it. This is demonstrated by many
existing research that have used PI-based current control in our topology of interest. Also
note that the derivative component is omitted to prevent the control from overreacting to
the inherent deviations away from zero error due to the nature of switching.
In the context of a CC-VSI, PI triangular carrier current control is applied in the
closed-loop sense by feeding in the current error (ie) as the input to a standard PI control.
Standard PI control is subsequently adapted for PWM output generation by comparing
the output value from the PI summation against a triangular carrier. Hence the full name
of PI triangular carrier current control, but for the sake of terseness this control will simply
be referred to as PI for the remainder of this thesis. The design approach used throughout
this work is mostly described as in [20], but it would be convenient to discuss it here. Also
be aware that the coefficients we use are only correct based on the signal polarities from
Figures 2.1 and 2.7.
For our purposes, only the analogue form of the standard PI control will be considered.
Although PI can be implemented digitally, discretization of the analogue PI control will
imply loss in performance compared to the pure analogue version. Hence the analogue
implementation will be used for comparison purposes as it should represent the best PI
can offer. The linear control model for this control method is as shown in Figure 2.8
directly from [20]. This contains approximations based on simplifying the VSI system to
exclude some difficult to model non-ideal and often non-linear behaviour (e.g. inductor
saturation). That said, this particular model includes a nominal inductor resistance (Rs)
that would be present in any realisable inductor.
Using this control model, it is now possible to convert the system into a transfer
function and then use it to design our PI controller. Note that any changes to the system
will generally need to be included in the system model for this method to arrive at a
suitable design and this is why empirical design methods are sometimes advantageous.
Without going into the details of the derivation, most of the same design assumptions and
20
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
KP
KI
+iref
−imeas
1s
+
+
+
−
Vtri
S
S
∑ ∑
Figure 2.7: PI Triangular Carrier Current Control
Figure 2.8: PI Triangular Carrier Control Model
recommendations are used from [20] to arrive at the exact design Equations 2.2 and 2.3
to solve for KP and KI . However, it is important to note that this model reflects only
the control of inverter current and would require remodelling for other control strategies
and/or topologies.
The shunt active power filter (APF) topology considered in this work is an example
where the above PI control model would fail. Under the shunt APF application discussed
earlier, a direct grid current control strategy is used and thus requires the reference current
waveform in the sinusoidal form that corresponds to the desired “clean” line current. This
is quite different to the indirect grid current control strategy commonly used by other
APF configurations, where a compensation current is calculated — in such scenarios, the
typical PI control model can still be used because the inverter current is being controlled
to produce the required offset current harmonics/distortions for the indirect cleaning of
the grid current. Works do exist for the study of PI current control in APF applications,
but more commonly via the generation of compensation currents.
Without opting for an alternative APF configuration to the shunt APF topology con-
sidered in this work, the PI controller was tuned via empirical methods for the given level
of load harmonics. It is important to note that under this shunt APF topology each time
the PI control is tuned, it will always be for a particular level of load harmonics. So any
changes to the expected load harmonic conditions will likely require the re-tuning of the
21
2.3. CURRENT CONTROL TECHNIQUES
PI controller for it to continue operating effectively in the shunt APF application.
KI
KP=
ωCL
tan
(−90 + phm + 2tan−1
(ωCL
TS4
)+ tan−1
(ωCL
LSRS
)) (2.2)
KP =cPK
2VDC
RSGTI
√√√√√√√√
1 +
(ωCL
LSRS
)2
1 +
(1
ωCL
KI
KP
)2 (2.3)
where the following additional control design variables are required,
• cpk: triangular carrier peak amplitude;
• GTI : current transducer gain;
• ωCL: closed loop bandwidth; and
• phm: desired minimum phase margin
The first two variables are based on the circuit realisation of the triangular carrier and
the current sensing, which would be based on the desired ratings of the system and how
the signals are internally represented in the controller. Closed loop bandwidth specifies
the response speed for error correction, which for the purposes of this research assumes
the recommendation [20] of one sixth of the desired switching frequency is acceptable.
The phase margin is related to the transient response performance and the stability of the
linear control. However, an exception to recommendations [20] was a decision to alter the
minimum phase margin requirement to 45 instead of the recommended “rule of thumb”
of 60 , so as to improve the performance of the PI control. Given that phase margin
serves as a measure of control stability, it would be ill-advised to reduced phase margin
too much. 45 was chosen as it is generally recognised as the minimum phase margin for
stable control design, although there is some variation amongst texts [21].
An inherent issue with the integral component of the control method would be its
susceptibility to transient situations where it can potentially result in large overshoots and
longer settling times. Thus to enhance the performance of this control method apart from
adjusting the phase margin, it is standard practice to incorporate some form of antiwindup
mechanism that will help reduce this overshoot and generally improves settling time as
well. For the purposes of this work, a very simple antiwindup strategy was adopted and
simply involves clamping the magnitude of the integral component within certain bounds.
The bounds are chosen such that doing so restrains the accumulation of error to a certain
size, which results in a more limited overshoot than an unrestrained integral component.
22
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
2.3.2 Standard Hysteresis Current Control
Standard hysteresis is a simple non-linear control method where the current is “bounced”
between two fixed bands defined equidistant from the desired reference current (i.e. lower-
band = iref − h and upper-band = iref + h, where h is the equidistant hysteresis band
offset from iref ). A conceptually equivalent definition is to bounce the current difference
signal (idif ) between equidistant h bands about zero idif . Although the upper and lower
bands do not have to be symmetrical, there are at least two reasons behind the choice of
equidistant h-bands:
1. to guarantee that it will approach ZACE as it is a feature of the other non-linear
control methods considered here; and
2. as opposed to two bands of different magnitudes, equidistant bands can effectively
reduce the number of input parameters required for Hysteresis operation by one
(thus a potential cost saving for an analogue implementation)
Thus for the purposes of this work, only the version of Hysteresis using equidistant bands is
considered. An initial estimator for the size of these bands can be calculated by rearrang-
ing equations for determining the average switching frequency of the Hysteresis control.
Equations 2.4, 2.5 and 2.6 are the set of formulas from [22] that describe this relationship.
Due to inherent system losses, it is then possible to further fine-tune the bands such that
the average switching frequency is actually achieved.
fsw,ave = fsw,max
(1− k2
2
)(2.4)
fsw,max =VDC4hL
(2.5)
k =VAC,1VDC
(2.6)
Although there is an expected maximum switching frequency for hysteresis, it will
inherently not maintain a fixed switching frequency like the other methods. As a conse-
quence of the variable switching frequency nature, it can sometimes be difficult to design
an appropriate filter to remove all the switching harmonic content. For example, due
to the wider spectrum of frequencies generated, the filter would have to be larger to be
able to reject the lower switching frequencies and leads to an undesirable increase in the
component costs. Despite this fact, hysteresis is still a very popular control method due
to its simplistic nature, guaranteed stability and relaxed controllability region.
23
2.3. CURRENT CONTROL TECHNIQUES
An advantage of the simplicity of the Hysteresis control is that the components required
to build it tends to be very minimalistic in comparison to most other methods — in terms
of analogue circuitry it often only requires the following: band generation, comparator
and latching logic. This is depicted in the Hysteresis circuit schematic, Figure A.3, found
in Appendix A.1. Since it does not rely on modelling the full system, it means the control
should be able to handle either the inverter or the APF scenario without much redesign
(if any). The only issue that will likely require adjustment between its use in the pure
inverter application compared to the APF application is the polarity of the switch output
logic, which most discrete latch IC devices should already cater for (i.e. it should have
both the inverted and non-inverted outputs).
One major reason why Hysteresis is often considered a very good control method for
APF applications is because of the high control bandwidth — allowing it to very quickly
handle transient situations commonly required for APF applications. However, this means
that it is entirely possible for noise on the current measurement signal to cause slightly
earlier switching than if the true current was presented to the comparator (see Figure 2.9).
This means that Hysteresis may have an even higher average switching frequency than
the intended design, but this is generally not much of an issue because often a low-pass
filter is used to remove the switching frequency content at the output anyway.
imeas
iref
−h
h
imeas
−h
h
iref
With noise
Without noise
Figure 2.9: Potential for noise to cause earlier switching in Hysteresis current control
24
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
2.3.3 Parabola Current Control
There are various methods proposed to combine the benefits of Hysteresis current control
and fixed switching frequency (or at least near fixed switching frequency). Parabola cur-
rent control [23] is one such method that attempts to gain the transient performance of
Hysteresis whilst approaching near fixed switching frequency. Originally, the derivation
of Parabola current control was based on a single-phase half-bridge inverter as shown in
Figure 2.10 directly from [23]. To start with, the basics behind Parabola current control
will be described under this 1-ph HB inverter topology until it is appropriate to show how
it is adapted for the single-phase full-bridge topology as used throughout this work.
Figure 2.10: 1-ph HB CC-VSI topology assumed in Parabola current control derivations
There are two versions of the Parabola current control method proposed in [23], but
only the improved version will be discussed here — i.e. the double parabolic bands version
as per Figure 2.11 directly from [23]. As can be seen, it targets near fixed switching
frequency by generating bands that vary through time. These bands are based on a
periodic parabola function, where the band resets and flips over to the opposite polarity
whenever the current error signal hits the band of appropriate polarity. Generating the
periodic parabola function relies on a very basic model of the system, where the relevant
system parameters for performing Parabola current control are as follows (and are reflected
by both Figures 2.10 and 2.11):
• Vp: upper voltage of the DC bus;
• Vn: lower voltage of the DC bus;
• L: line inductances;
• T : target switching period; and
• ∆i(t): equivalent to the current difference signal (idif )
25
2.3. CURRENT CONTROL TECHNIQUES
Figure 2.11: Parabola current control behaviour with double parabolic bands
These parameters can be combined into a single input parameter for producing the
periodic parabola function as described in Equation 2.7 and in practice, the author of the
paper suggests it can be deemed constant (see [23] for detailed derivations where the other
variables shown in Figures 2.10 and 2.11 are necessarily defined). Since a single-phase full-
bridge VSI is the topology of interest in this work, the adaptation of the Parabola current
control for controlling this topology is pretty simple. The parabola function generator
just needs to be given an input as defined in Equation 2.8. And in this work it considered
constant as well (i.e. no online parameter updates).
ParabolaFnGeninput =(Vp − Vn) · T
L(2.7)
ParabolaFnGeninput =2 · VDC · T
L(2.8)
An important note realised through simulation is that we must include a restriction
that the parabola function generator never goes below some nominal value (e.g. 0 V) if
we are using ideal integrators and the latch based implementation given in [23]. Not in-
cluding this meant that the simulated system may become uncontrollable when transients
are encountered, since the parabola function could move quadratically away from the er-
ror signal (towards either positive infinity or negative infinity) and as such the parabola
band will never be hit again. This is inherently dealt with in typical real-world analogue
implementation — i.e. op-amp outputs are not able to go beyond the supply voltage rails.
Also, in the suggested implementations there is an edge detector circuit (ED), which may
be subject to further consideration because it represents an opportunity to filter out spuri-
ous noise that would cause undesirable switching. Using an analogue-based edge detector
circuit, the RC time constant can be set to help reduce the sensitivity of the control to
noise.
26
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
Figure 2.12 depicts one of the suggested implementation configurations in [23] and it
should be noted that the author seems to have intentionally suggested designs that produce
balanced upper and lower bands by sharing the same parabolic function generator. From
inspection, the double bands shown in Figure 2.11 are actually implemented using a single
parabola-function generator (PG) block that is always positive, but is also inverted for the
negative band and surrounded with the appropriate logic to make the appropriate reset
and comparison depending on the direction of error correction. However, the proposed
analogue circuits may have a slight issue due requirements for integrators to reset to zero.
Resetting to zero in analogue circuits can sometimes be difficult since the reset needs to
be held for sufficient time (dictated by the RC time constant) and there is the potential
for a residual value to remain/redevelop after the reset. This brings up the question of
whether there is another way to achieve the same control without such potential issues
and perhaps this is where a digital implementation may help (e.g. digital integrators that
can reset to zero accurately and quickly).
Figure 2.12: One of the suggested circuits for implementing Parabola current control
If we are to stick with analogue circuits, one possibility is to compromise the equivalence
between the upper and lower bands by separately generating these bands. The concept is
to have the appropriate band active, whilst resetting the inactive band and holding it to
zero and switching between them at each switching instance. Thus whenever the measured
current hits the active band it switches around the active band, activating the previously
inactive band by releasing it from zero and the previously active band is inactivated by
clamping it to zero. The reason for this configuration is to remove the edge detector
circuit that may have imposed bandwidth limitations in the suggested implementations,
whilst still utilising only a single comparator for switch output (i.e. an output latch is also
unnecessary). However, since this configuration would imply high bandwidth it might also
lose a certain amount of inherent noise filtering from the edge detector. Another option is
to investigate a digital implementation — something probably worth exploring in future
research.
Also as a result of the periodic parabola band timing, this control method will inher-
27
2.3. CURRENT CONTROL TECHNIQUES
ently attempt to switch at the target switching frequency. Unlike Hysteresis it becomes
possible that Parabola current control may not maintain the fully “on” or fully “off” duty-
cycle for more than one switching period under some transient circumstances. Combined
with blanking time delay means that Parabola current control may not always achieve
the intended bounds and thus would contribute to slightly longer settling time before the
desired reference current is reached.
2.3.4 Ramptime Current Control
Ramptime current control is a non-linear near fixed switching frequency control method
and does not rely on either hysteresis or a clock. Although the concepts behind how
Ramptime works is not very difficult to understand, it is still probably the most complex
algorithm to implement out of the methods discussed previously. That said, Ramptime
does have a quite unique benefit in that it does not really need any system parameters
except the target switching frequency. Thus it will function correctly as long as the line
inductor is sized appropriately such that the current ripple is not too large or too small.
Simply put, this method relies only on the current difference signal (idif ) where the time
between the last switching instance and the zero current error crossing (polarity change
of idif ) is observed to determine the switching instance to use for the next half-cycle with
the aim of observing a zero error crossing where it expects to achieve zero average current
error as well as the target switching frequency. This obviously leads to Ramptime current
control featuring ZACE capabilities [17, 24, 25].
Several versions of the Ramptime control strategy do exist, so it would be important
to state that this work only considers the polarised version with these features:
• polarised algorithm where the next switching instant uses the previous same-side
excursion instead of the immediately previous opposite-side excursion;
• bipolar switching;
• switching noise filtering; and
• transient re-initialisation.
Other versions (including the original Ramptime) are not considered in this work, but
if interested the reader is referred to the full-literature [17]. To explain the Ramptime
concepts in general it is important to define some of the variables involved in the control
strategy — Figure 2.13 depicts the timing variables that all Ramptime control strategies
are based on. Also note the use following notations:
• asterisk (*): the variable is a desired/targeted value
28
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
• caret (∧): the variable is a measured value
• hash (#): the variable is a calculated value
imeas
iref
Tar1 Taf1
Tbf1 Tbr1
Tar2 Taf2
Tbf2 Tbr2
Figure 2.13: Error signal with relevant Ramptime timing variables labelled
where:
• Ta: amount of time the error signal spent above the zero within a switching period
• Tar: amount of time within Ta where the error signal is rising
• Taf : amount of time within Ta where the error signal is falling
• Tb: amount of time the error signal spent below the zero within a switching period
• Tbr: amount of time within Tb where the error signal is rising
• Tbf : amount of time within Tb where the error signal is falling
To maintain ZACE, Ramptime aims for the amount of time spent above the current
reference to be equal to the amount of time spent below the current reference. And for near
fixed switching frequency, both should be equal to half the desired switching period. Both
aspects are described in Equation 2.9. Since the polarised version of Ramptime is used in
this work, the same-sided information from previous switching period is used to determine
the next switching instance — as expressed in Equations 2.10 and 2.11. The important
reason why the polarised version is used is so that the excursion times will incorporate any
29
2.3. CURRENT CONTROL TECHNIQUES
switching delays and therefore improves the error correction mechanism over the original
opposite-sided version. Also, notice that none of these relationships require anything to do
with the magnitude of the error signal. Thus as long as the error signal is measured and, if
necessary, scaled appropriately for the accurate discernability of the zero-error crossings,
then the Ramptime algorithm should work (i.e. the binary state of whether the error
signal is above or below zero are accurately reflected time-wise).
T ∗a = T ∗b =T ∗sw2
(2.9)
T#
ar,2 =
(T
∧ar,1
T∧a,1
)(T ∗sw2
)(2.10)
T#
bf,2 =
(T
∧bf,1
T∧b,1
)(T ∗sw2
)(2.11)
30
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
irip
Figure 2.14: Polarised Ramptime current control block diagram
31
2.3. CURRENT CONTROL TECHNIQUES
The block diagram for polarised Ramptime shown in Figure 2.14 is one of the possible
ways to implement this algorithm. For the purposes of this work, only a general explana-
tion of its operation will be offered here, since it is not within the scope of this work to
re-explain the detailed derivations of the Ramptime control implementation. Please con-
sult [17] (particularly Chapters 5 and 6) should further explanation be required. Whilst the
original prototype of Ramptime was implemented with analogue circuitry, later develop-
ments would turn to a digital (FPGA) implementation of Ramptime. Of course, a digital
implementation would not look exactly the same, but it should still function the same
because it is based on the same principles. In later discussions regarding experimental
setups, the digital FPGA implementation is used.
Referring to Figure 2.14, the first comparator accepting the error signal input, ie, will
simply turn this into a logical “high” (value of 1) for positive polarity or “low” (value
of 0) for negative polarity. The adjacent logic and latch provides some additional noise
tolerance by helping to ignore any spurious zero-error crossings caused by noise in the error
signal. The resulting error polarity signal in combination with the switch output signal
(s) is used to initialise and update the timing integrators, with all integrators having time
constants of T ∗sw/2. Notice that the “above” excursion timing pathways are based on a
positive error polarity signal and the “below” excursion timing pathways are based on
a negative error polarity signal. Thus the “above” and “below” paths for the first-stage
integrators operate on the opposite edges of the error polarity signal.
The TAZ and TBZ sample-and-hold blocks are triggered before the reset of the first-
stage integrator takes place (when the error signal changes polarity) to allow the previous
current slope values to be available for the determination of the next same-sided switching
instance. Likewise the TAR and TBF sample-and-hold blocks are triggered to hold the
previous values corresponding to Tar and Tbf respectively. The limiters after sample-and-
hold blocks are set up to ensure correct operation of the algorithm in the case when none of
the integrators are initialised and also for handling transient situations. The second-stage
comparators thus produce the actual “above” and “below” ramps based on the previously
held ramp-rates, with logic to ensure that each operates at opposite intervals corresponding
to the positive and negative portions of the error polarity signal respectively.
The output ramps can be summed because only ever one path is non-zero whilst the
other path is zero and the result is presented to the negative input of the switch output
comparator. Similarly, there is logic to ensure that only one value of either Tar or Tbf
are ever presented to the summer for the excursion time going to the positive input of
the switch output comparator. Thus the comparator for the switch output is always
making an appropriate comparison between the active ramp and excursion timing value
for determining the next switching instance.
Since the algorithm relies heavily on timing, it is critical that the sensing of the current
32
CURRENT CONTROL METHODS FOR VOLTAGE SOURCE INVERTERS
is fast and accurate. It is recommended that the sensing delay not exceed 1% of the
switching period [17]. Also relevant are that there be minimal delays in computing the
next switching instance to be able to achieve high control bandwidth. For this purpose, the
implementation of the Ramptime algorithm converts the divisions into ramp comparisons
instead, which can be implemented in the form of integrators or counters. Finally the
tuning of Ramptime will depend on the expected VDC and the AC load magnitude, the size
of inductor and the target switching frequency together with the following considerations:
• Ramptime controllability will be impacted if the ripple envelope is too small for the
zero-error crossings to be accurately determined;
• Of course, the current ripple should not be excessively large either (i.e. it should
be relatively easy to see the underlying current reference from inspection), as that
would imply a large switching frequency component in the output.
Numerous works have shown the use of Ramptime current control method in the shunt
APF configuration [9, 14, 26].
33
Chapter 3
Analysing the Performance of
Existing Current Controls for
Voltage Source Inverters
The main contribution by this work consist of a reasonably comprehensive analysis and
comparison of existing current control methods suitable for the single-phase full-bridge
inverter topology of interest. The desirable characteristics previously discussed will form
the basis for assessing the performance of existing current control methods. Thus this
chapter aims to investigate the level of fidelity achieved by some existing current control
methods and allows us to recognise:
1. the strengths and weakness of each method; and
2. where improvements could be made.
Also another fundamental contribution from this work is in laying the foundations for
an objective way to determining how well a current control method meets the desirable
characteristics criteria under varying scenarios. The idea behind these scenarios would
be to stress the control method so that the strengths and weaknesses are easily identi-
fiable/measurable, then it should become easier to propose potential improvements and
demonstrate their effectiveness. Some similar work in comparing current control methods
has been done in the past [5, 18], but not exactly with the purpose of gaining insight into
where improvements might possibly be made.
35
3.1. BENCHMARKING PERFORMANCE
3.1 Benchmarking Performance
Assuming that we are interested in fair comparisons, the best performance achievable by
each method should be considered for analysis and comparison. A common issue with
many publications presenting new control methods is the narrowness of their comparisons
with existing methods, where most only attempt to compare their scheme against a single
established method. I believe this may correspond to a barrier to expertise and under-
standably so because it takes considerable effort to become knowledgeable enough to fully
optimise the various control methods in existence. Still, unfortunately this means it is
often difficult to be able to conclude how well it would compare against other methods
not covered in their work. Hence the aim of this section is to reduce this barrier.
Two approaches to reducing this barrier are taken — one is to offer some implementa-
tion guidance and the other is to discuss and promote the use of a standard benchmarking
platform. Although implementation guidance is offered only with respect to personal ex-
perience, it is deemed that passing on this knowledge is an appropriate and important
step for any future works to continue from where this work left off. And the reasons for
using a benchmark approach are due to the following benefits:
1. Permits others to re-validate results.
2. Allow unbiased comparisons between different current control methods suitable for
this particular topology.
3. Reduce effort in comparison analysis, since it would not be necessary to re-perform
the same experiment for already validated results.
4. Improve transferability of the results, where useful conclusions can be drawn from
comparing existing benchmark results with newly benchmarked results.
5. Incorporate measures universally desired across various applications and also mea-
sures that are more application specific to provide indicators of suitability under
these specific applications.
These matters will be explored through simulation, because this investigation approach
becomes quite cumbersome to pursue via physical experiments. This is mainly because
a physical experimental setup will involve both considerable costs and time to acquire
the required components and assemble the system and especially allowing for high con-
figurability to carry out various test conditions. It it is hoped that the results from these
simulations would help isolate particular areas of interest, such that in future it would be
possible to replicate the more interesting simulation results via hardware experiments (as
opposed to reproducing results that showed no significance in simulation).
36
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
3.1.1 Current Reference Waveform
There are two scenarios which will be considered important for measuring the fidelity of
a control and these are the steady-state and transient response. Steady-state operation
is considered to be when the current reference is sinusoidal and in-phase with the AC
voltage with a magnitude of the typical current rating defined in Table 3.1. To consider
performance under transients, it is proposed that a special transient waveform be used.
This special transient waveform is constructed as a piecewise function of two sinusoids
with differing amplitudes, as defined in Equation 3.1.
f(t) =
sin(2π f t) if 0 < t ≤ π2
0.7 sin(2π f t) if π2 < t ≤ 3π
2
sin(2π f t) if 3π2 < t ≤ 2π
(3.1)
Notes regarding this special transient waveform:
1. one is full magnitude of the typical current and the other is 70 % of the typical
current;
2. each share 50 % of the line cycle;
3. transient occurs at 90 and 270 (i.e. the peaks and troughs);
4. is expected to have even harmonics of the fundamental and can be imagined to
correspond to a sudden increase in load every half-cycle.
Initially, this special transient current reference was intended to be in-phase with the
voltage as a way to test the transient responses at the most critical di/dt current slope,
i.e. given the reference is in-phase with the voltage then the slowest upwards di/dt rate
is at 90 and fastest at 270 . The work presented in the first set of simulations will be
based on this (as per [27]).
However, putting this transient current reference into the control system will bring
an additional consideration. If line voltage and current are in phase, then at the time
when the current transients occur, the line inductor voltage differentials are under opposite
conditions, which at first glance might seem alright. Yet due to the unbalanced slope rates,
this may give opportunity for saturation of magnetics (DC offsets) in a realistic system.
As it is intended that the benchmark setup also be applicable in practice, it would be
advisable to resolve this before going to physical experiments. So with the intention of
still using the transient reference, one solution is to phase-shift the line current by 90
relative to the line voltage, which results in the current slopes to balance in both upwards
and downwards direction around the transient regions. The next matter to consider is
37
3.1. BENCHMARKING PERFORMANCE
in which direction such a shift should be made — should the output current lead the
voltage, where the inverter would appear like an inductor? Or should output current lag
the voltage, where the inverter would appear like a capacitor?
For hardware experimentation, it is proposed that the phase-shift is such that the
inverter looks capacitive to the load (i.e. current lags the voltage from the perspective
of the inverter). This corresponds to a worst-case scenario for controllability due to the
added inductor voltage component in the fundamental line voltage and thus reduced con-
trollability margin. Should no design changes be made the resulting system may become
uncontrollable in situations where the inverter can no longer drive the appropriate cur-
rents in the inductor, similar to what is shown in Figure 3.1. Although the control will be
designed such that the minimum control margin is fulfilled, my hypothesis is that such a
setup will stress each current control under investigation and thus potentially exacerbate
any performance issues related to each control method.
Figure 3.1: Inductive load where uncontrollable region becomes apparent
The respective current references are depicted in Figure 3.2.0 5 10 15 20
-2
-1
0
1
2
Time (ms)
Cur
rent
(A
)
Steady-stateTransient
Figure 3.2: Steady-state and the transient waveforms for current reference (per unitbased)
38
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
3.1.2 Developing Appropriate Measures of Control Fidelity
The primary motivation behind benchmarking is to determine the performance for each
current control. So how should each current control method be measured in an objective
manner such that it offers a fair comparison? A typical measure as used in power elec-
tronics and other fields is total harmonic distortion or THD of the line current i. One
form of its definition is presented in Equation 3.2, where both top and bottom consistently
use the RMS of each component (alternatively it is possible for the top and bottom to
consistently use the absolute magnitude of each component). To determine the harmonic
components of a measured signal in discrete time, an algorithm known as Fast Fourier
Transform (FFT) is often used since it was specifically designed and implemented for
computational efficiency on computers. Importantly, the application of FFT requires the
appropriate windowing of data such that it captures the waveform at the expected funda-
mental frequency. Since the FFT algorithm assumes that this windowed waveform repeats
itself infinitely on both sides of the window, then there are two issues:
1. the wrong window size will cause harmonic components to be computed for the
wrong fundamental frequency; and
2. the expected harmonic components (e.g. third harmonics in switching) will not be
as high as they should be
of which both are issues related to the “leakage” of the harmonic components to adjacent
frequencies.
THDi =
√√√√∞∑
n=2
I2n,rms
I1,rms(3.2)
where,
• THDi: percentage of distortion known as total harmonic distortion
• In,rms: rms value of the nth harmonic component in line current;
• I1,rms: rms value of the fundamental component in line current
By definition THD measures the amount of harmonic distortion as a proportion of the
fundamental magnitude and the aim would be for the system to be able to minimise THD
towards zero. It is relatively easy to see that THD would be reasonably tolerant to slight
FFT windowing inaccuracies since:
39
3.1. BENCHMARKING PERFORMANCE
1. it is assumed the main fundamental component is not significantly distorted by
the combined effects of a “false” fundamental and “leakage” of the fundamental
component; and
2. the measure would take into consideration all harmonic components anyway, mean-
ing the non-fundamental components should still sum up to about the same value
even when there is “leakage”
However, what THD does not tell us is how well the fundamental component matches
that of the desired fundamental, such as how accurately the desired fundamental magni-
tude and fundamental frequency are outputted. To determine the absolute magnitude of
harmonic components it becomes necessary to ensure that the FFT is performed over the
correct window.
Here follows a list of measures to be considered in the analysis, which are designed
to fill-in the information gaps that THD alone can not provide. Note that I define ie =
(iline− iref ). Nomenclature-wise the Ien notation represents the magnitude component at
the nth harmonic from the FFT of the lower-case variable ie (so similarly for Irefn).
1. First consider a measure of distortion previously used in [18] for comparing current
control methods. This is restated as Equation 3.3 sake of convenience, but also
renamed to %Error due to it being the more obvious name by looking at the def-
inition. By definition it will capture any errors (distortions) of the generated line
current from the desired reference, which mean it takes into account issues such
as: offsets, scaling and phase shifts (issues that THD does not capture). Although
Equation 3.3 is all encompassing, this measure shall not used alone because it does
not distinguish between the various sources of error.
%Error =100
Iref,rms
√√√√ 1
T
∫
T
(iline − iref )2 dt (3.3)
2. Phase-shift between the actual current and the reference current is always of interest.
Using MATLAB we attempt a fit of the data for the generated current to a sinusoidal
function as stated in Equation 3.4, but means that this measure is only applicable for
a steady-state reference current and not the transient reference current waveform.
Observe that a positive φ would represent a phase lag in the generated current to
the reference.
Find φ via a curve fit of iline to:
A sin (2πf1t− φ) (3.4)
40
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
3. An error signal deviation (ESD) measure is proposed Equation 3.5 to indicate the
low-frequency deviations in the error signal ie from zero via FFT. Unlike Equation
3.3, ESD should not incorporate distortions from the switching frequency since it
only includes the fundamental up to the 21st harmonic. Thus ESD should be more
independent of whether the control method is of fixed or variable switching frequency.
Also when the fundamental component of the line current is in-phase and of the same
magnitude as the steady-state current reference, then ESD becomes equivalent to
a constrained (low-order) line current THD. This is because Iref1,rms will have the
same value as Iline1,rms and so Ie1,rms is zero.
ESDi =
√√√√21∑
n=1
I2en,rms
Iref1,rms(3.5)
4. In attempt to combine Distortion and ESD, reference-based low-order harmonics
(RLH ) is another proposed measure as defined in Equation 3.6 that ignores switch-
ing content and should indicate how precise the current control technique shapes the
controlled current to mimic the reference signal. Similar to ESD, this relies on the de-
sired reference fundamental component (Iref1,rms) rather than the line fundamental
component.
RLHi =
√√√√21∑
n=2
I2linen,rms
Iref1,rms(3.6)
5. Lower-order harmonic distortion (LHD) is defined in Equation 3.7 is basically the
bounded version of THDi that only includes up to the 21st harmonic. The purpose
of this harmonic measure is to be like THDi in showing harmonic content as a
proportion of the measure fundamental current, but ignore the higher frequencies
(i.e. where switching occurs).
LHDi =
√√√√21∑
n=2
I2linen,rms
Iline1,rms(3.7)
6. Reference-based total harmonic distortion (RTH ) defined in Equation 3.8 is basically
the same as THDi, but the denominator is replaced with the fundamental reference
magnitude (normally it would be the measured fundamental line magnitude). Notice
that THDi measures the amount of harmonics relative to the measured fundamen-
tal, which means it is entirely possible for there to be errors in the fundamental
that allows the true harmonic content to be distorted by this error in fundamental.
However, using the reference fundamental as the denominator ensures any error in
41
3.2. COMPUTER ASSISTED ANALYSIS
the fundamental (between the measured and the reference) are acknowledged. Thus
the measure should remain a uniform measure of harmonic content no matter which
control method or scenario.
RTHi =
√√√√∞∑
n=2
I2linen,rms
Iref1,rms(3.8)
7. ∆I1 defined in Equation 3.9 is a measure that captures an error in the fundamental
magnitude of the line by comparing it against the fundamental magnitude of the
reference and then turning it into a proportion of the reference magnitude.
∆I1 =|Iline1 − Iref1|Iref1,rms
(3.9)
3.2 Computer Assisted Analysis
There are many software packages today that allow us to design and explore control
methods. Also, it can be used to compute metrics of interest to help us assess control
systems and more specifically power electronic systems.
For design insight and power electronic systems simulation, PSIM by PowerSim was
used. Alternative packages such as PSPICE or Simulink (part of MATLAB) would prob-
ably be just as capable, but PSIM was preferred for its sheer simplicity — which means
less time to setup and simulate new systems from scratch. The primary software package
used for post-experimental or post-simulation analysis and visualisation is MATLAB by
Mathworks. For example, writing MATLAB scripts to assist in streamlining this analysis
process was a significant stage in this work and the reasons for choosing to build scripts
are:
• to reduce manual efforts especially when the same process is applied to multiple data
sets;
• to improve consistency of analysis and reduce chance of introducing human error/bias
(e.g. data windowing via consistently computed thresholds versus judgement by
human-eye); and
• scripts could be re-used with minor changes for different directory structures (or no
changes if the same directory structures are maintained).
The code listings for major components of the MATLAB scripts implementing the
calculation described in Section 3.1.2 can be found in Appendix A.2.1. The complete
42
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
package will be stored onto the lab’s server to be available for future use.
3.3 Simulation-based Analysis with Practical Considerations
Many practical considerations may alter the ideal performance of a particular current con-
trol method applied to voltage source inverters. Such real-world conditions may include:
blanking time (also known as dead-time), variation of system parameters (e.g. DC bus
fluctuations) and noise (e.g. current measurement for feedback). By simulating particular
levels of such non-ideal characteristics as a benchmark, each control technique can be as-
sessed to provide a designer some guidance as to the susceptibility of a particular control
method under non-ideal conditions.
Thus to pursue this benchmarking concept, the proposed analysis approach would be to
investigate each of the scenarios for each current control methods. Their purpose would to
be identify which non-ideal conditions would probably require additional design attention
to achieve the desired level of performance. These scenarios will be described in the
sections that follow and from the results it may turn out that only specific current control
methods are affected. Extending from previous analysis into current control VSI topology
(e.g. [3, 18]), I shall re-examine standard PI triangular carrier and standard hysteresis as
a basis for comparing with near fixed-switching frequency hysteresis via Parabola Current
Control [23] and Ramptime [17, 24].
3.3.1 Base Case under Ideal Assumptions
To establish a basis of comparison, I will start by explaining the base case simulation
configuration by applying ideal assumptions. Although not physically realisable, an ideal
system permits the very limits of the system to be pushed. For example, in an ideal system
the controllability margin could be pushed to approach zero (i.e. minimum required to
maintain controllability), which is one of the DC level scenarios. However, in anticipation
of the non-ideal systems, it is typical to design for greater tolerances and additional safety
margins. For this reason, a DC bus of 106 % of the AC fundamental is chosen (under unity
power factor). Choices such as switching frequency and inductance for a current ripple
size are made to reasonably reflect what might be expected in practice.
For a realisable inductor, the desired ratings (inductance, voltages, currents, etc) were
put into a magnetics manufacture’s inductor design software, which returned an AL toler-
ance of ±5 % inductance core material and DC resistance of about 104mΩ (i.e. excludes
skin effect and proximity effect). Note that AL is an industry standard unit of measure for
manufacture of inductors and is equal to nanohenries per turn squared (nH/N2) [28]. The
43
3.3. SIMULATION-BASED ANALYSIS WITH PRACTICAL CONSIDERATIONS
inductor tolerance range leads to the inductance parameter dependency test case and the
DC resistance is incorporated as an inductance resistance (RL) in the system model. Also
note that although this system was initially designed in nominal terms, simulations will
be conducted in the per-unit scale (i.e. 1 V RMS amd 1 A RMS output, 0.125 mH filter,
etc). Thus subsequent discussions use per-unit scaled parameters, especially in regards to
test setups and control design.
Parameter Nominal Per-unit
Output AC Voltage (Vo) * 240 V RMS 1 pu
Typical Output Current * 10 A RMS 1 pu
Line Frequency (f1) * 50 Hz 1 pu
Target Switching Frequency (fsw)(if applicable)
20 kHz 400 pu
DC Bus Voltage (VDC) 360 V 1.5 pu
Filter Inductance (L) 3 mH 39.27 mpu
Inductance ESR (RL) 0.104 Ω 4.333 mpu
Current Reference Phase Lag (phaselag of iref to Vo)
90 0 pu
Blanking Time (ideal switches) 0 s 0 pu
Table 3.1: Ideal System Parameters for 20 kHz
*Base units from which derived base units are Zbase = Vbase/Ibase and Lbase = Zbase/(2πf1)
3.3.2 Blanking Time Effects
Blanking time (also known as dead-time) is simply the “on”-delay required for avoiding
shoot-through in complementary switching and by introducing this delay it alters the
realised PWM signal, which may have detrimental effects on particular control strategies.
In simulation I shall consider the standard and simplest implementation that modifies the
original switching control signals, such that at each switch transition the signal for the
“on” switch is delayed by this time. A range of delays are considered (see Table 3.2)
as switching devices with larger ratings tend to be slower to switch and thus may imply
certain methods are less suitable for high-power applications.
Delay Nominal
1 % of switching period 0.5µs
3 % of switching period 1.5µs
5 % of switching period 2.5µs
Table 3.2: Blanking Delay For 20 kHz
Although strategies such as [29–31] exist for compensating blanking time effects, they
are not necessarily compatible with the control method used (e.g. hysteretic methods with-
44
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
out pre-determined switching instances will be unlikely to benefit from such compensation
strategies) and their implementation obviously adds to control complexity.
3.3.3 DC Level Requirements for Controllability
This test recognises that the DC source is not necessarily an ideal source, so if VDC
drops then there may be concerns regarding controllability. From the ideal case notice
that the specified DC bus voltage provides an additional margin of 6 % above the peak
AC amplitude (i.e. VDC is 106 % of the peak amplitude of Vo) to ensure controllability,
but the margin is not excessively large either because it is a trade-off against reducing
switching loss. In order to evaluate the effects of a DC voltage level drop, each control
method is designed for the ideal case and its performance assessed for a shrinking margin
that approaches the very bounds of controllability - first down to 3 % margin, then even
to 0 % margin.
3.3.4 Robustness to DC Bus Fluctuation
An ideal DC bus would provide a constant voltage, but in reality this may not be so true,
as even with a regulating capacitor the DC bus voltage may be fluctuating with time. Thus
I shall simulate this fluctuation on top of the ideal DC bus voltage, which is represented by
Vrip (as depicted in Figure 3.3). To refrain from pushing beyond the controllable region,
the constraint of VDC > |VAC | must be met. Thus Vrip shall be defined as a sinusoid with
amplitude of about 5% pu (i.e. 17 V) at twice the fundamental line frequency.
VDC
Vrip
Figure 3.3: DC bus fluctuation model
The purpose of analysing the robustness to DC bus fluctuations is to assess how well
each current control method maintains similar levels of performance to the ideal case once
the DC ripple is introduced. Perhaps these results may suggest that for certain controls
only minimal DC bus regulation is required, which implies a potential cost saving (i.e. if
a smaller regulating capacitor could be used across the bus).
45
3.3. SIMULATION-BASED ANALYSIS WITH PRACTICAL CONSIDERATIONS
3.3.5 Inductance Parameter Dependency
As with any component, the ability to produce an ideal component value is often limited
to a particular tolerance range. Thus two inductance values corresponding to the ±5 %
inductance tolerance range stated previously shall be tested (i.e. L(1 − 0.05) and L(1 +
0.05)). The aim of this test is to assess the sensitivity of the control to the common issue
of parameter mismatch and results may suggest a need for additional controller tunability
in practice.
3.3.6 Behaviour from Feedback Inaccuracies (Noise and Lag)
Closed-loop current control methods all require feedback from the circuit to remove error.
However, such feedback may be subject to signal noise, measurement noise (e.g. ADC
quantisation error) or signal-to-feedback lag (e.g. ADC conversion time or sensor lag).
For this simulation test, signal noise will be injected by adding a random source to the
normal feedback imeas and signal-to-feedback lag via time delay block of the imeas signal.
Signal noise here is simulated as a uniform distributed random variable between ±0.1 A
(i.e. 0.2Apk−pk centred about 0). Time delay shall be set at 1.02µs based on current
measurement sensor lag specified in a datasheet for a suitable closed loop hall-effect sensor
device (1µs) plus additional propagation delay through the control (assumed to be 20 ns).
3.3.7 All Conditions from 3.3.1 to 3.3.6 are Combined
Combining all the previous non-ideal characteristics into the same scenario will offer an
all-round test that might reasonably correspond to implementing the system in the real-
world. For the cases where varied levels of the non-ideal characteristic are tested (i.e.
not simply the binary state of having or not having the non-ideal characteristic), then a
specific level will be chosen such that it would be towards minimising the potential affects
of that non-ideal characteristic. Two examples are the:
• inductance, where the larger inductance is chosen to minimise the current ripple;
and
• blanking time, where the smallest level considered (1% of switching period) to min-
imise its impact on the switching instance (but still assumed to be suitable for the
gating devices intended for the system)
46
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
Parameter Nominal Per-unit
Blanking Time (1 % of 1/fsw) 0.5µs 25µpu
Dc Bus Ripple Voltage (Vrip) (@100Hz)
17 V (≈ 12.02 V RMS) 50.09mpu
Filter Inductance (L) 3.15mH 41.23mpu
Feedback (Random) Noise (In) 0.2Apk−pk (≈ 0.577 A RMS) 5.774mpu
Feedback Delay 1.02µs 51µpu
Table 3.3: Combined Non-Ideal Parameters For 20 kHz System
3.3.8 Lower Target Switching Frequency
For a more demanding test, reconsider the test cases 3.3.1 to 3.3.7 with a reduced target
switching frequency of 5 kHz. The adjusted 5 kHz system should correspond to higher
power ratings (e.g. inductance and blanking time would be multiplied by 4). Table 3.4
summarises the changes to the ideal system parameters.
Parameter Nominal Per-unit
Target Switching Frequency (fsw)(if applicable)
5 kHz 100 pu
Filter Inductance (L) 12 mH 0.1571 pu
Inductance ESR (RL)** 0.416 Ω 17.33 mpu
Table 3.4: Adjusted Ideal System Paramters For 5 kHz
3.3.9 Adjusting the Control Methods for Analysis
For fixed switching frequency methods, simply choosing the target switching frequency to
match will allow these methods to be compared fairly. However, this raises a question as to
how to treat variable switching frequency methods like Hysteresis. In hopes of unbiased
comparison of the various current control techniques, it is proposed that each control
method is necessarily tuned/adjusted to produce a similar amount of switching per line
cycle — which maintains the same meaning for fixed switching frequency methods. Thus to
meet this requirement, the hysteresis bands of standard Hysteresis current control method
(variable switching frequency) are adjusted to make the number of switching instances
within in a line-cycle similar to what is expected in a fixed switching frequency controls
for ideal configuration (Section 3.3.1).
Normally, when an engineer knows what kind of issues they may encounter in their
system they will try to factor these by including extra “safety margins”. However, in the
scenarios described previously, they will not have such safety margins designed into the
control unless specifically allowed for. The only scenario where re-tuning of the control may
be permitted is when the DC bus voltage is being specifically set (3.3.3). This is because
47
3.4. ACTIVE POWER FILTER AS A BENCHMARK
the choice of higher controllability margin is dedicated at the design stage and many of
the control methods incorporate this parameter as part of normal tuning design. All other
variations will not be factored into re-tuning, because the control methods considered in
this work did not directly include them as part of normal design/tuning procedures. It is
thus the intention to show where attention is required and how much additional margin
might be needed per control method.
3.4 Active Power Filter as a benchmark
As discussed earlier, an APF serves the purpose of cleansing grid power and is of particular
interest as a test platform because it would share many common performance requirements
to those being investigated in the simulation-based benchmark approach. Although not
directly comparable to individual simulation scenarios, the APF requirements should ag-
gregate as if many of the scenarios were being tested at once and this would probably be
more efficient, especially if the purpose was just to measure applied performance (instead
of trying to gain insight into how performance is affected under various conditions). As
such, only the current-related aspects of the active power filtering are considered. This
experiment would basically involve the APF being connected to a distortion generating
load (in our case a diode rectifier load) and the grid. Figure A.1 of the Appendix A.1 is
a schematic for the experimental system that was initially designed and pre-evaluated in
simulation before any physical construction began.
Table 3.5 summarises the initial system parameters used for our APF experiment,
where some design choices came from the convenience of the components already in the lab
and the assumption that the results would still be applicable in a more realistic system.
Notice that this initial APF hardware setup (as per [32]) is considered relatively low-
powered compared to the subsequent work extending from this initial investigation. This
was justified for these reasons:
• this was the first time working on an APF setup and thus it was deemed necessary
to work at lower-power levels to gain familiarity with how the system should behave;
• it would decrease the likelihood of damaging expensive components/equipment and
reduce risk in harming ourselves, especially when testing prototyped control boards;
• since the primary goal of this experiment was to measure current control fidelity, it
was felt that the results from a lower-power APF setup would still remain valid; and
• once we had developed sufficient confidence in our understanding of the system,
moving to higher-power levels should no longer prove discomforting.
48
ANALYSING THE PERFORMANCE OF EXISTING CURRENT CONTROLS FORVOLTAGE SOURCE INVERTERS
Parameter Value
Grid/load voltage (vGrid) 27.5 V RMS
Non-linear load current (iLoad) ≈2 A RMS
Line Frequency (f1) 50 Hz
DC Bus Voltage (VDC) 62 V
Switching Frequency (fsw) 16 kHz
Inverter Ripple Inductance (Linv) 1.1 mH
Load Inductance (Lload) 1.1 mH
Grid line inductance (Lgrid) 1.9 mH
Grid AC capacitance (Cgrid) 30µF
DC Bus capacitance (CDC) 10000µF
Load capacitance (Cload) 10000µF
Load resistance (Rload) 22 Ω
Blanking Time (deadtime) 1.9µs
Table 3.5: Initial APF System Parameters
Measuring RTH (defined in in Section 3.1.2) for both imeas and igrid should give an
indication of how well the LC filter works on different current control techniques. A good
current control should deliver imeas that can be filtered out smoothly, which often leads
to the criteria of narrow switching frequency band. Since the switching frequency band
determines the frequencies of current ripple, these would need to be filtered out and having
a narrow switching frequency band simplifies the filter design. Combined with a sufficiently
high switching frequency (i.e. considered far enough from the expected fundamental line
frequency), then this can also reduce filter size and thus cost. Similar works for comparing
current control methods in APF applications have been done [3, 5], but not with the same
APF current control approach described previously in Section 2.1.2.
49
Chapter 4
Results and Discussion
Presented in this chapter are the findings from following the methodology described in
the previous chapter. It was noticed that upon calculation, the previously defined mea-
sures arrived at values that varied slightly with different time windows being considered.
Variation in the results for the steady-state reference waveform could be attributed sim-
ply to noise. However, for the transient reference waveform results, it is plausible that
the slightly more significant variation derives from how optimally the control performed
during the transient region. Also, the time windows for the calculations are assumed to
be consistent with a 50 Hz line cycle because the controls are expected to be well-capable
of maintaining output waveform.
4.1 Results from the Simulation-based Analysis
The simulation resolution is specifically set very high so that it can record detailed in-
formation regarding our switching signals. Thus the simulations use a time-step of 10ns,
which provides 25 times the minimum resolution to discern 1 % blanking time for the
switching signal of 20 kHz. Another way to think about it is that with a 20kHz switching
signal, this simulation resolution would allow for up to 5000 distinct duty-cycles to be
recorded.
Current control Symbol
PI Triangular Carrier
Hysteresis 4Parabola Ramptime ∗
Table 4.1: Legend for Charts
51
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
4.1.1 General Observations
Interestingly, Hysteresis and Parabola both feature similar distortion characteristics under
the steady-state 20 kHz system (consider Figure 4.1). A similar correlation is observed
between PI triangular carrier and Ramptime. This pattern also emerges in the results for
blanking time and feedback inaccuracies of the same steady-state 20 kHz system (discussed
in later sections). Also incorporating all the conditions into the single setup (Section 3.3.7)
shows that the tested conditions do not necessarily result in additive distortion, so some
must cancel another.
4.00
4.50
5.00
5.50
6.00
6.50
Ideal Blanking500ns
DC Ripple Delay &Noise
Higher L All Non-Ideal
Dis
tort
ion
(%)
Figure 4.1: Distortion: Overview of analysis (Steady-state, 20 kHz)
Based on the distortion measure (shown in Figures 4.1, 4.8, 4.10 and 4.11), Hysteresis
was generally able to achieve the best level of distortion (even under all the non-ideal
conditions) and PI is generally the worst. Yet results for both PI and Ramptime show that
they have better robustness to change of system parameters for the given test conditions
with the exception of the DC bus voltage tests.
It was noticed that a multiplier relationship between the 20 kHz and 5 kHz raw phase-
shift values, which pointed towards phase-shift being related to the target switching fre-
quency of the system. Thus the phase-shift results are presented as a ratio of the switching
period (Tsw) (i.e. lag in terms of number of switching cycles) and observed that the tested
effects on phase-shift for both systems were indeed quite consistent (most obvious from
Tables 4.2 and 4.3). Such results imply that phase-shift is predictable and may mean that
there is a way to compensate for it.
It was observed that Hysteresis and Parabola managed the lowest amount of phase-shift
throughout all tests, which is not very surprising because of their hysteretic nature (see
Figures 4.2 and 4.3 and Tables 4.2 and 4.3). It may be noticed that amongst the results
52
RESULTS AND DISCUSSION
φ (ofTsw) Blanking 500ns Blanking 1.5µs Blanking 2.5µs
PI 141% 149% 154%
Hysteresis 1% 2% 3%
Parabola 2% 5% 7%
Ramptime 11% 13% 15%
0% DC margin 3% DC margin 6% DC margin
PI 144% 139% 136%
Hysteresis -2% 0% 0%
Parabola 1% 2% 2%
Ramptime 9% 10% 10%
Delay & Noise Delay only Noise only
PI 136% 136% 135%
Hysteresis 0% 1% 1%
Parabola 4% 4% 0%
Ramptime 10% 9% 11%
Higher L Ideal L Lower L
PI 136% 136% 136%
Hysteresis 0% 0% 0%
Parabola 2% 2% 1%
Ramptime 9% 10% 10%
Table 4.2: Phase-shift: Criteria specific results (Steady-state, 20 kHz)
φ (ofTsw) Blanking 2mus Blanking 6mus Blanking 10mus
PI 140% 146% 151%
Hysteresis 1% 2% 3%
Parabola 0% 2% 4%
Ramptime 11% 13% 15%
0% DC margin 3% DC margin 6% DC margin
PI 150% 140% 135%
Hysteresis 0% 0% 1%
Parabola -1% -1% 0%
Ramptime 9% 10% 10%
Delay & Noise Delay only Noise only
PI 135% 135% 135%
Hysteresis 1% 0% 0%
Parabola -1% 0% -1%
Ramptime 10% 10% 10%
Higher L Ideal L Lower L
PI 135% 135% 135%
Hysteresis 0% 1% 0%
Parabola 0% 0% 0%
Ramptime 9% 10% 10%
Table 4.3: Phase-shift: Criteria specific results (Steady-state, 5 kHz)
53
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
for Hysteresis and Parabola there were some small negative phase-shifts, which would
normally be interpreted as phase-leads. However, these could be argued as being small
enough to accept as inaccuracies of the fitting algorithm. Apart from blanking delay, most
other conditions tested did not reveal much impact on the phase-shift measure. However,
it was noticed that reducing the DC margin had increasingly (although small) adverse
affects on PI as the DC margin was reduced to 0 (Tables 4.2 and 4.3).
-20
0
20
40
60
80
100
120
140
160
IdealBlanking500ns DC Ripple
Delay &Noise Higher L
All Non-Ideal
Pha
se-s
hift
(% o
f Tsw
)
Figure 4.2: Phase-shift: Overview of analysis (Steady-state, 20 kHz)
-20
0
20
40
60
80
100
120
140
160Ideal
Blanking2µs DC Ripple
Delay &Noise Higher L
All Non-Ideal
Pha
se-s
hift
(% o
f Tsw
)
Figure 4.3: Phase-shift: Overview of analysis (Steady-state, 5 kHz)
Consistent with our phase-shift observations, any significant phase-shift results in a
large fundamental error component and thus the ESD measure also reflects the poorer
performance of PI (Figures 4.4 and 4.5).
Curiously, some additional simulations were run with standard PI control at 5 kHz
steady-state operation and it was noticed that the inherent distortion may manifest itself
54
RESULTS AND DISCUSSION
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
Ideal Blanking500ns
DC Ripple Delay &Noise
Higher L All Non-Ideal
ES
D
Figure 4.4: ESDi: Overview of analysis (Steady-state, 20 kHz)
0.00%
1.00%
2.00%
3.00%
4.00%
5.00%
6.00%
7.00%
8.00%
9.00%
10.00%
Ideal Blanking2µs
DC Ripple Delay &Noise
Higher L All Non-Ideal
ES
D
Figure 4.5: ESDi: Overview of analysis (Steady-state, 5 kHz)
55
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
differently from a phase-shift, depending on whether the current is in-phase with the
voltage or not. Originally, simulation of current reference in-phase with the voltage shows
that the output current are roughly of the correct magnitude, but there is some phase-shift
compared to the reference current. When simulated with the reference current 90 out of
phase with the voltage, the output was observed to have little phase-shift relative to the
reference current and instead the amplitude was noticed to be quite significantly different
from the reference current (see Figure 4.6). This shows that the simple PI current control
is highly system dependent and once tuned for a particular set of system parameters
and assumptions, it is unlikely to cope with significant system changes (e.g. dynamic
changes in load conditions that affect power factor) without the addition of other control
mechanisms.
105 110 115 120 125−2
−1
0
1
2
Time (ms)
Cu
rre
nt
(A)
Figure 4.6: Example of steady-state PI waveform in 5 kHz system with 90 out-of-phasereference
From comparing ESD transient results to the distortion transient results (e.g. com-
pare Figures 4.7 against Figures 4.8 and 4.9 against 4.10), it is noted that the harmonics
measured for each control method under the varying test conditions show very similar
characteristic under each corresponding test condition. The main difference noticed was
the ESD showed Ramptime moving much closer to Hysteresis and Parabola and some-
times even under. Thus the ESD results would indicate that under stressful conditions
(i.e. transients and non-ideal system), Ramptime is relatively on-par with Hysteresis and
Parabola in achieving similarly low levels of low-order harmonics.
56
RESULTS AND DISCUSSION
2.00%
2.50%
3.00%
3.50%
4.00%
4.50%
5.00%
5.50%
6.00%
6.50%
Ideal Blanking500ns
DC Ripple Delay &Noise
Higher L All Non-Ideal
ES
D
Figure 4.7: ESDi: Overview of analysis (Transient, 20 kHz)
6.00
6.50
7.00
7.50
8.00
8.50
9.00
Ideal Blanking500ns
DC Ripple Delay &Noise
Higher L All Non-Ideal
Dis
tort
ion
(%)
Figure 4.8: Distortion: Overview of analysis (Transient, 20 kHz)
57
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
6.00%
7.00%
8.00%
9.00%
10.00%
11.00%
12.00%
13.00%
14.00%
15.00%
16.00%
Ideal Blanking2µs
DC Ripple Delay &Noise
Higher L All Non-Ideal
ES
D
Figure 4.9: ESDi: Overview of analysis (Transient, 5 kHz)
8.00
9.00
10.00
11.00
12.00
13.00
14.00
15.00
16.00
17.00
Ideal Blanking2µs
DC Ripple Delay &Noise
Higher L All Non-Ideal
Dis
tort
ion
(%)
Figure 4.10: Distortion: Overview of analysis (Transient, 5 kHz)
58
RESULTS AND DISCUSSION
4.1.2 Base Case for Ideal Performance
For an ideal system with switching at 20 kHz (or an equivalent number of switching
instances in a line-cycle for Hysteresis), all methods achieve quite similar levels of distortion
(within a 1-2 percent, see Figures 4.1 and 4.8). This suggests that for our initial system,
20 kHz operation is sufficiently high for each method to effectively control the system (i.e.
irrespective of the control method used). However, ideal case distortion results at 5 kHz
switching shows the separation of PI from the other methods being quite distinct (Figures
4.11 and 4.10). This will be explained later, but basically PI has an inherently greater
phase-shift.
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
Ideal Blanking2µs
DC Ripple Delay &Noise
Higher L All Non-Ideal
Dis
tort
ion
(%)
Figure 4.11: Distortion: Overview of analysis (Steady-state, 5 kHz)
4.1.3 Blanking Time Effects
Consistent with expectations, increasing blanking time was observed to increase distortion
in general (see Figures 4.12a, 4.12b, 4.12c and 4.12d). Even though PI does not manage
the lowest amounts of distortion in the ideal case, results for the 20 kHz system show
that PI can perform quite well, with near insignificant changes to the distortion measure
from changes in blanking time (Figures 4.12a, 4.12b). Hysteresis and Parabola suffer most
from introducing blanking delay based on the amount of variation in distortion experienced
on the high-end of the tested range compared to their initial ideal results. Also notice
that results for Ramptime indicate a robustness across the combinations of blanking time,
current reference type and switching frequencies. The pairing up pattern is also noticeable
in the Steady-state 20 kHz setup, where Hysteresis and Parabola are observed to correlate
with each other and similarly the pairing of Ramptime and PI (Figure 4.12a).
As expected, the increase of blanking time does increase the phase-lag across all meth-
59
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
4.00
4.50
5.00
5.50
6.00
6.50
7.00
Idea
l
Bla
nkin
g50
0ns
Bla
nkin
g1.
5µsB
lank
ing
2.5µsD
isto
rtio
n (%
)
(a) Steady-state, 20 kHz
7.50
8.00
8.50
9.00
9.50
10.00
10.50
Idea
l
Bla
nkin
g 50
0ns
Bla
nkin
g 1.
5µsB
lank
ing
2.5µsD
isto
rtio
n (%
)
(b) Transient, 20 kHz
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
12.00
Idea
l
Bla
nkin
g 2µs
Bla
nkin
g 6µs
Bla
nkin
g 10
µsDis
tort
ion
(%)
(c) Steady-state, 5 kHz
10.00
11.00
12.00
13.00
14.00
15.00
16.00
17.00
Idea
l
Bla
nkin
g 2µs
Bla
nkin
g 6µs
Bla
nkin
g 10
µsDis
tort
ion
(%)
(d) Transient, 5 kHz
Figure 4.12: Distortion: Blanking time (Steady Steady and Transient, 20 kHz and 5kHz)
60
RESULTS AND DISCUSSION
ods (Figures 4.13a and 4.13b), but to varying levels. The phase-shift for Hysteresis and
Parabola were observed to be most affected by blanking time relative to their ideal case.
This suggests that during the design stage it would be important to consider blanking
time for Hysteresis and Parabola control methods. So if the blanking time required for
the switching devices is expected to relatively large then another control method could
perhaps achieve more optimal performance.
0.0E+00
5.0E-03
1.0E-02
1.5E-02
2.0E-02
2.5E-02
3.0E-02
Bla
nkin
g50
0ns
Bla
nkin
g1.
5µsB
lank
ing
2.5µs
Pha
se-s
hift
(rad
ians
)
(a) Blanking time
0.0E+00
1.0E-02
2.0E-02
3.0E-02
4.0E-02
5.0E-02
6.0E-02
7.0E-02
8.0E-02
9.0E-02
1.0E-01
Bla
nkin
g2µs
Bla
nkin
g6µs
Bla
nkin
g10
µsP
hase
-shi
ft (r
adia
ns)
(b) Blanking time
Figure 4.13: Phase-shift: Blanking time (Steady-state, 20 kHz and 5 kHz)
The ESD measure reveals that again blanking time poses a significant issue for Hys-
teresis and Parabola in the 20 kHz steady-state system (Figure 4.14), where they approach
the same level of low-order harmonics as PI at 5 % blanking delay.
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
3.00%
Idea
l
Bla
nkin
g50
0ns
Bla
nkin
g1.
5µsB
lank
ing
2.5µs
ES
D
Figure 4.14: ESDi: Blanking time (Steady-state, 20 kHz)
For a possible explanation for why Parabola current control might be more severely
impacted, recognise that when the system approaches (and are at) duty-cycle extremes,
blanking delay imposes limits on the controls ability to switch with the desired duty-cycle.
In the case of Parabola current control, this may affect the behaviour of the control itself,
61
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
since the reset of the parabolic band generation relies on the timing of the switching
instances.
4.1.4 DC Voltage Requirements for Controllability
It was expected that by varying the DC voltage, a smaller margin reduces controllabil-
ity and thus degrades control performance as shown in Figures 4.15b, 4.15c and 4.15d.
However, Figure 4.15a shows an exception for the steady-state 20 kHz system in that the
fixed switching frequency methods had the opposite trend (i.e. reducing the DC margin,
decreased the distortion). On the surface this would be counter-intuitive, but perhaps this
can be attributed to the dominance of a reduced current ripple over any improvement in
controllability.
4.00
4.20
4.40
4.60
4.80
5.00
5.20
5.40
5.60
5.80
6.00
0% DCgap
3% DCgap
6% DCgap
Dis
tort
ion
(%)
(a) Steady-state, 20 kHz
6.00
7.00
8.00
9.00
10.00
11.00
12.00
13.00
0% DCgap
3% DCgap
6% DCgap
Dis
tort
ion
(%)
(b) Transient, 20 kHz
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
12.00
13.00
0% DCgap
3% DCgap
6% DCgap
Dis
tort
ion
(%)
(c) Steady-state, 5 kHz
8.00
10.00
12.00
14.00
16.00
18.00
20.00
22.00
0% DCgap
3% DCgap
6% DCgap
Dis
tort
ion
(%)
(d) Transient, 5 kHz
Figure 4.15: Distortion: DC margin (Steady-state and Transient, 20 kHz and 5 kHz)
Reaffirming our existing design knowledge for the DC bus voltage level to always be
some margin above the AC voltage, notice that the effects of a lowered DC voltage become
62
RESULTS AND DISCUSSION
particularly significant under transients (see Figures 4.15b and 4.15d). Our results would
suggest that the DC bus voltage be maintained to be at least 103 % of the AC output peak
amplitude (given the larger initial reduction in distortion observed at the 3 % DC margin
level) for continued acceptable control fidelity of any method assuming an ideal system.
Looking at the ESD measures in Figures 4.16a and 4.16b reinforces this recommendation
and note that beyond 3 % there is less benefit of reduced harmonics.
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
0% DCgap
3% DCgap
6% DCgap
ES
D
(a) Steady-state, 20 kHz
0.00%
2.00%
4.00%
6.00%
8.00%
10.00%
12.00%
0% D
C g
ap
3% D
C g
ap
6% D
C g
ap
ES
D
(b) Steady-state, 5 kHz
Figure 4.16: ESDi: DC margin (Steady-state, 20 kHz and 5 kHz)
In terms of designing the system, these results for ESD may provide an indication of
the amount distortion to expect assuming your system remains fully controllable. And as
shown in this results, increasing your DC margin level will give marginally smaller gain
so it may not be necessary in all applications to go for very large DC margin (reducing
component costs).
4.1.5 Robustness to DC Bus Fluctuation
As depicted in Figures 4.1 and 4.11, the introduction of DC ripple was found to be of little
concern for any control methods in steady-state. However, under transients (Figures 4.8
and 4.10) all methods experienced an increase in distortion over their ideal case with the
exception of Hysteresis. The slight benefit gained by Hysteresis may simply be coincidental
due to an increased current slope around the transient regions (the 100 Hz DC ripple is
in-phase with the AC voltage) — compare Figures 4.17a and 4.17b.
The results also reveal that Ramptime in the transient 20 kHz system was impacted
the worst, where introducing DC ripple causes it to almost approach the same level of
distortion as PI (Figure 4.8). This would suggest that whilst Ramptime maintains con-
trollability of the system, it is vulnerable to detracted performance when the DC bus has
similar levels of fluctuations and the current reference waveform contains transients.
63
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
(a) Ideal case (b) With DC Bus Fluctuations
Figure 4.17: Potential explanation for supposed improved performance in Hysteresis
4.1.6 Inductance Parameter Dependency
In both the 20 kHz and 5 kHz systems (refer to Figures 4.18a, 4.18b, 4.18c and 4.18d),
introducing the small inductance value mismatch is observed to have a mild effect on most
of the control methods. However, for Hysteresis given a transient reference encounters
relatively more significant variation, which may just be coincidental (like the DC bus
fluctuations results).
It is comforting to find that the tested inductance variations have reasonably little
effect on these control methods. The results would indicate that the change in performance
Ramptime tends to follow the same change in performance PI incurs, but on average the
distortion levels for Ramptime are closer to those of Hysteresis and Parabola.
4.1.7 Behaviour from Feedback Inaccuracies (Noise and Lag)
Referring to Figures 4.19a, 4.19b, 4.19c and 4.19d, feedback delay and noise are shown
to have negligible effects on PI triangular carrier and Ramptime. Notice that the results
imply noise reduces distortion for Hysteresis and Parabola. Proceeding to examine the
time-domain waveform more closely it was found that noise causes hysteretic methods to
switch a bit earlier, which results in a smaller current ripple thus the improvement in
the distortion measures. Again, distortion results under the steady-state 20 kHz system
indicate similarities between Hysteresis and Parabola in their correlated performance and
similarly between Ramptime and PI (Figure 4.19a).
Delay in the sensed current was found to have some impact on all methods except
PI, with the two hysteretic methods observed to be more significantly affected in most
cases. Perhaps it is more obvious when comparing the feedback inaccuracies back against
64
RESULTS AND DISCUSSION
4.00
4.50
5.00
5.50
6.00
6.50
HigherL
Ideal L Lower L
Dis
tort
ion
(%)
(a) Steady-state, 20 kHz
6.00
6.50
7.00
7.50
8.00
8.50
9.00
Hig
her
L
Idea
l L
Low
er L
Dis
tort
ion
(%)
(b) Transient, 20 kHz
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
HigherL
Ideal L LowerL
Dis
tort
ion
(%)
(c) Steady-state, 5 kHz
8.00
9.00
10.00
11.00
12.00
13.00
14.00
15.00
16.00
HigherL
Ideal L LowerL
Dis
tort
ion
(%)
(d) Transient, 5 kHz
Figure 4.18: Distortion: Inductance variation (Steady-State and Transient, 20 kHz and5 kHz)
65
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
3.00
3.50
4.00
4.50
5.00
5.50
6.00
6.50
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Dis
tort
ion
(%)
(a) Steady-state, 20 kHz
6.00
6.50
7.00
7.50
8.00
8.50
9.00
9.50
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Dis
tort
ion
(%)
(b) Transient, 20 kHz
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Dis
tort
ion
(%)
(c) Steady-state, 5 kHz
8.00
9.00
10.00
11.00
12.00
13.00
14.00
15.00
16.00
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Dis
tort
ion
(%)
(d) Transient, 5 kHz
Figure 4.19: Distortion: Feedback Inaccuracies (Steady-state and Transient, 20 kHz and5 kHz)
66
RESULTS AND DISCUSSION
the ideal base case and then the all non-ideal case (see Figures 4.1, 4.8, 4.11 and 4.10).
Fortunately, when noise and delay are combined, they partially cancel the negative effects
of each other out. This would suggest it is possibly unnecessary to make any changes
to reduce the given level of noise in sensing, but any sources of significant delays in the
sensing signal should definitely be investigated.
The ESD results for this case, show that some of the increases seen in the distortion
measure can be attributed to an increase in lower-order harmonic content (Figures 4.20a,
4.20b, 4.20c and 4.20d).
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
ES
D
(a) Steady-state, 20 kHz
3.00%
3.50%
4.00%
4.50%
5.00%
5.50%
6.00%
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
ES
D
(b) Transient, 20 kHz
0.00%
1.00%
2.00%
3.00%
4.00%
5.00%
6.00%
7.00%
8.00%
9.00%
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
ES
D
(c) Steady-state, 5 kHz
6.00%
7.00%
8.00%
9.00%
10.00%
11.00%
12.00%
13.00%
14.00%
15.00%
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
ES
D
(d) Transient, 5 kHz
Figure 4.20: ESDi: Feedback Delay (Steady-state and Transient, 20 kHz and 5 kHz)
Results show no significant effect on phase-shift by feedback inaccuracies, where the
angles are very small anyway (Figures 4.21a and 4.21b).
67
4.1. RESULTS FROM THE SIMULATION-BASED ANALYSIS
0.0E+00
5.0E-03
1.0E-02
1.5E-02
2.0E-02
2.5E-02
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Pha
se-s
hift
(rad
ians
)
(a) Steady-state, 20 kHz
-1.0E-02
0.0E+00
1.0E-02
2.0E-02
3.0E-02
4.0E-02
5.0E-02
6.0E-02
7.0E-02
8.0E-02
9.0E-02
Del
ay &
Noi
se
Del
ay o
nly
Noi
se o
nly
Pha
se-s
hift
(rad
ians
)(b) Steady-state, 5 kHz
Figure 4.21: Phase-shift: Feedback Delay (Steady-state, 20 kHz and 5 kHz)
4.1.8 All Conditions from 3.3.1 to 3.3.6 are Combined
Unexpectedly, the distortion results under the all non-ideal case with a steady-state wave-
form (Figures 4.1 and 4.11) was found to have near identical performance to their initial
ideal case result. Some control methods even showed a slightly improved result under the
all non-ideal conditions. The only plausible explanation for this is that the DC margin de-
signed for the base ideal case is still providing enough controllability for the all non-ideal
case with a steady-state current reference and that the size of current ripple has likely
reduced as a result of the non-ideal conditions.
However, under an all non-ideal system with a transient current reference (Figures
4.8 and 4.10), the distortion results show that most current control methods incur an
increased amount of distortion compared to their initial ideal case results. An outlier
result for Hysteresis is probably due to the DC bus fluctuations (as previously mentioned
in Section 4.1.5). Given that no significant spiked increase of the distortion was observed
for any of the current control methods, then results showed controllability was sufficiently
maintained despite the all non-ideal system.
4.1.9 Lower Target Switching Frequency
As mentioned earlier, when the target switching frequency was reduced to 5 kHz, the phase-
shift results show that PI suffers from the largest phase-lag (Figure 4.3). Compare this to
the other methods and observe that the other methods had phase-shifts at least an order
of magnitude smaller. Considering PI redesigned for the 5 kHz system, the raw phase-lag
was proportionally larger and suggests that standard PI alone, becomes far less capable
at lower switching frequencies. Also, the capabilities of all current control methods were
68
RESULTS AND DISCUSSION
reduced significantly due to the lower target switching frequency. To see this, compare
the general levels of distortion in Figure 4.8 againt Figure 4.10.
4.2 Initial results from hardware-based Active Power Filter
experiment
It was unfortunate that the Parabola current control board suffered from noise-related
problems that were not ever satisfactorily resolved (although it was working fine under
very low-power conditions, i.e. below even that of the system considered here). From the
results, the following were most interesting:
• If it was briefly assumed that the %Error measure determined after LC filtering for
each current control is the absolute performance measure (Table 4.5), then it would
be reasonable to say that Hysteresis is the best control for an APF application
followed closely by Ramptime. This is reflected in the nice time and frequency
domain plots shown in Figures 4.26a, 4.26b, 4.27a and 4.27b.
• However, the LHDi and RLHi measures before LC filtering in Table 4.4, both
indicate that Hysteresis generates more lower order harmonics than Ramptime. This
is also reflected in Figures 4.23a, 4.23b, 4.24a and 4.24b, with Hysteresis having the
wider switching frequency spectrum. If the size of the LC filter was reduced (i.e.
allowing more frequencies to pass through), then this aspect would show up more
predominantly in Hysteresis’s post-filtering results.
Current Control %Error ∆I1 (%) THDi (%) RTHi (%) LHDi (%) RLHi (%) Φ ()
PI Triangular 13.9 4.32 17.6 18.3 11.2 11.7 5.3Hysteresis 12.3 0.64 12.6 12.6 1.21 1.21 -0.1Ramptime 13.6 0.61 13.9 14.0 1.19 1.20 0.1
Table 4.4: Measure values before the LC filter
Current Control %Error ∆I1 (%) THDi (%) RTHi (%) LHDi (%) RLHi (%) Φ ()
PI Triangular 27.1 9.71 12.2 29.9 12.0 29.9 12.2Hysteresis 13.8 4.37 2.77 3.65 2.77 2.89 7.3Ramptime 14.6 4.67 3.89 4.07 3.25 3.40 7.8
Table 4.5: Measure values after the LC filter
69
4.2. INITIAL RESULTS FROM HARDWARE-BASED ACTIVE POWER FILTEREXPERIMENT
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
PI current control: imeas & iref
imeas
iref
(a) Time domain imeas
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) PI Error FFT Spectrum: imeas-iref
(b) Frequency domain imeas spectrum
Figure 4.22: PI current control (pre-filtered current)
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
Hysteresis current control: imeas & iref
imeas
iref
(a) Time domain imeas waveforms
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) Hysteresis Error FFT Spectrum: imeas-iref
(b) Frequency domain imeas spectrum
Figure 4.23: Hysteresis current control (pre-filtered current)
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
Ramptime current control: imeas & iref
imeas
iref
(a) Time domain imeas waveforms
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) Ramptime Error FFT Spectrum: imeas-iref
(b) Frequency domain imeas spectrum
Figure 4.24: Ramptime current control (pre-filtered current)
70
RESULTS AND DISCUSSION
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
PI current control: imeas & iref
imeas
iref
(a) Time domain igrid waveforms
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) PI Error FFT Spectrum: imeas-iref
(b) Frequency domain igrid spectrum
Figure 4.25: PI current control (post-filtered current)
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
Hysteresis current control: imeas & iref
imeas
iref
(a) Time domain igrid waveforms
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) Hysteresis Error FFT Spectrum: imeas-iref
(b) Frequency domain igrid spectrum
Figure 4.26: Hysteresis curent control (post-filtered current)
-10 -5 0 5 10-4
-2
0
2
4
Time (ms)
Cur
rent
(A)
Ramptime current control: imeas & iref
imeas
iref
(a) Time domain igrid waveforms
0 200 400 6000
0.2
0.4
Harmonics no - n
Cur
rent
am
plitu
de (A
) Ramptime Error FFT Spectrum: imeas-iref
(b) Frequency domain igrid spectrum
Figure 4.27: Ramptime current control (post-filtered current)
71
4.2. INITIAL RESULTS FROM HARDWARE-BASED ACTIVE POWER FILTEREXPERIMENT
• At first glance of the %Error measure in the pre-filtered results in Table 4.4, it
would be reasonable to claim that PI performs competitively against Hysteresis and
Ramptime. Unfortunately, it was found that a high amount of harmonic content,
especially in the lower-order frequencies, has caused a significant downgrade in per-
formance following LC-filtering. Also, it was observed that PI suffers some loss
of stability during regions of stress, as evident by the significant deviations of the
measured current from the reference current and (Figures 4.22a, 4.22b, 4.25a and
4.25b). Hence why the LHDi and RLHi measures showed a significant amount of
lower-order harmonics over those in Hysteresis and Ramptime.
• Recall that RLHi and RTHi are both relative to the current reference and observe
in Tables 4.4 and 4.5 that they are both generally higher than their cousins LHDi
and THDi. This indicates that the fundamental magnitude of the output is slightly
higher than the desired current reference as seen in the ∆I1 measure.
• Referring to results before filtering in Table 4.4, notice that the THDi and RTHi are
pretty close together per control method. Similarly, the pairs of LHDi and RLHi are
close. This can be explained by the fact that the difference in fundamental betweens
the reference and the output is small (see ∆I1). So the difference in denominator in
each pair does not change much. Given that each result pair was close, implies that
the amount of harmonic content as a result of higher frequencies (e.g. switching)
was pretty good even before any LC filtering.
• Now contrast this to what happens after LC filtering in Table 4.5, where instead
THDi and LHDi are pretty close to each other for Hysteresis and PI. Recalling the
LHDi and THDi definitions, the closeness is quite expected if the higher frequencies
(such as switching) was mostly removed by the filter. Potentially, RLHi and RTHi
could be close for the same reason.
• The higher %Error after the LC filter is a result of the LC filter itself, since it causes
a phase-shift and thus is captured as a distortion in this measure. This phase-shift is
about 7 as seen when comparing Φ before and after LC filtering in Tables 4.4 and
4.5 respectively. That said, Hysteresis and Ramptime still manages to achieve very
“clean” post-filtered grid currents (especially compared to PI) as evident in Figures
4.26a, 4.26b, 4.27a and 4.27b versus Figures 4.25a and 4.25b).
• Also from Table 4.5, it was found that phase-shift on the LC-filtered grid side rep-
resented quite a large proportion of the distortion, despite many of the harmonic
measures showing relatively low values.
72
Chapter 5
General Implementation Advice
5.1 Some Implementation Warnings and Issues
This is a general discussion about the issues encountered when designing and implementing
the CC-VSI system in hardware. Although all of the control methods considered in this
work were mainly implemented in analogue circuitry, it should be realised that analogue
elements are typically accompanied by the following issues:
• non-ideal characteristics: there are many aspects to this, but an example would
be the fact that analogue components will never be manufactured to absolute per-
fection. Thus simplified/idealised component models used in design are not truly
representative of their behaviour in reality (e.g. losses in the system).
• noise capturing loops: whenever the return ground path does not follow along the
original signal, it presents opportunities for noise to be “captured” into these signal
loops and thus corrupt the signal. Such noise may come from many sources, even
from the system itself — such as interference derived by switching at high-voltages.
• distortions and offsets: analogue systems rely on either the voltage or current for
signal representation, so there are many potentials ways these may be affected. This
may happen when signals are unbuffered or the ground is not physically separated
for the analogue circuits from and digital circuits (see ground bouncing).
Digital circuitry also has its own issues. These include:
• quantisation error: the conversion of an analogue signal to a digital signal generally
involves sampling.
73
5.1. SOME IMPLEMENTATION WARNINGS AND ISSUES
• ground bouncing: digital circuits generally switch between on and off states and
thus draw sudden currents that may produce noise on the supply lines. Without
careful consideration of these effects, your digital circuits may well interfere with the
analogue portions.
• protection: digital logic devices are usually designed for low-power (low current and
voltage) operation. Thus any outputs from devices usually require an intermediary
driver circuit before interfacing back to the analogue world. An example in this
topology would be the digital logic controlling the switch gates should be isolated
by a proper driver.
The VSI topology poses some additional considerations of its own:
• switching noise: There is a lot of switching from the gates, which due to their power
levels will also be a source of significant interference. It would be advisable to keep
all control logic as far away as possible.
• lower power and high power interface: The gating devices would be considered the
high power components in the inverter that need to interface with the low power
control logic.
• DC bus capacitor: more of a danger warning than anything else, but there can be
potential for serious harm if the capacitor is accidentally discharged inappropriately.
• over-current: another danger is if the control is misbehaving and allows high-currents
to develop, where it may cause any number of components to fail (i.e. the weakest).
5.1.1 Dealing with some common issues
• Analogue buffering plays a very important role in any control circuits, whether dig-
ital or analogue — mainly because they capture the analogue input signal without
affecting the value it represents. An op-amp configured in differential input mode
is a typical choice for buffering signals, as this allows the ground to taken from the
original location of the input signal along with the signal itself. Combined with
use of twisted-pair wires, this will reduce the potential for noise to be captured by
any loops. A scaling and filtering on the buffered signal can also be performed by
the op-amp if necessary. Another advantage is that if designed properly it provides
protection to the rest of the circuit, which is certainly important when measuring
signals from high power levels.
• The conversion of that signal to digital format for input to digital controls is often
done by an analogue-to-digital converter (ADC). This will impose additional require-
ments on the analogue buffering of signals mentioned above. With care in the design,
74
GENERAL IMPLEMENTATION ADVICE
the buffered signals should be scaled appropriately to use the full resolution avail-
able on the ADC (reducing the magnitude related quantisation effects), but should
also protect the ADC from damage. Strategic timing of the ADC sampling may be
important too in reducing signal noise. For example, it is known that switching of
the gates generally causes a lot of noise, so it should be possible to avoid sampling
the signals when that happens. Digital filtering may also help, but be sure that it is
relatively fast (e.g. simple) to keep the control bandwidth high.
• Comparator outputs can be sensitive to noise around the crossover point, commonly
known as “bouncing” of the output signal. Adding hysteresis to the comparator is
the generally accepted method of removing this affect and is achieved by pulling
one of the inputs signals away from the other whenever a crossover is detected. This
produces an additional margin to which the noise will have to exceed before affecting
the signal. The pulling away of one of the signals need only be sustained for long
enough till the other input signal has moved far enough away (i.e. away from the
crossover location).
• To handle for the non-ideal characteristics faced in many parts of the system, it may
be necessary to build certain amount of tuning support into the circuits. This would
be particularly useful in the controller implementation, since a control may well need
to compensate for unexpected system losses.
• An appropriate choice in a pre-manufactured line driver will certainly reduce effort
involved in interfacing between the low-power control logic and the high-power gating
devices, since such switching modules often take care of the isolation between the
low-power control circuit from the high-power gate driver. Also the choice of a smart
switching module that has built-in blanking delay is a great precautionary measure,
for if by some chance blanking delay is not already produced in the control signals
then the gating devices in the bridge need not be destroyed instantly.
• Its a good idea to have an automatic way for the the DC cap to safely discharge when
the system is not in operation. Of course, whatever method used to discharge the
cap should not be left enabled during operation, because that would imply serious
losses.
• The first measure to avoid damage from overly high current is to put in place an
automatic fail-safe that detects the over-current situation and breaks the circuit
before any damage is done. It would be preferable that this fail-safe can be reset
without too much hassle (i.e. it is not a fuse). Also the selection of inductors are
important, because they can behave very differently (non-ideally) when saturated.
• Always plan for measurements and diagnosis of the control system, regardless of
an analogue or digital implementation. For example, consider providing test points
75
5.2. ALLOWING FOR CONTROL TUNING
and/or other forms of feedback (e.g. LEDs) for any signals/values of interest. Oth-
erwise, it may sometimes be very difficult to inspect important signals and having
test points will avoid accidental circuit alterations whilst the system is online (e.g.
a short caused by careless probing).
5.2 Allowing For Control Tuning
Any control would usually require some level of tuning to ensure it operates optimally for
the realised system. Thus this is a quick discussion of the implementation considerations
to allow for control tuning.
• Outer loop PI VDC control: Knowing that an empirical tuning technique would be
used for the outer loop control meant that the implementation of this control would
require a lot of flexibility for changes to the PI coefficients. This was addressed by
implementing the outer loop control in an FPGA, such that there was live control
over the coefficients. Then once suitable values were determined, these would be set
as the initial default values that the outer loop control would start up with.
• PI Triangular Carrier current control: Implemented in analogue circuitry, the PI
control board was built with trimpots to adjust the KP and KI coefficients. For the
pure inverter setup, these coefficients were initially set using the guidelines described
in Section 2.3.1. Importantly, the Nichols-Ziegler iterative tuning is used under the
shunt APF configuration because in this configuration the PI current control becomes
dependant on both the load as well as the inverter. Since the load in this case is
non-linear, deriving the KP and KI coefficients via a system model would be quite
difficult. If the same model was to apply from before, then it would only work if the
PI current control was given a compensation reference current waveform — not the
sinusoidal reference used in this shunt APF setup. Fine-tuning the control when the
system was live was not undertaken — mainly because of the many different and
often competing PI performance optimisations to consider.
• Hysteresis current control: Implemented mostly in analogue, the control board could
accept any h-band within circuit limitations or use the adjustable on-board offset
that was initially tuned based on targeting an average switching frequency that
matched the fixed switching frequency to be compared with. Once the system was
live, the h-band was empirically fine-tuned by counting the number of switching
instances per line cycle and adjusting the bands — where undoubtedly system losses
amongst other non-ideal considerations will have an effect on the average switching
frequency.
76
GENERAL IMPLEMENTATION ADVICE
• Parabola current control: Similar to Hysteresis, the Parabola control board was im-
plemented mostly in analogue and accepted a constant for the parabola band gener-
ator. Since it approaches fixed switching frequency operation, it would be easier to
fine-tune than Hysteresis when the system is online — adjusting the constant whilst
observing the switching period. It should be noted that this was only successfully
demonstrated in a low-power rated system.
• Ramptime current control: Given it was implemented in the FPGA, it was relatively
easy to change the target switching frequency for the particular system configuration.
Once the system was online, Ramptime did not require further tuning.
5.3 Suggested Future Development Platform
5.3.1 Analogue or Digital Implementation?
When it comes to implementing the current control method, a designer will have to con-
sider whether it will be realised as a digital or analogue control. This becomes a question
of what can be gained from digital control over analogue control. Typically, a digital sig-
nal offers increased certainty in signal quality compared to the equivalent analogue signal
which are often much more susceptible to interference and/or offsets. This is because the
primary sources of error for digital signals are quantisation and resolution, where both
errors are well-understood and thus have predictable behaviour. Quantization and resolu-
tion usually go hand-in-hand, but are still separate ideas because quantization is a process
for converting a real-world analogue signal into a digital value and digital resolution is the
number of bits that can be used to represent a value in the digital domain. Therefore the
process of quantization will determine how accurately your value will be converted from
analogue to digital and usually relies on how well the hardware was designed (e.g. op-
amp pre-scaling and centering of the analogue signal before analogue-to-digital converter).
Resolution will affect quantisation and the rest of the digital controller as a whole because
it determines how many possible unique values can be represented digitally. For exam-
ple, a sequence of multiply-before-divide operations will generally have less loss due to
resolution when compared to performing a sequence of divide-before-multiply operations.
Once in the digital domain, digital devices have the benefit of very effective shielding from
known sources of digital interference (e.g. radiation) by proper materials selection for IC
packaging. If further protection is required, then this can be done by further enclosure in
an outer shielding case.
Other advantages of digital control implementations include:
• amount of space required for a digital controller implementing complex control al-
77
5.3. SUGGESTED FUTURE DEVELOPMENT PLATFORM
gorithms will often be much less than that required by an analogue controller of
similar complexity. This is because the complexity is “hidden away” inside of the
digital devices, which have undergone significant miniaturisation compared to ana-
logue components.
• it is easier to alter the control algorithm by changing the configuration/programming
of the digital control device as opposed to analogue control implementation. Whilst
you might be able to design an analogue control to have some tunability, it would
not be easy to implement a critical change in control behaviour without requiring
significant redesign.
• mentioned earlier, but some functions are difficult to implement in analogue. As
an example, a zero-able (resettable) integrator may be difficult to achieve ideally
compared to a similar digital construct.
• perhaps unique to power electronics, note that power electronics systems typically
involve switching to perform power conversion. Thus it would be logical to use
digital control because it already outputs binary states of “on” and “off” suitable
for switching signals.
Given the findings from the investigation, using a digital platform for implementation
should be highly appropriate — especially assuming that the control strategy will involve
more complexity. The matter now is to decide on which device to use as there are many.
However, no matter which device is considered, the choice of device should always be
decided based on meeting the requirements of the application and potentially leverage
upon existing skill base of the designer. The author would suggest the digital signal
processor as one such candidate here, due past experiences with such devices.
5.3.2 Digital Signal Processor
As the name suggests, a digital signal processor (DSP) is a type of processor that specialises
in digital signal processing. DSPs in digital control applications can be considered similar
to typical micro-controllers, but with the added capacity to perform complex mathematical
operations in the DSP’s hardware. This aspect is important since closed-loop bandwidth of
controls need to be fast and if the computations involved in determining control behaviour
are not sufficiently quick then this would obviously affect the speed of response from the
control loop. Whilst it is possible for a micro-controller to implement the same complex
calculations, albeit by emulating the DSP’s hardware-optimised operations in software —
the typical result is a slow control-loop that is unable to meet real-time constraints for use-
fully implementing the complex control. Thus DSPs can cater for implementations of very
complex control algorithms based on approaches that are typically too computationally
intensive to be achieved by standard micro-controller devices.
78
GENERAL IMPLEMENTATION ADVICE
DSP applications
The DSP platform has been receiving continued interest and growth throughout its his-
tory despite some slight slowdowns [33]. Today, the markets for DSPs are very diverse
with significant demand driven by communications technologies (mobile phones and other
wireless telecommunications), multimedia (e.g. digital video and audio processing) and
smarter (i.e. more complex) control systems [34, 35]. There are competing DSP offerings
from Freescale (formerly Motorola, but more recently spun-off its semiconductor business),
Analog Devices and Texas Instruments (TI).
As an example, advanced motor control strategies can be considered to be of the same
level of complexity (if not more complex) as our expectations for an improved current
control scheme. In terms of motor control applications, the employment of a DSP-based
controller has allowed improved cost effectiveness and efficiency due to the selection of
a best-suited motor. Take white goods (such as a washing machine) for example, which
under traditional analogue-based control methods would require larger (oversized) AC
induction motors to handle transient loads. However, with the use of a digital motor
controller, the motor can be driven via an inverter with advanced control strategies to
deal with the transient load conditions. Hence the designer is able to choose a smaller
aptly-sized motor that achieves the equivalent mechanical power output and/or choose a
different type of suitable motor altogether (e.g. permanent magnet synchronous motors)
[36]. Another “smart” motor control possibility is to perform variable load (and/or speed)
drive, which will avoid the need for mechanical transmission (a source of loss itself).
DSPs versus field-programmable gate arrays (FGPAs)
A field-programmable gate array (FPGA) is also a popular choice for implementing digital
control logic. As the “field-programmable” keyword implies, FPGAs are semiconductor
devices that allow designers to re-configure their function in the field (i.e. after it has
already been manufactured). With typical FPGA architecture being designed to mimic
and interconnect discrete logic blocks, contrast this to an application specific integrated
circuit (ASIC) that is designed and manufactured to perform a particular function with
limited (if any) flexibility to be altered subsequently. Comparing FPGAs to DSPs is
basically a comparison of parallel processing versus serial processing, where FPGAs are
(by design) particularly well-suited for implementing real-time parallel combinatorial logic.
Some common FPGA suitability considerations are:
• FPGA outputs do not necessarily depend on a particular number of clock cycles like
a DSP output would. Thus an FPGA can (if logic is designed correctly) outperform
DSPs in terms of closed-loop responses.
79
5.3. SUGGESTED FUTURE DEVELOPMENT PLATFORM
• an FPGA can support a multiple of completely parallel control loops that operate
(if necessary) totally independent of each other, where as a single-core DSP can at
most emulate the multiple parallel control-loops and are in reality always serially
processed and thus conjoined.
• A former drawback of an FPGA was that it was not particularly suitable for imple-
menting complex calculations as the design tools were often too low-level and thus
involved a lot of effort. However, a new breed of FPGA architectures have attempted
to address this.
Type of DSP in FPGA Commercial examples
FPGA configurable DSP hardware blocks (e.g.multiplier-accumulation blocks, ROM/RAM blocksand memory addressing units)
Altera StratixXilinx VirtexLattice ECP2/XP2
DSP softcores that are purely based on FPGA fab-ric
Altera NiosXilinx MicroBlaze
Potentially any “optimal” mixture of the above(e.g. DSP softcore that would take advantage ofthe DSP hardware blocks built-in)
Xilinx MicroBlaze
Table 5.1: DSP inside an FPGA
These newer generation FPGA devices are overcoming previous shortcomings by in-
corporating much more advanced blocks and in some cases they even have a DSP built-in.
Such offerings are summarised in Table 5.1 where a few commercial examples of each kind
are listed. With the lines between FPGAs and DSPs blurred, each approach would have
their own pros and cons. For example, the softcore DSP implementations would generally
have slower clock speeds than the equivalent true hardware implementations, but having
DSP softcores also means that multiple cores can be instantiated within the confinement
of an FPGA.
Other new devices
Massively parallel cores are also stepping in to share the DSP limelight for running algo-
rithms that might once have been dominated by DSP implementations. This market grew
out of the multifaceted nature of many digital devices commonly available in modern so-
ciety (e.g. mobile phones with cameras and advanced personal information management
functionality of the likes of calendars and email, etc). Since there has been increasing
demand for RISC processors that have interfaces to DSP-oriented processing (e.g. speech
processing), once the fabrication process and miniaturisation of DSP cores became feasi-
ble for embedding DSP functionality into RISC processors, these new devices have quickly
been adopted in a similar to the trend seen with FPGAs [37]. A competitor to the FPGA
devices built-in DSP hardware is the picoArray series, which consists of an array of many
80
GENERAL IMPLEMENTATION ADVICE
DSP cores on the same chip that are linked together via switches. The picoArray claims
to be as fast a the FPGAs with embedded DSP hardware with less power consumption
and can be programmed like a traditional DSP [38].
Development Tools
A major part of the development process involves the ability to inspect what the DSP
is doing whilst running the software. The ability to use an oscilloscope to examine most
intermediary signals of an analogue circuit could once be considered unparalleled in the
digital world, where the probing of different points in the circuit can often be performed
with relatively little effort as long as external access to the signals existed. However, more
recent advances have started to bring similar diagnosis capabilities to the digital domain
too. Whilst a certain level of monitoring is available from some integrated development
environments (IDE) via debugging features, the designer should be mindful of the cases
where monitoring may negatively affect the performance of the control (e.g. a breakpoint
within an interrupt routine or any other time critical code section should definitely be
avoided). As an example of some IDE-based monitoring features, the Code Composer
Studio IDE offered (for a Texas Instruments TMS320F28xx DSP) the ability to monitor
memory locations and/or registers and even included data logging capabilities.
81
Chapter 6
Conclusion
6.1 What has the investigations revealed?
This is a summary of the notable observations/experiences gained from the investigation
carried out in this work:
• For the considered current control methods, phase-shift between the measured cur-
rent output and the reference current was found to be proportional to the target
switching frequency, so perhaps it is predictable and can be compensated.
• Results indicate that phase-shift is proportional to blanking time, which would justify
using appropriate blanking-time compensation methods.
• Feedback delay was observed to contribute to additional low-order harmonic content
and thus such delays should be minimised whenever possible (e.g. better sensor
choice).
• A control method that performs well independent of DC bus variation will make
it easier to design for, since then it would be sufficient to just design the DC bus
level to meet a certain controllability margin (where this margin will ensure that the
system remains controllable even under transients and non-ideal assumptions).
• However, also take into consideration that there are diminishing returns from over
specification of the DC bus margin.
• Hysteretic or sliding mode controls using just the current as feedback is a very
useful quality, since the current controller tends to be more robust than those based
on modelling the system (e.g. Hysteresis, Parabola and Ramptime did not require
significant redesign to change its operation from a pure inverter setup to the shunt
active power filter configuration).
83
6.2. FUTURE CONTINUATION
6.2 Future Continuation
There are several areas identified from our results that a particular type of control can
perform very well-in and if it was possible such characteristics should be incorporated into
an improved or new control method. Here I consider how it may be possible to convert
these methods into something suitable for DSP implementation, and attempt to indicate
specific issues that would need to be addressed.
From the results, Ramptime would be deemed to have the most desirable characteristics
to offer:
• Usually immune to parameter variation;
• Near fixed-frequency switching;
• Performance is generally very decent;
• Maintains reasonable control even in adverse situations; and
• Very simple tuning.
That said, Ramptime could be argued as one of the more internally complicated control
methods compared to the others tested. The implementation of Ramptime in a DSP has
already be proven possible.
6.2.1 Possible avenues for control design/improvement
• The development of an improved/new current control method will likely involve
increased control complexity. Thus using a DSP would probably be most appropriate
for the task. Also given previous DSP working knowledge and background of this
researcher, there is the added benefit from being able to reuse DSP development
skills. The Ramptime control algorithm will likely be the inspiration if the author
were to pursue a DSP-based implementation as it has many desirable qualities. Then
once the current control algorithm is sufficiently mature based on simulations, the
current control would be prototyped and tested on the APF platform. This allows for
performance comparison against other previously analysed control methods, whilst
simultaneously verifying the suitability of the improved current control in an APF
application.
• DSP-based implementation of Parabola current control may perhaps be another di-
rection with potential, as it was found to have desirable qualities shared by Hysteresis
and Ramptime. Since a DSP would not be the traditional choice for implementation
of such controls, it would definitely present some challenges especially in the area of
84
CONCLUSION
responsiveness/speed. But when observing the more significant impact of blanking
delay on Parabola current control, accommodating for blanking time should be a
valuable achievement. Also, the parabolic band generator could benefit from using
resettable digital integrators for improved accuracy.
• In the shunt APF application, it should be entirely possible to factor in the phase-
shift caused by the LC filter. This might be achieved by slightly offsetting current
reference generation, which is normally in-phase with inverter line voltage. The
question is whether it would be preferable to determine this via measurement of
additional system variable(s), or alternatively be made into a tunable offset that
should be fixed one tuned for a particular APF system. The latter would be simpler,
but in a DSP the prior should also be feasible.
• Further exploration of the affects of non-unity power factor implications on current
controlled VSI designs should be performed. The change in distortion behaviour for
the simple PI current control was certainly an interesting initial insight. Perhaps
other interesting problems arise for the different current control methods.
• Investigate whether there is any potential to make use of the current sensings tech-
niques developed within the same labs by a fellow research colleague [39, 40]. For ex-
ample, [39] describes a transformer-based sensing method that was once abandoned
as infeasible due to the circuit complexity. However, by applying digital control it
was now possible to leap over the complexity hurdle and even improve some of the
sensing characteristics, thus making it a feasible method of current sensing. Also,
since the sensing method is already oriented for digital interfacing, then it should
prove to be particularly well-suited for future work on this topic.
6.3 Conclusion
The essential considerations for the development of an improved VSI current control has
been presented with plenty of avenues for future research. Although the exploratory work
has been conducted mostly through simulations, this has led into work on a physical
hardware experiment based on similar concepts. It also follows that any new control
method developed, may now use the same benchmark approach to verify its performance
against other methods. Although the simulations may not show much improvement in the
control performance against other methods, it may give the researcher additional insight
as to why that is and hopefully inspires further improvements before going to hardware.
85
A.1. SCHEMATICS
Out
er L
oop
Vol
tage
Co
ntro
l
Inne
r Lo
op C
urre
nt C
ontr
ol
1-ph
Ful
l-brid
ge V
SI
Dio
de R
ectif
ier
Load
Grid
Low-pass
Filter
Figure A.1: PSIM Shunt APF experiment schematic
88
TECHNICAL DATA
I:\M
aste
rs\H
ystB
oard
\PI_
CC
Board
.sch
- S
heet1
Figure A.2: PI triangular carrier current control implementation schematic
89
A.1. SCHEMATICS
I:\M
aste
rs\H
ystB
oard
\HystB
oard
_R
ev3.s
ch
- S
heet1
Figure A.3: Standard Hysteresis current control implementation schematic
90
TECHNICAL DATA
A.2 Source code
A.2.1 MATLAB
calcMeasVarn.m
% Ca l cu l a t e measures f o r PSIM f i l e s ( g i ven a f i l e path and f i l e input mask )
function calcMeasVarn ( psimDir , psimFileMask )
F1 = 50 ; % fundamental f r e q
Ts = 1e−8; % time−s t ep ( s imu la t i on )
startTime = 0 ;
endTime = 210e−3;
N = round ( ( endTime−startTime ) /Ts ) ;
p s imFi l e s = dir ( f u l l f i l e ( psimDir , psimFileMask ) ) ;
for i = ( 1 : length ( ps imFi l e s ) )
f i l ePa t h = f u l l f i l e ( psimDir , p s imFi l e s ( i ) . name) ;
ou tF i l e s = dir ( f u l l f i l e ( psimDir , strrep ( f i l ePa th , ’ . txt ’ , ’ ∗ pctError . csv
’ ) ) ) ;
i f ( length ( ou tF i l e s ) < 2)
[ time i s en i r e f ] = LoadPSIMData( f i l ePa th , startTime , endTime , 0) ;
Tstep = time (2 )−time (1 ) ;
Npts = round ( ( endTime−startTime ) /Tstep ) ;
i f ( length ( time ) < Npts )
error ( ’ Error : P lease r e s imu la t e with the same startTime and
endTime ( not enough data po in t s ) ’ ) ;
end ;
i f ( exist ( strrep ( f i l ePa th , ’ . txt ’ , ’ avePctError . csv ’ ) , ’ f i l e ’ ) ˜= 2
. . .
| | exist ( strrep ( f i l ePa th , ’ . txt ’ , ’ sdPctError . csv ’ ) , ’ f i l e ’
) ˜= 2 . . .
| | exist ( strrep ( f i l ePa th , ’ . txt ’ , ’ vectBeginTime . csv ’ ) , ’
f i l e ’ ) ˜= 2)
avgChan = moving average ( i sen , (1/20 e3 ) /Tstep ) ; %remove
sw i t ch ing v ia moving ave
[ idxCross , tCross ] = c r o s s i n g ( avgChan , time ) ;
%need to ignore any c r o s s i n g s b e f o r e steady−s t a t e ach ieved
% ( i . e . PI r e qu i r e s at l e a s t 2e−3s b e f o r e the f i r s t proper
% steady−s t a t e c ro s s i n g i s made)
idxCrossOk = idxCross ( find ( tCross > 2e−3) ) ;tCrossOk = tCross ( find ( tCross > 2e−3) ) ;% assumes knowledge about s imu la t i on r e f e r ence
tCrossOk = unique (round( tCrossOk ∗1000/5) ∗5) /1000 ;idxCrossOk = round( tCrossOk/Tstep ) ;
91
A.2. SOURCE CODE
i f ( length ( idxCrossOk ) < 3)
error ( ’ Expected at l e a s t 3 zero−c r o s s i n g s ’ ) ;
end
vectBeginTime = [ ] ;
vectPctError = [ ] ;
vectESD = [ ] ;
vectRLH = [ ] ;
vectPhF1 = [ ] ;
for idx = 1 : 2 : length ( idxCrossOk )
tWinBegin = time ( idxCrossOk ( idx ) ) ;
tWinEnd = tWinBegin + 20e−3;i f ( tWinBegin >= time ( length ( time ) ) | | tWinEnd > time ( length
( time ) ) )
break ;
end ;
[ timeWin isenWin ] = dataWindow( time , tWinBegin , tWinEnd , ’n ’
, i s e n ) ;
[ timeWin ire fWin ] = dataWindow( time , tWinBegin , tWinEnd , ’n ’
, i r e f ) ;
I r e f rms = sqrt (sum( i re fWin . ˆ 2 ) / length ( i re fWin ) ) ;
pctError = (100/ I r e f rms ) ∗sqrt (sum( ( isenWin−i re fWin ) . ˆ 2 ) /
length ( isenWin ) ) ;
vectBeginTime = ve r t ca t ( vectBeginTime , tWinBegin ) ;
vectPctError = ve r t ca t ( vectPctError , pctError ) ;
[ f cn fftRaw ] = FFT iWave( timeWin , isenWin , F1) ;
[ f c n I e r r f f t I e r rRaw ] = FFT iWave( timeWin , isenWin−i refWin ,
F1) ;
ESD = (sum( cn I e r r ( 2 : 2 2 ) . ˆ 2 ) /( cn (2 ) . ˆ 2 ) ) . ˆ 0 . 5 ;
vectESD = ve r t ca t ( vectESD , ESD) ;
RLH = (sum( cn ( 3 : 2 2 ) . ˆ 2 ) /( cn (2 ) . ˆ 2 ) ) . ˆ 0 . 5 ;
vectRLH = ve r t ca t (vectRLH , RLH) ;
opts = f i t o p t i o n s ( ’Method ’ , ’ Nonl inear ’ , ’ Normalize ’ , ’On ’ ) ;
f type = f i t t y p e ( ’ s i n (50∗2∗ pi ∗x + ph) ’ , ’ opt i ons ’ , opts ) ;
f i t t e d = f i t ( timeWin ’ , isenWin ’ , f type , ’ S ta r tpo in t ’ , 0 ) ;
ph = f i t t e d . ph ;
f i t t e d = f i t ( timeWin ’ , irefWin ’ , f type , ’ S ta r tpo in t ’ , 0 ) ;
ph = ph − f i t t e d . ph ;
vectPhF1 = ve r t ca t ( vectPhF1 , ph) ;
%phase s h i f t i s a lways based on :
% magRef/ s q r t (2) ∗ s in (50∗2∗ p i ∗ timeWin + ph )
92
TECHNICAL DATA
hf = p l o t I s e n I r e f ( time , i sen , i r e f ) ;
savePlot ( hf , [ tWinBegin∗1 e3 tWinEnd∗1 e3 ] , [−2 2 ] , [ ] ,
linspace (−2 , 2 , 5) , f i l ePa th , ’n ’ ) ; %f u l l −c y c l e a f t e r
i n i t i a l i s t i o n
close ( hf ) ;
end ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ vectBeginTime . csv ’ ) ,
vectBeginTime , ’ d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ vec tPctError . csv ’ ) ,
vectPctError , ’ d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ vectESD . csv ’ ) , vectESD , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ vectRLH . csv ’ ) , vectRLH , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ vectPhF1 . csv ’ ) , vectPhF1 , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
avePctError = mean( vectPctError ) ;
sdPctError = std ( vectPctError ) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ avePctError . csv ’ ) ,
avePctError , ’ d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ sdPctError . csv ’ ) , sdPctError
, ’ d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
aveESD = mean( vectESD) ;
sdESD = std ( vectESD) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ aveESD . csv ’ ) , aveESD , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ sdESD . csv ’ ) , sdESD , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
aveRLH = mean( vectRLH) ;
sdRLH = std ( vectRLH) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ aveRLH . csv ’ ) , aveRLH , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ sdRLH . csv ’ ) , sdRLH , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
avePhF1 = mean( vectPhF1 ) ;
sdPhF1 = std ( vectPhF1 ) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ avePhF1 . csv ’ ) , avePhF1 , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
dlmwrite ( strrep ( f i l ePa th , ’ . txt ’ , ’ sdPhF1 . csv ’ ) , sdPhF1 , ’
d e l im i t e r ’ , ’ , ’ , ’ p r e c i s i o n ’ , 10) ;
else
disp ( [ ’ Skipped perError ( r e l e van t f i l e s e x i s t ) : ’ , f i l ePa t h ] ) ;
end ;
end ;
end ;
93
A.2. SOURCE CODE
LoadPSIMData.m
% This func t i on e x t r a c t s the ( time , isen , i r e f ) from the PSIM s imu la t i on
data f i l e
% − Matlab 6 compat i b l e code
function [ time , i s en , i r e f ] = LoadPSIMData( f i l ePa th , t imeStart , timeEnd ,
maxLoadLen)
i f ( t imeStart > timeEnd )
error ( ’ Error : Must have t imeStart < timeEnd ’ ) ;
end ;
f i d = fopen ( f i l ePa th , ’ r t ’ ) ;
i r e fCo l I dx = 0 ;
i s enCo l Idx = 0 ;
lineNum = 0 ;
timeStep = 0 ;
colVarCount = 0 ;
while 1
i f ( lineNum == 0)
t l i n e = fget l ( f i d ) ;
i f ˜ i s c ha r ( t l i n e )
error ( ’ Error : Empty f i l e ’ ) ;
end ;
[ matchStart , matchEnd ] = regexp ( t l i n e , ’ [ ˆ ]+ ’ ) ;
for i = 1 : length ( matchStart )
matchStr = t l i n e ( matchStart ( i ) : matchEnd( i ) ) ;
i f (˜ isempty ( s t r f i n d ( lower ( char ( matchStr ) ) , ’ i a c t ’ ) ) )
i s enCo l Idx = i ;
end ;
i f (˜ isempty ( s t r f i n d ( lower ( char ( matchStr ) ) , ’ i r e f ’ ) ) )
i r e fCo l I dx = i ;
end
colVarCount = colVarCount + 1 ;
end
lineNum = ( lineNum + 1) ;
i f ( i r e fCo l I dx == 0 | | i s enCo l Idx == 0)
error ( ’ Error : Couldn ’ ’ t f i nd i a+n/ iac t , i r e f data columns ’ ) ;
end ;
else
dataVals = fscanf ( f i d , ’%f ’ , colVarCount ) ;
i f ( length ( dataVals )< 1) , break , end ;
t = dataVals (1 ) ;
i f ( timeEnd > 0 && t > timeEnd ) , break , end ;
94
TECHNICAL DATA
i f ( t >= timeStart )
time ( lineNum ) = t ;
i r e f ( lineNum ) = dataVals ( i r e fCo l I dx ) ;
i s e n ( lineNum ) = dataVals ( i s enCo l Idx ) ;
% pre−a l l o c mem
i f ( lineNum == 2)
timeStep = time (2 ) − time (1 ) ;
timeTmp = zeros (1 , round ( ( timeEnd − t imeStart ) / timeStep ) ) ;
irefTmp = zeros (1 , round ( ( timeEnd − t imeStart ) / timeStep ) ) ;
isenTmp = zeros (1 , round ( ( timeEnd − t imeStart ) / timeStep ) ) ;
timeTmp(1) = time (1 ) ;
timeTmp(2) = time (2 ) ;
irefTmp (1) = i r e f (1 ) ;
irefTmp (2) = i r e f (2 ) ;
isenTmp (1) = i s en (1 ) ;
isenTmp (2) = i s en (2 ) ;
time = timeTmp ;
i r e f = irefTmp ;
i s e n = isenTmp ;
end
lineNum = ( lineNum + 1) ;
i f (maxLoadLen > 0 && lineNum > maxLoadLen) , break , end ;
end ;
end
end
time = time ( 1 : ( lineNum−1) ) ;i r e f = i r e f ( 1 : ( lineNum−1) ) ;i s e n = i s en ( 1 : ( lineNum−1) ) ;fc lose ( f i d ) ;
disp ( [ ’ Loaded PSIM data f i l e : ’ , f i l ePa t h ] ) ;
dataWindow.m
%Extrac t s data f o r p a r t i c u l a r time window
function [ timeOut dataOut ] = dataWindow( timeAxis , startTime , endTime ,
inclEnd , dataIn )
i f ( startTime < t imeAxis (1 ) )
error ( ’ Error : I nva l i d startTime (must be with in timeAxis ) ’ ) ;
end ;
i f ( endTime > t imeAxis ( length ( t imeAxis ) ) )
error ( ’ Error : I nva l i d endTime (must be with in timeAxis ) ’ ) ;
end ;
t imeStep = timeAxis (2 )−t imeAxis (1 ) ;
i f ( inclEnd == ’y ’ )
count = round ( ( endTime − startTime ) / timeStep ) ;
95
A.2. SOURCE CODE
else
count = round ( ( endTime − startTime ) / timeStep ) − 1 ;
end ;
beg inIdx = round ( ( startTime − t imeAxis (1 ) ) / timeStep ) + 1 ;
endIdx = beginIdx + count ;
timeOut = timeAxis ( beg inIdx : endIdx ) ;
dataOut = dataIn ( beginIdx : endIdx ) ;
savePlot.m
%Save p l o t s wi th c e r t a i n f i g u r e parameters
function savePlot ( hf , xLimits , yLimits , xTicks , yTicks , f i l ePa th , showLegend
)
%add the path to e x p o r t f i g
exportFigPath = [ cd , ’ \ . . \ . . \ . . \ NewSims\ e x p o r t f i g \ ’ ] ;i f isempty ( s t r f i n d (path , ’ e x p o r t f i g ’ ) ) disp ’ Adding e x p o r t f i g path ’ ;
addpath ( exportFigPath ) ; end ;
ha = get ( hf , ’ CurrentAxes ’ ) ;
set ( ha , ’XTickMode ’ , ’ auto ’ ) ;
set ( ha , ’YTickMode ’ , ’ auto ’ ) ;
set ( ha , ’XLim ’ , xLimits ) ;
i f ( showLegend == ’y ’ )
legend ( ha , ’ show ’ ) ;
else
legend ( ha , ’ h ide ’ ) ;
end ;
i f (˜ isempty ( yLimits ) )
set ( ha , ’YLim ’ , yLimits ) ;
end ;
or igXTick = get ( ha , ’XTick ’ ) ;
i f (˜ isempty ( xTicks ) )
set ( ha , ’XTick ’ , xTicks ) ;
e l s e i f ( xLimits (1 ) ˜= origXTick (1 ) | | xLimits (2 ) ˜= origXTick ( length (
origXTick ) ) )
newXTick = linspace ( xLimits (1 ) , xLimits (2 ) , length ( origXTick )+1) ;
set ( ha , ’XTick ’ , newXTick ) ;
end ;
i f (˜ isempty ( yTicks ) )
set ( ha , ’YTick ’ , yTicks ) ;
end ;
i f ( length ( f i l ePa t h ) > 0)
plotName = get ( hf , ’Name ’ ) ;
e x p o r t f i g ( strrep ( f i l ePa th , ’ . txt ’ , [ ’ ’ , plotName , ’ win ’ , num2str(
xLimits (1 ) ) , ’− ’ , num2str( xLimits (2 ) ) , ’ms . pdf ’ ] ) , hf , ’−pdf ’ , ’−
96
TECHNICAL DATA
nocrop ’ ) ;
saveas ( hf , strrep ( f i l ePa th , ’ . txt ’ , [ ’ ’ , plotName , ’ win ’ , num2str(
xLimits (1 ) ) , ’− ’ , num2str( xLimits (2 ) ) , ’ms . emf ’ ] ) , ’ emf ’ ) ;
disp ( [ ’ Saved p lo t between ( ’ , num2str( xLimits (1 ) ) , ’− ’ , num2str( xLimits
(2 ) ) , ’ms) f o r : ’ , f i l ePa t h ] ) ;
end ;
FFT iWave.m
% This func t i on computes the FFT of from supp l i e d curren t waveform ( iWave ) ,
% where iWave shou ld be f o r a f u l l l i n e−c y c l e o f the fundamental f r e q (
fundFreq ) .
% − Matlab 6 compat i b l e code
function [ f , cn , f f tOut ] = FFT iWave( time , iWave , fundFreq )
Ts = time (2 )−time (1 ) ;
Fs = round(1/Ts ) ;
L = length ( iWave ) ;
f = linspace (0 , Fs , L+1) ;
f = f ( 1 :L) ;
i f (˜ i s e qu a l ( f ( 2 ) , fundFreq ) )
error ( ’ Error : fundFreq did not match . Check input l ength o f a r rays : L =
(1/ fundFreq ) /Ts ) ’ ) ;
end
f f tOut = f f t ( iWave ) /L ; % ge t Fourier c o e f f i c i e n t s
cn = 2∗abs ( f f tOut ) ; % ca l c ampl i tude o f Fourier c o e f f i c i e n t s
moving average.m (third-party) [41]
function [Y,Nsum] = moving average (X,F ,DIM)
%MOVINGAVERAGE Smooths a vec t o r through the moving average method .
%
% Syntax :
% [Y,Nsum] = moving average (X,F,DIM) ;
%
% Input :
% X − Vector or matrix o f f i n i t e e lements .
% F − Window semi−l e n g t h . A p o s i t i v e s c a l a r ( d e f a u l t 0) .
% DIM − I f DIM=1: smooths the columns ( d e f a u l t ) ; e l s e i f DIM=2 the rows .
%
% Output :
% Y − Smoothed X elements .
% Nsum − Number o f not NaN’ s e lements t ha t f i x e d on the moving window .
% Provided to g e t a sum ins t ead o f a mean : Y.∗Nsum.
%
% Descr ip t i on :
% Quick ly smooths the vec t o r X by averag ing each element a long wi th the
% 2∗F elements at i t s s i d e s . The e lements at the ends are a l s o averaged
97
A.2. SOURCE CODE
% but the extrems are l e f t i n t a c t . With the windows s i z e de f i ned in
% t h i s way , the f i l t e r has zero phase .
%
% Example :
% x = 2∗ p i ∗ l i n s p a c e (−1 ,1) ’ ;
% yn = cos ( x ) + 0.25 − 0.5∗ rand ( s i z e ( x ) ) ;% ys = moving average (yn , 4 ) ;
% p l o t ( x , [ yn ys ] ) , l e gend ( ’ noisy ’ , ’ smooth ’ , 4 ) , a x i s t i g h t
%
% See a l s o FILTER, RECTWIN and MOVING AVERAGE2, NANMOVINGAVERAGE,
% NANMOVINGAVERAGE2 by Carlos Vargas and RUNMEAN by Jos van der Geest .
% Copyright 2006−2008 Carlos Vargas , nubeobscura@hotmai l . com
% $Revis ion : 3 .1 $ $Date : 2008/03/12 18 :20 :00 $
% Written by
% M. in S . Car los Ad r i n Vargas Agui l e ra
% Phys i ca l Oceanography PhD candida te
% CICESE
% Mexico , march 2008
%
% nubeobscura@hotmail . com
%
% Download from :
% h t t p ://www. mathworks . com/mat l a b cen t ra l / f i l e e x c h an g e / loadAuthor . do? ob j e c
% tType=author&o b j e c t I d =1093874
% 2008 Mar . Use CUMSUM as RUNMEAN by Jos van der Geest , no more
% sub func t i on s .
%% Error check ing :
i f ˜nargin
error ( ’ Moving average : Inputs ’ , ’ There are no inputs . ’ )
e l s e i f nargin<2 | | isempty (F)
F = 0 ;
end
i f F==0
Y = X;
return
end
F = round(F) ;
ndim = ndims (X) ;
i f (ndim ˜= 2)
error ( ’ Moving average : Inputs ’ , ’ Input i s not a vec to r or matrix . ’ )
end
[N,M] = s ize (X) ;
i f nargin<3 | | isempty (DIM)
DIM = 1 ;
i f N == 1
DIM = 2 ;
98
TECHNICAL DATA
end
end
i f DIM == 2
X = X. ’ ;
[N,M] = s ize (X) ;
end
i f 2∗F+1>Nwarning ( ’ Moving average : Inputs ’ , . . . % bug f i x e d 06 Mar 2008
’Window s i z e must be l e s s or equal as the number o f e lements . ’ )
Y = X;
i f DIM == 2
Y = Y. ’ ;
end
return
end
%% Window width
Wwidth = 2∗F + 1 ;
%% Smooth the edges but wi th the f i r s t and l a s t e lement i n t a c t
F2 = Wwidth − 2 ;
Nsumedge = repmat ( ( 1 : 2 : F2) ’ , 1 ,M) ;
Y1 = X( 1 :F2 , : ) ;
Y2 = fl ipud (X(N−F2+1:N , : ) ) ;
Y1 = cumsum(Y1 , 1 ) ;
Y2 = cumsum(Y2 , 1 ) ;
Y1 = Y1 ( 1 : 2 : F2 , : ) . / Nsumedge ;
Y2 = Y2 ( 1 : 2 : F2 , : ) . / Nsumedge ;
%% Recurs ive moving average method
% With CUMSUM t r i c k cop ied from RUNMEAN by Jos van der Geest (12 mar 2008)
Y = [ zeros (F+1,M) ; X; zeros (F ,M) ] ;
Y = cumsum(Y, 1 ) ;
Y = Y(Wwidth+1:end , : )−Y(1 :end−Wwidth , : ) ;
Y = Y/Wwidth ;
%% Sets the smoothed edges :
Y( 1 :F , : ) = Y1 ;
Y(N−F+1:N, : ) = flipud (Y2) ;
%% Get the number o f e lements t ha t were averaged f o r each element :
i f nargout == 2
Nsum = repmat (Wwidth , s ize (Y) ) ;
Nsum( 1 :F , : ) = Nsumedge ;
Nsum(N−F+1:N, : ) = fl ipud (Nsumedge ) ;
i f DIM ==2
Nsum = Nsum . ’ ;
end
end
99
A.2. SOURCE CODE
%% Return the co r r e c t s i z e :
i f DIM == 2
Y = Y. ’ ;
end
%% % Recurs ive moving average code b e f o r e Jos t r i c k :
% Y = X;
% Y(F+1 ,:) = sum(X(1 :Wwidth , : ) ,1) ;
% fo r n = F+2:N−F% Y(n , : ) = sum ( [Y(n−1 ,:) ; X(n+F , : ) ; −X(n−F−1 ,:) ] , 1 ) ;
% end
% Y = Y/Wwidth ;
crossing.m (third-party) [42]
% − Patched to ca t e r f o r data which s t a r t s /ends wi th a zero
function [ ind , t0 , s0 , t 0 c l o s e , s 0 c l o s e ] = c r o s s i n g (S , t , l e v e l , imeth )
% CROSSING f ind the c r o s s i n g s o f a g iven l e v e l o f a s i g n a l
% ind = CROSSING(S) re tu rns an index vec t o r ind , the s i g n a l
% S cro s s e s zero at ind or at between ind and ind+1
% [ ind , t0 ] = CROSSING(S , t ) a d d i t i o n a l l y r e tu rns a time
% vec to r t0 o f the zero c r o s s i n g s o f the s i g n a l S . The c ro s s i n g
% times are l i n e a r l y i n t e r p o l a t e d between the g iven t imes t
% [ ind , t0 ] = CROSSING(S , t , l e v e l ) r e tu rns the c r o s s i n g s o f the
% given l e v e l i n s t ead o f the zero c r o s s i n g s
% ind = CROSSING(S , [ ] , l e v e l ) as above but wi thou t time i n t e r p o l a t i o n
% [ ind , t0 ] = CROSSING(S , t , l e v e l , par ) a l l ow s a d d i t i o n a l parameters
% par = ’ none ’ | ’ l i n ea r ’ .% With i n t e r p o l a t i o n turned o f f ( par = ’none ’ ) t h i s f unc t i on always
% re turns the va lue l e f t o f the zero ( the data po in t t h a t s neare s t
% to the zero AND sma l l e r than the zero c ro s s i n g ) .
%
% [ ind , t0 , s0 ] = . . . a l s o re tu rns the data vec t o r corresponding to
% the t0 va l u e s .
%
% [ ind , t0 , s0 , t 0 c l o s e , s 0 c l o s e ] a d d i t i o n a l l y r e tu rns the data po in t s
% c l o s e s t to a zero c ro s s i n g in the arrays t 0 c l o s e and s 0 c l o s e .
%
% This ve r s i on has been r e v i s e d inco rpo ra t i n g the good and v a l u a b l e
% bu g f i x e s g i ven by user s on Mat l abcen t ra l . Sp e c i a l thanks to
% Howard Fishman , Chr i s t i an Roth l e i tne r , Jonathan Kel logg , and
% Zach Lewis f o r t h e i r input .
% S t e f f e n Brueckner , 2002−09−25% S t e f f e n Brueckner , 2007−08−27 r e v i s e d ve r s i on
% Copyright ( c ) S t e f f e n Brueckner , 2002−2007% brueckner@sbrs . net
% check the number o f input arguments
100
TECHNICAL DATA
error (nargchk (1 , 4 ,nargin ) ) ;
% check the time vec t o r input f o r cons i s t ency
i f nargin < 2 | | isempty ( t )
% i f no time vec t o r i s given , use the index vec t o r as time
t = 1 : length (S) ;
e l s e i f length ( t ) ˜= length (S)
% i f S and t are not o f the same leng th , throw an error
error ( ’ t and S must be o f i d e n t i c a l l ength ! ’ ) ;
end
% check the l e v e l input
i f nargin < 3
% se t s tandard va lue 0 , i f l e v e l i s not g i ven
l e v e l = 0 ;
end
% check i n t e r p o l a t i o n method input
i f nargin < 4
imeth = ’ l i n e a r ’ ;
end
% make row ve c t o r s
t = t ( : ) ’ ;
S = S ( : ) ’ ;
% always search f o r z e ro s . So i f we want the c ro s s i n g o f
% any o ther t h r e s h o l d va lue ” l e v e l ” , we s u b t r a c t i t from
% the va l u e s and search f o r ze ros .
S = S − l e v e l ;
% f i r s t l ook f o r exac t z e ro s
ind0 = find ( S == 0 ) ;
% then look f o r zero c r o s s i n g s between data po in t s
S1 = S ( 1 :end−1) .∗ S ( 2 :end) ;
ind1 = find ( S1 < 0 ) ;
% br ing exac t z e ros and ” in−between” ze ros t o g e t h e r
ind = sort ( [ ind0 ind1 ] ) ;
% and p i ck the a s s o c i a t e d time va l u e s
t0 = t ( ind ) ;
s0 = S( ind ) ;
i f strcmp ( imeth , ’ l i n e a r ’ )
% l i n e a r i n t e r p o l a t i o n o f c r o s s i n g
for i i =1: length ( t0 )
i f abs (S( ind ( i i ) ) ) > eps (S( ind ( i i ) ) )
% in t e r p o l a t e on ly when data po in t i s not a l r eady zero
101
A.2. SOURCE CODE
NUM = ( t ( ind ( i i )+1) − t ( ind ( i i ) ) ) ;
DEN = (S( ind ( i i )+1) − S( ind ( i i ) ) ) ;
DELTA = NUM / DEN;
t0 ( i i ) = t0 ( i i ) − S( ind ( i i ) ) ∗ DELTA;
% I ’m a bad person , so I s imply s e t the va lue to zero
% in s t ead o f c a l c u l a t i n g the p e r f e c t number ; )
s0 ( i i ) = 0 ;
end
end
end
% Addit ion :
% Some peop l e l i k e to g e t the data po in t s c l o s e s t to the zero cross ing ,
% so we re turn th e s e as w e l l
%[CC, I I ] = min( abs ( [ S ( ( ind−1)) ; S( ind ) ; S( ind+1) ] ) , [ ] , 1 ) ;
%ind2 = ind + ( II −2) ; %update i n d i c e s
% −−− hwz (Hartmut Wziontek ) 2008−08−26% make i t work f o r data s t a r t i n g / ending wi th a zero c ro s s i n g !
ind0 = find ( ind > 1 & ind < length (S) ) ;
[CC, I I ] = min(abs ( [ S ( ind ( ind0 )−1) ; S ( ind ( ind0 ) ) ; S ( ind ( ind0 )+1) ] ) , [ ] , 1 ) ;
I I = ind0 ( I I ) ;
ind2 = ind ;
ind2 ( ind0 ) = ind2 ( ind0 ) + ( I I −2) ; %update i n d i c e s
t 0 c l o s e = t ( ind2 ) ;
s 0 c l o s e = S( ind2 ) ;
LoadScopeData.m
% This func t i on e x t r a c t s the ( time , chanVals , chanUnit ) from a Texas
Instrument scope data f i l e
% − Matlab 6 compat i b l e code
function [ time , chanVals , chanUnit , t imeStep ] = LoadScopeData ( f i l ePa th ,
maxLoadLen)
f i d = fopen ( f i l ePa th , ’ r t ’ ) ;
lineNum = 0 ;
recLen = 0 ;
timeTmp = zeros ( 1 , 1 ) ;
chanValsTmp = zeros ( 1 , 1 ) ;
chanUnit = ’ ? ’ ;
t imeStep = 0 ;
while 1
i f ( lineNum == 6 | | lineNum == 7 | | lineNum == 10 | | lineNum == 12 | |lineNum == 15)
dataVals = text scan ( f id , ’%s %s %s %f %f ’ , 1 , ’ d e l im i t e r ’ , ’ , ’ ) ;
i f ( lineNum == 7)
i f ( strcmpi ( dataVals 1 ,1 , ’ V e r t i c a l Units ’ ) ˜= 1)
102
TECHNICAL DATA
error ( ’ Error : Wrong f i l e format ( expected ” Ve r t i c a l Units ”) ’
) ;
end
chanUnit = char ( dataVals 1 ,2 ) ;end
else
dataVals = text scan ( f id , ’%s %f %s %f %f ’ , 1 , ’ d e l im i t e r ’ , ’ , ’ ) ;
i f ( lineNum == 0)
i f ( strcmpi ( dataVals 1 ,1 , ’ Record Length ’ ) ˜= 1)
error ( ’ Error : Wrong f i l e format ( expected ”Record Length ”) ’ )
;
end
recLen = dataVals 1 ,2 ;timeTmp = zeros (1 , recLen ) ;
chanValsTmp = zeros (1 , recLen ) ;
e l s e i f ( lineNum == 1)
i f ( strcmpi ( dataVals 1 ,1 , ’ Sample I n t e r v a l ’ ) ˜= 1)
error ( ’ Error : Wrong f i l e format ( expected ”Sample I n t e r v a l ”)
’ ) ;
end
t imeStep = dataVals 1 ,2 ;end
end
lineNum = ( lineNum + 1) ;
i f ( lineNum > recLen ) , break , end ;
i f (maxLoadLen > 0 && lineNum > maxLoadLen) , break , end ;
%disp ( lineNum) ;
timeTmp( lineNum ) = dataVals 1 ,4 ;chanValsTmp( lineNum ) = dataVals 1 ,5 ;
end
time = timeTmp ( 1 : ( lineNum−1) ) ;chanVals = chanValsTmp ( 1 : ( lineNum−1) ) ;
fc lose ( f i d ) ;
disp ( [ ’ Loaded scope data f i l e : ’ , f i l ePa t h ] ) ;
ScopeDataFFT.m
% Perform FFT fo r scope data loaded by LoadScopeData ( . . )
function [ f r eqAxis , chanFFTMag , chanFFTRaw , avgChan , avgFreq ] = ScopeDataFFT
( chanVals , time ) ;
avgChan = moving average ( chanVals , 20) ;
[ idxCross , tCross ] = c r o s s i n g ( avgChan , time ) ;
i f ( length ( idxCross ) < 3)
103
A.2. SOURCE CODE
error ( ’ Expected at l e a s t 3 zero−c r o s s i n g s ’ ) ;
end
l a s tC ro s s = length ( idxCross ) ;
i dxSta r t = idxCross ( l a s tC ro s s − 2) ;
idxEnd = idxCross ( l a s tC ro s s ) ;
t S t a r t = tCross ( l a s tC ro s s − 2) ;
tEnd = tCross ( l a s tC ro s s ) ;
[ timeOut dataOut ] = dataWindow( time , tStar t , tEnd , ’n ’ , chanVals ) ;
avgFreq = 1/( length ( dataOut ) ∗( timeOut (2 )−timeOut (1 ) ) ) ; %f i x e d bug
[ f r eqAxis , chanFFTMag , chanFFTRaw ] = FFT iWave( timeOut , dataOut , avgFreq ) ;
104
Bibliography
[1] V. Bhavaraju and P. Enjeti, “Analysis and design of an active power filter for balanc-
ing unbalanced loads,” IEEE Transactions on Power Electronics, vol. 8, pp. 640–647,
1993.
[2] H. Akagi, “Trends in active power line conditioners,” Power Electronics, IEEE Trans-
actions on, vol. 9, no. 3, pp. 263–268, 1994.
[3] J. Dixon, S. Tepper, and L. Moran, “Analysis and evaluation of different modula-
tion techniques for active power filters,” in Ninth Annual Applied Power Electronics
Conference and Exposition, 1994 (APEC 1994), 1994, pp. 894–900 vol.2.
[4] H. Akagi, “New trends in active filters for power conditioning,” IEEE Transactions
on Industry Applications, vol. 32, no. 6, pp. 1312–1322, 1996.
[5] S. Buso, L. Malesani, and P. Mattavelli, “Comparison of current control techniques
for active filter applications,” IEEE Transactions on Industrial Electronics, vol. 45,
no. 5, pp. 722–729, 1998.
[6] S. Chiang and J. Chang, “Design and implementation of the parallelable active power
filter,” in 30th Annual IEEE Power Electronics Specialists Conference, 1999 (PESC
1999)., vol. 1, 1999, pp. 406–411 vol.1.
[7] D. Chen and S. Xie, “Review of the control strategies applied to active power filters,”
in Proceedings of the 2004 IEEE International Conference on Electric Utility Deregu-
lation, Restructuring and Power Technologies, 2004 (DRPT 2004)., vol. 2, 2004, pp.
666–670 Vol.2.
[8] H. Akagi, “The state-of-the-art of active filters for power conditioning,” in 2005 Eu-
ropean Conference on Power Electronics and Applications, 2005, pp. 15 pp.–P.15.
[9] H. Tumbelaka, L. Borle, C. Nayar, and S. Lee, “A grid current-controlling shunt active
power filter,” in The 7th International Conference on Power Electronics (ICPE 2007),
Oct. 2007. [Online]. Available: http://fportfolio.petra.ac.id/user files/89-004/185.pdf
[10] H. J. Azevedo, J. M. Ferreira, A. P. Martins, and A. S. Carvalho, “An active
power filter with direct current control for power quality conditioning,” Electric
105
BIBLIOGRAPHY
Power Components and Systems, vol. 36, pp. 587 – 601, 2008. [Online]. Available:
http://www.informaworld.com/10.1080/15325000701801587
[11] M. El-Habrouk, M. Darwish, and P. Mehta, “Active power filters: a review,” IEE
Proceedings on Electric Power Applications, vol. 147, pp. 403–413, 2000.
[12] L. Benchaita, S. Saadate, and A. S. nia, “A comparison of voltage source and current
source shunt active filter by simulation and experimentation,” IEEE Transactions on
Power Systems, vol. 14, no. 2, pp. 642–647, 1999.
[13] L. Zhou and K. Smedley, “Unified constant-frequency integration control of active
power filters,” in Fifteenth Annual IEEE Applied Power Electronics Conference and
Exposition, 2000 (APEC 2000)., vol. 1, 2000, pp. 406–412 vol.1.
[14] H. Tumbelaka, L. Borle, and C. Nayar, “Application of a shunt active power filter
to compensate multiple non-linear loads,” in Australasian Universities Power Engi-
neering Conference (AUPEC 2002), Melbourne, Australia, 2002. [Online]. Available:
http://www.itee.uq.edu.au/∼aupec/aupec02/Final-Papers/H-Tumbelaka-Borle.pdf
[15] E. F. Fuchs and M. A. Masoum, Power quality in power systems and electrical ma-
chines. Amsterdam Boston: Academic Press/Elsevier, 2008.
[16] L. Borle and C. Nayar, “Zero average current error controlled power flow for AC-
DC power converters,” IEEE Transactions on Power Electronics, vol. 10, no. 6, pp.
725–732, 1995.
[17] L. Borle, “Zero average current error control methods for bidirectional AC-DC
converters.” PhD Thesis, Curtin University of Technology, 1999. [Online]. Available:
http://espace.library.curtin.edu.au/R?func=dbin-jump-full&object id=10467
[18] J. Dixon, S. Tepper, and L. Moran, “Practical evaluation of different modulation tech-
niques for current-controlled voltage source inverters,” IEE Proceedings on Electric
Power Applications, vol. 143, no. 4, pp. 301–306, 1996.
[19] G. C. Goodwin, S. F. Graebe, and M. E. Salgado, Control System Design. Prentice
Hall PTR, 2000.
[20] S. Buso and P. Mattavelli, Digital Control in Power Electronics, 1st ed. Morgan &
Claypool Publishers, 2006, pp. 27–29.
[21] K. Warwick, Introduction to Control Systems. World Scientific Publishing Co., Inc.,
1996.
[22] P. Dahono, “New hysteresis current controller for single-phase full-bridge inverters,”
Power Electronics, IET, vol. 2, no. 5, pp. 585–594, 2009.
106
BIBLIOGRAPHY
[23] G. Wang, “A novel PWM current control technique using parabola function,” Zhong-
guo Dianji Gongcheng Xuebao/Proceedings of the Chinese Society of Electrical Engi-
neering, vol. 26, no. 16, pp. 97–102, 2006.
[24] L. Borle and C. Nayar, “Ramptime current control [for power convertors],” in Applied
Power Electronics Conference and Exposition, 1996. APEC ’96. Conference Proceed-
ings 1996., Eleventh Annual, vol. 2, 1996, pp. 828–834 vol.2.
[25] L. Borle, “Four quadrant power flow in a ramptime current controlled converter,” in
Applied Power Electronics Conference and Exposition, 1996. APEC ’96. Conference
Proceedings 1996., Eleventh Annual, vol. 2, 1996, pp. 898–904 vol.2.
[26] H. Tumbelaka and M. Miyatake, “An integrated system for active filter and photo-
voltaic energy conversion,” in Electrical Machines and Systems, 2009. ICEMS 2009.
International Conference on, 2009, pp. 1–5.
[27] E. Lam, L. Borle, and H. Iu, “Simulation-based analysis of current control methods for
voltage source inverters with practical considerations,” in 11th Workshop on Control
and Modeling for Power Electronics, 2008 (COMPEL 2008)., 2008, pp. 1–8.
[28] R. Hill, “Micrometals, inc. - inductor design software,” 2008. [Online]. Available:
http://www.micrometals.com/software.html
[29] J. Choi and S. Sul, “Inverter output voltage synthesis using novel dead time com-
pensation,” IEEE Transactions on Power Electronics, vol. 11, no. 2, pp. 221–227,
1996.
[30] A. Munoz and T. Lipo, “On-line dead-time compensation technique for open-loop
PWM-VSI drives,” IEEE Transactions on Power Electronics, vol. 14, no. 4, pp. 683–
689, 1999.
[31] H. Zhao, Q. Wu, and A. Kawamura, “An accurate approach of nonlinearity compen-
sation for VSI inverter output voltage,” IEEE Transactions on Power Electronics,
vol. 19, no. 4, pp. 1029– 1035, 2004.
[32] H. Daniyal, E. Lam, L. Borle, and H. Iu, “Comparing current control methods using
an active power filter application as the benchmark,” in Australasian Universities
Power Engineering Conference, 2008 (AUPEC 2008)., 2008, pp. 1–6.
[33] Berkeley Design Technology Inc., “BDTI’s DSP insider,”
http://www.bdti.com/dspinsider/archives/dspinsider 010801.html, Aug. 2001. [On-
line]. Available: http://www.bdti.com/dspinsider/archives/dspinsider 010801.html
[34] D. S.A., “DSP chip market to continue fast growth through
2009,” http://www.design-reuse.com/news/11944/dsp-chip-market-continue-fast-
growth-through-2009.html, Nov. 2005. [Online]. Available: http://www.design-reuse.
com/news/11944/dsp-chip-market-continue-fast-growth-through-2009.html
107
BIBLIOGRAPHY
[35] I. Fried, “Texas instruments banks on demand for DSP chips -
CNET news,” http://news.cnet.com/Texas-Instruments-banks-on-demand-for-DSP-
chips/2100-1040 3-241321.html, Jun. 2000. [Online]. Available: http://news.cnet.
com/Texas-Instruments-banks-on-demand-for-DSP-chips/2100-1040 3-241321.html
[36] K. Godbole, “EEProductCenter.com :: Motor control myths
and reality - DSPs make a strong run at MCUs,”
http://www.eeproductcenter.com/dsp/opinion/showArticle.jhtml?articleID=20900573,
May 2004. [Online]. Available: http://www.eeproductcenter.com/dsp/opinion/
showArticle.jhtml?articleID=20900573
[37] W. Strauss, “DSP silicon takes many forms | DSP DesignLine,”
http://www.dspdesignline.com/showArticle.jhtml?printableArticle=true&articleId=201800309,
Aug. 2007. [Online]. Available: http://www.dspdesignline.com/showArticle.jhtml?
printableArticle=true&articleId=201800309
[38] R. Piquepaille, “The picoArray, a processor with 430 cores on a die for 3G
basestations,” http://radio-weblogs.com/0105910/2002/12/10.html, 2004. [Online].
Available: http://radio-weblogs.com/0105910/2002/12/10.html
[39] S. Ziegler, L. Borle, and H. Iu, “Transformer based DC current sensor for digitally
controlled power supplies,” in Australasian Universities Power Engineering Confer-
ence, 2007 (AUPEC 2007)., 2007, pp. 1–6.
[40] S. Ziegler, R. Woodward, H. Iu, and L. Borle, “Lossless inductor current sensing
method with improved frequency response,” IEEE Transactions on Power Electron-
ics, vol. 24, no. 5, pp. 1218–1222, 2009.
[41] C. Aguilera, “moving average.m.” [Online]. Available: http://www.mathworks.com/
matlabcentral/fileexchange/12276-movingaverage-v3-1-mar-2008
[42] S. Brueckner, “crossing.m.” [Online]. Available: http://www.mathworks.com/
matlabcentral/fileexchange/2432
108