How to find total Steady-State Error due to reference and disturbance
211 views (last 30 days)
Show older comments
I have this system and wanted to find the error for when R(s) is a 3 step input and the error when D(s) is a unit step input. I'm doing it this way but I think it's wrong. Can someone tell me if this is the right way?
km = 3.5;
tm = 0.5
K = 5;
s = tf('s');
G = km/(tm*s+1);
sys = feedback(G*K,1,-1);
SP=3; %input value
[y,t]=step(SP*sys); %response of the system to a step with amplitude SP
sserror=abs(SP-y(end)) %get the steady state error
0 Comments
Accepted Answer
Paul
on 29 Apr 2023
Hi Vivianne,
If this problem is to be attacked using the Final Value Theorem, we can proceed either numerically or symbolically. Here's the former.
km = 3.5;
tm = 0.5;
K = 5;
s = tf('s');
Define the plant transfer function
G = km/(tm*s+1);
Closed loop transfer function from R(s) to E(s)
EoverR = feedback(1,G*K,-1)
Before trying to find the steady state output, we need to verify that the system is stable.
pole(EoverR)
The single pole is in the left half plane, so the system is stable and we can proceed
SP = 3; %input value
E(s) in response to R(s) = SP/s
E = EoverR*SP/s
The Final Value Theorem tell us that the steady state value of e(t) is the limit as s ->0 of s*E(s)
s*E
We see that the free s in numeator cancels the free s in the denominator, so the limit is simply evaluating SP*EoverR at s = 0
ess = freqresp(EoverR*SP,0)
You can use a similar procedure for the transfer function from D(s) to E(s).
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!