I have a second-order unity feedback control system with forward transfer function $$G(s) = \frac{10}{s(s+2)}$$

Here damping ratio, $$\zeta = \frac{1}{\sqrt{10}}$$ and natural frequency, $$w_n = \sqrt{10}$$

First, I gave a unit step input to the system. Now I can calculate the maximum overshoot of the unit step response from $$\%M_p = e^{\frac{-\zeta\pi}{\sqrt{1-\zeta^2}}}$$ and settling time from $$t_s = \frac{4}{w_n\zeta}$$

Now, If I give a unit ramp input to the system, Can I use the same formulas above to calculate settling time and maximum overshoot?

For reference, this is my unit ramp response in the time domain $$y(t) = -\frac{1}{5}+t+\frac{1}{5}e^{-t}Cos(3t)-\frac{4}{15}e^{-t}Sin(3t)$$

As you can see, this is uniformly increasing. How can I find settling time from this? Can I just equate y(t) with unit ramp input and find the time at which they are equal?

  • 1
    \$\begingroup\$ If I remember correctly, the formula is obtained as the maximum value of the transient response compare to the desired one being constant. Now with a ramp, the desired value change over time. So you can not use it to give accurately the maximum overshoot. If will give you a superior bound which can not be exceeded. \$\endgroup\$ – Ludwig CRON Aug 15 '20 at 8:25
  • 1
    \$\begingroup\$ Concerning the seetling time, you can not use the formula as well. By the way, in a system specification (in electronic), it is expected to give the maximum error expected associated to the settling time. For instance a settling time to 0.01% of 15ns. \$\endgroup\$ – Ludwig CRON Aug 15 '20 at 8:28
  • \$\begingroup\$ I have added the ramp response of my system. Can you help me in finding the settling time? \$\endgroup\$ – Michio Kaku Aug 15 '20 at 8:37
  • \$\begingroup\$ Why did you ask the same question again? You could have just edited it. \$\endgroup\$ – a concerned citizen Aug 15 '20 at 9:40
  • \$\begingroup\$ Sorry, I am new here. I deleted the other question \$\endgroup\$ – Michio Kaku Aug 15 '20 at 9:43

In a nutshell, the error is the difference between desired output and the one you got: $$e(t) = y^*(t) - y(t)$$

Then you resolve $$e(t) < ErrorMax$$.

To simplify the comparison note that $$sin(a + b) = sin(a)cos(b) + sin(b)cos(a)$$ so $$ a cos(\omega t) + b sin(\omega t) = M sin(\omega t + \phi)$$ where $$ M = \sqrt{a^2 + b^2}$$ and $$\phi = atan(a/b)$$

In consequence, you get something in the form $$M sin(\omega t + \phi) e^{-t} < ErrorMax$$

  • \$\begingroup\$ Consider that the absolute value of the error should be less than ErrorMax \$\endgroup\$ – Ludwig CRON Aug 15 '20 at 9:39
  • \$\begingroup\$ So the upper bound should be taken as my overshoot right? What about settling time? \$\endgroup\$ – Michio Kaku Aug 15 '20 at 9:44
  • \$\begingroup\$ If you expect a settling time for an error less than 0.1, solve $$M|\sin(\omega t + \phi)| e^{-t} < 0.1$$. The value of t is the settling time (in this case close to 0.961). The overshoot is the maximum value of the error where $$y > y^*$$. So the overshoot can exceed the limits you desire \$\endgroup\$ – Ludwig CRON Aug 15 '20 at 9:57

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.