Steady state error of control system on MATLAB

In summary, the system has an open-loop transfer function of (3s+0.5)/(s(s^2+3s+8)) and a closed-loop system of (3s+0.5)/(s^3+s^2+11s+0.5). The steady-state errors for unit step and unit ramp inputs are calculated to be 0.5 and infinity respectively, but the plots show errors close to 0. There may be an error in the code.
  • #1
geft
148
0
Given the following system (d(t)=0), I'm supposed to calculate the steady state error for unit step and unit ramp inputs respectively.

Basically, the open-loop transfer function of the system is
[tex]\frac { 3s+0.5 }{ s({ s }^{ 2 }+3s+8) } [/tex]
The closed-loop system is
[tex]\frac { 3s+0.5 }{ { s }^{ 3 }+{ s }^{ 2 }+11s+0.5 } [/tex]
I found the values of the steady-state errors, but the problem is that the numbers don't match with the simulation. I'm pretty sure there is something wrong with my code since the errors for both step and ramp responses are close to 0. The calculations show 0.5 and infinity respectively.

Here is my working and plots.

Here is my code:
Code:
sys1 = 3 + tf(0.5.*[1], [1 0]);
sys2 = tf([1], [1 3 8]);
sys = feedback(sys1*sys2, 1)

subplot(1,2,1)
step(sys)
hold on
step(tf(1))
hold off

sys3 = tf([1], [1 0]);
subplot(1,2,2)
step(sys*sys3)
title('Ramp Response')
hold on
step(sys3)
hold off
 
Physics news on Phys.org
  • #2
%Calculate the steady state errors%Unit Step Inputes_step = 1-dcgain(sys);disp('The steady state error for unit step input is:')disp(es_step)%Unit Ramp Inputes_ramp = inf-dcgain(sys*sys3);disp('The steady state error for unit ramp input is:')disp(es_ramp)The calculation shows that the steady-state error for unit step input is 0.5 and for unit ramp input is infinity. However, the plots show that the steady-state errors for both inputs are close to 0. What am I doing wrong here?
 

1. What is steady state error in a control system?

Steady state error is a measure of the difference between the desired output and the actual output of a control system after it has reached a stable state. It is typically expressed as a percentage or a decimal value.

2. How is steady state error calculated on MATLAB?

In MATLAB, steady state error can be calculated by using the "step" or "impulse" command to simulate the response of the control system and then using the "stepinfo" command to obtain the steady state error value.

3. What are some common causes of steady state error in control systems?

Steady state error can be caused by a number of factors, including inaccuracies in the system's model, disturbances or noise in the input signal, and limitations in the control system's hardware or software.

4. How can steady state error be reduced in a control system?

Steady state error can be reduced by implementing a feedback control system, which uses information about the system's output to adjust the input and minimize the error. Other methods, such as using a higher order controller or tuning the controller's parameters, can also help reduce steady state error.

5. Can steady state error ever be completely eliminated in a control system?

In theory, it is possible to eliminate steady state error completely by using a perfect model of the system and a perfectly tuned controller. However, in practice, there will always be some level of error due to limitations in the system's hardware and external disturbances. The goal is to minimize this error as much as possible.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
4
Views
13K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
943
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
816
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
891
Back
Top