> kmietas wrote:
> > Hi,
> > Is there any method of designing a controller for such transfer function:
> >
> > P(s) = 0.47 * (s-0.005) / (s^2 + 0.4s + 0.42) ?
> >
> > I'd be very grateful for any advice. I just don't know how to handle with
> > RHP zeros.
> >
> > Best regards,
> > Marcin
> >
> I've cross posted this to sci.engr.control, 'cause someone there will
> have some good insight, too.
>
> Your transfer function is what is known as non-minimum phase -- the
> phrase means that for the amount of amplitude change with frequency the
> phase changes more than the minimum. Any transfer function that has
> some poles (or zeros) on the RHP and some on the LHP is non-minimum
> phase (I think if _all_ the poles and zeros are in the RHP it's minimum
> phase, just severely unstable).
>
> At any rate yes, you can do this, and it's pretty straightforward by all
> of the classical techniques. I've always preferred to start with a
> root-locus design method when there's unstable zeros, because I'm not
> really fond of counting encirclements with a Nyquist plot. Pole
> placement can also provide some insight into what you need to do to make
> it behave, but as a design method pole placement is generally as robust
> as wet tissue paper. Once you have a system that's stable you can do
> Bode design on it to optimize the parameters.
>
> --
> -------------------------------------------
> Tim Wescott
> Wescott Design Services
> http://www.wescottdesign.com
A system with any number of poles or zeros in the RHP is non-minimum
phase. When poles are in the RHP they can be moved under the action of
feedback, but RHP zeros cannot. RHP zeros are the limiting factor in
achievable performance. All discrete time controllers are NMP because
sampling introduces NMP zeros which means that
the performance of a discrete time system is limited compared to the
equivalent continuous time system. As the sampling rate is increased,
the NMP zeros move further away from the origin allowing better
performance to be achieved. However, very fast sampling brings its own
set of headaches.
fred
Reply by John E. Hadstate●June 18, 20052005-06-18
"kmietas" <kmietass@wp.pl> wrote in message
news:ftidnXzEQtxoYy_fRVn-rw@giganews.com...
> Hi,
> Is there any method of designing a controller for such
> transfer function:
>
> P(s) = 0.47 * (s-0.005) / (s^2 + 0.4s + 0.42) ?
>
> I'd be very grateful for any advice. I just don't know how
> to handle with
> RHP zeros.
>
> Best regards,
> Marcin
>
Not knowing what your level of expertise is, let's start
with the basics.
Let P be the given transfer function of the system
Let G be the transfer function of the controller
Let T be the transfer function of the closed-loop system
Then:
T = P/(1 + GP).
Now, let P = N/D.
Then:
T = (N/D)/(1 + GN/D) = N/(D + GN).
There are several different approaches you can take from
this point, depending on what your constraints are.
Suppose, for this example, that you can't just choose any
controller. Suppose that your controller is a simple Gain
such that:
G(s) = K/0.47.
For a stable T, we need to focus on the denominator, (D +
GN) which we can write as:
(s^2 + 0.4s + 0.42) + (K/0.47)*(0.47 * (s-0.005)) or,
(s^2 + s(0.4 + K) + (0.42 + 0.005*K).
In particular, we need to find the values of K where the
roots of the above equation are in the LHP. To do this,
start with the expression for the roots of a quadratic
equation:
R = (-b +/- sqrt(b^2 - 4ac))/(2a)
a = 1, b = 0.4 + K, c = 0.42 + 0.005*K
Looking at one root,
R1 = (-(0.4+K)+sqrt((0.4+K)^2 - 4*(0.42+0.005*K)))/2
From this, you can see that when K=0, R1 is complex and
negative real, so the system is stable though possibly
oscillatory. As K is increased, the b^2 term increases
faster than the linear term and, at some value of K, the
argument of the sqrt() becomes 0. At this point, there are
two real, negative roots. As K is increased still further,
R1 will stay real and approach zero. R2 (not shown) will
stay real and get more negative.
As R1 gets closer to zero, the closed-loop response, T, will
become more and more sluggish, so, for control purposes, you
should probably set K to the value that just makes the roots
real and remember that when you synthesize the controller,
that G = K/0.47.
Reply by Rimmer●June 18, 20052005-06-18
"kmietas" <kmietass@wp.pl> wrote in message
news:ftidnXzEQtxoYy_fRVn-rw@giganews.com...
> Hi,
> Is there any method of designing a controller for such transfer function:
>
> P(s) = 0.47 * (s-0.005) / (s^2 + 0.4s + 0.42) ?
>
>
Yes,lots of papers on controlling non min phase systems. One thing you
cannot do is cancel the zero of course with an unstable pole but you nearly
always end up with using the 'reflected' zero ie the one mirrored about the
JW axis.In this case s+0.005.
Rimmer
Reply by Tim Wescott●June 17, 20052005-06-17
kmietas wrote:
> Hi,
> Is there any method of designing a controller for such transfer function:
>
> P(s) = 0.47 * (s-0.005) / (s^2 + 0.4s + 0.42) ?
>
> I'd be very grateful for any advice. I just don't know how to handle with
> RHP zeros.
>
> Best regards,
> Marcin
>
I've cross posted this to sci.engr.control, 'cause someone there will
have some good insight, too.
Your transfer function is what is known as non-minimum phase -- the
phrase means that for the amount of amplitude change with frequency the
phase changes more than the minimum. Any transfer function that has
some poles (or zeros) on the RHP and some on the LHP is non-minimum
phase (I think if _all_ the poles and zeros are in the RHP it's minimum
phase, just severely unstable).
At any rate yes, you can do this, and it's pretty straightforward by all
of the classical techniques. I've always preferred to start with a
root-locus design method when there's unstable zeros, because I'm not
really fond of counting encirclements with a Nyquist plot. Pole
placement can also provide some insight into what you need to do to make
it behave, but as a design method pole placement is generally as robust
as wet tissue paper. Once you have a system that's stable you can do
Bode design on it to optimize the parameters.
--
-------------------------------------------
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Reply by kmietas●June 17, 20052005-06-17
Hi,
Is there any method of designing a controller for such transfer function:
P(s) = 0.47 * (s-0.005) / (s^2 + 0.4s + 0.42) ?
I'd be very grateful for any advice. I just don't know how to handle with
RHP zeros.
Best regards,
Marcin
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com