DSPRelated.com
Forums

Zeros in right half plane

Started by kmietas June 17, 2005
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
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
"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
"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.
Tim Wescott wrote:
> 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