Hi,
I'm a newbie in the field of "Control Theory" and feel confused with some issues concerning feedback control for disturbance rejection and would like to ask for your help.
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?
Guess I'm just confused about steady-state response vs. transient reponse.
Best Regards Tom