DSPRelated.com
Forums

Basic Control Questions

Started by Randy Yates May 17, 2011
I've heard that, in order to design a control system, you need to know
the plant transfer function. Is the gist of this so that you can
design a compensator that gives you a reasonable performance while
maintaining stability?

A related question: If I have a Bode plot (mag/phase) of the
plant, are "system identification methods" things I use to
obtain the transfer function (i.e., a rational function)?
If not, how do I obtain a transfer function from a Bode
plot, and what are system identification methods?
-- 
Randy Yates                      % "Watching all the days go by...
Digital Signal Labs              %  Who are you and who am I?"
mailto://yates@ieee.org          % 'Mission (A World Record)',
http://www.digitalsignallabs.com % *A New World Record*, ELO

Randy Yates wrote:
> I've heard that, in order to design a control system, you need to know > the plant transfer function.
Yes, so say the sages. Yet they say thy need to read an ABC book to get the best of it.
> Is the gist of this so that you can > design a compensator that gives you a reasonable performance while > maintaining stability?
Not quite. Optimal control != linear control
> A related question: If I have a Bode plot (mag/phase) of the > plant, are "system identification methods" things I use to > obtain the transfer function (i.e., a rational function)? > If not, how do I obtain a transfer function from a Bode > plot, and what are system identification methods?
IIRC the great Greg Berchin designed FDLS for exacty this purpose. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On May 17, 3:03&#4294967295;pm, Randy Yates <ya...@ieee.org> wrote:
> I've heard that, in order to design a control system, you need to know > the plant transfer function. Is the gist of this so that you can > design a compensator that gives you a reasonable performance while > maintaining stability? > > A related question: If I have a Bode plot (mag/phase) of the > plant, are "system identification methods" things I use to > obtain the transfer function (i.e., a rational function)? > If not, how do I obtain a transfer function from a Bode > plot, and what are system identification methods? > --
Bode plot assumes LTI system. If you have non-linearities you can either linearise around some operating point or use some form of non-linear method of control. Most tradition engineers attempt to use linear theory even if the plant is non-linear. There are methods for identifying non-linear systems. They aint pretty though and not general enough. Hardy
On 05/16/2011 08:03 PM, Randy Yates wrote:
> I've heard that, in order to design a control system, you need to know > the plant transfer function. Is the gist of this so that you can > design a compensator that gives you a reasonable performance while > maintaining stability?
You don't necessarily need to know the plant transfer function, but if you did you could certainly use it to design such a compensator.
> A related question: If I have a Bode plot (mag/phase) of the > plant, are "system identification methods" things I use to > obtain the transfer function (i.e., a rational function)?
Whether or not you have a Bode plot, system identification is a means to go from measurements to a mathematical model of your system.
> If not, how do I obtain a transfer function from a Bode > plot, and what are system identification methods?
I know there are various ways, but it's been a long time since I felt moved to find them. If you have some unknown system, and you take some measurements of some sort, and you extract a system model from those measurements, then you've done "system identification". One branch of system identification does this from Bode plots. But I've found that once I'm to the point where I have measured a system's frequency response, it's much easier (and more precise) to just take that measured frequency response and design a controller with it, using Bode plots and Nyquist charts. Why do I prefer this method over finding a transfer function? Because system identification is, of necessity, an approximate process. At best, if I find a transfer function that's simple enough to use pencil and paper design methods, it'll be an approximation of the real thing. If I doll up the transfer function with enough states to exactly match the Bode plot then I'll have to use computer methods. At worst, I'm dealing with a nonlinear system and my "transfer function" is really a describing function, and it's only an approximation anyway. Since I have a pretty good grasp of how to do frequency domain design for time domain goals, I just do my design with Bode plots. So what's motivating the question? Do you have a system you're trying to design? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 05/17/2011 12:32 PM, Tim Wescott wrote:
> On 05/16/2011 08:03 PM, Randy Yates wrote: >> I've heard that, in order to design a control system, you need to know >> the plant transfer function. Is the gist of this so that you can >> design a compensator that gives you a reasonable performance while >> maintaining stability?
> You don't necessarily need to know the plant transfer function, but > if you did you could certainly use it to design such a compensator.
How would you know how to design the compensator if you don't know the plant transfer function? E.g., how would you be able to guarantee closed-loop stability?
>> A related question: If I have a Bode plot (mag/phase) of the >> plant, are "system identification methods" things I use to >> obtain the transfer function (i.e., a rational function)?
> Whether or not you have a Bode plot, system identification is a > means to go from measurements to a mathematical model of your > system.
>> If not, how do I obtain a transfer function from a Bode >> plot, and what are system identification methods?
> I know there are various ways, but it's been a long time since I > felt moved to find them.
> If you have some unknown system, and you take some measurements of > some sort, and you extract a system model from those measurements, > then you've done "system identification". One branch of system > identification does this from Bode plots.
> But I've found that once I'm to the point where I have measured a > system's frequency response, it's much easier (and more precise) to > just take that measured frequency response and design a controller > with it, using Bode plots and Nyquist charts.
1. Is a "controller" the same thing as a "compensator?" 2. How do you use go from measured frequency response to controller? I.e., exactly how do you use Bode plots and Nyquist charts to do this?
> Why do I prefer this method over finding a transfer function?
> Because system identification is, of necessity, an approximate > process. At best, if I find a transfer function that's simple enough > to use pencil and paper design methods, it'll be an approximation of > the real thing. If I doll up the transfer function with enough > states to exactly match the Bode plot then I'll have to use computer > methods. At worst, I'm dealing with a nonlinear system and my > "transfer function" is really a describing function, and it's only > an approximation anyway.
> Since I have a pretty good grasp of how to do frequency domain > design for time domain goals, I just do my design with Bode plots.
> So what's motivating the question? Do you have a system you're trying to design?
That's part of the motivation (I will soon) - the other part is just to understand the terminology and concepts I hear bantied about here quite often. -- Randy Yates % "Watching all the days go by... Digital Signal Labs % Who are you and who am I?" mailto://yates@ieee.org % 'Mission (A World Record)', http://www.digitalsignallabs.com % *A New World Record*, ELO
On 05/17/2011 09:44 AM, Randy Yates wrote:
> On 05/17/2011 12:32 PM, Tim Wescott wrote: >> On 05/16/2011 08:03 PM, Randy Yates wrote: >>> I've heard that, in order to design a control system, you need to know >>> the plant transfer function. Is the gist of this so that you can >>> design a compensator that gives you a reasonable performance while >>> maintaining stability? > >> You don't necessarily need to know the plant transfer function, but >> if you did you could certainly use it to design such a compensator. > > How would you know how to design the compensator if you don't know the > plant transfer function? E.g., how would you be able to guarantee > closed-loop stability?
See my answer to (2), below. You can't guarantee closed-loop stability -- you can only reduce the chances of oscillation to vanishingly small amounts.
>>> A related question: If I have a Bode plot (mag/phase) of the >>> plant, are "system identification methods" things I use to >>> obtain the transfer function (i.e., a rational function)? > >> Whether or not you have a Bode plot, system identification is a >> means to go from measurements to a mathematical model of your >> system. > >>> If not, how do I obtain a transfer function from a Bode >>> plot, and what are system identification methods? > >> I know there are various ways, but it's been a long time since I >> felt moved to find them. > >> If you have some unknown system, and you take some measurements of >> some sort, and you extract a system model from those measurements, >> then you've done "system identification". One branch of system >> identification does this from Bode plots. > >> But I've found that once I'm to the point where I have measured a >> system's frequency response, it's much easier (and more precise) to >> just take that measured frequency response and design a controller >> with it, using Bode plots and Nyquist charts. > > 1. Is a "controller" the same thing as a "compensator?"
Pretty much. Terminology varies. Some folks will talk about a controller being a collection of compensator, or they'll use the terms interchangeably.
> 2. How do you use go from measured frequency response to controller? > I.e., exactly how do you use Bode plots and Nyquist charts to do this?
I really need to fix up the formatting, but read this: http://www.wescottdesign.com/articles/zTransform/z-transforms.html Note that the formatting is much better in my book. The short answer is that you know what a Bode plot and Nyquist chart of a stable system look like, so you take your measured plant frequency response and your predicted controller frequency response, you combine them into a predicted system frequency response, and you take a gander at the plots. Then you change the controller as necessary to meet your goals, or you convince yourself that your plant isn't up to snuff. If you're doing this with a plant that's known to have significant nonlinear behavior, then you will find two interesting things: one, as you change the amplitude of your excitation, the plant response Bode plot will change, and two, when you put your controller in, the plant response will change. So it's an iterative process.
>> Why do I prefer this method over finding a transfer function? > >> Because system identification is, of necessity, an approximate >> process. At best, if I find a transfer function that's simple enough >> to use pencil and paper design methods, it'll be an approximation of >> the real thing. If I doll up the transfer function with enough >> states to exactly match the Bode plot then I'll have to use computer >> methods. At worst, I'm dealing with a nonlinear system and my >> "transfer function" is really a describing function, and it's only >> an approximation anyway. > >> Since I have a pretty good grasp of how to do frequency domain >> design for time domain goals, I just do my design with Bode plots. > >> So what's motivating the question? Do you have a system you're trying >> to design? > > That's part of the motivation (I will soon) - the other part is just > to understand the terminology and concepts I hear bantied about here > quite often.
-- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 5/17/2011 9:44 AM, Randy Yates wrote:

Part of the issue here is:
"what is a transfer function?"

Normally when someone says "transfer function", I think of it being the 
ratio of polynomials in "s" - i.e. a rational function.

 From this, one can generate a Bode Plot and use graphical methods 
and/or use pure analytical methods.

Or, one can make measurements that generate the Bode Plot empirically 
and then most likely use graphical methods.

If you do the latter then you're likely going to make some assumptions 
about the form of the rational function (i.e. where are the poles and 
zeros or what is the nature of the frequency response) - whether you do 
that explicitly or implicitly.  Depends on your methods / tools.

So, to answer Randy's question:

- You might ponder the shape of the Bode plot and guess at the dominant 
pole locations and perhaps zero locations .. leading to an analytical 
transfer function based on only the dominant singularities.

- You might use some graphical techniques (which I have mostly 
forgotten) to accomplish the same thing but without explicitly writing 
down.  Look at
http://www.spirule.com/control%20methods.summary.pdf

The big idea was to look at the locus of roots of the compensated system 
loop to see where they end up with various values of gain, etc.
Then you could make decisions about gain and phase in the 
compensator/controller/feedback loop.

Is that close Tim?

Fred
On 05/16/2011 08:56 PM, Vladimir Vassilevsky wrote:
> > > Randy Yates wrote: >> I've heard that, in order to design a control system, you need to know >> the plant transfer function. > > Yes, so say the sages. Yet they say thy need to read an ABC book to get > the best of it.
I must not be a sage, then, because I often don't bother with extracting anything but the roughest of transfer functions. And there _is_ a lot of knowledge you need to apply if you have to get the best out of a control loop. Fortunately (for others, not for me) you don't always need to get the best out of a control loop, and can do it b'guess and b'gosh.
>> Is the gist of this so that you can >> design a compensator that gives you a reasonable performance while >> maintaining stability? > > Not quite. > Optimal control != linear control
That depends on your system and your cost function. If you have a linear system, Gaussian disturbances, and a weighted sum-of-squares cost function then the optimal controller is linear. Of course, none of the above three constraints really applies in the practical world. But being able to do the math on paper gives you a great feeling of wisdom and knowledge. And knowing the impractical optimal controller sometimes helps you find a good-enough real-world one. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 05/16/2011 08:56 PM, Vladimir Vassilevsky wrote:

> IIRC the great Greg Berchin designed FDLS for exacty this purpose.
I did a web search and found a whole bunch of material on fundamentalist Mormons and all their wives, and dental licensing in Florida, but only found one article that mentioned FDLS the signal processing method -- and that didn't have much detail. Links? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 05/16/2011 08:56 PM, Vladimir Vassilevsky wrote:

>> IIRC the great Greg Berchin designed FDLS for exacty this purpose.
Vladimir, I just spewed Diet Mountain Dew all over my monitor. Actually, FDLS was originally designed to create transfer functions from measured frequency responses of electromagnetic transducers at Lawrence Livermore National Laboratory. They needed a way to determine the impulse responses of the transducers, but could not measure them directly. So they extracted the impulse responses from the modeled transfer functions. As such, FDLS is fundamentally a system identification method. Any success in its more common mis-application as a filter design method is merely a side-effect. For the current topic, FDLS can certainly be useful if a z-domain transfer function is appropriate. But it can't do diddly if a Laplace-domain transfer function is necessary. On Tue, 17 May 2011 10:19:27 -0700, Tim Wescott <tim@seemywebsite.com> wrote:
>I did a web search and found a whole bunch of material on fundamentalist >Mormons and all their wives, and dental licensing in Florida, but only >found one article that mentioned FDLS the signal processing method -- >and that didn't have much detail.
I don't know much about Mormons or dentists, but info about FDLS the system identification method is available directly from me. Greg