Control Systems/Classical Controls/Print version
This is the print version of Control Systems/Classical Controls You won't see this message or any elements not part of the book's content when you print or preview this page. 
The Wikibook of automatic
And Control Systems Engineering
With
Classical and Modern Techniques
And
Advanced Concepts
Introduction to Control Systems
What are control systems? Why do we study them? How do we identify them? The chapters in this section should answer these questions and more.
Introduction
This Wikibook
This book was written at Wikibooks, a free online community where people write opencontent textbooks. Any person with internet access is welcome to participate in the creation and improvement of this book. Because this book is continuously evolving, there are no finite "versions" or "editions" of this book. Permanent links to known good versions of the pages may be provided.
What are Control Systems?
The study and design of automatic Control Systems, a field known as control engineering, has become important in modern technical society. From devices as simple as a toaster or a toilet, to complex machines like space shuttles and power steering, control engineering is a part of our everyday life. This book introduces the field of control engineering and explores some of the more advanced topics in the field. Note, however, that control engineering is a very large field, and this book serves as a foundation of control engineering and introduction to selected advanced topics in the field. Topics in this book are added at the discretion of the authors, and represent the available expertise of our contributors.
Control systems are components that are added to other components, to increase functionality, or to meet a set of design criteria. For example:
We have a particular electric motor that is supposed to turn at a rate of 40 RPM. To achieve this speed, we must supply 10 Volts to the motor terminals. However, with 10 volts supplied to the motor at rest, it takes 30 seconds for our motor to get up to speed. This is valuable time lost.
This simple example, however can be complex to both users and designers of the motor system. It may seem obvious that the motor should start at a higher voltage, so that it accelerates faster. Then we can reduce the supply back down to 10 volts once it reaches ideal speed.
This is clearly a simplistic example, but it illustrates an important point: we can add special "Controller units" to preexisting systems, to improve performance and meet new system specifications.
Here are some formal definitions of terms used throughout this book:
 Control System
 A Control System is a device, or a collection of devices that manage the behavior of other devices. Some devices are not controllable. A control system is an interconnection of components connected or related in such a manner as to command, direct, or regulate itself or another system.
 Controller
 A controller is a control system that manages the behavior of another device or system.
 Compensator
 A Compensator is a control system that regulates another system, usually by conditioning the input or the output to that system. Compensators are typically employed to correct a single design flaw, with the intention of affecting other aspects of the design in a minimal manner.
There are essentially two methods to approach the problem of designing a new control system: the Classical Approach, and the Modern Approach.
Classical and Modern
Classical and Modern control methodologies are named in a misleading way, because the group of techniques called "Classical" were actually developed later than the techniques labeled "Modern". However, in terms of developing control systems, Modern methods have been used to great effect more recently, while the Classical methods have been gradually falling out of favor. Most recently, it has been shown that Classical and Modern methods can be combined to highlight their respective strengths and weaknesses.
Classical Methods, which this book will consider first, are methods involving the Laplace Transform domain. Physical systems are modeled in the socalled "time domain", where the response of a given system is a function of the various inputs, the previous system values, and time. As time progresses, the state of the system and its response change. However, timedomain models for systems are frequently modeled using highorder differential equations which can become impossibly difficult for humans to solve and some of which can even become impossible for modern computer systems to solve efficiently. To counteract this problem, integral transforms, such as the Laplace Transform and the Fourier Transform, can be employed to change an Ordinary Differential Equation (ODE) in the time domain into a regular algebraic polynomial in the transform domain. Once a given system has been converted into the transform domain it can be manipulated with greater ease and analyzed quickly by humans and computers alike.
Modern Control Methods, instead of changing domains to avoid the complexities of timedomain ODE mathematics, converts the differential equations into a system of lowerorder time domain equations called State Equations, which can then be manipulated using techniques from linear algebra. This book will consider Modern Methods second.
A third distinction that is frequently made in the realm of control systems is to divide analog methods (classical and modern, described above) from digital methods. Digital Control Methods were designed to try and incorporate the emerging power of computer systems into previous control methodologies. A special transform, known as the ZTransform, was developed that can adequately describe digital systems, but at the same time can be converted (with some effort) into the Laplace domain. Once in the Laplace domain, the digital system can be manipulated and analyzed in a very similar manner to Classical analog systems. For this reason, this book will not make a hard and fast distinction between Analog and Digital systems, and instead will attempt to study both paradigms in parallel.
Who is This Book For?
This book is intended to accompany a course of study in undergraduate and graduate engineering. As has been mentioned previously, this book is not focused on any particular discipline within engineering, however any person who wants to make use of this material should have some basic background in the Laplace transform (if not other transforms), calculus, etc. The material in this book may be used to accompany several semesters of study, depending on the program of your particular college or university. The study of control systems is generally a topic that is reserved for students in their 3rd or 4th year of a 4 year undergraduate program, because it requires so much previous information. Some of the more advanced topics may not be covered until later in a graduate program.
Many colleges and universities only offer one or two classes specifically about control systems at the undergraduate level. Some universities, however, do offer more than that, depending on how the material is broken up, and how much depth that is to be covered. Also, many institutions will offer a handful of graduatelevel courses on the subject. This book will attempt to cover the topic of control systems from both a graduate and undergraduate level, with the advanced topics built on the basic topics in a way that is intuitive. As such, students should be able to begin reading this book in any place that seems an appropriate starting point, and should be able to finish reading where further information is no longer needed.
What are the Prerequisites?
Understanding of the material in this book will require a solid mathematical foundation. This book does not currently explain, nor will it ever try to fully explain most of the necessary mathematical tools used in this text. For that reason, the reader is expected to have read the following wikibooks, or have background knowledge comparable to them:
 Algebra
 Calculus
 The reader should have a good understanding of differentiation and integration. Partial differentiation, multiple integration, and functions of multiple variables will be used occasionally, but the students are not necessarily required to know those subjects well. These advanced calculus topics could better be treated as a corequisite instead of a prerequisite.
 Linear Algebra
 Statespace system representation draws heavily on linear algebra techniques. Students should know how to operate on matrices. Students should understand basic matrix operations (addition, multiplication, determinant, inverse, transpose). Students would also benefit from a prior understanding of Eigenvalues and Eigenvectors, but those subjects are covered in this text.
 Ordinary Differential Equations
 All linear systems can be described by a linear ordinary differential equation. It is beneficial, therefore, for students to understand these equations. Much of this book describes methods to analyze these equations. Students should know what a differential equation is, and they should also know how to find the general solutions of first and second order ODEs.
 Engineering Analysis
 This book reinforces many of the advanced mathematical concepts used in the Engineering Analysis book, and we will refer to the relevant sections in the aforementioned text for further information on some subjects. This is essentially a math book, but with a focus on various engineering applications. It relies on a previous knowledge of the other math books in this list.
 Signals and Systems
 The Signals and Systems book will provide a basis in the field of systems theory, of which control systems is a subset. Readers who have not read the Signals and Systems book will be at a severe disadvantage when reading this book.
How is this Book Organized?
This book will be organized following a particular progression. First this book will discuss the basics of system theory, and it will offer a brief refresher on integral transforms. Section 2 will contain a brief primer on digital information, for students who are not necessarily familiar with them. This is done so that digital and analog signals can be considered in parallel throughout the rest of the book. Next, this book will introduce the statespace method of system description and control. After section 3, topics in the book will use statespace and transform methods interchangeably (and occasionally simultaneously). It is important, therefore, that these three chapters be well read and understood before venturing into the later parts of the book.
After the "basic" sections of the book, we will delve into specific methods of analyzing and designing control systems. First we will discuss Laplacedomain stability analysis techniques (RouthHurwitz, rootlocus), and then frequency methods (Nyquist Criteria, Bode Plots). After the classical methods are discussed, this book will then discuss Modern methods of stability analysis. Finally, a number of advanced topics will be touched upon, depending on the knowledge level of the various contributors.
As the subject matter of this book expands, so too will the prerequisites. For instance, when this book is expanded to cover nonlinear systems, a basic background knowledge of nonlinear mathematics will be required.
Versions
This wikibook has been expanded to include multiple versions of its text, differentiated by the material covered, and the order in which the material is presented. Each different version is composed of the chapters of this book, included in a different order. This book covers a wide range of information, so if you don't need all the information that this book has to offer, perhaps one of the other versions would be right for you and your educational needs.
Each separate version has a table of contents outlining the different chapters that are included in that version. Also, each separate version comes complete with a printable version, and some even come with PDF versions as well.
Take a look at the All Versions Listing Page to find the version of the book that is right for you and your needs.
Differential Equations Review
Implicit in the study of control systems is the underlying use of differential equations. Even if they aren't visible on the surface, all of the continuoustime systems that we will be looking at are described in the time domain by ordinary differential equations (ODE), some of which are relatively highorder.
Let's review some differential equation basics. Consider the topic of interest from a bank. The amount of interest accrued on a given principal balance (the amount of money you put into the bank) P, is given by:
Where is the interest (rate of change of the principal), and r is the interest rate. Notice in this case that P is a function of time (t), and can be rewritten to reflect that:
To solve this basic, firstorder equation, we can use a technique called "separation of variables", where we move all instances of the letter P to one side, and all instances of t to the other:
And integrating both sides gives us:
This is all fine and good, but generally, we like to get rid of the logarithm, by raising both sides to a power of e:
Where we can separate out the constant as such:
D is a constant that represents the initial conditions of the system, in this case the starting principal.
Differential equations are particularly difficult to manipulate, especially once we get to higherorders of equations. Luckily, several methods of abstraction have been created that allow us to work with ODEs, but at the same time, not have to worry about the complexities of them. The classical method, as described above, uses the Laplace, Fourier, and Z Transforms to convert ODEs in the time domain into polynomials in a complex domain. These complex polynomials are significantly easier to solve than the ODE counterparts. The Modern method instead breaks differential equations into systems of loworder equations, and expresses this system in terms of matrices. It is a common precept in ODE theory that an ODE of order N can be broken down into N equations of order 1.
Readers who are unfamiliar with differential equations might be able to read and understand the material in this book reasonably well. However, all readers are encouraged to read the related sections in Calculus.
History
The field of control systems started essentially in the ancient world. Early civilizations, notably the Greeks and the Arabs were heavily preoccupied with the accurate measurement of time, the result of which were several "water clocks" that were designed and implemented.
However, there was very little in the way of actual progress made in the field of engineering until the beginning of the renaissance in Europe. Leonhard Euler (for whom Euler's Formula is named) discovered a powerful integral transform, but PierreSimon Laplace used the transform (later called the Laplace Transform) to solve complex problems in probability theory.
Joseph Fourier was a court mathematician in France under Napoleon I. He created a special function decomposition called the Fourier Series, that was later generalized into an integral transform, and named in his honor (the Fourier Transform).
PierreSimon Laplace 17491827 
Joseph Fourier 17681840 
The "golden age" of control engineering occurred between 19101945, where mass communication methods were being created and two world wars were being fought. During this period, some of the most famous names in controls engineering were doing their work: Nyquist and Bode.
Hendrik Wade Bode and Harry Nyquist, especially in the 1930's while working with Bell Laboratories, created the bulk of what we now call "Classical Control Methods". These methods were based off the results of the Laplace and Fourier Transforms, which had been previously known, but were made popular by Oliver Heaviside around the turn of the century. Previous to Heaviside, the transforms were not widely used, nor respected mathematical tools.
Bode is credited with the "discovery" of the closedloop feedback system, and the logarithmic plotting technique that still bears his name (bode plots). Harry Nyquist did extensive research in the field of system stability and information theory. He created a powerful stability criteria that has been named for him (The Nyquist Criteria).
Modern control methods were introduced in the early 1950's, as a way to bypass some of the shortcomings of the classical methods. Rudolf Kalman is famous for his work in modern control theory, and an adaptive controller called the Kalman Filter was named in his honor. Modern control methods became increasingly popular after 1957 with the invention of the computer, and the start of the space program. Computers created the need for digital control methodologies, and the space program required the creation of some "advanced" control techniques, such as "optimal control", "robust control", and "nonlinear control". These last subjects, and several more, are still active areas of study among research engineers.
Branches of Control Engineering
Here we are going to give a brief listing of the various different methodologies within the sphere of control engineering. Oftentimes, the lines between these methodologies are blurred, or even erased completely.
 Classical Controls
 Control methodologies where the ODEs that describe a system are transformed using the Laplace, Fourier, or Z Transforms, and manipulated in the transform domain.
 Modern Controls
 Methods where highorder differential equations are broken into a system of firstorder equations. The input, output, and internal states of the system are described by vectors called "state variables".
 Robust Control
 Control methodologies where arbitrary outside noise/disturbances are accounted for, as well as internal inaccuracies caused by the heat of the system itself, and the environment.
 Optimal Control
 In a system, performance metrics are identified, and arranged into a "cost function". The cost function is minimized to create an operational system with the lowest cost.
 Adaptive Control
 In adaptive control, the control changes its response characteristics over time to better control the system.
 Nonlinear Control
 The youngest branch of control engineering, nonlinear control encompasses systems that cannot be described by linear equations or ODEs, and for which there is often very little supporting theory available.
 Game Theory
 Game Theory is a close relative of control theory, and especially robust control and optimal control theories. In game theory, the external disturbances are not considered to be random noise processes, but instead are considered to be "opponents". Each player has a cost function that they attempt to minimize, and that their opponents attempt to maximize.
This book will definitely cover the first two branches, and will hopefully be expanded to cover some of the later branches, if time allows.
MATLAB
the Appendix
MATLAB ® is a programming tool that is commonly used in the field of control engineering. We will discuss MATLAB in specific sections of this book devoted to that purpose. MATLAB will not appear in discussions outside these specific sections, although MATLAB may be used in some example problems. An overview of the use of MATLAB in control engineering can be found in the appendix at: Control Systems/MATLAB.
For more information on MATLAB in general, see: MATLAB Programming.
Resources
Nearly all textbooks on the subject of control systems, linear systems, and system analysis will use MATLAB as an integral part of the text. Students who are learning this subject at an accredited university will certainly have seen this material in their textbooks, and are likely to have had MATLAB work as part of their classes. It is from this perspective that the MATLAB appendix is written.
In the future, this book may be expanded to include information on Simulink ®, as well as MATLAB.
There are a number of other software tools that are useful in the analysis and design of control systems. Additional information can be added in the appendix of this book, depending on the experience and prior knowledge of contributors.
About Formatting
This book will use some simple conventions throughout.
Mathematical Conventions
Mathematical equations will be labeled with the {{eqn}} template, to give them names. Equations that are labeled in such a manner are important, and should be taken special note of. For instance, notice the label to the right of this equation:
[Inverse Laplace Transform]
Equations that are named in this manner will also be copied into the List of Equations Glossary in the end of the book, for an easy reference.
Italics will be used for English variables, functions, and equations that appear in the main text. For example e, j, f(t) and X(s) are all italicized. Wikibooks contains a LaTeX mathematics formatting engine, although an attempt will be made not to employ formatted mathematical equations inline with other text because of the difference in size and font. Greek letters, and other nonEnglish characters will not be italicized in the text unless they appear in the midst of multiple variables which are italicized (as a convenience to the editor).
Scalar timedomain functions and variables will be denoted with lowercase letters, along with a t in parenthesis, such as: x(t), y(t), and h(t). Discretetime functions will be written in a similar manner, except with an [n] instead of a (t).
Fourier, Laplace, Z, and Star transformed functions will be denoted with capital letters followed by the appropriate variable in parenthesis. For example: F(s), X(jω), Y(z), and F*(s).
Matrices will be denoted with capital letters. Matrices which are functions of time will be denoted with a capital letter followed by a t in parenthesis. For example: A(t) is a matrix, a(t) is a scalar function of time.
Transforms of timevariant matrices will be displayed in uppercase bold letters, such as H(s).
Math equations rendered using LaTeX will appear on separate lines, and will be indented from the rest of the text.
Text Conventions
Examples will appear in TextBox templates, which show up as large grey boxes filled with text and equations.
 Important Definitions
 Will appear in TextBox templates as well, except we will use this formatting to show that it is a definition.
Notes of interest will appear in "infobox" templates. These notes will often be used to explain some nuances of a mathematical derivation or proof. 
Warnings will appear in these "warning" boxes. These boxes will point out common mistakes, or other items to be careful of. 
System Identification
Systems
Systems, in one sense, are devices that take input and produce an output. A system can be thought to operate on the input to produce the output. The output is related to the input by a certain relationship known as the system response. The system response usually can be modeled with a mathematical relationship between the system input and the system output.
System Properties
Physical systems can be divided up into a number of different categories, depending on particular properties that the system exhibits. Some of these system classifications are very easy to work with and have a large theory base for analysis. Some system classifications are very complex and have still not been investigated with any degree of success. By properly identifying the properties of a system, certain analysis and design tools can be selected for use with the system.
The early sections of this book will focus primarily on linear timeinvariant (LTI) systems. LTI systems are the easiest class of system to work with, and have a number of properties that make them ideal to study. This chapter discusses some properties of systems.
Later chapters in this book will look at time variant systems and nonlinear systems. Both time variant and nonlinear systems are very complex areas of current research, and both can be difficult to analyze properly. Unfortunately, most physical realworld systems are timevariant, nonlinear, or both.
An introduction to system identification and least squares techniques can be found here. An introduction to parameter identification techniques can be found here.
Initial Time
The initial time of a system is the time before which there is no input. Typically, the initial time of a system is defined to be zero, which will simplify the analysis significantly. Some techniques, such as the Laplace Transform require that the initial time of the system be zero. The initial time of a system is typically denoted by t_{0}.
The value of any variable at the initial time t_{0} will be denoted with a 0 subscript. For instance, the value of variable x at time t_{0} is given by:
Likewise, any time t with a positive subscript are points in time after t_{0}, in ascending order:
So t_{1} occurs after t_{0}, and t_{2} occurs after both points. In a similar fashion above, a variable with a positive subscript (unless specifying an index into a vector) also occurs at that point in time:
This is valid for all points in time t.
Additivity
A system satisfies the property of additivity, if a sum of inputs results in a sum of outputs. By definition: an input of results in an output of . To determine whether a system is additive, use the following test:
Given a system f that takes an input x and outputs a value y, assume two inputs (x_{1} and x_{2}) produce two outputs:
Now, create a composite input that is the sum of the previous inputs:
Then the system is additive if the following equation is true:
Systems that satisfy this property are called additive. Additive systems are useful because a sum of simple inputs can be used to analyze the system response to a more complex input.
Example: Sinusoids
Given the following equation:
Create a sum of inputs as:
and construct the expected sum of outputs:
Now, substituting these values into our equation, test for equality:
The equality is not satisfied, and therefore the sine operation is not additive.
Homogeneity
A system satisfies the condition of homogeneity if an input scaled by a certain factor produces an output scaled by that same factor. By definition: an input of results in an output of . In other words, to see if function f() is homogeneous, perform the following test:
Stimulate the system f with an arbitrary input x to produce an output y:
Now, create a second input x_{1}, scale it by a multiplicative factor C (C is an arbitrary constant value), and produce a corresponding output y_{1}:
Now, assign x to be equal to x_{1}:
Then, for the system to be homogeneous, the following equation must be true:
Systems that are homogeneous are useful in many applications, especially applications with gain or amplification.
Example: StraightLine
Given the equation for a straight line:
Comparing the two results, it is easy to see they are not equal:
Therefore, the equation is not homogeneous.
Linearity
A system is considered linear if it satisfies the conditions of Additivity and Homogeneity. In short, a system is linear if the following is true:
Take two arbitrary inputs, and produce two arbitrary outputs:
Now, a linear combination of the inputs should produce a linear combination of the outputs:
This condition of additivity and homogeneity is called superposition. A system is linear if it satisfies the condition of superposition.
Example: Linear Differential Equations
Is the following equation linear:
To determine whether this system is linear, construct a new composite input:
Now, create the expected composite output:
Substituting the two into our original equation:
Factor out the derivative operator, as such:
Finally, convert the various composite terms into the respective variables, to prove that this system is linear:
For the record, derivatives and integrals are linear operators, and ordinary differential equations typically are linear equations.
Memory
A system is said to have memory if the output from the system is dependent on past inputs (or future inputs!) to the system. A system is called memoryless if the output is only dependent on the current input. Memoryless systems are easier to work with, but systems with memory are more common in digital signal processing applications.
Systems that have memory are called dynamic systems, and systems that do not have memory are static systems.
Causality
Causality is a property that is very similar to memory. A system is called causal if it is only dependent on past and/or current inputs. A system is called anticausal if the output of the system is dependent only on future inputs. A system is called noncausal if the output depends on past and/or current and future inputs.
A system design that is not causal cannot be physically implemented. If the system can't be built, the design is generally worthless. 
TimeInvariance
A system is called timeinvariant if the system relationship between the input and output signals is not dependent on the passage of time. If the input signal produces an output then any time shifted input, , results in a timeshifted output This property can be satisfied if the transfer function of the system is not a function of time except expressed by the input and output. If a system is timeinvariant then the system block is commutative with an arbitrary delay. This facet of timeinvariant systems will be discussed later.
To determine if a system f is timeinvariant, perform the following test:
Apply an arbitrary input x to a system and produce an arbitrary output y:
Apply a second input x_{1} to the system, and produce a second output:
Now, assign x_{1} to be equal to the first input x, timeshifted by a given constant value δ:
Finally, a system is timeinvariant if y_{1} is equal to y shifted by the same value δ:
LTI Systems
A system is considered to be a Linear TimeInvariant (LTI) system if it satisfies the requirements of timeinvariance and linearity. LTI systems are one of the most important types of systems, and they will be considered almost exclusively in the beginning chapters of this book.
Systems which are not LTI are more common in practice, but are much more difficult to analyze.
Lumpedness
A system is said to be lumped if one of the two following conditions are satisfied:
 There are a finite number of states that the system can be in.
 There are a finite number of state variables.
The concept of "states" and "state variables" are relatively advanced, and they will be discussed in more detail in the discussion about modern controls.
Systems which are not lumped are called distributed. A simple example of a distributed system is a system with delay, that is, , which has an infinite number of state variables (Here we use to denote the Laplace variable). However, although distributed systems are quite common, they are very difficult to analyze in practice, and there are few tools available to work with such systems. Fortunately, in most cases, a delay can be sufficiently modeled with the Pade approximation. This book will not discuss distributed systems much.
Relaxed
A system is said to be relaxed if the system is causal, and at the initial time t_{0} the output of the system is zero, i.e., there is no stored energy in the system.
In terms of differential equations, a relaxed system is said to have "zero initial state". Systems without an initial state are easier to work with, but systems that are not relaxed can frequently be modified to approximate relaxed systems.
Stability
Stability is a very important concept in systems, but it is also one of the hardest function properties to prove. There are several different criteria for system stability, but the most common requirement is that the system must produce a finite output when subjected to a finite input. For instance, if 5 volts is applied to the input terminals of a given circuit, it would be best if the circuit output didn't approach infinity, and the circuit itself didn't melt or explode. This type of stability is often known as "Bounded Input, Bounded Output" stability, or BIBO.
There are a number of other types of stability, most of which are based off the concept of BIBO stability. Because stability is such an important and complicated topic, an entire section of this text is devoted to its study.
Inputs and Outputs
Systems can also be categorized by the number of inputs and the number of outputs the system has. Consider a television as a system, for instance. The system has two inputs: the power wire and the signal cable. It has one output: the video display. A system with one input and one output is called singleinput, single output, or SISO. a system with multiple inputs and multiple outputs is called multiinput, multioutput, or MIMO.
These systems will be discussed in more detail later.
Exercise:
Based on the definitions of SISO and MIMO, above, determine what the acronyms SIMO and MISO mean.
Digital and Analog
Digital and Analog
There is a significant distinction between an analog system and a digital system, in the same way that there is a significant difference between analog and digital data. This book is going to consider both analog and digital topics, so it is worth taking some time to discuss the differences, and to display the different notations that will be used with each.
Continuous Time
A signal is called continuoustime if it is defined at every time t.
A system is a continuoustime system if it takes a continuoustime input signal, and outputs a continuoustime output signal. Here is an example of an analog waveform:
Discrete Time
A signal is called discretetime if it is only defined for particular points in time. A discretetime system takes discretetime input signals, and produces discretetime output signals. The following image shows the difference between an analog waveform and the sampled discrete time equivalent:
Quantized
A signal is called Quantized if it can only be certain values, and cannot be other values. This concept is best illustrated with examples:
 Students with a strong background in physics will recognize this concept as being the root word in "Quantum Mechanics". In quantum mechanics, it is known that energy comes only in discrete packets. An electron bound to an atom, for example, may occupy one of several discrete energy levels, but not intermediate levels.
 Another common example is population statistics. For instance, a common statistic is that a household in a particular country may have an average of "3.5 children", or some other fractional number. Actual households may have 3 children, or they may have 4 children, but no household has 3.5 children.
 People with a computer science background will recognize that integer variables are quantized because they can only hold certain integer values, not fractions or decimal points.
The last example concerning computers is the most relevant, because quantized systems are frequently computerbased. Systems that are implemented with computer software and hardware will typically be quantized.
Here is an example waveform of a quantized signal. Notice how the magnitude of the wave can only take certain values, and that creates a steplike appearance. This image is discrete in magnitude, but is continuous in time:
Analog
By definition:
 Analog
 A signal is considered analog if it is defined for all points in time and if it can take any real magnitude value within its range.
An analog system is a system that represents data using a direct conversion from one form to another. In other words, an analog system is a system that is continuous in both time and magnitude.
Example: Motor
If we have a given motor, we can show that the output of the motor (rotation in units of radians per second, for instance) is a function of the voltage that is input to the motor. We can show the relationship as such:
Where is the output in terms of Rad/sec, and f(v) is the motor's conversion function between the input voltage (v) and the output. For any value of v we can calculate out specifically what the rotational speed of the motor should be.
Example: Analog Clock
Consider a standard analog clock, which represents the passage of time though the angular position of the clock hands. We can denote the angular position of the hands of the clock with the system of equations:
Where φ_{h} is the angular position of the hour hand, φ_{m} is the angular position of the minute hand, and φ_{s} is the angular position of the second hand. The positions of all the different hands of the clock are dependent on functions of time.
Different positions on a clock face correspond directly to different times of the day.
Digital
Digital data is represented by discrete number values. By definition:
 Digital
 A signal or system is considered digital if it is both discretetime and quantized.
Digital data always have a certain granularity, and therefore there will almost always be an error associated with using such data, especially if we want to account for all real numbers. The tradeoff, of course, to using a digital system is that our powerful computers with our powerful, Moore's law microprocessor units, can be instructed to operate on digital data only. This benefit more than makes up for the shortcomings of a digital representation system.
Discrete systems will be denoted inside square brackets, as is a common notation in texts that deal with discrete values. For instance, we can denote a discrete data set of ascending numbers, starting at 1, with the following notation:
 x[n] = [1 2 3 4 5 6 ...]
n, or other letters from the central area of the alphabet (m, i, j, k, l, for instance) are commonly used to denote discrete time values. Analog, or "nondiscrete" values are denoted in regular expression syntax, using parenthesis. Here is an example of an analog waveform and the digital equivalent. Notice that the digital waveform is discrete in both time and magnitude:


Example: Digital Clock
As a common example, let's consider a digital clock: The digital clock represents time with binary electrical data signals of 1 and 0. The 1's are usually represented by a positive voltage, and a 0 is generally represented by zero voltage. Counting in binary, we can show that any given time can be represented by a base2 numbering system:

Minute Binary Representation 1 1 10 1010 30 11110 59 111011
But what happens if we want to display a fraction of a minute, or a fraction of a second? A typical digital clock has a certain amount of precision, and it cannot express fractional values smaller than that precision.
Hybrid Systems
Hybrid Systems are systems that have both analog and digital components. Devices called samplers are used to convert analog signals into digital signals, and Devices called reconstructors are used to convert digital signals into analog signals. Because of the use of samplers, hybrid systems are frequently called sampleddata systems.
Example: Automobile Computer
Most modern automobiles today have integrated computer systems that monitor certain aspects of the car, and actually help to control the performance of the car. The speed of the car, and the rotational speed of the transmission are analog values, but a sampler converts them into digital values so the car computer can monitor them. The digital computer will then output control signals to other parts of the car, to alter analog systems such as the engine timing, the suspension, the brakes, and other parts. Because the car has both digital and analog components, it is a hybrid system.
Continuous and Discrete
We are not using the word "continuous" here in the sense of continuously differentiable, as is common in math texts.
A system is considered continuoustime if the signal exists for all time. Frequently, the terms "analog" and "continuous" will be used interchangeably, although they are not strictly the same.
Discrete systems can come in three flavors:
 Discrete time (sampled)
 Discrete magnitude (quantized)
 Discrete time and magnitude (digital)
Discrete magnitude systems are systems where the signal value can only have certain values. Discrete time systems are systems where signals are only available (or valid) at particular times. Computer systems are discrete in the sense of (3), in that data is only read at specific discrete time intervals, and the data can have only a limited number of discrete values.
A discretetime system has a sampling time value associated with it, such that each discrete value occurs at multiples of the given sampling time. We will denote the sampling time of a system as T. We can equate the squarebrackets notation of a system with the continuous definition of the system as follows:
Notice that the two notations show the same thing, but the first one is typically easier to write, and it shows that the system in question is a discrete system. This book will use the square brackets to denote discrete systems by the sample number n, and parenthesis to denote continuous time functions.
Sampling and Reconstruction
The process of converting analog information into digital data is called "Sampling". The process of converting digital data into an analog signal is called "Reconstruction". We will talk about both processes in a later chapter. For more information on the topic than is available in this book, see the Analog and Digital Conversion wikibook. Here is an example of a reconstructed waveform. Notice that the reconstructed waveform here is quantized because it is constructed from a digital signal:
System Metrics
System Metrics
When a system is being designed and analyzed, it doesn't make any sense to test the system with all manner of strange input functions, or to measure all sorts of arbitrary performance metrics. Instead, it is in everybody's best interest to test the system with a set of standard, simple reference functions. Once the system is tested with the reference functions, there are a number of different metrics that we can use to determine the system performance.
It is worth noting that the metrics presented in this chapter represent only a small number of possible metrics that can be used to evaluate a given system. This wikibook will present other useful metrics along the way, as their need becomes apparent.
Standard Inputs
All of the standard inputs are zero before time zero. All the standard inputs are causal.
There are a number of standard inputs that are considered simple enough and universal enough that they are considered when designing a system. These inputs are known as a unit step, a ramp, and a parabolic input.
 Unit Step
 A unit step function is defined piecewise as such:
[Unit Step Function]
 The unit step function is a highly important function, not only in control systems engineering, but also in signal processing, systems analysis, and all branches of engineering. If the unit step function is input to a system, the output of the system is known as the step response. The step response of a system is an important tool, and we will study step responses in detail in later chapters.
Also, sinusoidal and exponential functions are considered basic, but they are too difficult to use in initial analysis of a system.
Steady State
To be more precise, we should have taken the limit as t approaches infinity. However, as a shorthand notation, we will typically say "t equals infinity", and assume the reader understands the shortcut that is being used.
When a unitstep function is input to a system, the steadystate value of that system is the output value at time . Since it is impractical (if not completely impossible) to wait till infinity to observe the system, approximations and mathematical calculations are used to determine the steadystate value of the system. Most system responses are asymptotic, that is that the response approaches a particular value. Systems that are asymptotic are typically obvious from viewing the graph of that response.
Step Response
The step response of a system is most frequently used to analyze systems, and there is a large amount of terminology involved with step responses. When exposed to the step input, the system will initially have an undesirable output period known as the transient response. The transient response occurs because a system is approaching its final output value. The steadystate response of the system is the response after the transient response has ended.
The amount of time it takes for the system output to reach the desired value (before the transient response has ended, typically) is known as the rise time. The amount of time it takes for the transient response to end and the steadystate response to begin is known as the settling time.
It is common for a systems engineer to try and improve the step response of a system. In general, it is desired for the transient response to be reduced, the rise and settling times to be shorter, and the steadystate to approach a particular desired "reference" output.



Target Value
The target output value is the value that our system attempts to obtain for a given input. This is not the same as the steadystate value, which is the actual value that the target does obtain. The target value is frequently referred to as the reference value, or the "reference function" of the system. In essence, this is the value that we want the system to produce. When we input a "5" into an elevator, we want the output (the final position of the elevator) to be the fifth floor. Pressing the "5" button is the reference input, and is the expected value that we want to obtain. If we press the "5" button, and the elevator goes to the third floor, then our elevator is poorly designed.
Rise Time
Rise time is the amount of time that it takes for the system response to reach the target value from an initial state of zero. Many texts on the subject define the rise time as being the time it takes to rise between the initial position and 80% of the target value. This is because some systems never rise to 100% of the expected, target value, and therefore they would have an infinite risetime. This book will specify which convention to use for each individual problem. Rise time is typically denoted t_{r}, or t_{rise}.
Rise time is not the amount of time it takes to achieve steadystate, only the amount of time it takes to reach the desired target value for the first time. 
Percent Overshoot
Underdamped systems frequently overshoot their target value initially. This initial surge is known as the "overshoot value". The ratio of the amount of overshoot to the target steadystate value of the system is known as the percent overshoot. Percent overshoot represents an overcompensation of the system, and can output dangerously large output signals that can damage a system. Percent overshoot is typically denoted with the term PO.
Example: Refrigerator
Consider an ordinary household refrigerator. The refrigerator has cycles where it is on and when it is off. When the refrigerator is on, the coolant pump is running, and the temperature inside the refrigerator decreases. The temperature decreases to a much lower level than is required, and then the pump turns off.
When the pump is off, the temperature slowly increases again as heat is absorbed into the refrigerator. When the temperature gets high enough, the pump turns back on. Because the pump cools down the refrigerator more than it needs to initially, we can say that it "overshoots" the target value by a certain specified amount.
Example: Refrigerator
Another example concerning a refrigerator concerns the electrical demand of the heat pump when it first turns on. The pump is an inductive mechanical motor, and when the motor first activates, a special counteracting force known as "back EMF" resists the motion of the motor, and causes the pump to draw more electricity until the motor reaches its final speed. During the startup time for the pump, lights on the same electrical circuit as the refrigerator may dim slightly, as electricity is drawn away from the lamps, and into the pump. This initial draw of electricity is a good example of overshoot.
SteadyState Error
Sometimes a system might never achieve the desired steadystate value, but instead will settle on an output value that is not desired. The difference between the steadystate output value to the reference input value at steady state is called the steadystate error of the system. We will use the variable e_{ss} to denote the steadystate error of the system.
Settling Time
After the initial rise time of the system, some systems will oscillate and vibrate for an amount of time before the system output settles on the final value. The amount of time it takes to reach steady state after the initial rise time is known as the settling time. Notice that damped oscillating systems may never settle completely, so we will define settling time as being the amount of time for the system to reach, and stay in, a certain acceptable range. The acceptable range for settling time is typically determined on a perproblem basis, although common values are 20%, 10%, or 5% of the target value. The settling time will be denoted as t_{s}.
System Order
The order of the system is defined by the number of independent energy storage elements in the system, and intuitively by the highest degree of the linear differential equation that describes the system. In a transfer function representation, the order is the highest exponent in the transfer function. In a proper system, the system order is defined as the degree of the denominator polynomial. In a statespace equation, the system order is the number of statevariables used in the system. The order of a system will frequently be denoted with an n or N, although these variables are also used for other purposes. This book will make clear distinction on the use of these variables.
Proper Systems
A proper system is a system where the degree of the denominator is larger than or equal to the degree of the numerator polynomial. A strictly proper system is a system where the degree of the denominator polynomial is larger than (but never equal to) the degree of the numerator polynomial. A biproper system is a system where the degree of the denominator polynomial equals the degree of the numerator polynomial.
It is important to note that only proper systems can be physically realized. In other words, a system that is not proper cannot be built. It makes no sense to spend a lot of time designing and analyzing imaginary systems.
Example: System Order
Find the order of this system:
The highest exponent in the denominator is s^{2}, so the system is order 2. Also, since the denominator is a higher degree than the numerator, this system is proper.
in the above example, G(s) is a secondorder transfer function because in the denominator one of the s variables has an exponent of 2. Secondorder functions are the easiest to work with.
System Type
Let's say that we have a process transfer function (or combination of functions, such as a controller feeding in to a process), all in the forward branch of a unity feedback loop. Say that the overall forward branch transfer function is in the following generalized form (known as polezero form):
[PoleZero Form]
we call the parameter M the system type. Note that increased system type number correspond to larger numbers of poles at s = 0. More poles at the origin generally have a beneficial effect on the system, but they increase the order of the system, and make it increasingly difficult to implement physically. System type will generally be denoted with a letter like N, M, or m. Because these variables are typically reused for other purposes, this book will make clear distinction when they are employed.
Now, we will define a few terms that are commonly used when discussing system type. These new terms are Position Error, Velocity Error, and Acceleration Error. These names are throwbacks to physics terms where acceleration is the derivative of velocity, and velocity is the derivative of position. Note that none of these terms are meant to deal with movement, however.
 Position Error
 The position error, denoted by the position error constant . This is the amount of steadystate error of the system when stimulated by a unit step input. We define the position error constant as follows:
[Position Error Constant]
 Where G(s) is the transfer function of our system.
 Velocity Error
 The velocity error is the amount of steadystate error when the system is stimulated with a ramp input. We define the velocity error constant as such:
[Velocity Error Constant]
 Acceleration Error
 The acceleration error is the amount of steadystate error when the system is stimulated with a parabolic input. We define the acceleration error constant to be:
[Acceleration Error Constant]
Now, this table will show briefly the relationship between the system type, the kind of input (step, ramp, parabolic), and the steadystate error of the system:

Unit System Input Type, M Au(t) Ar(t) Ap(t) 0 1 2 > 2
ZDomain Type
Likewise, we can show that the system order can be found from the following generalized transfer function in the Z domain:
Where the constant M is the order of the digital system. Now, we will show how to find the various error constants in the ZDomain:
[ZDomain Error Constants]

Error Constant Equation Kp Kv Ka
Visually
Here is an image of the various system metrics, acting on a system in response to a step input:
The target value is the value of the input step response. The rise time is the time at which the waveform first reaches the target value. The overshoot is the amount by which the waveform exceeds the target value. The settling time is the time it takes for the system to settle into a particular bounded region. This bounded region is denoted with two short dotted lines above and below the target value.
System Modeling
The Control Process
It is the job of a control engineer to analyze existing systems, and to design new systems to meet specific needs. Sometimes new systems need to be designed, but more frequently a controller unit needs to be designed to improve the performance of existing systems. When designing a system, or implementing a controller to augment an existing system, we need to follow some basic steps:
 Model the system mathematically
 Analyze the mathematical model
 Design system/controller
 Implement system/controller and test
The vast majority of this book is going to be focused on (2), the analysis of the mathematical systems. This chapter alone will be devoted to a discussion of the mathematical modeling of the systems.
External Description
An external description of a system relates the system input to the system output without explicitly taking into account the internal workings of the system. The external description of a system is sometimes also referred to as the InputOutput Description of the system, because it only deals with the inputs and the outputs to the system.
If the system can be represented by a mathematical function h(t, r), where t is the time that the output is observed, and r is the time that the input is applied. We can relate the system function h(t, r) to the input x and the output y through the use of an integral:
[General System Description]
This integral form holds for all linear systems, and every linear system can be described by such an equation.
If a system is causal, then there is no output of the system before time r, and we can change the limits of the integration:
TimeInvariant Systems
If a system is timeinvariant (and causal), we can rewrite the system description equation as follows:
This equation is known as the convolution integral, and we will discuss it more in the next chapter.
Every Linear TimeInvariant (LTI) system can be used with the Laplace Transform, a powerful tool that allows us to convert an equation from the time domain into the SDomain, where many calculations are easier. Timevariant systems cannot be used with the Laplace Transform.
Internal Description
If a system is linear and lumped, it can also be described using a system of equations known as statespace equations. In state space equations, we use the variable x to represent the internal state of the system. We then use u as the system input, and we continue to use y as the system output. We can write the state space equations as such:
We will discuss the state space equations more when we get to the section on modern controls.
Complex Descriptions
Systems which are LTI and Lumped can also be described using a combination of the statespace equations, and the Laplace Transform. If we take the Laplace Transform of the state equations that we listed above, we can get a set of functions known as the Transfer Matrix Functions. We will discuss these functions in a later chapter.
Representations
To recap, we will prepare a table with the various system properties, and the available methods for describing the system:

Properties StateSpace
EquationsLaplace
TransformTransfer
MatrixLinear, TimeVariant, Distributed no no no Linear, TimeVariant, Lumped yes no no Linear, TimeInvariant, Distributed no yes no Linear, TimeInvariant, Lumped yes yes yes
We will discuss all these different types of system representation later in the book.
Analysis
Once a system is modeled using one of the representations listed above, the system needs to be analyzed. We can determine the system metrics and then we can compare those metrics to our specification. If our system meets the specifications we are finished with the design process. However if the system does not meet the specifications (as is typically the case), then suitable controllers and compensators need to be designed and added to the system.
Once the controllers and compensators have been designed, the job isn't finished: we need to analyze the new composite system to ensure that the controllers work properly. Also, we need to ensure that the systems are stable: unstable systems can be dangerous.
Frequency Domain
For proposals, early stage designs, and quick turn around analyses a frequency domain model is often superior to a time domain model. Frequency domain models take disturbance PSDs (Power Spectral Densities) directly, use transfer functions directly, and produce output or residual PSDs directly. The answer is a steadystate response. Oftentimes the controller is shooting for 0 so the steadystate response is also the residual error that will be the analysis output or metric for report.
Input  Model  Output 

PSD  Transfer Function  PSD 
Brief Overview of the Math
Frequency domain modeling is a matter of determining the impulse response of a system to a random process.
 ^{[1]}
where

 is the onesided input PSD in
 is the frequency response function of the system and
 is the onesided output PSD or auto power spectral density function.
The frequency response function, , is related to the impulse response function (transfer function) by
Note some texts will state that this is only valid for random processes which are stationary. Other texts suggest stationary and ergodic while still others state weakly stationary processes. Some texts do not distinguish between strictly stationary and weakly stationary. From practice, the rule thumb is if the PSD of the input process is the same from hour to hour and day to day then the input PSD can be used and the above equation is valid.
Notes
 ↑ Sun, JianQiao (2006). Stochastic Dynamics and Control, Volume 4. Amsterdam: Elsevier Science. ISBN 0444522301.
See a full explanation with example at ControlTheoryPro.com
Modeling Examples
Modeling in Control Systems is oftentimes a matter of judgement. This judgement is developed by creating models and learning from other people's models. ControlTheoryPro.com is a site with a lot of examples. Here are links to a few of them
 Hovering Helicopter Example
 Reaction Torque Cancellation Example
 List of all examples at ControlTheoryPro.com
Manufacture
Once the system has been properly designed we can prototype our system and test it. Assuming our analysis was correct and our design is good, the prototype should work as expected. Now we can move on to manufacture and distribute our completed systems.
Classical Controls
The classical method of controls involves analysis and manipulation of systems in the complex frequency domain. This domain, entered into by applying the Laplace or Fourier Transforms, is useful in examining the characteristics of the system, and determining the system response.
Transforms
Transforms
There are a number of transforms that we will be discussing throughout this book, and the reader is assumed to have at least a small prior knowledge of them. It is not the intention of this book to teach the topic of transforms to an audience that has had no previous exposure to them. However, we will include a brief refresher here to refamiliarize people who maybe cannot remember the topic perfectly. If you do not know what the Laplace Transform or the Fourier Transform are yet, it is highly recommended that you use this page as a simple guide, and look the information up on other sources. Specifically, Wikipedia has lots of information on these subjects.
Transform Basics
A transform is a mathematical tool that converts an equation from one variable (or one set of variables) into a new variable (or a new set of variables). To do this, the transform must remove all instances of the first variable, the "Domain Variable", and add a new "Range Variable". Integrals are excellent choices for transforms, because the limits of the definite integral will be substituted into the domain variable, and all instances of that variable will be removed from the equation. An integral transform that converts from a domain variable a to a range variable b will typically be formatted as such:
Where the function f(a) is the function being transformed, and g(a,b) is known as the kernel of the transform. Typically, the only difference between the various integral transforms is the kernel.
Laplace Transform
The Laplace Transform converts an equation from the timedomain into the socalled "Sdomain", or the Laplace domain, or even the "Complex domain". These are all different names for the same mathematical space and they all may be used interchangeably in this book and in other texts on the subject. The Transform can only be applied under the following conditions:
 The system or signal in question is analog.
 The system or signal in question is Linear.
 The system or signal in question is TimeInvariant.
 The system or signal in question is causal.
The transform is defined as such:
[Laplace Transform]
Laplace transform results have been tabulated extensively. More information on the Laplace transform, including a transform table can be found in the Appendix.
If we have a linear differential equation in the time domain:
With zero initial conditions, we can take the Laplace transform of the equation as such:
And separating, we get:
Inverse Laplace Transform
The inverse Laplace Transform is defined as such:
[Inverse Laplace Transform]
The inverse transform converts a function from the Laplace domain back into the time domain.
Matrices and Vectors
The Laplace Transform can be used on systems of linear equations in an intuitive way. Let's say that we have a system of linear equations:
We can arrange these equations into matrix form, as shown:
And write this symbolically as:
We can take the Laplace transform of both sides:
Which is the same as taking the transform of each individual equation in the system of equations.
Example: RL Circuit
Circuit Theory
Here, we are going to show a common example of a firstorder system, an RL Circuit. In an inductor, the relationship between the current (i), and the voltage (v) in the time domain is expressed as a derivative:
Where L is a special quantity called the "Inductance" that is a property of inductors.
Let's say that we have a 1st order RL series electric circuit. The resistor has resistance R, the inductor has inductance L, and the voltage source has input voltage V_{in}. The system output of our circuit is the voltage over the inductor, V_{out}. In the time domain, we have the following firstorder differential equations to describe the circuit:
However, since the circuit is essentially acting as a voltage divider, we can put the output in terms of the input as follows:
This is a very complicated equation, and will be difficult to solve unless we employ the Laplace transform:
We can divide top and bottom by L, and move V_{in} to the other side:
And using a simple table lookup, we can solve this for the timedomain relationship between the circuit input and the circuit output:
Partial Fraction Expansion
Calculus
Laplace transform pairs are extensively tabulated, but frequently we have transfer functions and other equations that do not have a tabulated inverse transform. If our equation is a fraction, we can often utilize Partial Fraction Expansion (PFE) to create a set of simpler terms that will have readily available inverse transforms. This section is going to give a brief reminder about PFE, for those who have already learned the topic. This refresher will be in the form of several examples of the process, as it relates to the Laplace Transform. People who are unfamiliar with PFE are encouraged to read more about it in Calculus.
Example: SecondOrder System
If we have a given equation in the Sdomain:
We can expand it into several smaller fractions as such:
This looks impossible, because we have a single equation with 3 unknowns (s, A, B), but in reality s can take any arbitrary value, and we can "plug in" values for s to solve for A and B, without needing other equations. For instance, in the above equation, we can multiply through by the denominator, and cancel terms:
Now, when we set s → 2, the A term disappears, and we are left with B → 3. When we set s → 1, we can solve for A → 1. Putting these values back into our original equation, we have:
Remember, since the Laplace transform is a linear operator, the following relationship holds true:
Finding the inverse transform of these smaller terms should be an easier process then finding the inverse transform of the whole function. Partial fraction expansion is a useful, and oftentimes necessary tool for finding the inverse of an Sdomain equation.
Example: FourthOrder System
If we have a given equation in the Sdomain:
We can expand it into several smaller fractions as such:
Canceling terms wouldn't be enough here, we will open the brackets (separated onto multiple lines):
Let's compare coefficients:
 A + D = 0
 30A + C + 20D = 79
 300A + B + 10C + 100D = 916
 1000A = 1000
And solving gives us:
 A = 1
 B = 26
 C = 69
 D = 1
We know from the Laplace Transform table that the following relation holds:
We can plug in our values for A, B, C, and D into our expansion, and try to convert it into the form above.
Example: Complex Roots
Given the following transfer function:
When the solution of the denominator is a complex number, we use a complex representation A + iB, like 3+i4 as opposed to the use of a single letter (e.g. D)  which is for real numbers:
 As + B = 7s + 26
 A = 7
 B = 26
We will need to reform it into two fractions that look like this (without changing its value):
 →
 →
Let's start with the denominator (for both fractions):
The roots of s^{2}  80s + 1681 are 40 + j9 and 40  j9.
 →
And now the numerators:
Inverse Laplace Transform:
Example: SixthOrder System
Given the following transfer function:
We multiply through by the denominators to make the equation rational:
And then we combine terms:
Comparing coefficients:
 A + B + C = 0
 15A  12B  3C + D = 90
 73A + 37B  3D = 0
 111A = 1110
Now, we can solve for A, B, C and D:
 A = 10
 B = 10
 C = 0
 D = 120
And now for the "fitting":
The roots of s^{2}  12s + 37 are 6 + j and 6  j
No need to fit the fraction of D, because it is complete; no need to bother fitting the fraction of C, because C is equal to zero.
Final Value Theorem
The Final Value Theorem allows us to determine the value of the time domain equation, as the time approaches infinity, from the S domain equation. In Control Engineering, the Final Value Theorem is used most frequently to determine the steadystate value of a system. The real part of the poles of the function must be <0.
[Final Value Theorem (Laplace)]
From our chapter on system metrics, you may recognize the value of the system at time infinity as the steadystate time of the system. The difference between the steady state value and the expected output value we remember as being the steadystate error of the system. Using the Final Value Theorem, we can find the steadystate value and the steadystate error of the system in the Complex S domain.
Example: Final Value Theorem
Find the final value of the following polynomial:
We can apply the Final Value Theorem:
We obtain the value:
Initial Value Theorem
Akin to the final value theorem, the Initial Value Theorem allows us to determine the initial value of the system (the value at time zero) from the SDomain Equation. The initial value theorem is used most frequently to determine the starting conditions, or the "initial conditions" of a system.
[Initial Value Theorem (Laplace)]
Common Transforms
We will now show you the transforms of the three functions we have already learned about: The unit step, the unit ramp, and the unit parabola. The transform of the unit step function is given by:
And since the unit ramp is the integral of the unit step, we can multiply the above result times 1/s to get the transform of the unit ramp:
Again, we can multiply by 1/s to get the transform of the unit parabola:
Fourier Transform
The Fourier Transform is very similar to the Laplace transform. The fourier transform uses the assumption that any finite timedomain signal can be broken into an infinite sum of sinusoidal (sine and cosine waves) signals. Under this assumption, the Fourier Transform converts a timedomain signal into its frequencydomain representation, as a function of the radial frequency, ω, The Fourier Transform is defined as such:
[Fourier Transform]
We can now show that the Fourier Transform is equivalent to the Laplace transform, when the following condition is true:
Because the Laplace and Fourier Transforms are so closely related, it does not make much sense to use both transforms for all problems. This book, therefore, will concentrate on the Laplace transform for nearly all subjects, except those problems that deal directly with frequency values. For frequency problems, it makes life much easier to use the Fourier Transform representation.
Like the Laplace Transform, the Fourier Transform has been extensively tabulated. Properties of the Fourier transform, in addition to a table of common transforms is available in the Appendix.
Inverse Fourier Transform
The inverse Fourier Transform is defined as follows:
[Inverse Fourier Transform]
This transform is nearly identical to the Fourier Transform.
Complex Plane
Using the above equivalence, we can show that the Laplace transform is always equal to the Fourier Transform, if the variable s is an imaginary number. However, the Laplace transform is different if s is a real or a complex variable. As such, we generally define s to have both a real part and an imaginary part, as such:
And we can show that s = jω if σ = 0.
Since the variable s can be broken down into 2 independent values, it is frequently of some value to graph the variable s on its own special "Splane". The Splane graphs the variable σ on the horizontal axis, and the value of jω on the vertical axis. This axis arrangement is shown at right.
Euler's Formula
There is an important result from calculus that is known as Euler's Formula, or "Euler's Relation". This important formula relates the important values of e, j, π, 1 and 0:
However, this result is derived from the following equation, setting ω to π:
[Euler's Formula]
This formula will be used extensively in some of the chapters of this book, so it is important to become familiar with it now.
MATLAB
The MATLAB symbolic toolbox contains functions to compute the Laplace and Fourier transforms automatically. The function laplace, and the function fourier can be used to calculate the Laplace and Fourier transforms of the input functions, respectively. For instance, the code:
t = sym('t'); fx = 30*t^2 + 20*t; laplace(fx)
produces the output:
ans = 60/s^3+20/s^2
We will discuss these functions more in The Appendix.
Further Reading
 Digital Signal Processing/ContinuousTime Fourier Transform
 Signals and Systems/Aperiodic Signals
 Circuit Theory/Laplace Transform
Transfer Functions
Transfer Functions
A Transfer Function is the ratio of the output of a system to the input of a system, in the Laplace domain considering its initial conditions and equilibrium point to be zero. If we have an input function of X(s), and an output function Y(s), we define the transfer function H(s) to be:
[Transfer Function]
Readers who have read the Circuit Theory book will recognize the transfer function as being the impedance, admittance, impedance ratio of a voltage divider or the admittance ratio of a current divider.
Impulse Response
Time domain variables are generally written with lowercase letters. LaplaceDomain, and other transform domain variables are generally written using uppercase letters.
For comparison, we will consider the timedomain equivalent to the above input/output relationship. In the time domain, we generally denote the input to a system as x(t), and the output of the system as y(t). The relationship between the input and the output is denoted as the impulse response, h(t).
We define the impulse response as being the relationship between the system output to its input. We can use the following equation to define the impulse response:
Impulse Function
It would be handy at this point to define precisely what an "impulse" is. The Impulse Function, denoted with δ(t) is a special function defined piecewise as follows:
[Impulse Function]
The impulse function is also known as the delta function because it's denoted with the Greek lowercase letter δ. The delta function is typically graphed as an arrow towards infinity, as shown below:
It is drawn as an arrow because it is difficult to show a single point at infinity in any other graphing method. Notice how the arrow only exists at location 0, and does not exist for any other time t. The delta function works with regular time shifts just like any other function. For instance, we can graph the function δ(t  N) by shifting the function δ(t) to the right, as such:
An examination of the impulse function will show that it is related to the unitstep function as follows:
and
The impulse function is not defined at point t = 0, but the impulse must always satisfy the following condition, or else it is not a true impulse function:
The response of a system to an impulse input is called the impulse response. Now, to get the Laplace Transform of the impulse function, we take the derivative of the unit step function, which means we multiply the transform of the unit step function by s:
This result can be verified in the transform tables in The Appendix.
Step Response
Similar to the impulse response, the step response of a system is the output of the system when a unit step function is used as the input. The step response is a common analysis tool used to determine certain metrics about a system. Typically, when a new system is designed, the step response of the system is the first characteristic of the system to be analyzed.
Convolution
However, the impulse response cannot be used to find the system output from the system input in the same manner as the transfer function. If we have the system input and the impulse response of the system, we can calculate the system output using the convolution operation as such:
Where " * " (asterisk) denotes the convolution operation. Convolution is a complicated combination of multiplication, integration and timeshifting. We can define the convolution between two functions, a(t) and b(t) as the following:
[Convolution]
(The variable τ (Greek tau) is a dummy variable for integration). This operation can be difficult to perform. Therefore, many people prefer to use the Laplace Transform (or another transform) to convert the convolution operation into a multiplication operation, through the Convolution Theorem.
TimeInvariant System Response
If the system in question is timeinvariant, then the general description of the system can be replaced by a convolution integral of the system's impulse response and the system input. We can call this the convolution description of a system, and define it below:
[Convolution Description]
Convolution Theorem
This method of solving for the output of a system is quite tedious, and in fact it can waste a large amount of time if you want to solve a system for a variety of input signals. Luckily, the Laplace transform has a special property, called the Convolution Theorem, that makes the operation of convolution easier:
 Convolution Theorem
 Convolution in the time domain becomes multiplication in the complex Laplace domain. Multiplication in the time domain becomes convolution in the complex Laplace domain.
The Convolution Theorem can be expressed using the following equations:
[Convolution Theorem]
This also serves as a good example of the property of Duality.
Using the Transfer Function
The Transfer Function fully describes a control system. The Order, Type and Frequency response can all be taken from this specific function. Nyquist and Bode plots can be drawn from the open loop Transfer Function. These plots show the stability of the system when the loop is closed. Using the denominator of the transfer function, called the characteristic equation, roots of the system can be derived.
For all these reasons and more, the Transfer function is an important aspect of classical control systems. Let's start out with the definition:
 Transfer Function
 The Transfer function of a system is the relationship of the system's output to its input, represented in the complex Laplace domain.
If the complex Laplace variable is s, then we generally denote the transfer function of a system as either G(s) or H(s). If the system input is X(s), and the system output is Y(s), then the transfer function can be defined as such:
If we know the input to a given system, and we have the transfer function of the system, we can solve for the system output by multiplying:
[Transfer Function Description]
Example: Impulse Response
From a Laplace transform table, we know that the Laplace transform of the impulse function, δ(t) is:
So, when we plug this result into our relationship between the input, output, and transfer function, we get:
In other words, the "impulse response" is the output of the system when we input an impulse function.
Example: Step Response
From the Laplace Transform table, we can also see that the transform of the unit step function, u(t) is given by:
Plugging that result into our relation for the transfer function gives us:
And we can see that the step response is simply the impulse response divided by s.
Example: MATLAB Step Response
Use MATLAB to find the step response of the following transfer function:
We can separate out our numerator and denominator polynomials as such:
num = [79 916 1000]; den = [1 30 300 1000 0]; sys = tf(num, den);
Now, we can get our step response from the step function, and plot it for time from 1 to 10 seconds:
T = 1:0.001:10; step(sys, T);
Frequency Response
The Frequency Response is similar to the Transfer function, except that it is the relationship between the system output and input in the complex Fourier Domain, not the Laplace domain. We can obtain the frequency response from the transfer function, by using the following change of variables:
 Frequency Response
 The frequency response of a system is the relationship of the system's output to its input, represented in the Fourier Domain.
Because the frequency response and the transfer function are so closely related, typically only one is ever calculated, and the other is gained by simple variable substitution. However, despite the close relationship between the two representations, they are both useful individually, and are each used for different purposes.
Sampled Data Systems
Ideal Sampler
In this chapter, we are going to introduce the ideal sampler and the Star Transform. First, we need to introduce (or review) the Geometric Series infinite sum. The results of this sum will be very useful in calculating the Star Transform, later.
Consider a sampler device that operates as follows: every T seconds, the sampler reads the current value of the input signal at that exact moment. The sampler then holds that value on the output for T seconds, before taking the next sample. We have a generic input to this system, f(t), and our sampled output will be denoted f*(t). We can then show the following relationship between the two signals:
Note that the value of f ^{*} at time t = 1.5 T is the same as at time t = T. This relationship works for any fractional value.
Taking the Laplace Transform of this infinite sequence will yield us with a special result called the Star Transform. The Star Transform is also occasionally called the "Starred Transform" in some texts.
Geometric Series
Before we talk about the Star Transform or even the ZTransform, it is useful for us to review the mathematical background behind solving infinite series. Specifically, because of the nature of these transforms, we are going to look at methods to solve for the sum of a geometric series.
A geometic series is a sum of values with increasing exponents, as such:
In the equation above, notice that each term in the series has a coefficient value, a. We can optionally factor out this coefficient, if the resulting equation is easier to work with:
Once we have an infinite series in either of these formats, we can conveniently solve for the total sum of this series using the following equation:
Let's say that we start our series off at a number that isn't zero. Let's say for instance that we start our series off at n = 1 or n = 100. Let's see:
We can generalize the sum to this series as follows:
[Geometric Series]
With that result out of the way, now we need to worry about making this series converge. In the above sum, we know that n is approaching infinity (because this is an infinite sum). Therefore, any term that contains the variable n is a matter of worry when we are trying to make this series converge. If we examine the above equation, we see that there is one term in the entire result with an n in it, and from that, we can set a fundamental inequality to govern the geometric series.
To satisfy this equation, we must satisfy the following condition:
[Geometric convergence condition]
Therefore, we come to the final result: The geometric series converges if and only if the value of r is less than one.
The Star Transform
The Star Transform is defined as such:
[Star Transform]
The Star Transform depends on the sampling time T and is different for a single signal depending on the frequency at which the signal is sampled. Since the Star Transform is defined as an infinite series, it is important to note that some inputs to the Star Transform will not converge, and therefore some functions do not have a valid Star Transform. Also, it is important to note that the Star Transform may only be valid under a particular region of convergence. We will cover this topic more when we discuss the Ztransform.
Star ↔ Laplace
Complex Analysis/Residue Theory
The Laplace Transform and the Star Transform are clearly related, because we obtained the Star Transform by using the Laplace Transform on a timedomain signal. However, the method to convert between the two results can be a slightly difficult one. To find the Star Transform of a Laplace function, we must take the residues of the Laplace equation, as such:
This math is advanced for most readers, so we can also use an alternate method, as follows:
Neither one of these methods are particularly easy, however, and therefore we will not discuss the relationship between the Laplace transform and the Star Transform any more than is absolutely necessary in this book. Suffice it to say, however, that the Laplace transform and the Star Transform are related mathematically.
Star + Laplace
In some systems, we may have components that are both continuous and discrete in nature. For instance, if our feedback loop consists of an AnalogToDigital converter, followed by a computer (for processing), and then a DigitalToAnalog converter. In this case, the computer is acting on a digital signal, but the rest of the system is acting on continuous signals. Star transforms can interact with Laplace transforms in some of the following ways:
Given:
Then:
Given:
Then:
Where is the Star Transform of the product of X(s)H(s).
Convergence of the Star Transform
The Star Transform is defined as being an infinite series, so it is critically important that the series converge (not reach infinity), or else the result will be nonsensical. Since the Star Transform is a geometic series (for many input signals), we can use geometric series analysis to show whether the series converges, and even under what particular conditions the series converges. The restrictions on the star transform that allow it to converge are known as the region of convergence (ROC) of the transform. Typically a transform must be accompanied by the explicit mention of the ROC.
The ZTransform
Let us say now that we have a discrete data set that is sampled at regular intervals. We can call this set x[n]:
x[n] = [ x[0] x[1] x[2] x[3] x[4] ... ]
we can utilize a special transform, called the Ztransform, to make dealing with this set more easy:
[Z Transform]
the Appendix.
Like the Star Transform the Z Transform is defined as an infinite series and therefore we need to worry about convergence. In fact, there are a number of instances that have identical ZTransforms, but different regions of convergence (ROC). Therefore, when talking about the Z transform, you must include the ROC, or you are missing valuable information.
Z Transfer Functions
Like the Laplace Transform, in the Zdomain we can use the inputoutput relationship of the system to define a transfer function.
The transfer function in the Z domain operates exactly the same as the transfer function in the S Domain:
Similarly, the value h[n] which represents the response of the digital system is known as the impulse response of the system. It is important to note, however, that the definition of an "impulse" is different in the analog and digital domains.
Inverse Z Transform
The inverse Z Transform is defined by the following path integral:
[Inverse Z Transform]
Where C is a counterclockwise closed path encircling the origin and entirely in the region of convergence (ROC). The contour or path, C, must encircle all of the poles of X(z).
This math is relatively advanced compared to some other material in this book, and therefore little or no further attention will be paid to solving the inverse ZTransform in this manner. Z transform pairs are heavily tabulated in reference texts, so many readers can consider that to be the primary method of solving for inverse Z transforms. There are a number of Ztransform pairs available in table form in The Appendix.
Final Value Theorem
Like the Laplace Transform, the Z Transform also has an associated final value theorem:
[Final Value Theorem (Z)]
This equation can be used to find the steadystate response of a system, and also to calculate the steadystate error of the system.
Star ↔ Z
The Z transform is related to the Star transform though the following change of variables:
Notice that in the Z domain, we don't maintain any information on the sampling period, so converting to the Z domain from a Star Transformed signal loses that information. When converting back to the star domain however, the value for T can be reinsterted into the equation, if it is still available.
Also of some importance is the fact that the Z transform is bilinear, while the Star Transform is unilinear. This means that we can only convert between the two transforms if the sampled signal is zero for all values of n < 0.
Because the two transforms are so closely related, it can be said that the Z transform is simply a notational convenience for the Star Transform. With that said, this book could easily use the Star Transform for all problems, and ignore the added burden of Z transform notation entirely. A common example of this is Richard Hamming's book "Numerical Methods for Scientists and Engineers" which uses the Fourier Transform for all problems, considering the Laplace, Star, and ZTransforms to be merely notational conveniences. However, the Control Systems wikibook is under the impression that the correct utilization of different transforms can make problems more easy to solve, and we will therefore use a multitransform approach.
Z plane
The lowercase z is the name of the variable, and the uppercase Z is the name of the Transform and the plane.
z is a complex variable with a real part and an imaginary part. In other words, we can define z as such:
Since z can be broken down into two independent components, it often makes sense to graph the variable z on the Zplane. In the Zplane, the horizontal axis represents the real part of z, and the vertical axis represents the magnitude of the imaginary part of z.
Notice also that if we define z in terms of the startransform relation:
we can separate out s into real and imaginary parts:
We can plug this into our equation for z:
Through Euler's formula, we can separate out the complex exponential as such:
If we define two new variables, M and φ:
We can write z in terms of M and φ. Notice that it is Euler's equation:
Which is clearly a polar representation of z, with the magnitude of the polar function (M) based on the realpart of s, and the angle of the polar function (φ) is based on the imaginary part of s.
Region of Convergence
To best teach the region of convergance (ROC) for the Ztransform, we will do a quick example.
We have the following discrete series or a decaying exponential:
Now, we can plug this function into the Z transform equation:
Note that we can remove the unit step function, and change the limits of the sum:
This is because the series is 0 for all time less than n → 0. If we try to combine the n terms, we get the following result:
Once we have our series in this term, we can break this down to look like our geometric series:
And finally, we can find our final value, using the geometric series formula:
Again, we know that to make this series converge, we need to make the r value less than 1:
And finally we obtain the region of convergance for this Ztransform:
z and s are complex variables, and therefore we need to take the magnitude in our ROC calculations. The "Absolute Value symbols" are actually the "magnitude calculation", and is defined as such:

Laplace ↔ Z
There are no easy, direct ways to convert between the Laplace transform and the Z transform directly. Nearly all methods of conversions reproduce some aspects of the original equation faithfully, and incorrectly reproduce other aspects. For some of the main mapping techniques between the two, see the Z Transform Mappings Appendix.
However, there are some topics that we need to discuss. First and foremost, conversions between the Laplace domain and the Z domain are not linear, this leads to some of the following problems:
This means that when we combine two functions in one domain multiplicatively, we must find a combined transform in the other domain. Here is how we denote this combined transform:
Notice that we use a horizontal bar over top of the multiplied functions, to denote that we took the transform of the product, not of the individual pieces. However, if we have a system that incorporates a sampler, we can show a simple result. If we have the following format:
Then we can put everything in terms of the Star Transform:
and once we are in the star domain, we can do a direct change of variables to reach the Z domain:
Note that we can only make this equivalence relationship if the system incorporates an ideal sampler, and therefore one of the multiplicative terms is in the star domain.
Example
Let's say that we have the following equation in the Laplace domain:
And because we have a discrete sampler in the system, we want to analyze it in the Z domain. We can break up this equation into two separate terms, and transform each:
And
And when we add them together, we get our result:
Z ↔ Fourier
By substituting variables, we can relate the Star transform to the Fourier Transform as well:
If we assume that T = 1, we can relate the two equations together by setting the real part of s to zero. Notice that the relationship between the Laplace and Fourier transforms is mirrored here, where the Fourier transform is the Laplace transform with no realpart to the transform variable.
There are a number of discretetime variants to the Fourier transform as well, which are not discussed in this book. For more information about these variants, see Digital Signal Processing.
Reconstruction
Some of the easiest reconstruction circuits are called "Holding circuits". Once a signal has been transformed using the Star Transform (passed through an ideal sampler), the signal must be "reconstructed" using one of these hold systems (or an equivalent) before it can be analyzed in a Laplacedomain system.
If we have a sampled signal denoted by the Star Transform , we want to reconstruct that signal into a continuoustime waveform, so that we can manipulate it using Laplacetransform techniques.
Let's say that we have the sampled input signal, a reconstruction circuit denoted G(s), and an output denoted with the Laplacetransform variable Y(s). We can show the relationship as follows:
Reconstruction circuits then, are physical devices that we can use to convert a digital, sampled signal into a continuoustime domain, so that we can take the Laplace transform of the output signal.
Zero order Hold
A zeroorder hold circuit is a circuit that essentially inverts the sampling process: The value of the sampled signal at time t is held on the output for T time. The output waveform of a zeroorder hold circuit therefore looks like a staircase approximation to the original waveform.
The transfer function for a zeroorder hold circuit, in the Laplace domain, is written as such:
[Zero Order Hold]
The Zeroorder hold is the simplest reconstruction circuit, and (like the rest of the circuits on this page) assumes zero processing delay in converting between digital to analog.
First Order Hold
The zeroorder hold creates a step output waveform, but this isn't always the best way to reconstruct the circuit. Instead, the FirstOrder Hold circuit takes the derivative of the waveform at the time t, and uses that derivative to make a guess as to where the output waveform is going to be at time (t + T). The firstorder hold circuit then "draws a line" from the current position to the expected future position, as the output of the waveform.
[First Order Hold]
Keep in mind, however, that the next value of the signal will probably not be the same as the expected value of the next data point, and therefore the firstorder hold may have a number of discontinuities.
Fractional Order Hold
The ZeroOrder hold outputs the current value onto the output, and keeps it level throughout the entire bit time. The firstorder hold uses the function derivative to predict the next value, and produces a series of ramp outputs to produce a fluctuating waveform. Sometimes however, neither of these solutions are desired, and therefore we have a compromise: FractionalOrder Hold. Fractional order hold acts like a mixture of the other two holding circuits, and takes a fractional number k as an argument. Notice that k must be between 0 and 1 for this circuit to work correctly.
[Fractional Order Hold]
This circuit is more complicated than either of the other hold circuits, but sometimes added complexity is worth it if we get better performance from our reconstruction circuit.
Other Reconstruction Circuits
Another type of circuit that can be used is a linear approximation circuit.
Further Reading
 Hamming, Richard. "Numerical Methods for Scientists and Engineers" ISBN 0486652416
 Digital Signal Processing/Z Transform
 Complex Analysis/Residue Theory
 Analog and Digital Conversion
System Delays
Delays
A system can be built with an inherent delay. Delays are units that cause a timeshift in the input signal, but that don't affect the signal characteristics. An ideal delay is a delay system that doesn't affect the signal characteristics at all, and that delays the signal for an exact amount of time. Some delays, like processing delays or transmission delays, are unintentional. Other delays however, such as synchronization delays, are an integral part of a system. This chapter will talk about how delays are utilized and represented in the Laplace Domain. Once we represent a delay in the Laplace domain, it is an easy matter, through change of variables, to express delays in other domains.
Ideal Delays
An ideal delay causes the input function to be shifted forward in time by a certain specified amount of time. Systems with an ideal delay cause the system output to be delayed by a finite, predetermined amount of time.
Time Shifts
Let's say that we have a function in time that is timeshifted by a certain constant time period T. For convenience, we will denote this function as x(t  T). Now, we can show that the Laplace transform of x(t  T) is the following:
What this demonstrates is that timeshifts in the timedomain become exponentials in the complex Laplace domain.
Shifts in the ZDomain
Since we know the following general relationship between the Z Transform and the Star Transform:
We can show what a time shift in a discrete time domain becomes in the Z domain:
Delays and Stability
A timeshift in the time domain becomes an exponential increase in the Laplace domain. This would seem to show that a time shift can have an effect on the stability of a system, and occasionally can cause a system to become unstable. We define a new parameter called the time margin as the amount of time that we can shift an input function before the system becomes unstable. If the system can survive any arbitrary time shift without going unstable, we say that the time margin of the system is infinite.
Delay Margin
When speaking of sinusoidal signals, it doesn't make sense to talk about "time shifts", so instead we talk about "phase shifts". Therefore, it is also common to refer to the time margin as the phase margin of the system. The phase margin denotes the amount of phase shift that we can apply to the system input before the system goes unstable.
We denote the phase margin for a system with a lowercase Greek letter φ (phi). Phase margin is defined as such for a secondorder system:
[Delay Margin]
Oftentimes, the phase margin is approximated by the following relationship:
[Delay Margin (approx)]
The Greek letter zeta (ζ) is a quantity called the damping ratio, and we discuss this quantity in more detail in the next chapter.
TransformDomain Delays
The ordinary ZTransform does not account for a system which experiences an arbitrary time delay, or a processing delay. The ZTransform can, however, be modified to account for an arbitrary delay. This new version of the Ztransform is frequently called the Modified ZTransform, although in some literature (notably in Wikipedia), it is known as the Advanced ZTransform.
Delayed Star Transform
To demonstrate the concept of an ideal delay, we will show how the star transform responds to a timeshifted input with a specified delay of time T. The function : is the delayed star transform with a delay parameter Δ. The delayed star transform is defined in terms of the star transform as such:
[Delayed Star Transform]
As we can see, in the star transform, a timedelayed signal is multiplied by a decaying exponential value in the transform domain.
Delayed ZTransform
Since we know that the Star Transform is related to the Z Transform through the following change of variables:
We can interpret the above result to show how the Z Transform responds to a delay:
This result is expected.
Now that we know how the Z transform responds to time shifts, it is often useful to generalize this behavior into a form known as the Delayed ZTransform. The Delayed ZTransform is a function of two variables, z and Δ, and is defined as such:
And finally:
[Delayed Z Transform]
Modified ZTransform
The Delayed ZTransform has some uses, but mathematicians and engineers have decided that a more useful version of the transform was needed. The new version of the ZTransform, which is similar to the Delayed Ztransform with a change of variables, is known as the Modified ZTransform. The Modified ZTransform is defined in terms of the delayed Z transform as follows:
And it is defined explicitly:
[Modified Z Transform]
Poles and Zeros
Poles and Zeros
Poles and Zeros of a transfer function are the frequencies for which the value of the denominator and numerator of transfer function becomes zero respectively. The values of the poles and the zeros of a system determine whether the system is stable, and how well the system performs. Control systems, in the most simple sense, can be designed simply by assigning specific values to the poles and zeros of the system.
Physically realizable control systems must have a number of poles greater than or equal to the number of zeros. Systems that satisfy this relationship are called proper. We will elaborate on this below.
TimeDomain Relationships
Let's say that we have a transfer function with 3 poles:
The poles are located at s = l, m, n. Now, we can use partial fraction expansion to separate out the transfer function:
Using the inverse transform on each of these component fractions (looking up the transforms in our table), we get the following:
But, since s is a complex variable, l m and n can all potentially be complex numbers, with a real part (σ) and an imaginary part (jω). If we just look at the first term:
Using Euler's Equation on the imaginary exponent, we get:
And taking the real part of this equation, we are left with our final result:
We can see from this equation that every pole will have an exponential part, and a sinusoidal part to its response. We can also go about constructing some rules:
 if σ_{l} = 0, the response of the pole is a perfect sinusoid (an oscillator)
 if ω_{l} = 0, the response of the pole is a perfect exponential.
 if σ_{l} > 0, the exponential part of the response will decay towards zero.
 if σ_{l} < 0, the exponential part of the response will rise towards infinity.
From the last two rules, we can see that all poles of the system must have negative real parts, and therefore they must all have the form (s + l) for the system to be stable. We will discuss stability in later chapters.
What are Poles and Zeros
Let's say we have a transfer function defined as a ratio of two polynomials:
Where N(s) and D(s) are simple polynomials. Zeros are the roots of N(s) (the numerator of the transfer function) obtained by setting N(s) = 0 and solving for s.
Poles are the roots of D(s) (the denominator of the transfer function), obtained by setting D(s) = 0 and solving for s. Because of our restriction above, that a transfer function must not have more zeros than poles, we can state that the polynomial order of D(s) must be greater than or equal to the polynomial order of N(s).
Example
Consider the transfer function:
We define N(s) and D(s) to be the numerator and denominator polynomials, as such:
We set N(s) to zero, and solve for s:
So we have a zero at s → 2. Now, we set D(s) to zero, and solve for s to obtain the poles of the equation:
And simplifying this gives us poles at: i/2 , +i/2. Remember, s is a complex variable, and it can therefore take imaginary and real values.
Effects of Poles and Zeros
As s approaches a zero, the numerator of the transfer function (and therefore the transfer function itself) approaches the value 0. When s approaches a pole, the denominator of the transfer function approaches zero, and the value of the transfer function approaches infinity. An output value of infinity should raise an alarm bell for people who are familiar with BIBO stability. We will discuss this later.
As we have seen above, the locations of the poles, and the values of the real and imaginary parts of the pole determine the response of the system. Real parts correspond to exponentials, and imaginary parts correspond to sinusoidal values.
SecondOrder Systems
The canonical form for a second order system is as follows:
[Secondorder transfer function]
Where K is the system gain, ζ is called the damping ratio of the function, and ω is called the natural frequency of the system. ζ and ω, if exactly known for a second order system, the time responses can be easily plotted and stability can easily be checked. More information on second order systems can be found here.
Damping Ratio
The damping ratio of a secondorder system, denoted with the Greek letter zeta (ζ), is a real number that defines the damping properties of the system. More damping has the effect of less percent overshoot, and slower settling time. Damping is the inherent ability of the system to oppose the oscillatory nature of the system's transient response. Larger values of damping coefficient or damping factor produces transient responses with lesser oscillatory nature.
Natural Frequency
The natural frequency is occasionally written with a subscript:
We will omit the subscript when it is clear that we are talking about the natural frequency, but we will include the subscript when we are using other values for the variable ω. Also, when .
HigherOrder Systems
System Representation
Systems can be represented graphically in a number of ways. Block diagrams and signalflow diagrams are powerful tools that can be used to manipulate systems, and convert them easily into transfer functions or statespace equations. The chapters in this section will discuss how systems can be described visually, and will also discuss how systems can be interconnected with each other.
Gain
What is Gain?
Gain is a proportional value that shows the relationship between the magnitude of the input to the magnitude of the output signal at steady state. Many systems contain a method by which the gain can be altered, providing more or less "power" to the system. However, increasing gain or decreasing gain beyond a particular safety zone can cause the system to become unstable.
Consider the given secondorder system:
We can include an arbitrary gain term, K in this system that will represent an amplification, or a power increase:
In a statespace system, the gain term k can be inserted as follows:
The gain term can also be inserted into other places in the system, and in those cases the equations will be slightly different.
Example: Gain
Here are some good examples of arbitrary gain values being used in physical systems:
 Volume Knob
 On your stereo there is a volume knob that controls the gain of your amplifier circuit. Higher levels of volume (turning the volume "up") corresponds to higher amplification of the sound signal.
 Gas Pedal
 The gas pedal in your car is an example of gain. Pressing harder on the gas pedal causes the engine to receive more gas, and causes the engine to output higher RPMs.
 Brightness Buttons
 Most computer monitors come with brightness buttons that control how bright the screen image is. More brightness causes more power to be outputed to the screen.
Responses to Gain
As the gain to a system increases, generally the risetime decreases, the percent overshoot increases, and the settling time increases. However, these relationships are not always the same. A critically damped system, for example, may decrease in rise time while not experiencing any effects of percent overshoot or settling time.
Gain and Stability
If the gain increases to a high enough extent, some systems can become unstable. We will examine this effect in the chapter on Root Locus. But it will decrease the steady state error.
Conditional Stability
Systems that are stable for some gain values, and unstable for other values are called conditionally stable systems. The stability is conditional upon the value of the gain, and oftentimes the threshold where the system becomes unstable is important to find.
Block Diagrams
When designing or analyzing a system, often it is useful to model the system graphically. Block Diagrams are a useful and simple method for analyzing a system graphically. A "block" looks on paper exactly how it sounds:
Systems in Series
When two or more systems are in series, they can be combined into a single representative system, with a transfer function that is the product of the individual systems.
If we have two systems, f(t) and g(t), we can put them in series with one another so that the output of system f(t) is the input to system g(t). Now, we can analyze them depending on whether we are using our classical or modern methods.
If we define the output of the first system as h(t), we can define h(t) as:
Now, we can define the system output y(t) in terms of h(t) as:
We can expand h(t):
But, since convolution is associative, we can rewrite this as:
Our system can be simplified therefore as such:
Series Transfer Functions
If two or more systems are in series with one another, the total transfer function of the series is the product of all the individual system transfer functions.
In the time domain we know that:
But, in the frequency domain we know that convolution becomes multiplication, so we can rewrite this as:
We can represent our system in the frequency domain as:
Series State Space
If we have two systems in series (say system F and system G), where the output of F is the input to system G, we can write out the statespace equations for each individual system.
System 1:
System 2:
And we can write substitute these equations together form the complete response of system H, that has input u, and output y_{G}:
[Series state equation]
[Series output equation]
Systems in Parallel
Blocks may not be placed in parallel without the use of an adder. Blocks connected by an adder as shown above have a total transfer function of:
Since the Laplace transform is linear, we can easily transfer this to the time domain by converting the multiplication to convolution:
State Space Model
The statespace equations, with nonzero A, B, C, and D matrices conceptually model the following system:
In this image, the strangelooking block in the center is either an integrator or an ideal delay, and can be represented in the transfer domain as:
 or
Depending on the time characteristics of the system. If we only consider continuoustime systems, we can replace the funny block in the center with an integrator:
In the Laplace Domain
The state space model of the above system, if A, B, C, and D are transfer functions A(s), B(s), C(s) and D(s) of the individual subsystems, and if U(s) and Y(s) represent a single input and output, can be written as follows:
We will explain how we got this result, and how we deal with feedforward and feedback loop structures in the next chapter.
Adders and Multipliers
Some systems may have dedicated summation or multiplication devices, that automatically add or multiply the transfer functions of multiple systems together
Simplifying Block Diagrams
Block diagrams can be systematically simplified. Note that this table is from Schaum's Outline: Feedback and Controls Systems by DiStefano et al
External Sites
SISO Block Diagram with transfer functions on ControlTheoryPro.com
Feedback Loops
Feedback
A feedback loop is a common and powerful tool when designing a control system. Feedback loops take the system output into consideration, which enables the system to adjust its performance to meet a desired output response.
When talking about control systems it is important to keep in mind that engineers typically are given existing systems such as actuators, sensors, motors, and other devices with set parameters, and are asked to adjust the performance of those systems. In many cases, it may not be possible to open the system (the "plant") and adjust it from the inside: modifications need to be made external to the system to force the system response to act as desired. This is performed by adding controllers, compensators, and feedback structures to the system.
Basic Feedback Structure
This is a basic feedback structure. Here, we are using the output value of the system to help us prepare the next output value. In this way, we can create systems that correct errors. Here we see a feedback loop with a value of one. We call this a unity feedback.
Here is a list of some relevant vocabulary, that will be used in the following sections:
 Plant
 The term "Plant" is a carryover term from chemical engineering to refer to the main system process. The plant is the preexisting system that does not (without the aid of a controller or a compensator) meet the given specifications. Plants are usually given "as is", and are not changeable. In the picture above, the plant is denoted with a P.
 Controller
 A controller, or a "compensator" is an additional system that is added to the plant to control the operation of the plant. The system can have multiple compensators, and they can appear anywhere in the system: Before the pickoff node, after the summer, before or after the plant, and in the feedback loop. In the picture above, our compensator is denoted with a C.
 Summer
 A summer is a symbol on a system diagram, (denoted above with parenthesis) that conceptually adds two or more input signals, and produces a single sum output signal.
 Pickoff node
 A pickoff node is simply a fancy term for a split in a wire.
 Forward Path
 The forward path in the feedback loop is the path after the summer, that travels through the plant and towards the system output.
 Reverse Path
 The reverse path is the path after the pickoff node, that loops back to the beginning of the system. This is also known as the "feedback path".
 Unity feedback
 When the multiplicative value of the feedback path is 1.
Negative vs Positive Feedback
It turns out that negative feedback is almost always the most useful type of feedback. When we subtract the value of the output from the value of the input (our desired value), we get a value called the error signal. The error signal shows us how far off our output is from our desired input.
Positive feedback has the property that signals tend to reinforce themselves, and grow larger. In a positive feedback system, noise from the system is added back to the input, and that in turn produces more noise. As an example of a positive feedback system, consider an audio amplification system with a speaker and a microphone. Placing the microphone near the speaker creates a positive feedback loop, and the result is a sound that grows louder and louder. Because the majority of noise in an electrical system is highfrequency, the sound output of the system becomes highpitched.
Example: StateSpace Equation
In the previous chapter, we showed you this picture:
Now, we will derive the I/O relationship into the statespace equations. If we examine the innermost feedback loop, we can see that the forward path has an integrator system, , and the feedback loop has the matrix value A. If we take the transfer function only of this loop, we get:
Premultiplying by the factor B, and postmultiplying by C, we get the transfer function of the entire lowerhalf of the loop:
We can see that the upper path (D) and the lowerpath T_{lower} are added together to produce the final result:
Now, for an alternate method, we can assume that x' is the value of the innerfeedback loop, right before the integrator. This makes sense, since the integral of x' should be x (which we see from the diagram that it is. Solving for x', with an input of u, we get:
This is because the value coming from the feedback branch is equal to the value x times the feedback loop matrix A, and the value coming from the left of the sumer is the input u times the matrix B.
If we keep things in terms of x and u, we can see that the system output is the sum of u times the feedforward value D, and the value of x times the value C:
These last two equations are precisely the statespace equations of our system.
Feedback Loop Transfer Function
We can solve for the output of the system by using a series of equations:
and when we solve for Y(s) we get:
[Feedback Transfer Function]
The reader is encouraged to use the above equations to derive the result by themselves.
The function E(s) is known as the error signal. The error signal is the difference between the system output (Y(s)), and the system input (X(s)). Notice that the error signal is now the direct input to the system G(s). X(s) is now called the reference input. The purpose of the negative feedback loop is to make the system output equal to the system input, by identifying large differences between X(s) and Y(s) and correcting for them.
Example: Elevator
Here is a simple example of reference inputs and feedback systems:
There is an elevator in a certain building with 5 floors. Pressing button "1" will take you to the first floor, and pressing button "5" will take you to the fifth floor, etc. For reasons of simplicity, only one button can be pressed at a time.
Pressing a particular button is the reference input of the system. Pressing "1" gives the system a reference input of 1, pressing "2" gives the system a reference input of 2, etc. The elevator system then, tries to make the output (the physical floor location of the elevator) match the reference input (the button pressed in the elevator). The error signal, e(t), represents the difference between the reference input x(t), and the physical location of the elevator at time t, y(t).
Let's say that the elevator is on the first floor, and the button "5" is pressed at time t_{0}. The reference input then becomes a step function:
Where we are measuring in units of "floors". At time t_{0}, the error signal is:
Which means that the elevator needs to travel upwards 4 more floors. At time t_{1}, when the elevator is at the second floor, the error signal is:
Which means the elevator has 3 more floors to go. Finally, at time t_{4}, when the elevator reaches the top, the error signal is:
And when the error signal is zero, the elevator stops moving. In essence, we can define three cases:
 e(t) is positive: In this case, the elevator goes up one floor, and checks again.
 e(t) is zero: The elevator stops.
 e(t) is negative: The elevator goes down one floor, and checks again.
StateSpace Feedback Loops
In the statespace representation, the plant is typically defined by the statespace equations:
The plant is considered to be preexisting, and the matrices A, B, C, and D are considered to be internal to the plant (and therefore unchangeable). Also, in a typical system, the state variables are either fictional (in the sense of dummyvariables), or are not measurable. For these reasons, we need to add external components, such as a gain element, or a feedback element to the plant to enhance performance.
Consider the addition of a gain matrix K installed at the input of the plant, and a negative feedback element F that is multiplied by the system output y, and is added to the input signal of the plant. There are two cases:
 The feedback element F is subtracted from the input before multiplication of the K gain matrix.
 The feedback element F is subtracted from the input after multiplication of the K gain matrix.
In case 1, the feedback element F is added to the input before the multiplicative gain is applied to the input. If v is the input to the entire system, then we can define u as:
In case 2, the feeback element F is subtracted from the input after the multiplicative gain is applied to the input. If v is the input to the entire system, then we can define u as:
Open Loop vs Closed Loop
Let's say that we have the generalized system shown above. The top part, Gp(s) represents all the systems and all the controllers on the forward path. The bottom part, Gb(s) represents all the feedback processing elements of the system. The letter "K" in the beginning of the system is called the Gain. We will talk about the gain more in later chapters. We can define the ClosedLoop Transfer Function as follows:
[ClosedLoop Transfer Function]
If we "open" the loop, and break the feedback node, we can define the OpenLoop Transfer Function, as:
[OpenLoop Transfer Function]
We can redefine the closedloop transfer function in terms of this openloop transfer function:
These results are important, and they will be used without further explanation or derivation throughout the rest of the book.

 Changed the original open loop gain from Gp(s)Gb(s) to kGp(s). Rational: open loop gain eliminates the feedback loop, which means Gb(s) should no longer exist leaving the proportional controller, in this case K, and the plant, Gp(s).
Placement of a Controller
There are a number of different places where we could place an additional controller.

 In front of the system, before the feedback loop.
 Inside the feedback loop, in the forward path, before the plant.
 In the forward path, after the plant.
 In the feedback loop, in the reverse path.
 After the feedback loop.
Each location has certain benefits and problems, and hopefully we will get a chance to talk about all of them.
SecondOrder Systems
Damping Ratio
The damping ratio is defined by way of the sign zeta. The damping ratio gives us an idea about the nature of the transient response detailing the amount of overshoot & oscillation that the system will undergo. This is completely regardless time scaling. If zeta is:
zero, the system is undamped; zeta < 1, the system is underdamped; zeta = 1, the system is critically damped; zeta > 1, the system is overdamped;
Zeta is used in conjunction with the natural frequency to determine system properties. To find the zeta value you must first find the natural response! sadas
Natural Frequency
System Sensitivity
Signal Flow Diagrams
This page needs some pictures! if you have images of signalflow graphs that you would be willing to upload/donate, it would be appreciated. 
Signal Flow Diagrams
Signal Flow Diagrams are another method for visually representing a system. Signal Flow Diagrams are especially useful, because they allow for particular methods of analysis, such as Mason's Gain Formula.
Signal flow diagrams typically use curved lines to represent wires and systems, instead of using lines at rightangles, and boxes, respectively. Every curved line is considered to have a multiplier value, which can be a constant gain value, or an entire transfer function. Signals travel from one end of a line to the other, and lines that are placed in series with one another have their total multiplier values multiplied together (just like in block diagrams).
Signal flow diagrams help us to identify structures called "loops" in a system, which can be analyzed individually to determine the complete response of the system.
Mason's Gain Formula
Mason's rule is a rule for determining the gain of a system. Mason's rule can be used with block diagrams, but it is most commonly (and most easily) used with signal flow diagrams.
Forward Paths
A forward path is a path in the signal flow diagram that connects the input to the output without touching any single node or path more than once. A single system can have multiple forward paths.
Loops
A loop is a structure in a signal flow diagram that leads back to itself. A loop does not contain the beginning and ending points, and the end of the loop is the same node as the beginning of a loop.
Loops are said to touch if they share a node or a line in common.
The Loop gain is the total gain of the loop, as you travel from one point, around the loop, back to the starting point.
Delta Values
The Delta value of a system, denoted with a Greek Δ is computed as follows:
Where:
 A is the sum of all individual loop gains
 B is the sum of the products of all the pairs of nontouching loops
 C is the sum of the products of all the sets of 3 nontouching loops
 D is the sum of the products of all the sets of 4 nontouching loops
 et cetera.
If the given system has no pairs of loops that do not touch, for instance, B and all additional letters after B will be zero.
Mason's Rule
If we have computed our delta values (above), we can then use Mason's Gain Rule to find the complete gain of the system:
[Mason's Rule]
Where M is the total gain of the system, represented as the ratio of the output gain (y_{out}) to the input gain (y_{in}) of the system. M_{k} is the gain of the k^{th} forward path, and Δ_{k} is the loop gain of the k^{th} loop.
Bode Plots
Bode Plots
A Bode Plot is a useful tool that shows the gain and phase response of a given LTI system for different frequencies. Bode Plots are generally used with the Fourier Transform of a given system.
The frequency of the bode plots are plotted against a logarithmic frequency axis. Every tickmark on the frequency axis represents a power of 10 times the previous value. For instance, on a standard Bode plot, the values of the markers go from (0.1, 1, 10, 100, 1000, ...) Because each tickmark is a power of 10, they are referred to as a decade. Notice that the "length" of a decade decreases as you move to the right on the graph.
The bode Magnitude plot measures the system Input/Output ratio in special units called decibels. The Bode phase plot measures the phase shift in degrees (typically, but radians are also used).
Decibels
A Decibel is a ratio between two numbers on a logarithmic scale. A Decibel is not itself a number, and cannot be treated as such in normal calculations. To express a ratio between two numbers (A and B) as a decibel we apply the following formula:
Where dB is the decibel result.
Or, if we just want to take the decibels of a single number C, we could just as easily write:
Frequency Response Notations
If we have a system transfer function T(s), we can separate it into a numerator polynomial N(s) and a denominator polynomial D(s). We can write this as follows:
To get the magnitude gain plot, we must first transition the transfer function into the frequency response by using the change of variables:
From here, we can say that our frequency response is a composite of two parts, a real part R and an imaginary part X:
We will use these forms below.
StraightLine Approximations
The Bode magnitude and phase plots can be quickly and easily approximated by using a series of straight lines. These approximate graphs can be generated by following a few short, simple rules (listed below). Once the straightline graph is determined, the actual Bode plot is a smooth curve that follows the straight lines, and travels through the breakpoints.
Break Points
If the frequency response is in polezero form:
We say that the values for all z_{n} and p_{m} are called break points of the Bode plot. These are the values where the Bode plots experience the largest change in direction.
Break points are sometimes also called "break frequencies", "cutoff points", or "corner points".
Bode Gain Plots
Bode Gain Plots, or Bode Magnitude Plots display the ratio of the system gain at each input frequency.
Bode Gain Calculations
The magnitude of the transfer function T is defined as:
However, it is frequently difficult to transition a function that is in "numerator/denominator" form to "real+imaginary" form. Luckily, our decibel calculation comes in handy. Let's say we have a frequency response defined as a fraction with numerator and denominator polynomials defined as:
If we convert both sides to decibels, the logarithms from the decibel calculations convert multiplication of the arguments into additions, and the divisions into subtractions:
And calculating out the gain of each term and adding them together will give the gain of the system at that frequency.
Bode Gain Approximations
The slope of a straight line on a Bode magnitude plot is measured in units of dB/Decade, because the units on the vertical axis are dB, and the units on the horizontal axis are decades.
The value ω = 0 is infinitely far to the left of the bode plot (because a logarithmic scale never reaches zero), so finding the value of the gain at ω = 0 essentially sets that value to be the gain for the Bode plot from all the way on the left of the graph up till the first break point. The value of the slope of the line at ω = 0 is 0dB/Decade.
From each pole break point, the slope of the line decreases by 20dB/Decade. The line is straight until it reaches the next break point. From each zero break point the slope of the line increases by 20dB/Decade. Double, triple, or higher amounts of repeat poles and zeros affect the gain by multiplicative amounts. Here are some examples:
 2 poles: 40dB/Decade
 10 poles: 200dB/Decade
 5 zeros: +100dB/Decade
Bode Phase Plots
Bode phase plots are plots of the phase shift to an input waveform dependent on the frequency characteristics of the system input. Again, the Laplace transform does not account for the phase shift characteristics of the system, but the Fourier Transform can. The phase of a complex function, in "real+imaginary" form is given as:
Bode Procedure
Given a frequency response in polezero form:
Where A is a nonzero constant (can be negative or positive).
Here are the steps involved in sketching the approximate Bode magnitude plots:
Bode Magnitude Plots
 Step 1
 Factor the transfer function into polezero form.
 Step 2
 Find the frequency response from the Transfer function.
 Step 3
 Use logarithms to separate the frequency response into a sum of decibel terms
 Step 4
 Use to find the starting magnitude.
 Step 5
 The locations of every pole and every zero are called break points. At a zero breakpoint, the slope of the line increases by 20dB/Decade. At a pole, the slope of the line decreases by 20dB/Decade.
 Step 6
 At a zero breakpoint, the value of the actual graph differs from the value of the straightline graph by 3dB. A zero is +3dB over the straight line, and a pole is 3dB below the straight line.
 Step 7
 Sketch the actual bode plot as a smoothcurve that follows the straight lines of the previous point, and travels through the breakpoints.
Here are the steps to drawing the Bode phase plots:
Bode Phase Plots
 Step 1
 If A is positive, start your graph (with zero slope) at 0 degrees. If A is negative, start your graph with zero slope at 180 degrees (or 180 degrees, they are the same thing).
 Step 2
 For every zero, slope the line up at 45 degrees per decade when (1 decade before the break frequency). Multiple zeros means the slope is steeper.
 Step 3
 For every pole, slope the line down at 45 degrees per decade when (1 decade before the break frequency). Multiple poles means the slope is steeper.
 Step 4
 Flatten the slope again when the phase has changed by 90 degrees (for a zero) or 90 degrees (for a pole) (or larger values, for multiple poles or multiple zeros.
Examples
Example: Constant Gain
Draw the bode plot of an amplifier system, with a constant gain increase of 6dB.
Because the gain value is constant, and is not dependent on the frequency, we know that the value of the magnitude graph is constant at all places on the graph. There are no break points, so the slope of the graph never changes. We can draw the graph as a straight, horizontal line at 6dB:
Example: Integrator
Draw the bode plot of a perfect integrator system given by the transfer function:
First, we find the frequency response of the system, by a change of variables:
Then we convert our magnitude into logarithms:
Notice that the location of the break point for the pole is located at ω → 0, which is all the way to the left of the graph. Also, we notice that inserting 0 in for ω gives us an undefined value (which approaches negative infinity, as the limit). We know, because there is a single pole at zero, that the graph to the right of zero (which is everywhere) has a slope of 20dB/Decade. We can determine from our magnitude calculation by plugging in ω → 1 that the second term drops out, and the magnitude at that point is 6dB. We now have the slope of the line, and a point that it intersects, and we can draw the graph:
Example: Differentiator
Example: 1st Order, Lowpass Filter (1 Break Point)
Further Reading
Nichols Charts
Nichols Charts
This page will talk about the use of Nichols charts to analyze frequencydomain characteristics of control systems.
Stability
System stability is an important topic, because unstable systems may not perform correctly, and may actually be harmful to people. There are a number of different methods and tools that can be used to determine system stability, depending on whether you are in the statespace, or the complex domain.
Stability
Stability
When a system is unstable, the output of the system may be infinite even though the input to the system was finite. This cause a number of practical problems. For instance, a robot arm controller that is unstable may cause the robot to move dangerously. Also, systems that are unstable often incur a certain amount of physical damage, which can become costly. Nonetheless, many systems are inherently unstable  a fighter jet, for instance, or a rocket at liftoff, are examples of naturally unstable systems. Although we can design controllers that stabilize the system, it is first important to understand what stability is, how it is determined, and why it matters.
The chapters in this section are heavily mathematical, and many require a background in linear differential equations. Readers without a strong mathematical background might want to review the necessary chapters in the Calculus and Ordinary Differential Equations books (or equivalent) before reading this material.
For most of this chapter we will be assuming that the system is linear, and can be represented either by a set of transfer functions or in state space. Linear systems have an associated characteristic polynomial, and this polynomial tells us a great deal about the stability of the system. Negativeness of any coefficient of a characteristic polynomial indicates that the system is either unstable or at most marginally stable. If any coefficient is zero/negative then we can say that the system is unstable. It is important to note, though, that even if all of the coefficients of the characteristic polynomial are positive the system may still be unstable. We will look into this in more detail below.
BIBO Stability
A system is defined to be BIBO Stable if every bounded input to the system results in a bounded output over the time interval . This must hold for all initial times t_{o}. So long as we don't input infinity to our system, we won't get infinity output.
A system is defined to be uniformly BIBO Stable if there exists a positive constant k that is independent of t_{0} such that for all t_{0} the following conditions:
implies that
There are a number of different types of stability, and keywords that are used with the topic of stability. Some of the important words that we are going to be discussing in this chapter, and the next few chapters are: BIBO Stable, Marginally Stable, Conditionally Stable, Uniformly Stable, Asymptoticly Stable, and Unstable. All of these words mean slightly different things.
Determining BIBO Stability
We can prove mathematically that a system f is BIBO stable if an arbitrary input x is bounded by two finite but large arbitrary constants M and M:
We apply the input x, and the arbitrary boundaries M and M to the system to produce three outputs:
Now, all three outputs should be finite for all possible values of M and x, and they should satisfy the following relationship:
If this condition is satisfied, then the system is BIBO stable.
A SISO linear timeinvariant (LTI) system is BIBO stable if and only if is absolutely integrable from [0,∞] or from:
Example
Consider the system:
We can apply our test, selecting an arbitrarily large finite constant M, and an arbitrary input x such that M < x < M.
As M approaches infinity (but does not reach infinity), we can show that:
And:
So now, we can write out our inequality:
And this inequality should be satisfied for all possible values of x. However, we can see that when x is zero, we have the following:
Which means that x is between M and M, but the value y_{x} is not between y_{M} and y_{M}. Therefore, this system is not stable.
Poles and Stability
When the poles of the closedloop transfer function of a given system are located in the righthalf of the Splane (RHP), the system becomes unstable. When the poles of the system are located in the lefthalf plane (LHP) and the system is not improper, the system is shown to be stable. A number of tests deal with this particular facet of stability: The RouthHurwitz Criteria, the RootLocus, and the Nyquist Stability Criteria all test whether there are poles of the transfer function in the RHP. We will learn about all these tests in the upcoming chapters.
If the system is a multivariable, or a MIMO system, then the system is stable if and only if every pole of every transfer function in the transfer function matrix has a negative real part and every transfer function in the transfer function matrix is not improper. For these systems, it is possible to use the RouthHurwitz, Root Locus, and Nyquist methods described later, but these methods must be performed once for each individual transfer function in the transfer function matrix.
Poles and Eigenvalues
Every pole of G(s) is an eigenvalue of the system matrix A. However, not every eigenvalue of A is a pole of G(s).
The poles of the transfer function, and the eigenvalues of the system matrix A are related. In fact, we can say that the eigenvalues of the system matrix A are the poles of the transfer function of the system. In this way, if we have the eigenvalues of a system in the statespace domain, we can use the RouthHurwitz, and Root Locus methods as if we had our system represented by a transfer function instead.
On a related note, eigenvalues and all methods and mathematical techniques that use eigenvalues to determine system stability only work with timeinvariant systems. In systems which are timevariant, the methods using eigenvalues to determine system stability fail.
Transfer Functions Revisited
We are going to have a brief refesher here about transfer functions, because several of the later chapters will use transfer functions for analyzing system stability.
Let us remember our generalized feedbackloop transfer function, with a gain element of K, a forward path Gp(s), and a feedback of Gb(s). We write the transfer function for this system as:
Where is the closedloop transfer function, and is the openloop transfer function. Again, we define the openloop transfer function as the product of the forward path and the feedback elements, as such:
 <Note this definition now contradicts the updated definition in the "Feedback" section.
Now, we can define F(s) to be the characteristic equation. F(s) is simply the denominator of the closedloop transfer function, and can be defined as such:
[Characteristic Equation]
We can say conclusively that the roots of the characteristic equation are the poles of the transfer function. Now, we know a few simple facts:
 The locations of the poles of the closedloop transfer function determine if the system is stable or not
 The zeros of the characteristic equation are the poles of the closedloop transfer function.
 The characteristic equation is always a simpler equation than the closedloop transfer function.
These functions combined show us that we can focus our attention on the characteristic equation, and find the roots of that equation.
StateSpace and Stability
As we have discussed earlier, the system is stable if the eigenvalues of the system matrix A have negative real parts. However, there are other stability issues that we can analyze, such as whether a system is uniformly stable, asymptotically stable, or otherwise. We will discuss all these topics in a later chapter.
Marginal Stablity
When the poles of the system in the complex SDomain exist on the complex frequency axis (the vertical axis), or when the eigenvalues of the system matrix are imaginary (no real part), the system exhibits oscillatory characteristics, and is said to be marginally stable. A marginally stable system may become unstable under certain circumstances, and may be perfectly stable under other circumstances. It is impossible to tell by inspection whether a marginally stable system will become unstable or not.
We will discuss marginal stability more in the following chapters.
RouthHurwitz Criterion
Stability Criteria
The RouthHurwitz stability criterion provides a simple algorithm to decide whether or not the zeros of a polynomial are all in the left half of the complex plane (such a polynomial is called at times "Hurwitz"). A Hurwitz polynomial is a key requirement for a linear continuoustime time invariant to be stable (all bounded inputs produce bounded outputs).
 Necessary stability conditions
 Conditions that must hold for a polynomial to be Hurwitz.
If any of them fails  the polynomial is not stable. However, they may all hold without implying stability.
 Sufficient stability conditions
 Conditions that if met imply that the polynomial is stable. However, a polynomial may be stable without implying some or any of them.
The Routh criteria provides condition that are both necessary and sufficient for a polynomial to be Hurwitz.
RouthHurwitz Criteria
The RouthHurwitz criteria is comprised of three separate tests that must be satisfied. If any single test fails, the system is not stable and further tests need not be performed. For this reason, the tests are arranged in order from the easiest to determine to the hardest.
The Routh Hurwitz test is performed on the denominator of the transfer function, the characteristic equation. For instance, in a closedloop transfer function with G(s) in the forward path, and H(s) in the feedback loop, we have:
If we simplify this equation, we will have an equation with a numerator N(s), and a denominator D(s):
The RouthHurwitz criteria will focus on the denominator polynomial D(s).
RouthHurwitz Tests
Here are the three tests of the RouthHurwitz Criteria. For convenience, we will use N as the order of the polynomial (the value of the highest exponent of s in D(s)). The equation D(s) can be represented generally as follows:
 Rule 1
 All the coefficients a_{i} must be present (nonzero)
 Rule 2
 All the coefficients a_{i} must be positive (equivalently all of them must be negative, with no sign change)
 Rule 3
 If Rule 1 and Rule 2 are both satisfied, then form a Routh array from the coefficients a_{i}. There is one pole in the righthand splane for every sign change of the members in the first column of the Routh array (any sign changes, therefore, mean the system is unstable).
We will explain the Routh array below.
The Routh Array
The Routh array is formed by taking all the coefficients a_{i} of D(s), and staggering them in array form. The final columns for each row should contain zeros:
Therefore, if N is odd, the top row will be all the odd coefficients. If N is even, the top row will be all the even coefficients. We can fill in the remainder of the Routh Array as follows:
Now, we can define all our b, c, and other coefficients, until we reach row s^{0}. To fill them in, we use the following formulae:
And
For each row that we are computing, we call the leftmost element in the row directly above it the pivot element. For instance, in row b, the pivot element is a_{N1}, and in row c, the pivot element is b_{N1} and so on and so forth until we reach the bottom of the array.
To obtain any element, we negate the determinant of the following matrix, and divide by the pivot element:
Where:
 k is the leftmost element two rows above the current row.
 l is the pivot element.
 m is the element two rows up, and one column to the right of the current element.
 n is the element one row up, and one column to the right of the current element.
In terms of k l m n, our equation is:
Example: Calculating C_{N3}
To calculate the value C_{N3}, we must determine the values for k l m and n:
 k is the leftmost element two rows up: a_{N1}
 l the pivot element, is the leftmost element one row up: b_{N1}
 m is the element from onecolumn to the right, and up two rows: a_{N5}
 n is the element one column right, and one row up: b_{N5}
Plugging this into our equation gives us the formula for C_{N3}:
Example: Stable Third Order System
We are given a system with the following characteristic equation:
Using the first two requirements, we see that all the coefficients are nonzero, and all of the coefficients are positive. We will proceed then to construct the RouthArray:
And we can calculate out all the coefficients:
And filling these values into our Routh Array, we can determine whether the system is stable:
From this array, we can clearly see that all of the signs of the first column are positive, there are no sign changes, and therefore there are no poles of the characteristic equation in the RHP.
Special Case: Row of All Zeros
If, while calculating our RouthHurwitz, we obtain a row of all zeros, we do not stop, but can actually learn more information about our system. If we obtain a row of all zeros, we can replace the zeros with a value ε, that we define as being an infinitely small positive number. We can use the value of epsilon in our equations, and when we are done constructing the Routh Array, we can take the limit as epsilon approaches 0 to determine the final format of our Routh array.
If we have a row of all zeros, the row directly above it is known as the Auxiliary Polynomial, and can be very helpful. The roots of the auxiliary polynomial give us the precise locations of complex conjugate roots that lie on the jω axis. However, one important point to notice is that if there are repeated roots on the jω axis, the system is actually unstable. Therefore, we must use the auxiliary polynomial to determine whether the roots are repeated or not.
Special Case: Zero in the First Column
In this special case, there is a zero in the first column of the Routh Array, but the other elements of that row are nonzero. Like the above case, we can replace the zero with a small variable epsilon (ε) and use that variable to continue our calculations. After we have constructed the entire array, we can take the limit as epsilon approaches zero to get our final values.
Root Locus
The Problem
Consider a system like a radio. The radio has a "volume" knob, that controls the amount of gain of the system. High volume means more power going to the speakers, low volume means less power to the speakers. As the volume value increases, the poles of the transfer function of the radio change, and they might potentially become unstable. We would like to find out if the radio becomes unstable, and if so, we would like to find out what values of the volume cause it to become unstable. Our current methods would require us to plug in each new value for the volume (gain, "K"), and solve the openloop transfer function for the roots. This process can be a long one. Luckily, there is a method called the rootlocus method, that allows us to graph the locations of all the poles of the system for all values of gain, K.
RootLocus
As we change gain, we notice that the system poles and zeros actually move around in the Splane. This fact can make life particularly difficult, when we need to solve higherorder equations repeatedly, for each new gain value. The solution to this problem is a technique known as RootLocus graphs. RootLocus allows you to graph the locations of the poles and zeros for every value of gain, by following several simple rules. As we know that a fan switch also can control the speed of the fan.
Let's say we have a closedloop transfer function for a particular system:
Where N is the numerator polynomial and D is the denominator polynomial of the transfer functions, respectively. Now, we know that to find the poles of the equation, we must set the denominator to 0, and solve the characteristic equation. In other words, the locations of the poles of a specific equation must satisfy the following relationship:
from this same equation, we can manipulate the equation as such:
And finally by converting to polar coordinates:
Now we have 2 equations that govern the locations of the poles of a system for all gain values:
[The Magnitude Equation]
[The Angle Equation]
Digital Systems
The same basic method can be used for considering digital systems in the Zdomain:
Where N is the numerator polynomial in z, D is the denominator polynomial in z, and is the openloop transfer function of the system, in the Z domain.
The denominator D(z), by the definition of the characteristic equation is equal to:
We can manipulate this as follows:
We can now convert this to polar coordinates, and take the angle of the polynomial:
We are now left with two important equations:
[The Magnitude Equation]
[The Angle Equation]
If you will compare the two, the Zdomain equations are nearly identical to the Sdomain equations, and act exactly the same. For the remainder of the chapter, we will only consider the Sdomain equations, with the understanding that digital systems operate in nearly the same manner.
The RootLocus Procedure
In this section, the rules for the SPlane and the Zplane are the same, so we won't refer to the differences between them.
In the transform domain (see note at right), when the gain is small, the poles start at the poles of the openloop transfer function. When gain becomes infinity, the poles move to overlap the zeros of the system. This means that on a rootlocus graph, all the poles move towards a zero. Only one pole may move towards one zero, and this means that there must be the same number of poles as zeros.
If there are fewer zeros than poles in the transfer function, there are a number of implicit zeros located at infinity, that the poles will approach.
First thing, we need to convert the magnitude equation into a slightly more convenient form:
We generally use capital letters for functions in the frequency domain, but a(s) and b(s) are unimportant enough to be lowercase.
Now, we can assume that G(s)H(s) is a fraction of some sort, with a numerator and a denominator that are both polynomials. We can express this equation using arbitrary functions a(s) and b(s), as such:
We will refer to these functions a(s) and b(s) later in the procedure.
We can start drawing the rootlocus by first placing the roots of b(s) on the graph with an 'X'. Next, we place the roots of a(s) on the graph, and mark them with an 'O'.
poles are marked on the graph with an 'X' and zeros are marked with an 'O' by common convention. These letters have no particular meaning 
Next, we examine the realaxis. starting from the righthand side of the graph and traveling to the left, we draw a rootlocus line on the realaxis at every point to the left of an odd number of poles or zeros on the realaxis. This may sound tricky at first, but it becomes easier with practice.
double poles or double zeros count as two. 
Now, a rootlocus line starts at every pole. Therefore, any place that two poles appear to be connected by a root locus line on the realaxis, the two poles actually move towards each other, and then they "break away", and move off the axis. The point where the poles break off the axis is called the breakaway point. From here, the root locus lines travel towards the nearest zero.
It is important to note that the splane is symmetrical about the real axis, so whatever is drawn on the tophalf of the Splane, must be drawn in mirrorimage on the bottomhalf plane.
Once a pole breaks away from the real axis, they can either travel out towards infinity (to meet an implicit zero), or they can travel to meet an explicit zero, or they can rejoin the realaxis to meet a zero that is located on the realaxis. If a pole is traveling towards infinity, it always follows an asymptote. The number of asymptotes is equal to the number of implicit zeros at infinity.
Root Locus Rules
Here is the complete set of rules for drawing the rootlocus graph. We will use p and z to denote the number of poles and the number of zeros of the openloop transfer function, respectively. We will use P_{i} and Z_{i} to denote the location of the ith pole and the ith zero, respectively. Likewise, we will use ψ_{i} and ρ_{i} to denote the angle from a given point to the ith pole and zero, respectively. All angles are given in radians (π denotes π radians).
There are 11 rules that, if followed correctly, will allow you to create a correct rootlocus graph.
 Rule 1
 There is one branch of the rootlocus for every root of b(s).
 Rule 2
 The roots of b(s) are the poles of the openloop transfer function. Mark the roots of b(s) on the graph with an X.
 Rule 3
 The roots of a(s) are the zeros of the openloop transfer function. Mark the roots of a(s) on the graph with an O. There should be a number of O's less than or equal to the number of X's. There is a number of zeros p  z located at infinity. These zeros at infinity are called "implicit zeros". All branches of the rootlocus will move from a pole to a zero (some branches, therefore, may travel towards infinity).
 Rule 4
 A point on the real axis is a part of the rootlocus if it is to the left of an odd number of poles and zeros.
 Rule 5
 The gain at any point on the root locus can be determined by the inverse of the absolute value of the magnitude equation.
 Rule 6
 The rootlocus diagram is symmetric about the realaxis. All complex roots are conjugates.
 Rule 7
 Two roots that meet on the realaxis will break away from the axis at certain breakaway points. If we set s → σ (no imaginary part), we can use the following equation:
 And differentiate to find the local maximum:
 Rule 8
 The breakaway lines of the root locus are separated by angles of , where α is the number of poles intersecting at the breakaway point.
 Rule 9
 The breakaway rootloci follow asymptotes that intersect the real axis at angles φ_{ω} given by:
 The origin of these asymptotes, OA, is given as the sum of the pole locations, minus the sum of the zero locations, divided by the difference between the number of poles and zeros:
 The OA point should lie on the real axis.
 Rule 10
 The branches of the root locus cross the imaginary axis at points where the angle equation value is π (i.e., 180^{o}).
 Rule 11
 The angles that the root locus branch makes with a complexconjugate pole or zero is determined by analyzing the angle equation at a point infinitessimally close to the pole or zero. The angle of departure, φ_{d} is given by the following equation:
 The angle of arrival, φ_{a}, is given by:
We will explain these rules in the rest of the chapter.
Root Locus Equations
Here are the two major equations:
[Root Locus Equations]

SDomain Equations ZDomain Equations
Note that the sum of the angles of all the poles and zeros must equal to 180.
Number of Asymptotes
If the number of explicit zeros of the system is denoted by Z (uppercase z), and the number of poles of the system is given by P, then the number of asymptotes (N_{a}) is given by:
[Number of Asymptotes]
The angles of the asymptotes are given by:
[Angle of Asymptotes]
for values of .
The angles for the asymptotes are measured from the positive realaxis 
Asymptote Intersection Point
The asymptotes intersect the real axis at the point:
[Origin of Asymptotes]
Where is the sum of all the locations of the poles, and is the sum of all the locations of the explicit zeros.
Breakaway Points
The breakaway points are located at the roots of the following equation:
[Breakaway Point Locations]
 or
Once you solve for z, the real roots give you the breakaway/reentry points. Complex roots correspond to a lack of breakaway/reentry.
The breakaway point equation can be difficult to solve, so many times the actual location is approximated.
Root Locus and Stability
The root locus procedure should produce a graph of where the poles of the system are for all values of gain K. When any or all of the roots of D are in the unstable region, the system is unstable. When any of the roots are in the marginally stable region, the system is marginally stable (oscillatory). When all of the roots of D are in the stable region, then the system is stable.
It is important to note that a system that is stable for gain K_{1} may become unstable for a different gain K_{2}. Some systems may have poles that cross over from stable to unstable multiple times, giving multiple gain values for which the system is unstable.
Here is a quick refresher:

Region SDomain ZDomain Stable Region LeftHand S Plane Inside the Unit Circle Marginally Stable Region The vertical axis The Unit Circle Unstable Region RightHand S Plane Outside the Unit Circle,
Examples
Example 1: FirstOrder System
Find the rootlocus of the openloop system:
If we look at the characteristic equation, we can quickly solve for the single pole of the system:
We plot that point on our rootlocus graph, and everything on the real axis to the left of that single point is on the root locus (from the rules, above). Therefore, the root locus of our system looks like this:
From this image, we can see that for all values of gain this system is stable.
Example 2: Third Order System
We are given a system with three real poles, shown by the transfer function:
Is this system stable?
To answer this question, we can plot the rootlocus. First, we draw the poles on the graph at locations 1, 2, and 3. The realaxis between the first and second poles is on the rootlocus, as well as the real axis to the left of the third pole. We know also that there is going to be breakaway from the real axis at some point. The origin of asymptotes is located at:
 ,
and the angle of the asymptotes is given by:
We know that the breakaway occurs between the first and second poles, so we will estimate the exact breakaway point. Drawing the rootlocus gives us the graph below.
We can see that for low values of gain the system is stable, but for higher values of gain, the system becomes unstable.
Example: ComplexConjugate Zeros
Find the rootlocus graph for the following system transfer function:
If we look at the denominator, we have poles at the origin, 1, and 2. Following Rule 4, we know that the realaxis between the first two poles, and the real axis after the third pole are all on the rootlocus. We also know that there is going to be a breakaway point between the first two poles, so that they can approach the complex conjugate zeros. If we use the quadratic equation on the numerator, we can find that the zeros are located at:
If we draw our graph, we get the following:
We can see from this graph that the system is stable for all values of K.
Example: RootLocus Using MATLAB/Octave
Use MATLAB, Octave, or another piece of mathematical simulation software to produce the rootlocus graph for the following system:
First, we must multiply through in the denominator:
Now, we can generate the coefficient vectors from the numerator and denominator:
num = [0 0 1 2]; den = [1 5 8 6];
Next, we can feed these vectors into the rlocus command:
rlocus(num, den);
Note:In Octave, we need to create a system structure first, by typing:
sys = tf(num, den); rlocus(sys);
Either way, we generate the following graph:
Nyquist Criterion
Nyquist Stability Criteria
The Nyquist Stability Criteria is a test for system stability, just like the RouthHurwitz test, or the RootLocus Methodology. However, the Nyquist Criteria can also give us additional information about a system. RouthHurwitz and RootLocus can tell us where the poles of the system are for particular values of gain. By altering the gain of the system, we can determine if any of the poles move into the RHP, and therefore become unstable. The Nyquist Criteria, however, can tell us things about the frequency characteristics of the system. For instance, some systems with constant gain might be stable for lowfrequency inputs, but become unstable for highfrequency inputs.
Here is an example of a system responding differently to different frequency input values: Consider an ordinary glass of water. If the water is exposed to ordinary sunlight, it is unlikely to heat up too much. However, if the water is exposed to microwave radiation (from inside your microwave oven, for instance), the water will quickly heat up to a boil.
Also, the Nyquist Criteria can tell us things about the phase of the input signals, the timeshift of the system, and other important information.
Contours
A contour is a complicated mathematical construct, but luckily we only need to worry ourselves with a few points about them. We will denote contours with the Greek letter Γ (gamma). Contours are lines, drawn on a graph, that follow certain rules:
 The contour must close (it must form a complete loop)
 The contour may not cross directly through a pole of the system.
 Contours must have a direction (clockwise or counterclockwise, generally).
 A contour is called "simple" if it has no selfintersections. We only consider simple contours here.
Once we have such a contour, we can develop some important theorems about them, and finally use these theorems to derive the Nyquist stability criterion.
Argument Principle
Here is the argument principle, which we will use to derive the stability criterion. Do not worry if you do not understand all the terminology, we will walk through it:
 The Argument Principle
 If we have a contour, Γ, drawn in one plane (say the complex laplace plane, for instance), we can map that contour into another plane, the F(s) plane, by transforming the contour with the function F(s). The resultant contour, will circle the origin point of the F(s) plane N times, where N is equal to the difference between Z and P (the number of zeros and poles of the function F(s), respectively).
When we have our contour, Γ, we transform it into by plugging every point of the contour into the function F(s), and taking the resultant value to be a point on the transformed contour.
Example: First Order System
Let's say, for instance, that Γ is a unit square contour in the complex s plane. The vertices of the square are located at points I,J,K,L, as follows:
we must also specify the direction of our contour, and we will say (arbitrarily) that it is a clockwise contour (travels from I to J to K to L). We will also define our transform function, F(s), to be the following:
We can factor the denominator of F(s), and we can show that there is one zero at s → 0.5, and no poles. Plotting this root on the same graph as our contour, we see clearly that it lies within the contour. Since s is a complex variable, defined with real and imaginary parts as:
We know that F(s) must also be complex. We will say, for reasons of simplicity, that the axes in the F(s) plane are u and v, and are related as such:
From this relationship, we can define u and v in terms of σ and ω:
Now, to transform Γ, we will plug every point of the contour into F(s), and the resultant values will be the points of . We will solve for complex values u and v, and we will start with the vertices, because they are the simplest examples:
We can take the lines in between the vertices as a function of s, and plug the entire function into the transform. Luckily, because we are using straight lines, we can simplify very much:
 Line from I to J:
 Line from J to K:
 Line from K to L:
 Line from L to I:
And when we graph these functions, from vertex to vertex, we see that the resultant contour in the F(s) plane is a square, but not centered at the origin, and larger in size. Notice how the contour encircles the origin of the F(s) plane one time. This will be important later on.
Example:SecondOrder System
Let's say that we have a slightly more complicated mapping function:
We can see clearly that F(s) has a zero at s → 0.5, and a complex conjugate set of poles at s → 0.5 + j0.5 and s → 0.5  j0.5. We will use the same unit square contour, Γ, from above:
We can see clearly that the poles and the zero of F(s) lie within Γ. Setting F(s) to u + jv and solving, we get the following relationships:
This is a little difficult now, because we need to simplify this whole expression, and separate it out into real and imaginary parts. There are two methods to doing this, neither of which is short or easy enough to demonstrate here to entirety:
 We convert the numerator and denominator polynomials into a polar representation in terms of r and θ, then perform the division, and then convert back into rectangular format.
 We plug each segment of our contour into this equation, and simplify numerically.
The Nyquist Contour
The Nyquist contour, the contour that makes the entire nyquist criterion work, must encircle the entire unstable region of the complex plane. For analog systems, this is the right half of the complex s plane. For digital systems, this is the entire plane outside the unit circle. Remember that if a pole to the closedloop transfer function (or equivalently a zero of the characteristic equation) lies in the unstable region of the complex plane, the system is an unstable system.
 Analog Systems
 The Nyquist contour for analog systems is an infinite semicircle that encircles the entire righthalf of the s plane. The semicircle travels up the imaginary axis from negative infinity to positive infinity. From positive infinity, the contour breaks away from the imaginary axis, in the clockwise direction, and forms a giant semicircle.
 Digital Systems
 The Nyquist contour in digital systems is a counterclockwise encirclement of the unit circle.
Nyquist Criteria
Let us first introduce the most important equation when dealing with the Nyquist criterion:
Where:
 N is the number of encirclements of the (1, 0) point.
 Z is the number of zeros of the characteristic equation.
 P is the number of poles in the of the openloop characteristic equation.
With this equation stated, we can now state the Nyquist Stability Criterion:
 Nyquist Stability Criterion
 A feedback control system is stable, if and only if the contour in the F(s) plane does not encircle the (1, 0) point when P is 0.
 A feedback control system is stable, if and only if the contour in the F(s) plane encircles the (1, 0) point a number of times equal to the number of poles of F(s) enclosed by Γ.
In other words, if P is zero then N must equal zero. Otherwise, N must equal P. Essentially, we are saying that Z must always equal zero, because Z is the number of zeros of the characteristic equation (and therefore the number of poles of the closedloop transfer function) that are in the righthalf of the s plane.
Keep in mind that we don't necessarily know the locations of all the zeros of the characteristic equation. So if we find, using the nyquist criterion, that the number of poles is not equal to N, then we know that there must be a zero in the righthalf plane, and that therefore the system is unstable.
Nyquist ↔ Bode
A careful inspection of the Nyquist plot will reveal a surprising relationship to the Bode plots of the system. If we use the Bode phase plot as the angle θ, and the Bode magnitude plot as the distance r, then it becomes apparent that the Nyquist plot of a system is simply the polar representation of the Bode plots.
To obtain the Nyquist plot from the Bode plots, we take the phase angle and the magnitude value at each frequency ω. We convert the magnitude value from decibels back into gain ratios. Then, we plot the ordered pairs (r, θ) on a polar graph.
Nyquist in the Z Domain
The Nyquist Criteria can be utilized in the digital domain in a similar manner as it is used with analog systems. The primary difference in using the criteria is that the shape of the Nyquist contour must change to encompass the unstable region of the Z plane. Therefore, instead of an infinitesimal semicircle, the Nyquist contour for digital systems is a counterclockwise unit circle. By changing the shape of the contour, the same N = Z  P equation holds true, and the resulting Nyquist graph will typically look identical to one from an analog system, and can be interpreted in the same way.
Controllers and Compensators
There are a number of preexisting devices for use in system control, such as lead and lag compensators, and powerful PID controllers. PID controllers are so powerful that many control engineers may use no other method of system control! The chapters in this section will discuss some of the common types of system compensators and controllers.
System Specifications
System Specification
There are a number of different specifications that might need to be met by a new system design. In this chapter we will talk about some of the specifications that systems use, and some of the ways that engineers analyze and quantify systems.
SteadyState Accuracy
Sensitivity
The sensitivity of a system is a parameter that is specified in terms of a given output and a given input. The sensitivity measures how much change is caused in the output by small changes to the reference input. Sensitive systems have very large changes in output in response to small changes in the input. The sensitivity of system H to input X is denoted as:
Disturbance Rejection
All physicallyrealized systems have to deal with a certain amount of noise and disturbance. The ability of a system to ignore the noise is known as the disturbance rejection of the system.
Control Effort
The control effort is the amount of energy or power necessary for the controller to perform its duty.
Controllers
Controllers
There are a number of different standard types of control systems that have been studied extensively. These controllers, specifically the P, PD, PI, and PID controllers are very common in the production of physical systems, but as we will see they each carry several drawbacks.
Proportional Controllers
Proportional controllers are simply gain values. These are essentially multiplicative coefficients, usually denoted with a K. A P controller can only force the system poles to a spot on the system's root locus. A P controller cannot be used for arbitrary pole placement.
We refer to this kind of controller by a number of different names: proportional controller, gain, and zerothorder controller.
Derivative Controllers
In the Laplace domain, we can show the derivative of a signal using the following notation:
Since most systems that we are considering have zero initial condition, this simplifies to:
The derivative controllers are implemented to account for future values, by taking the derivative, and controlling based on where the signal is going to be in the future. Derivative controllers should be used with care, because even small amount of highfrequency noise can cause very large derivatives, which appear like amplified noise. Also, derivative controllers are difficult to implement perfectly in hardware or software, so frequently solutions involving only integral controllers or proportional controllers are preferred over using derivative controllers.
Notice that derivative controllers are not proper systems, in that the order of the numerator of the system is greater than the order of the denominator of the system. This quality of being a nonproper system also makes certain mathematical analysis of these systems difficult.
ZDomain Derivatives
We won't derive this equation here, but suffice it to say that the following equation in the Zdomain performs the same function as the Laplacedomain derivative:
Where T is the sampling time of the signal.
Integral Controllers
To implemenent an Integral in a Laplace domain transfer function, we use the following:
Integral controllers of this type add up the area under the curve for past time. In this manner, a PI controller (and eventually a PID) can take account of the past performance of the controller, and correct based on past errors.
ZDomain Integral
The integral controller can be implemented in the Z domain using the following equation:
PID Controllers
PID controllers are combinations of the proportional, derivative, and integral controllers. Because of this, PID controllers have large amounts of flexibility. We will see below that there are definite limites on PID control.
PID Transfer Function
The transfer function for a standard PID controller is an addition of the Proportional, the Integral, and the Differential controller transfer functions (hence the name, PID). Also, we give each term a gain constant, to control the weight that each factor has on the final output:
[PID]
Notice that we can write the transfer function of a PID controller in a slightly different way:
This form of the equation will be especially useful to us when we look at polynomial design.
PID Signal flow diagram
PID Tuning
The process of selecting the various coefficient values to make a PID controller perform correctly is called PID Tuning. There are a number of different methods for determining these values:^{[1]}
1) Direct Synthesis (DS) method
2) Internal Model Control (IMC) method
3) Controller tuning relations
4) Frequency response techniques
5) Computer simulation
6) Online tuning after the control system is installed
7)Trial and error
Notes:
 ↑ Seborg, Dale E.; Edgar, Thomas F.; Mellichamp, Duncan A. (2003). Process Dynamics and Control, Second Edition. John Wiley & Sons,Inc. ISBN 0471000779
Digital PID
In the Z domain, the PID controller has the following transfer function:
[Digital PID]
And we can convert this into a canonical equation by manipulating the above equation to obtain:
Where:
Once we have the Zdomain transfer function of the PID controller, we can convert it into the digital time domain:
And finally, from this difference equation, we can create a digital filter structure to implement the PID.
For more information about digital filter structures, see Digital Signal Processing 
BangBang Controllers
Despite the lowbrow sounding name of the BangBang controller, it is a very useful tool that is only really available using digital methods. A better name perhaps for a bangbang controller is an on/off controller, where a digital system makes decisions based on target and threshold values, and decides whether to turn the controller on and off. Bangbang controllers are a nonlinear style of control that this book might consider in more detail in future chapters.
Consider the example of a household furnace. The oil in a furnace burns at a specific temperature  it can't burn hotter or cooler. To control the temperature in your house then, the thermostat control unit decides when to turn the furnace on, and when to turn the furnace off. This on/off control scheme is a bangbang controller.
Compensation
There are a number of different compensation units that can be employed to help fix certain system metrics that are outside of a proper operating range. Most commonly, the phase characteristics are in need of compensation, especially if the magnitude response is to remain constant.
Phase Compensation
Occasionally, it is necessary to alter the phase characteristics of a given system, without altering the magnitude characteristics. To do this, we need to alter the frequency response in such a way that the phase response is altered, but the magnitude response is not altered. To do this, we implement a special variety of controllers known as phase compensators. They are called compensators because they help to improve the phase response of the system.
There are two general types of compensators: Lead Compensators, and Lag Compensators. If we combine the two types, we can get a special LeadLag Compensator system.
When designing and implementing a phase compensator, it is important to analyze the effects on the gain and phase margins of the system, to ensure that compensation doesn't cause the system to become unstable. phase lead compensation: 1 it is same as addition of zero to open loop TF since from pole zero point of view zero is nearer to origin than pole hence effect of zero dominant.
Phase Lead
The transfer function for a leadcompensator is as follows:
[Lead Compensator]
To make the compensator work correctly, the following property must be satisfied:
And both the pole and zero location should be close to the origin, in the LHP. Because there is only one pole and one zero, they both should be located on the real axis.
Phase lead compensators help to shift the poles of the transfer function to the left, which is beneficial for stability purposes.
Phase Lag
The transfer function for a lag compensator is the same as the leadcompensator, and is as follows:
[Lag Compensator]
However, in the lag compensator, the location of the pole and zero should be swapped:
Both the pole and the zero should be close to the origin, on the real axis.
The Phase lag compensator helps to improve the steadystate error of the system. The poles of the lag compensator should be very close together to help prevent the poles of the system from shifting right, and therefore reducing system stability.
Phase LeadLag
The transfer function of a leadlag compensator is simply a multiplication of the lead and lag compensator transfer functions, and is given as:
[LeadLag Compensator]
Where typically the following relationship must hold true:
External Sites
 Standard Controller Forms on ControlTheoryPro.com
 PID Control on ControlTheoryPro.com
 PI Control on ControlTheoryPro.com
Compensators
Controllers
There are a number of different standard types of control systems that have been studied extensively. These controllers, specifically the P, PD, PI, and PID controllers are very common in the production of physical systems, but as we will see they each carry several drawbacks.
Proportional Controllers
Proportional controllers are simply gain values. These are essentially multiplicative coefficients, usually denoted with a K. A P controller can only force the system poles to a spot on the system's root locus. A P controller cannot be used for arbitrary pole placement.
We refer to this kind of controller by a number of different names: proportional controller, gain, and zerothorder controller.
Derivative Controllers
In the Laplace domain, we can show the derivative of a signal using the following notation:
Since most systems that we are considering have zero initial condition, this simplifies to:
The derivative controllers are implemented to account for future values, by taking the derivative, and controlling based on where the signal is going to be in the future. Derivative controllers should be used with care, because even small amount of highfrequency noise can cause very large derivatives, which appear like amplified noise. Also, derivative controllers are difficult to implement perfectly in hardware or software, so frequently solutions involving only integral controllers or proportional controllers are preferred over using derivative controllers.
Notice that derivative controllers are not proper systems, in that the order of the numerator of the system is greater than the order of the denominator of the system. This quality of being a nonproper system also makes certain mathematical analysis of these systems difficult.
ZDomain Derivatives
We won't derive this equation here, but suffice it to say that the following equation in the Zdomain performs the same function as the Laplacedomain derivative:
Where T is the sampling time of the signal.
Integral Controllers
To implemenent an Integral in a Laplace domain transfer function, we use the following:
Integral controllers of this type add up the area under the curve for past time. In this manner, a PI controller (and eventually a PID) can take account of the past performance of the controller, and correct based on past errors.
ZDomain Integral
The integral controller can be implemented in the Z domain using the following equation:
PID Controllers
PID controllers are combinations of the proportional, derivative, and integral controllers. Because of this, PID controllers have large amounts of flexibility. We will see below that there are definite limites on PID control.
PID Transfer Function
The transfer function for a standard PID controller is an addition of the Proportional, the Integral, and the Differential controller transfer functions (hence the name, PID). Also, we give each term a gain constant, to control the weight that each factor has on the final output:
[PID]
Notice that we can write the transfer function of a PID controller in a slightly different way:
This form of the equation will be especially useful to us when we look at polynomial design.
PID Signal flow diagram
PID Tuning
The process of selecting the various coefficient values to make a PID controller perform correctly is called PID Tuning. There are a number of different methods for determining these values:^{[1]}
1) Direct Synthesis (DS) method
2) Internal Model Control (IMC) method
3) Controller tuning relations
4) Frequency response techniques
5) Computer simulation
6) Online tuning after the control system is installed
7)Trial and error
Notes:
 ↑ Seborg, Dale E.; Edgar, Thomas F.; Mellichamp, Duncan A. (2003). Process Dynamics and Control, Second Edition. John Wiley & Sons,Inc. ISBN 0471000779
Digital PID
In the Z domain, the PID controller has the following transfer function:
[Digital PID]
And we can convert this into a canonical equation by manipulating the above equation to obtain:
Where:
Once we have the Zdomain transfer function of the PID controller, we can convert it into the digital time domain:
And finally, from this difference equation, we can create a digital filter structure to implement the PID.
For more information about digital filter structures, see Digital Signal Processing 
BangBang Controllers
Despite the lowbrow sounding name of the BangBang controller, it is a very useful tool that is only really available using digital methods. A better name perhaps for a bangbang controller is an on/off controller, where a digital system makes decisions based on target and threshold values, and decides whether to turn the controller on and off. Bangbang controllers are a nonlinear style of control that this book might consider in more detail in future chapters.
Consider the example of a household furnace. The oil in a furnace burns at a specific temperature  it can't burn hotter or cooler. To control the temperature in your house then, the thermostat control unit decides when to turn the furnace on, and when to turn the furnace off. This on/off control scheme is a bangbang controller.
Compensation
There are a number of different compensation units that can be employed to help fix certain system metrics that are outside of a proper operating range. Most commonly, the phase characteristics are in need of compensation, especially if the magnitude response is to remain constant.
Phase Compensation
Occasionally, it is necessary to alter the phase characteristics of a given system, without altering the magnitude characteristics. To do this, we need to alter the frequency response in such a way that the phase response is altered, but the magnitude response is not altered. To do this, we implement a special variety of controllers known as phase compensators. They are called compensators because they help to improve the phase response of the system.
There are two general types of compensators: Lead Compensators, and Lag Compensators. If we combine the two types, we can get a special LeadLag Compensator system.
When designing and implementing a phase compensator, it is important to analyze the effects on the gain and phase margins of the system, to ensure that compensation doesn't cause the system to become unstable. phase lead compensation: 1 it is same as addition of zero to open loop TF since from pole zero point of view zero is nearer to origin than pole hence effect of zero dominant.
Phase Lead
The transfer function for a leadcompensator is as follows:
[Lead Compensator]
To make the compensator work correctly, the following property must be satisfied:
And both the pole and zero location should be close to the origin, in the LHP. Because there is only one pole and one zero, they both should be located on the real axis.
Phase lead compensators help to shift the poles of the transfer function to the left, which is beneficial for stability purposes.
Phase Lag
The transfer function for a lag compensator is the same as the leadcompensator, and is as follows:
[Lag Compensator]
However, in the lag compensator, the location of the pole and zero should be swapped:
Both the pole and the zero should be close to the origin, on the real axis.
The Phase lag compensator helps to improve the steadystate error of the system. The poles of the lag compensator should be very close together to help prevent the poles of the system from shifting right, and therefore reducing system stability.
Phase LeadLag
The transfer function of a leadlag compensator is simply a multiplication of the lead and lag compensator transfer functions, and is given as:
[LeadLag Compensator]
Where typically the following relationship must hold true:
External Sites
 Standard Controller Forms on ControlTheoryPro.com
 PID Control on ControlTheoryPro.com
 PI Control on ControlTheoryPro.com
Appendicies
Appendix 1: Physical Models
Appendix 2: ZTransform Mappings
Appendix 3: Transforms
Appendix 4: System Representations
Appendix 5: MatLab
Appendix: Physical Models
Physical Models
This page will serve as a refresher for various different engineering disciplines on how physical devices are modeled. Models will be displayed in both timedomain and Laplacedomain input/output characteristics. The only information that is going to be displayed here will be the ones that are contributed by knowledgeable contributors.
Electrical Systems
Circuit Theory
Electronics

Component TimeDomain Laplace Fourier Resistor R R R Capacitor Inductor
Mechanical Systems
Civil/Construction Systems
Chemical Systems
Appendix: Z Transform Mappings
Z Transform Mappings
There are a number of different mappings that can be used to convert a system from the complex Laplace domain into the ZDomain. None of these mappings are perfect, and every mapping requires a specific starting condition, and focuses on a specific aspect to reproduce faithfully. One such mapping that has already been discussed is the bilinear transform, which, along with prewarping, can faithfully map the various regions in the splane into the corresponding regions in the zplane. We will discuss some other potential mappings in this chapter, and we will discuss the pros and cons of each.
Bilinear Transform
The Bilinear transform converts from the Zdomain to the complex W domain. The W domain is not the same as the Laplace domain, although there are some similarities. Here are some of the similiarities between the Laplace domain and the W domain:
 Stable poles are in the LeftHalf Plane
 Unstable poles are in the righthalf plane
 Marginally stable poles are on the vertical, imaginary axis
With that said, the bilinear transform can be defined as follows:
[Bilinear Transform]
[Inverse Bilinear Transform]
Graphically, we can show that the bilinear transform operates as follows:
Prewarping
The W domain is not the same as the Laplace domain, but if we employ the process of prewarping before we take the bilinear transform, we can make our results match more closely to the desired Laplace Domain representation.
Using prewarping, we can show the effect of the bilinear transform graphically:
The shape of the graph before and after prewarping is the same as it is without prewarping. However, the destination domain is the Sdomain, not the Wdomain.
Matched ZTransform
If we have a function in the laplace domain that has been decomposed using partial fraction expansion, we generally have an equation in the form:
And once we are in this form, we can make a direct conversion between the s and z planes using the following mapping:
[Matched Z Transform]
 Pro
 A good direct mapping in terms of s and a single coefficient
 Con
 requires the Laplacedomain function be decomposed using partial fraction expansion.
Simpson's Rule
[Simpson's Rule]
 CON
 Essentially multiplies the order of the transfer function by a factor of 2. This makes things difficult when you are trying to physically implement the system.
(w, v) Transform
Given the following system:
Then:
And:
[(w, v) Transform]
 Pro
 Directly maps a function in terms of z and s, into a function in terms of only z.
 Con
 Requires a function that is already in terms of s, z and α.
ZForms
Appendix: Transforms
Laplace Transform
When we talk about the Laplace transform, we are actually talking about the version of the Laplace transform known as the unilinear Laplace Transform. The other version, the Bilinear Laplace Transform (not related to the Bilinear Transform, below) is not used in this book.
The Laplace Transform is defined as:
[Laplace Transform]
And the Inverse Laplace Transform is defined as:
[Inverse Laplace Transform]
Table of Laplace Transforms
This is a table of common laplace transforms.
Time Domain  Laplace Domain  

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19 
Properties of the Laplace Transform
This is a table of the most important properties of the laplace transform.
Property  Definition 

Linearity  
Differentiation 

Frequency Division  
Frequency Integration  
Time Integration  
Scaling  
Initial value theorem  
Final value theorem  
Frequency Shifts  
Time Shifts  
Convolution Theorem 
Where:
Convergence of the Laplace Integral
Properties of the Laplace Transform
Fourier Transform
The Fourier Transform is used to break a timedomain signal into its frequency domain components. The Fourier Transform is very closely related to the Laplace Transform, and is only used in place of the Laplace transform when the system is being analyzed in a frequency context.
The Fourier Transform is defined as:
[Fourier Transform]
And the Inverse Fourier Transform is defined as:
[Inverse Fourier Transform]
Table of Fourier Transforms
This is a table of common fourier transforms.
Time Domain  Frequency Domain  

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
Notes: 


Table of Fourier Transform Properties
This is a table of common properties of the fourier transform.
Signal  Fourier transform unitary, angular frequency 
Fourier transform unitary, ordinary frequency 
Remarks  

1  Linearity  
2  Shift in time domain  
3  Shift in frequency domain, dual of 2  
4  If is large, then is concentrated around 0 and spreads out and flattens  
5  Duality property of the Fourier transform. Results from swapping "dummy" variables of and .  
6  Generalized derivative property of the Fourier transform  
7  This is the dual to 6  
8  denotes the convolution of and — this rule is the convolution theorem  
9  This is the dual of 8  
10  For a purely real even function  is a purely real even function  is a purely real even function  
11  For a purely real odd function  is a purely imaginary odd function  is a purely imaginary odd function 
Convergence of the Fourier Integral
Properties of the Fourier Transform
ZTransform
The Ztransform is used primarily to convert discrete data sets into a continuous representation. The Ztransform is notationally very similar to the star transform, except that the Z transform does not take explicit account for the sampling period. The Z transform has a number of uses in the field of digital signal processing, and the study of discrete signals in general, and is useful because Ztransform results are extensively tabulated, whereas startransform results are not.
The Z Transform is defined as:
[Z Transform]
Inverse Z Transform
The inverse Z Transform is a highly complex transformation, and might be inaccessible to students without enough background in calculus. However, students who are familiar with such integrals are encouraged to perform some inverse Z transform calculations, to verify that the formula produces the tabulated results.
[Inverse Z Transform]
ZTransform Tables
Here:
 for , for
 for , otherwise
Signal,  Ztransform,  ROC  

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20 
Modified ZTransform
The Modified ZTransform is similar to the Ztransform, except that the modified version allows for the system to be subjected to any arbitrary delay, by design. The Modified ZTransform is very useful when talking about digital systems for which the processing time of the system is not negligible. For instance, a slow computer system can be modeled as being an instantaneous system with an output delay.
The modified Z transform is based off the delayed Z transform:
[Modified Z Transform]
Star Transform
The Star Transform is a discrete transform that has similarities between the Z transform and the Laplace Transform. In fact, the Star Transform can be said to be nearly analogous to the Z transform, except that the Star transform explicitly accounts for the sampling time of the sampler.
The Star Transform is defined as:
[Star Transform]
Star transform pairs can be obtained by plugging into the Ztransform pairs, above.
Bilinear Transform
The bilinear transform is used to convert an equation in the Z domain into the arbitrary W domain, with the following properties:
 roots inside the unit circle in the Zdomain will be mapped to roots on the lefthalf of the W plane.
 roots outside the unit circle in the Zdomain will be mapped to roots on the righthalf of the W plane
 roots on the unit circle in the Zdomain will be mapped onto the vertical axis in the W domain.
The bilinear transform can therefore be used to convert a Zdomain equation into a form that can be analyzed using the RouthHurwitz criteria. However, it is important to note that the Wdomain is not the same as the complex Laplace Sdomain. To make the output of the bilinear transform equal to the Sdomain, the signal must be prewarped, to account for the nonlinear nature of the bilinear transform.
The Bilinear transform can also be used to convert an Sdomain system into the Z domain. Again, the input system must be prewarped prior to applying the bilinear transform, or else the results will not be correct.
The Bilinear transform is governed by the following variable transformations:
[Bilinear Transform]
Where T is the sampling time of the discrete signal.
Frequencies in the w domain are related to frequencies in the s domain through the following relationship:
This relationship is called the frequency warping characteristic of the bilinear transform. To counteract the effects of frequency warping, we can prewarp the Zdomain equation using the inverse warping characteristic. If the equation is prewarped before it is transformed, the resulting poles of the system will line up more faithfully with those in the sdomain.
[Bilinear Frequency Prewarping]
Applying these transformations before applying the bilinear transform actually enables direct conversions between the SDomain and the ZDomain. The act of applying one of these frequency warping characteristics to a function before transforming is called prewarping.
Wikipedia Resources
System Representations
System Representations
This is a table of times when it is appropriate to use each different type of system representation:
Properties  StateSpace Equations 
Transfer Function 
Transfer Matrix 

Linear, Distributed  no  no  no 
Linear, Lumped  yes  no  no 
Linear, TimeInvariant, Distributed  no  yes  no 
Linear, TimeInvariant, Lumped  yes  yes  yes 
General Description
These are the general external system descriptions. y is the system output, h is the system response characteristic, and x is the system input. In the timevariant cases, the general description is also known as the convolution description.
General Description  

TimeInvariant, Noncausal  
TimeInvariant, Causal  
TimeVariant, NonCausal  
TimeVariant, Causal 
StateSpace Equations
These are the statespace representations for a system. y is the system output, x is the internal system state, and u is the system input. The matrices A, B, C, and D are coefficient matrices.
[Analog State Equations]
StateSpace Equations  

TimeInvariant  
TimeVariant 
These are the digital versions of the equations listed above. All the variables have the same meanings, except that the systems are digital.
[Digital State Equations]
StateSpace Equations  

TimeInvariant  
TimeVariant 
Transfer Functions
These are the transfer function descriptions, obtained by using the Laplace Transform or the ZTransform on the general system descriptions listed above. Y is the system output, H is the system transfer function, and X is the system input.
[Analog Transfer Function]
Transfer Function  

[Digital Transfer Function]
Transfer Function  

Transfer Matrix
This is the transfer matrix system description. This representation can be obtained by taking the Laplace or Z transforms of the statespace equations. In the SISO case, these equations reduce to the transfer function representations listed above. In the MIMO case, Y is the vector of system outputs, X is the vector of system inputs, and H is the transfer matrix that relates each input X to each output Y.
[Analog Transfer Matrix]
Transfer Matrix  

[Digital Transfer Matrix]
Transfer Matrix  

Matrix Operations
Laws of Matrix Algebra
Matrices must be compatible sizes in order for an operation to be valid:
 Addition
 Matrices must have the same dimensions (same number of rows, same number of columns). Matrix addition is commutative:
 Multiplication
 Matrices must have the same inner dimensions (the number of columns of the first matrix must equal the number of rows in the second matrix). For instance, if matrix A is n × m, and matrix B is m × k, then we can multiply:
 Where C is an n × k matrix. Matrix multiplication is not commutative:
 Because it is not commutative, the differentiation must be made between "multiplication on the left", and "multiplication on the right".
 Division
 There is no such thing as division in matrix algebra, although multiplication of the matrix inverse performs the same basic function. To find an inverse, a matrix must be nonsingular, and must have a nonzero determinant.
Transpose Matrix
The transpose of a matrix, denoted by:
is the matrix where the rows and columns of X are interchanged. In some instances, the transpose of a matrix is denoted by:
This shorthand notation is used when the superscript T applied to a large number of matrices in a single equation, and the notation would become too crowded otherwise. When this notation is used in the book, derivatives will be denoted explicitly with:
Determinant
The determinant of a matrix it is a scalar value. It is denoted similarly to absolutevalue in scalars:
A matrix has an inverse if the matrix is square, and if the determinant of the matrix is nonzero.
Inverse
The inverse of a matrix A, which we will denote here by "B" is any matrix that satisfies the following equation:
Matrices that have such a companion are known as "invertible" matrices, or "nonsingular" matrices. Matrices which do not have an inverse that satisfies this equation are called "singular" or "noninvertable".
An inverse can be computed in a number of different ways:
 Append the matrix A with the Identity matrix of the same size. Use rowreductions to make the left side of the matrice an identity. The right side of the appended matrix will then be the inverse:
 The inverse matrix is given by the adjoint matrix divided by the determinant. The adjoint matrix is the transpose of the cofactor matrix.
 The inverse can be calculated from the CayleyHamilton Theorem.
Eigenvalues
The eigenvalues of a matrix, denoted by the Greek letter lambda λ, are the solutions to the characteristic equation of the matrix:
Eigenvalues only exist for square matrices. Nonsquare matrices do not have eigenvalues. If the matrix X is a real matrix, the eigenvalues will either be all real, or else there will be complex conjugate pairs.
Eigenvectors
The eigenvectors of a matrix are the nullspace solutions of the characteristic equation:
There are is least one distinct eigenvector for every distinct eigenvalue. Multiples of an eigenvector are also themselves eigenvectors. However, eigenvalues that are not linearly independent are called "nondistinct" eigenvectors, and can be ignored.
LeftEigenvectors
Left Eigenvectors are the righthand nullspace solutions to the characteristic equation:
These are also the rows of the inverse transition matrix.
Generalized Eigenvectors
In the case of repeated eigenvalues, there may not be a complete set of n distinct eigenvectors (right or left eigenvectors) associated with those eigenvalues. Generalized eigenvectors can be generated as follows:
Because generalized eigenvectors are formed in relation to another eigenvector or generalize eigenvectors, they constitute an ordered set, and should not be used outside of this order.
Transformation Matrix
The transformation matrix is the matrix of all the eigenvectors, or the ordered sets of generalized eigenvectors:
The inverse transition matrix is the matrix of the lefteigenvectors:
A matrix can be diagonalized by multiplying by the transition matrix:
Or:
If the matrix has an incomplete set of eigenvectors, and therefore a set of generalized eigenvectors, the matrix cannot be diagonalized, but can be converted into Jordan canonical form:
MATLAB
The MATLAB programming environment was specially designed for matrix algebra and manipulation. The following is a brief refresher about how to manipulate matrices in MATLAB:
 Addition
 To add two matrices together, use a plus sign ("+"):
C = A + B;
 Multiplication
 To multiply two matrices together use an asterisk ("*"):
C = A * B;
 If your matrices are not the correct dimensions, MATLAB will issue an error.
 Transpose
 To find the transpose of a matrix, use the apostrophe (" ' "):
C = A';
 Determinant
 To find the determinant, use the det function:
d = det(A);
 Inverse
 To find the inverse of a matrix, use the function inv:
C = inv(A);
 Eigenvalues and Eigenvectors
 To find the eigenvalues and eigenvectors of a matrix, use the eig command:
[E, V] = eig(A);
 Where E is a square matrix with the eigenvalues of A in the diagonal entries, and V is the matrix comprised of the corresponding eigenvectors. If the eigenvalues are not distinct, the eigenvectors will be repeated. MATLAB will not calculate the generalized eigenvectors.
 Left Eigenvectors
 To find the left eigenvectors, assuming there is a complete set of distinct righteigenvectors, we can take the inverse of the eigenvector matrix:
[E, V] = eig(A); C = inv(V);
The rows of C will be the lefteigenvectors of the matrix A.
For more information about MATLAB, see the wikibook MATLAB Programming.
Appendix: MatLab
This page would highly benefit from some screenshots of various systems. Users who have MATLAB or Octave available are highly encouraged to produce some screenshots for the systems here. 
MATLAB
MATLAB is a programming language that is specially designed for the manipulation of matrices. Because of its computational power, MATLAB is a tool of choice for many control engineers to design and simulate control systems. This page is going to discuss using MATLAB for control systems design and analysis. MATLAB has a number of plugin modules called "Toolboxes". Nearly all the functions described below are located in the control systems toolbox. If your system has the control systems toolbox installed, you can get more information about the toolbox by typing help control
at the MATLAB prompt.
Also, there is an opensource competitor to MATLAB called Octave. Octave is similar to MATLAB, but there are also some differences. This page will focus on MATLAB, but another page could be added to focus on Octave. As of Sept 10th, 2006, all the MATLAB commands listed below have been implemented in GNU octave.
This page will use the {{MATLAB CMD}} template to show MATLAB functions that can be used to perform different tasks.
MATLAB is a copyrighted product produced by The Mathworks. For more information about MATLAB and The Mathworks, see Control Systems/Resources.
InputOutput Isolation
In a MIMO system, typically it can be important to isolate a single inputoutput pair for analysis. Each input corresponds to a single row in the B matrix, and each output corresponds to a single column in the C matrix. For instance, to isolate the 2^{nd} input and the 3^{rd} output, we can create a system:
sys = ss(A, B(:,2), C(3,:), D);
This page will refer to this technique as "inputoutput isolation".
Step Response
First, let's take a look at the classical approach, with the following system:
This system can effectively be modeled as two vectors of coefficients, NUM and DEN:
NUM = [5, 10] DEN = [1, 4, 5]
Now, we can use the MATLAB step command to produce the step response to this system:
step(NUM, DEN, t);
Where t is a time vector. If no results on the lefthand side are supplied by you, the step function will automatically produce a graphical plot of the step response. If, however, you use the following format:
[y, x, t] = step(NUM, DEN, t);
Then MATLAB will not produce a plot automatically, and you will have to produce one yourself.
Now, let's look at the modern, statespace approach. If we have the matrices A, B, C and D, we can plug these into the step function, as shown:
step(A, B, C, D);
or, we can optionally include a vector for time, t:
step(A, B, C, D, t);
Again, if we supply results on the lefthand side of the equation, MATLAB will not automatically produce a plot for us.
If we didn't get an automatic plot, and we want to produce our own, we type:
[y, x, t] = step(NUM, DEN, t);
And then we can create a graph using the plot command:
plot(t, y);
y is the output magnitude of the step response, while x is the internal state of the system from the statespace equations:
Classical ↔ Modern
MATLAB contains features that can be used to automatically convert to the statespace representation from the Laplace representation. This function, tf2ss, is used as follows:
[A, B, C, D] = tf2ss(NUM, DEN);
Where NUM and DEN are the coefficient vectors of the numerator and denominator of the transfer function, respectively.
In a similar vein, we can convert from the Laplace domain back to the statespace representation using the ss2tf function, as such:
[NUM, DEN] = ss2tf(A, B, C, D);
Or, if we have more than one input in a vector u, we can write it as follows:
[NUM, DEN] = ss2tf(A, B, C, D, u);
The u parameter must be provided when our system has more than one input, but it does not need to be provided if we have only 1 input. This form of the equation produces a transfer function for each separate input. NUM and DEN become 2D matricies, with each row being the coefficients for each different input.
zDomain Digital Filters
Let us now consider a digital system with the following generic transfer function in the Z domain:
Where n(z) and d(z) are the numerator and denominator polynomials of the transfer function, respectively. The filter command can be used to apply an input vector x to the filter. The output, y, can be obtained from the following code:
y = filter(n, d, x);
The word "filter" may be a bit of a misnomer in this case, but the fact remains that this is the method to apply an input to a digital system. Once we have the output magnitude vector, we can plot it using our plot command:
plot(y);
To get the step response of the digital system, we must first create a step function using the ones command:
u = ones(1, N);
Where N is the number of samples that we want to take in our digital system (not to be confused with "n", our numerator coefficient). Once we have produced our unit step function, we can pass this function through our digital filter as such:
y = filter(n, d, u);
And we can plot y:
plot(y);
StateSpace Digital Filters
Likewise, we can analyze a digital system in the statespace representation. If we have the following digital state relationship:
We can convert automatically to the pulse response using the ss2tf function, that we used above:
[NUM, DEN] = ss2tf(A, B, C, D);
Then, we can filter it with our prepared unitstep sequence vector, u:
y = filter(num, den, u)
this will give us the step response of the digital system in the statespace representation.
Root Locus Plots
MATLAB supplies a useful, automatic tool for generating the rootlocus graph from a transfer function: the rlocus command. In the transfer function domain, or the state space domain respectively, we have the following uses of the function:
rlocus(num, den);
And:
rlocus(A, B, C, D);
These functions will automatically produce rootlocus graphs of the system. However, if we provide lefthand parameters:
[r, K] = rlocus(num, den);
Or:
[r, K] = rlocus(A, B, C, D);
The function won't produce a graph automatically, and you will need to produce one yourself. There is also an optional additional parameter for gain, K, that can be supplied:
rlocus(num, den, K);
Or:
rlocus(A, B, C, D, K);
If K is not supplied, MATLAB will supply an automatic gain value for you.
Once we have our values [r, K], we can plot a root locus:
plot(r);
The rlocus command cannot be used with MIMO systems, so if your system is a MIMO system, you must separate out your coefficient matrices to isolate each separate Inputoutput pair, and graph each individually.
Digital RootLocus
Creating a rootlocus diagram for a digital system is exactly the same as it is for a continuous system. The only difference is the interpretation of the results, because the stability region for digital systems is different from the stability region for continuous systems. The same rlocus function can be used, in the same manner as is used above.
Bode Plots
MATLAB also offers a number of tools for examining the frequency response characteristics of a system, both using Bode plots, and using Nyquist charts. To construct a Bode plot from a transfer function, we use the following command:
[mag, phase, omega] = bode(NUM, DEN, omega);
Or:
[mag, phase, omega] = bode(A, B, C, D, u, omega);
Where "omega" is the frequency vector where the magnitude and phase response points are analyzed. If we want to convert the magnitude data into decibels, we can use the following conversion:
magdb = 20 * log10(mag);
This conversion should be known well enough by now that it doesn't require explanation.
When talking about Bode plots in decibels, it makes the most sense (and is the most common occurrence) to also use a logarithmic frequency scale. To create such a logarithmic sequence in omega, we use the logspace command, as such:
omega = logspace(a, b, n);
This command produces n points, spaced logarithmicly, from up to .
If we use the bode command without lefthand arguments, MATLAB will produce a graph of the bode phase and magnitude plots automatically.
The bode command, if used with a MIMO system, will use subplots to produce all the inputoutput relationship graphs on a single plot window. for a system with multiple inputs and multiple outputs, this can become difficult to see clearly. In these cases, it is typically better to separate out your coefficient matrices to isolate each individual inputoutput pair.
Nyquist Plots
In addition to the bode plots, we can create nyquist charts by using the nyquist command. The nyquist command operates in a similar manner to the bode command (and other commands that we have used so far):
[real, imag, omega] = nyquist(NUM, DEN, omega);
Or:
[real, imag, omega] = nyquist(A, B, C, D, u, omega);
Here, "real" and "imag" are vectors that contain the real and imaginary parts of each point of the nyquist diagram. If we don't supply the righthand arguments, the nyquist command automatically produces a nyquist plot for us.
Like the bode command, the nyquist command will use subplots to display the inputoutput relations of MIMO systems on a single plot window. If there are multiple inputoutput pairs, it can be difficult to see the individual graphs.
Lyapunov Equations
Controllability
A controllability matrix can be constructed using the ctrb command. The controllability gramian can be constructed using the gram command.
Observability
An observability matrix can be constructed using the command obsv
Empirical Gramians
Empirical gramians can be computed for linear and also nonlinear control systems. The empirical gramian framework emgr allows the computation of the controllability, observability and cross gramian; it is compatible with MATLAB and OCTAVE and does not require the control systems toolbox.
Further Reading
 Ogata, Katsuhiko, "Solving Control Engineering Problems with MATLAB", Prentice Hall, New Jersey, 1994. ISBN 0130459070
 MATLAB Programming.
 http://octave.sourceforge.net/
 MATLAB Category on ControlTheoryPro.com
 Empirical Gramian Framework
Glossary
Resources
Licensing
1) Glossary
2) List of Equations
3) Resources and Bibliography
4) Licensing
5) GNU Free Documentation License
Glossary and List of Equations
The following is a listing of some of the most important terms from the book, along with a short definition or description.
A, B, C
 Acceleration Error
 The amount of steady state error of the system when stimulated by a unit parabolic input.
 Acceleration Error Constant
 A system metric that determines that amount of acceleration error in the system.
 Adaptive Control
 A branch of control theory where controller systems are able to change their response characteristics over time, as the input characteristics to the system change.
 Adaptive Gain
 when control gain is varied depending on system state or condition, such as a disturbance
 Additivity
 A system is additive if a sum of inputs results in a sum of outputs.
 Analog System
 A system that is continuous in time and magnitude.
 ARMA
 Autoregressive Moving Average, see [1]
 ATO
 Analog Timed Output. Control loop output is correlated to a timed contact closure.
 A/M
 AutoManual. Control modes, where auto typically means output is computerdriven, calculated while manual can be fielddriven or merely using a static setpoint.
 Bilinear Transform
 a variant of the Ztransform, see [2]
 Block Diagram
 A visual way to represent a system that displays individual system components as boxes, and connections between systems as arrows.
 Bode Plots
 A set of two graphs, a "magnitude" and a "phase" graph, that are both plotted on log scale paper. The magnitude graph is plotted in decibels versus frequency, and the phase graph is plotted in degrees versus frequency. Used to analyze the frequency characteristics of the system.
 Bounded Input, Bounded Output
 BIBO. If the input to the system is finite, then the output must also be finite. A condition for stability.
 Cascade
 When the output of a control loop is fed to/from another loop.
 Causal
 A system whose output does not depend on future inputs. All physical systems must be causal.
 Classical Approach
 See Classical Controls.
 Classical Controls
 A control methodology that uses the transform domain to analyze and manipulate the InputOutput characteristics of a system.
 Closed Loop
 a controlled system using feedback or feedforward
 Compensator
 A Control System that augments the shortcomings of another system.
 Condition Number
 Conditional Stability
 A system with variable gain is conditionally stable if it is BIBO stable for certain values of gain, but not BIBO stable for other values of gain.
 ContinuousTime
 A system or signal that is defined at all points t.
 Control Rate
 the rate at which control is computed and any appropriate output sent. Lower bound is sample rate.
 Control System
 A system or device that manages the behavior of another system or device.
 Controller
 See Control System.
 Convolution
 A complex operation on functions defined by the integral of the two functions multiplied together, and timeshifted.
 Convolution Integral
 The integral form of the convolution operation.
 CQI
 Control Quality Index, , 1 being ideal.
 CV
 Controlled variable
D, E, F
 Damping Ratio
 A constant that determines the damping properties of a system.
 Deadtime
 time shift between the output change and the related effect (typ. at least one control sample). One sees "Lag" used for this action sometimes.
 Digital
 A system that is both discretetime, and quantized.
 Direct action
 target output increase is required to bring the process variable (PV) to setpoint (SP) when PV is below SP. Thus, PV increases with output increase directly.
 Discrete magnitude
 See quantized.
 Discrete time
 A system or signal that is only defined at specific points in time.
 Distributed
 A system is distributed if it has both an infinite number of states, and an infinite number of state variables. See Lumped.
 Dynamic
 A system is called dynamic if it doesn't have memory. See Instantaneous, Memory.
 Eigenvalues
 Solutions to the characteristic equation of a matrix. If the matrix is itself a function of time, the eigenvalues might be functions of time. In this case, they are frequently called eigenfunctions.
 Eigenvectors
 The nullspace vectors of the characteristic equation for particular eigenvalues. Used to determine statetransitions, among other things. See [3]
 Euler's Formula
 An equation that relates complex exponentials to complex sinusoids.
 Exponential Weighted Average (EWA)
 Apportions fractional weight to new and existing data to form a working average. Example EWA=0.70*EWA+0.30*latest, see Filtering.
 External Description
 A description of a system that relates the input of the system to the output, without explicitly accounting for the internal states of the system.
 Feedback
 The output of the system is passed through some sort of processing unit H, and that result is fed into the plant as an input.
 Feedforward
 whwn apriori knowledge is used to forecast at least part of the control response.
 Filtering (noise)
 Use of signal smoothing techniques to reject undesirable components like noise. Can be as simple as using exponential weighted averaging on the input.
 Final Value Theorem
 A theorem that allows the steadystate value of a system to be determined from the transfer function.
 FOH
 First order hold
 Frequency Response
 The response of a system to sinusoids of different frequencies. The Fourier Transform of the impulse response.
 Fourier Transform
 An integral transform, similar to the Laplace Transform, that analyzes the frequency characteristics of a system.
See [4]
G, H, I
 Game Theory
 A branch of study that is related to control engineering, and especially optimal control. Multiple competing entities, or "players" attempt to minimize their own cost, and maximize the cost of the opponents.
 Gain
 A constant multiplier in a system that is typically implemented as an amplifier or attenuator. Gain can be changed, but is typically not a function of time. Adaptive control can use timeadaptive gains that change with time.
 General Description
 An external description of a system that relates the system output to the system input, the system response, and a time constant through integration.
 Hendrik Wade Bode
 Electrical Engineer, did work in control theory and communications. Is primarily remembered in control engineering for his introduction of the bode plot.
 Harry Nyquist
 Electrical Engineer, did extensive work in controls and information theory. Is remembered in this book primarily for his introduction of the Nyquist Stability Criterion.
 Homogeniety
 Property of a system whose scaled input results in an equally scaled output.
 Hybrid Systems
 Systems which have both analog and digital components.
 Impulse
 A function denoted δ(t), that is the derivative of the unit step.
 Impulse Response
 The system output when the system is stimulated by an impulse input. The Inverse Laplace Transform of the transfer function of the system.
 Initial Conditions
 The conditions of the system at time , where t_{0} is the first time the system is stimulated.
 Initial Value Theorem
 A theorem that allows the initial conditions of the system to be determined from the Transfer function.
 InputOutput Description
 See external description.
 Instantaneous
 A system is instantaneous if the system doesn't have memory, and if the current output of the system is only dependent on the current input. See Dynamic, Memory.
 Integrated Absolute Error (IAE)
 absolute error (ideal vs actual performance) is integrated over the analysis period.
 Integrated Squared Error (ISE)
 squared error (ideal vs actual performance) is integrated over the analysis period.
 Integrators
 A system pole at the origin of the Splane. Has the effect of integrating the system input.
 Inverse Fourier Transform
 An integral transform that converts a function from the frequency domain into the timedomain.
 Inverse Laplace Transform
 An integral transform that converts a function from the Sdomain into the timedomain.
 Inverse ZTransform
 An integral transform that converts a function from the Zdomain into the discrete time domain.
J, K, L
 Lag
 The observed process impact from an output is slower than the control rate.
 Laplace Transform
 An integral transform that converts a function from the time domain into a complex frequency domain.
 Laplace Transform Domain
 A complex domain where the Laplace Transform of a function is graphed. The imaginary part of s is plotted along the vertical axis, and the real part of s is plotted along the horizontal axis.
 Left Eigenvectors
 Lefthand nullspace solutions to the characteristic equation of a matrix for given eigenvalues. The rows of the inverse transition matrix.
 Linear
 A system that satisfies the superposition principle. See Additive and Homogeneous.
 Linear TimeInvariant
 LTI. See Linear, and TimeInvariant.
 Low Clamp
 Userapplied lower bound on control output signal.
 L/R
 Local/Remote operation.
 LQR
 Linear Quadratic Regulator.
 Lumped
 A system with a finite number of states, or a finite number of state variables.
M, N, O
 Magnitude
 the gain component of frequency response. This is often all that is considered in saying a discrete filter's response is well matched to the analog's. It is the DC gain at 0 frequency.
 Marginal Stability
 A system has an oscillatory response, as determined by having imaginary poles or imaginary eigenvalues.
 Mason's Rule
 see [5]
 MATLAB
 Commercial software having a Control Systems toolbox. Also see Octave.
 Memory
 A system has memory if its current output is dependent on previous and current inputs.
 MFAC
 Model Free Adaptive Control.
 MIMO
 A system with multiple inputs and multiple outputs.
 Modern Approach
 see modern controls
 Modern Controls
 A control methodology that uses the statespace representation to analyze and manipulate the Internal Description of a system.
 Modified ZTransform
 A version of the ZTransform, expanded to allow for an arbitrary processing delay.
 MPC
 Model Predictive Control.
 MRAC
 Model Reference Adaptive Control.
 MV
 can denote Manipulated variable or Measured variable (not the same)
 Natural Frequency
 The fundamental frequency of the system, the frequency for which the system's frequency response is largest.
 Negative Feedback
 A feedback system where the output signal is subtracted from the input signal, and the difference is input to the plant.
 The Nyquist Criteria
 A necessary and sufficient condition of stability that can be derived from Bode plots.
 Nonlinear Control
 A branch of control engineering that deals exclusively with nonlinear systems. We do not cover nonlinear systems in this book.
 OCTAVE
 Opensource software having a Control Systems toolbox. Also see MATLAB.
 Offset
 The discrepancy between desired and actual value after settling. Ponly control can give offset.
 Oliver Heaviside
 Electrical Engineer, Introduced the Laplace Transform as a tool for control engineering.
 Open Loop
 when the system is not closed, its behavior has a freerunning component rather than controlled
 Optimal Control
 A branch of control engineering that deals with the minimization of system cost, or maximization of system performance.
 Order
 The order of a polynomial is the highest exponent of the independent variable in that exponent. The order of a system is the order of the Transfer Function's denominator polynomial.
 Output equation
 An equation that relates the current system input, and the current system state to the current system output.
 Overshoot
 measures the extent of system response against desired (setpoint tracking).
P, Q, R
 Parabolic
 A parabolic input is defined by the equation.
 Partial Fraction Expansion
 A method by which a complex fraction is decomposed into a sum of simple fractions.
 Percent Overshoot
 PO, the amount by which the step response overshoots the reference value, in percentage of the reference value.
 Phase
 the directional component of frequency response, not typically wellmatched between a discrete filter equivalent to the analog version, especially as frequency approaches the Nyquist limit. The final value in the limit drives system stability, and stems from the poles and zeros of the characteristic equation.
 PID
 ProportionalIntegralDerivative
 Plant
 A central system which has been provided, and must be analyzed or controlled.
 PLC
 Programmable Logic Controller
 Pole
 A value for s that causes the denominator of the transfer function to become zero, and therefore causes the transfer function itself to approach infinity.
 PoleZero Form
 The transfer function is factored so that the locations of all the poles and zeros are clearly evident.
 Position Error
 The amount of steadystate error of a system stimulated by a unit step input.
 Position Error Constant
 A constant that determines the position error of a system.
 Positive Feedback
 A feedback system where the system output is added to the system input, and the sum is input into the plant.
 PSD
 The power spectral density which shows the distribution of power in the spectrum of a particular signal.
 Pulse Response
 The response of a digital system to a unit step input, in terms of the transfer matrix.
 PV
 Process variable
 Quantized
 A system is quantized if it can only output certain discrete values.
 Quarterdecay
 the time or number of control rates required for process overshoot to be limited to within 1/4 of the maximum peak overshoot (PO) after a SP change. If the PO is 25% at sample time N, this would be time N+k when subsequent PV remains < SP*1.0625, presuming the process is settling.
 RaiseLower
 Output type that works from present position rather than as a completely new computed spanned output. For R/L, the % change should be applied to the working clamps i.e. 5%(hi clamplo clamp).
 Ramp
 A ramp is defined by the function .
 Reconstructors
 A system that converts a digital signal into an analog signal.
 Reference Value
 The target input value of a feedback system.
 Relaxed
 A system is relaxed if the initial conditions are zero.
 Reverse action
 target output decrease is required to bring the process variable (PV) to setpoint (SP) when PV is below SP. Thus, PV decreases with output increase.
 Rise Time
 The amount of time it takes for the step response of the system to reach within a certain range of the reference value. Typically, this range is 80%.
 Robust Control
 A branch of control engineering that deals with systems subject to external and internal noise and disruptions.
S, T, U, V
 Samplers
 A system that converts an analog signal into a digital signal.
 SampledData Systems
 See Hybrid Systems'.
 Sampling Time
 In a discrete system, the sampling time is the amount of time between samples. Reflects the lower bound for Control rate.
 SCADA
 Supervisory Control and Data Acquisition.
 SDomain
 The domain of the Laplace Transform of a signal or system.
 Secondorder System;
 Settling Time
 The amount of time it takes for the system's oscillatory response to be damped to within a certain band of the steadystate value. That band is typically 10%.
 Signal Flow Diagram
 A method of visually representing a system, using arrows to represent the direction of signals in the system.
 SISO
 Single input, single output.
 Span
 the designed operation region of the item,=high rangelow range. Working span can be smaller if output clamps are used.
 Stability
 Typically "BIBO Stability", a system with a wellbehaved input will result in a wellbehaved output. "Wellbehaved" in this sense is arbitrary.
 Star Transform
 A version of the Laplace Transform that acts on discrete signals. This transform is implemented as an infinite sum.
 State Equation
 An equation that relates the future states of a system with the current state and the current system input.
 State Transition Matrix
 A coefficient matrix, or a matrix function that relates how the system state changes in response to the system input. In timeinvariant systems, the statetransition matrix is the matrix exponential of the system matrix.
 StateSpace Equations
 A set of equations, typically written in matrix form, that relates the input, the system state, and the output. Consists of the state equation and the output equation. See [6]
 StateVariable
 A vector that describes the internal state of the system.
 Stability
 The system output cannot approach infinity as time approaches infinity. See BIBO, Lyapunov Stability.
 Step Response
 The response of a system when stimulated by a unitstep input. A unit step is a setpoint change for setpoint tracking.
 Steady State
 The output value of the system as time approaches infinity.
 Steady State Error
 At steady state, the amount by which the system output differs from the reference value.
 Superposition
 A system satisfies the condition of superposition if it is both additive and homogeneous.
 System Identification
 method of trying to identify the system characterization , typically through least squares analysis of input,output and noise data vectors. May use ARMA type framework.
 System Type
 The number of ideal integrators in the system.
 TimeInvariant
 A system is timeinvariant if an input timeshifted by an arbitrary delay produces an output shifted by that same delay.
 Transfer Function
 The ratio of the system output to its input, in the Sdomain. The Laplace Transform of the function's impulse response.
 Transfer Function Matrix
 The Laplace transform of the statespace equations of a system, that provides an external description of a MIMO system.
 Uniform Stability
 Also "Uniform BIBO Stability", a system where an input signal in the range [0, 1] results in a finite output from the initial time until infinite time. See [7].
 Unit Step
 An input defined by . Practically, a setpoint change.
 Unity Feedback
 A feedback system where the feedback loop element H has a transfer function of 1.
 Velocity Error
 The amount of steadystate error when the system is stimulated by a ramp input.
 Velocity Error Constant
 A constant that determines that amount of velocity error in a system.
W, X, Y, Z
 Wplane
 Reference plane used in the bilinear transform.
 Windup
 when the numerics of computed control adjustment can "windup", yielding control correction with an inappropriate component unless prevented. An example is the "I" contribution of PID if output has been disconnected during PID calculation
 Zero
 A value for s that causes the numerator of the transfer function to become zero, and therefore causes the transfer function itself to become zero.
 Zero Input Response
 The response of a system with zero external input. Relies only on the value of the system state to produce output.
 Zero State Response
 The response of the system with zero system state. The output of the system depends only on the system input.
 ZOH
 Zero order hold.
 ZTransform
 An integral transform that is related to the Laplace transform through a change of variables. The ZTransform is used primarily with digital systems. See [8]
List of Equations
The following is a list of the important equations from the text, arranged by subject. For more information about these equations, including the meaning of each variable and symbol, the uses of these functions, or the derivations of these equations, see the relevant pages in the main text.
Fundamental Equations
[Euler's Formula]
[Convolution]
[Convolution Theorem]
[Characteristic Equation]
[Decibels]
Basic Inputs
[Unit Step Function]
[Unit Ramp Function]
[Unit Parabolic Function]
Error Constants
[Position Error Constant]
[Velocity Error Constant]
[Acceleration Error Constant]
System Descriptions
[General System Description]
[Convolution Description]
[Transfer Function Description]
[StateSpace Equations]
[Transfer Matrix]
[Transfer Matrix Description]
[Mason's Rule]
Feedback Loops
[ClosedLoop Transfer Function]
[OpenLoop Transfer Function]
[Characteristic Equation]
Transforms
[Laplace Transform]
[Inverse Laplace Transform]
[Fourier Transform]
[Inverse Fourier Transform]
[Star Transform]
[Z Transform]
[Inverse Z Transform]
[Modified Z Transform]
Transform Theorems
[Final Value Theorem]
[Initial Value Theorem]
StateSpace Methods
[General State Equation Solution]
[General Output Equation Solution]
[TimeVariant General Solution]
[Impulse Response Matrix]
Root Locus
[The Magnitude Equation]
[The Angle Equation]
[Number of Asymptotes]
[Angle of Asymptotes]
[Origin of Asymptotes]
[Breakaway Point Locations]
 or
Lyapunov Stability
[Lyapunov Equation]
Controllers and Compensators
[PID]
Resources and Further Reading
Wikibooks
A number of wikibooks exist on topics that are (a) prerequisites to this book (b) companion pieces to and references for this book, and (c) of further interest to people who have completed reading this book. Below will be a listing of such books, ordered according to the categories listed above.
Prerequisite Books
 Linear algebra
 Linear Algebra with Differential Equations
 Complex Numbers
 Calculus
 Signals and Systems
Companion Books
Books for Further Reading
Wikiversity
The Wikiversity project also contains a number of collaborative learning efforts in the field of control systems, and related subjects. As best as possible, we will attempt to list those efforts here:
Wikiversity is also a place to host learning materials, such as assignments, tests, and reading plans. It is the goal of the authors of this book to create such materials for use in conjunction with this book. As such materials are added to wikiversity, they will be referenced here.
Wikipedia
There are a number of Wikipedia articles on the topics covered in this book, and those articles will be linked to from the appropriate pages of this book. However, some of the articles that are of general use to the book are:
A complete listing of all Wikipedia articles related to this topic can be found at:
Software
Root Locus
RootLocus is a free program that was used to create several of the images in this book. That software can be obtained from the following web address:
Explicit permission has been granted by the author of the program to include screenshots on wikibooks. Images generated from the RootLocus program should be included in Category:Root Locus Images, and appropriately tagged as a screenshot of a free software program.
MATLAB
MATLAB, Simulink, the Control Systems Toolbox and the Symbolic Toolbox are trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders. For more information about MATLAB, or to purchase a copy, visit:
For information about the proper way to refer to MATLAB, please see:
All MATLAB code appearing in this book has been released under the terms of the GFDL by the respective authors. All screenshots, graphs, and images relating to MATLAB have been produced in Octave, with changes to the original MATLAB code made as necessary.
Octave
Octave is a free opensource alternative program to MATLAB. Octave utilizes a scripting language that is very similar to that of MATLAB, although there are several differences. Most of the basic examples described in this book will work equally well in MATLAB or Octave, with no changes or only minor changes. For more information, or to download a copy of Octave, visit:
Commercial Vendors
The following are some common vendors of controlrelated hardware and software. These links are for personal interest only, and do not constitute an official endorsement of the companies by Wikibooks.
External Publications
The following books and resources were used as reference works in the creation of this wikibook (books listed in alphabetical order).
 Brogan, William L, Modern Control Theory, 3rd Edition, 1991. ISBN 0135897637
 Chen, ChiTsong, Linear System Theory and Design, 3rd Edition, 1999. ISBN 0195117778
 Dorf and Bishop, Modern Control Systems, 10th Edition, Prentice Hall, 2005. ISBN 0131277650
 Hamming, Richard, Numerical Methods for Scientists and Engineers, 2nd edition, Dover, 1987. ISBN 0486652416
 Kalman, R. E., When is a linear control system optimal, ASME Transactions, Journal of Basic Engineering, 1964
 Kalman, R. E., On the General Theory of Control Systems, IRE Transactions on Automatic Control, Volume 4, Issue 3, p110, 1959. ISSN 0096199X
 Ogata, Katsuhiko, Solving Control Engineering Problems with MATLAB, Prentice Hall, New Jersey, 1994. ISBN 0130459070
 Phillips and Nagle, Digital Control System Analysis and Design, 3rd Edition, Prentice Hall, 1995. ISBN 013309832X
The following books and resources are suitable for further reading.
 DiStefano, Stubberud, Williams, Schaum's Outline Series Feedback and Control Systems, 2nd Edition, 1997. ISBN 0070170479
 Franklin, Powell, Workman, Digital Control of Dynamic Systems, 3rd Edition, 1997. ISBN 9780201820546
 Brosilow, Joseph, Techniques of ModelBased Control, 2002. ISBN 013028078X
External Resources
 IEEE Control Systems Society
 ControlTheoryPro.com A place for controls theory, application, and modeling help.
 Univ Michigan open text for Prcoess Dynamics and Controls
Licensing
License
The text of this wikibook is released under the terms of the GNU Free Documentation License version 1.2. The particular version of that license that is being used can be found at:
The text of that license will also be appended to the end of the printable version of this wikibook.
Images used in this document may not be released under the GFDL, and the licenses used with each image in this book will be listed in a table below. Some contributors may crosslicense their contributions under the GFDL and another compatible license. Some contributions have been released into the public domain.
Images
The individual images used in this wikibook are released under a variety of different licenses, including the GFDL, and CreativeCommons licenses. Some images have been released into the public domain. The following table will list the images used in this book, along with the license under which the image is released, and any additional information about the images that is needed under the terms of the applicable licenses.
Authors
The authors of this text can list themselves below. Authors should be listed in alphabetical order by first name (if a real name is used), or by username. This is not a canonical list.
The usernames of additional contributors, as well as the size and scope of the contributions made by the authors listed above can be found in the history records of the individual pages on the Wikibooks website. Those history pages satisfy the attribution requirement of the GFDL, and any lists of authors that appear here or anywhere else do not count as legal attribution under the terms of that license.
Child Versions
The Control Systems wikibook is offered with a number of child versions, which represent subsets of the material available in the parent book. Because certain chapters are omitted from the child versions, some of the images listed above may not be present, and some of the authors listed above may not have made any contributions to some printed and distributed versions of this text.
License: GFDL
As of July 15, 2009 Wikibooks has moved to a duallicensing system that supersedes the previous GFDL only licensing. In short, this means that text licensed under the GFDL only can no longer be imported to Wikibooks, retroactive to 1 November 2008. Additionally, Wikibooks text might or might not now be exportable under the GFDL depending on whether or not any content was added and not removed since July 15. 
Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a worldwide, royaltyfree license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a frontmatter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as FrontCover Texts or BackCover Texts, in the notice that says that the Document is released under this License. A FrontCover Text may be at most 5 words, and a BackCover Text may be at most 25 words.
A "Transparent" copy of the Document means a machinereadable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standardconforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machinegenerated HTML, PostScript or PDF produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
The "publisher" means any person or entity that distributes copies of the Document to the public.
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: FrontCover Texts on the front cover, and BackCover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machinereadable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computernetwork location from which the general networkusing public has access to download using publicstandard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
 Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
 List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
 State on the Title page the name of the publisher of the Modified Version, as the publisher.
 Preserve all the copyright notices of the Document.
 Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
 Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
 Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
 Include an unaltered copy of this License.
 Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
 Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
 For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
 Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
 Delete any section Entitled "Endorsements". Such a section may not be included in the Modified version.
 Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
 Preserve any Warranty Disclaimers.
If the Modified Version includes new frontmatter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a FrontCover Text, and a passage of up to 25 words as a BackCover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of FrontCover Text and one of BackCover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site.
"CCBYSA" means the Creative Commons AttributionShare Alike 3.0 license published by Creative Commons Corporation, a notforprofit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
"Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document.
An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site under CCBYSA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
 Copyright (c) YEAR YOUR NAME.
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3
 or any later version published by the Free Software Foundation;
 with no Invariant Sections, no FrontCover Texts, and no BackCover Texts.
 A copy of the license is included in the section entitled "GNU
 Free Documentation License".
If you have Invariant Sections, FrontCover Texts and BackCover Texts, replace the "with...Texts." line with this:
 with the Invariant Sections being LIST THEIR TITLES, with the
 FrontCover Texts being LIST, and with the BackCover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.