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

What I tried:
I'm not sure how to approach the solution but what I did was indicate the \$\zeta\$ & \$\omega_n\$ from the equations of Mp & ts as in here & then approache 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, 2019 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, 2019 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, 2019 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, 2019 at 22:10

1 Answer 1


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 and acknowledge you have read our privacy policy.

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