Question Title:

Consider the control system shown in Fig.1. Design a compensator such that the unit-step response curve will exhibit maximum overshoot of 25% or less and settling time of 5 sec or less.

What I tried:

I'm not sure how to approach the solution but what I did was indicating the \$\zeta\$ & \$\omega_n\$ from the equations of Mp & ts as in here & then approached the typical solution which yielded the following results:

Results I could get:

\$\zeta = 0.4\$

\$\omega_n = 2\$

\$G_c =\frac{60.944(s+0.438)}{(s+8.041)}\$

\$G_cGH =\frac{60.944(s+0.438)}{s^2(s+4)(s+8.041)}\$

The question doesn't state any further information; it's a mid-term exam.


  • \$\begingroup\$ What is the resulting closed-loop transfer function? \$\endgroup\$ – TimWescott Nov 8 '19 at 21:02
  • \$\begingroup\$ @TimWescott i'm not sure, that'd be tedious to calculate, i used matlab to do the job; \$\endgroup\$ – Slavi Nov 8 '19 at 21:12
  • 1
    \$\begingroup\$ The two ways I know how to verify your results are to get the closed-loop transfer function and look at the dominant pole locations, or to simulate the results. You can do both of these in Matlab fairly easily, at least if you have the appropriate toolboxes. Even without it's only a bit harder. Do you have a toolbox that'll let you get the closed-loop transfer function? Can you extract the characteristic polynomial and factor it? \$\endgroup\$ – TimWescott Nov 8 '19 at 21:18
  • \$\begingroup\$ Thanks for the hint, I think through matlab I verified the equation I formed was correct! the maximum overshoot was tuned to approx. 1 and settling time to approx. 5. \$\endgroup\$ – Slavi Nov 8 '19 at 22:10

To verify the solution, you should obtain the closed-loop transfer function using a feedback of \$H(s) = 1\$, then check if the new system matches a maximum overshoot of 25% of less and that the settling time was reduced to at least 5 seconds.

Here is the code used in verification (works for both Matlab & octave):

num1 = [1]
den1 = [1 4 0 0]
num2 = [60.944 24.3776];
den2 = [1 12.041 32.164 0 0]

g1 = tf(num1, den1)
g2 = tf(num2, den2)
sys1 = 1 / (1 + g1)
sys2 = 1 / (1 + g2)

t = 0:0.05:20
c1 = step(sys2, t)
c2 = step(sys1, t)

title('Exam 3. Question 1.')
xlabel('t Sec')
ylabel('Outputs c1, c2')
text(10, -0.25,'Compensated System')
text(6,1.2,'Uncompensated System')

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.