3

I am trying to prove with Matlab that if I have an improper system and I place poles at higher and higher frequencies the performances of the system improves. In particular I am considering the following two degree of freedom scheme:

enter image description here

where $C_{f}= \frac{(1+s)(1+0.05s)^{2}]}{(1+\tau s)^{3}}$

My code is the following:

s = tf('s');
P = 1/[(1+s)*(1+0.05*s)^2];
C = (s+1)/s;


tau_1 = 0.1;
CF_1 = [(1+s)*(1+0.05*s)^2]/((1+tau_1*s)^3);

tau_2 = 0.01;
CF_2 = [(1+s)*(1+0.05*s)^2]/((1+tau_2*s)^3);

tau_3 = 0.001;
CF_3 = [(1+s)*(1+0.05*s)^2]/((1+tau_3*s)^3);

T1 = (C+CF_1)*P/(1+P*C);
T2 = (C+CF_2)*P/(1+P*C);
T3 = (C+CF_3)*P/(1+P*C);


figure;
bodemag(T1,'r',T2,'b',T3,'g'),grid
legend('tau = 0.1','tau = 0.01','tau = 0.001')

so what I expected is that the performances with respect to the reference tracking increse as tau gets smaller, but if I do the Bode plot, what I get is:

enter image description here

from which I don't really see much of an improvement. Moreover if I change some values:

enter image description here

which is somenthing that to me does not makes sense because I should have that with $\tau =1$ I should have better performances than with $\tau =10$, this because with $\tau =1$ the pole is at higher frequencies that with $\tau =10$.

Can somebody please help me solving this problem?

Thanks in advance.

[EDIT] If I plot the step responses I see the same problem:

enter image description here

[EDIT 2]For completeness, I post the image of the step response for the first choise of tau's:

enter image description here

for these values of $\tau$ there is a clear improvement for overshoot and a faster response.

I also tried other values smaller than 1 for $\tau$ and all of these show what I expected in the step response. While for values bigger than 1, I obtain something similar at the other situation.

Does somenone know why this happens? Thanks.

[EDIT 3] With the last one, so values of $\tau$ smaller than 1, I have also noticed an increase in phase margin, so this should mean that the system is performing better.

While, if I consider the values $\tau=1$ $\tau=10$ i get that for the first one the phase margin is 125 deg and for the second is 170 deg. So this should be in according to the fact that $\tau=10$ performs better.

J.D.
  • 225
  • 2
  • 8

1 Answers1

4

Your closedloop crossover frequency (when the magnitude of $P(s)\,C(s)$ is equal to one) lies at roughly 1 rad/s. This means that the feedback controller already causes the system to track reference signals that have a frequency content sufficiently below that. So adding feedforward that only approximates the inverse of the plant ($C_f(s)\,P(s)\approx1$) below the crossover frequency should not aid in the tracking performance, so that is why for both $\tau=1$ and $\tau=10$ the magnitude of the overall transfer functions both start to drop off around 1 rad/s, similar to if you wouldn't use any feedforward ($C_f(s)=0$).

However, for $\tau=1$ the magnitude of $C_f(s)\,P(s)$ near 1 rad/s is still close to 0 dB, but the phase at 1 rad/s has already dropped to -135°, so the actual feedforward is actually doing partially the opposite of what the ideal feedforward would do and thus steering away from better reference tracking. For $\tau=10$ the magnitude of $C_f(s)\,P(s)$ near 1 rad/s is already close to -60 dB. So, even though the phase is already way lower compared when using $\tau=1$, the magnitude is so low that the feedback controller can counteract the little disturbance the feedforward term is causing near that frequency. So that is why $\tau=10$ performs better (less overshoot) than $\tau=1$. Though, it can be noted that for $\tau=10$ there is a 0.3 dB peak near 0.06 rad/s and an overshoot of 0.03 after 20 seconds, while the system with only feedback and no feedforward has no overshoot.

fibonatic
  • 1,663
  • 9
  • 13