# Newbie asking questions regarding Disturbance Rejection!

• posted

Hi,
I'm a newbie in the field of "Control Theory" and feel confused with
some issues concerning feedback control for disturbance rejection and
Currently I'm reading that in order to obtain good disturbance
rejection (i.e. minimizing the sensitivity-function
S(s)=1/(1+Plant(s)*Controller(s) ) one needs to cancel the poles and
zeros of the plant and from there design an additional filter that
contribute to amplification inside the loop. Here I'm a little unsure
if this is the right approach for all "disturbance rejectors". What
I'm confused about is most easily described (I hope) by this simple
example:
I have a Plant(s) = 1/s and consequently a controller(s)=s, thus the
Sensitivity, S(s), function yields:
S(s) = 1/(1 + s*1/s) = 1/2 = ~6dB attenuation with no phase shift!
Now going into the time-domain; if I apply an ultra low-frequency
sinuoid signal as disturbance signal and it is first
filtered by the Plant then the phase-shift will be close to -90
degrees. Given the Controller that cancels the
pole of the plant the sinusoid signal will be shifted +90 degrees to
achieve infinite attenuation (generating perfect
anti-noise). If I'm wrong here I'd be glad to be corrected!
Now I can see why everything goes well when the disturbance is a
sinuoid signal but when it instead is a random
signal this controller design no longer delivers unfinite disturbance
rejection as this would need a non-causal filter to produce a phase
shift corresponding to the inverse of the plant - Am I right in this?
reponse.
Best Regards
Tom
• posted
_Where_ did you hear _that_???
Masking your plant poles with controller zeros is about 99 44/100% wrong, and it's certainly all wrong for improving real disturbance rejection! It may be something that looks good from a naive mathematical standpoint, but it doesn't stand up to much scrutiny.
Take your case, with an integrating plant whose transfer function is 1/s, and a differentiating 'controller' whose transfer function is s. Ignoring little issues like the impossibility of building a perfect differentiator, consider what happens when you have a constant disturbance at the output of your controller. Your plant will integrate it, and move. At some speed your controller will null out the disturbance -- but the plant will continue to move forever, to give you an infinite disturbance. That's not good disturbance rejection!
Normally you improve stability rejection by moving the system poles around, _without_ masking the plant poles with controller zeros. This is done by designing a controller (with it's own poles) and manipulating the controller gain, poles, and zeros so the whole system behaves in an acceptable manner.
The only time that I can think of where it makes sense to mask plant poles with controller zeros is when your plant is some mechanical assembly that has a clear and easily predictable resonance. Then, to enhance stability, you may find it useful to put a notch filter into your controller -- but when you do, the resonance becomes uncontrollable, which means that you are _not_ improving the disturbance rejection at the resonance frequency _at all_.
I suggest you find a good book on this subject. Failing that, there's always mine:
You need a book that'll lead you through the whole design process, and it's certainly not something you'll get from reading scattered web pages.
• posted
[snip...snip...]
Got your book and like it ... but I had to smile at the perhaps somewhat infelicitous phrasing in the quoted reply above. Might want to phrase that just a little differently. ;-)
• posted
It was intentional: at least once a year I try to be modest, just to show that I can do it.
OP: Perhaps I shouldn't downplay my own work _too_ much. Mine is one of only two books that I know of that are written specifically for the practitioner who needs to self-teach, and in my opinion it's the far better one of the two.
• posted
st i anf=F8rselstegn -
Hi Tim,
Thanks for your comments - it was well written. I did indeed read about cancelation with regards to mechanical assembly and assumed that accounted for controller design in general. I have still a lot to learn I can tell. I will order your book and then I might return with some more questions
Tom
• posted
I forgot to mention that even in the case of a mechanical resonance a notch is often not the right answer. If the resonance is inside the bandwidth of the loop you may be best off with a PID with an extra lead (essentially a double-differentiator, which can have it's own issues), if the resonance is _well_ within the bandwidth of the loop you may not even notice it (i.e. if your resonance is formed by a 100lb mass swinging on itty bitty wires), if the resonance frequency changes from unit to unit or over temperature then a notch won't work without individual tuning, etc.
Pretty much the _only_ time that I'll put a notch into a controller is if I have a darn good idea what creates the resonance, I have good reason to believe that it'll stay put in frequency, and if it's more than about 5x my 0dB loop frequency (and 5x is pushing it).
I have a love-hate relationship with the whole notch filter thing. It has a dramatic, positive effect on stability, but it's kind of like using an unexploded grenade as a weight-bearing member in your house. Putting one into a system design does practically guarantee me ongoing business, because the resonance frequency will creep away from the design value over time. This means that the system will constantly be going out of tune and require expert help. The best job you can do in such a case is to arrive at a tuning that's immune to mechanical design changes, but that still needs to be fiddled with whenever the mass changes, or the rigidity of the assembly is changed.

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.