- Settling Time Definition: Settling time is defined as the period needed for the output of a dynamic system to remain within a certain tolerance level of its final value.
- Settling Time Formula: The formula for settling time is determined by taking the negative natural logarithm of the product of the tolerance fraction and the square root of one minus the square of the damping ratio, divided by the product of the damping ratio and the natural frequency. This explains how quickly the system’s output stabilizes within a specific error margin, based on the system’s damping and oscillation characteristics.
- MATLAB Techniques: Settling time can be accurately determined in MATLAB using functions like ‘stepinfo’ which analyze the step response of control systems.
- Control Strategies: Reducing settling time involves adjusting the gains of PID controllers, affecting the system’s response time and stability.
- Root Locus Application: The root locus method helps visualize and calculate the effects of changing system parameters on settling time, useful for system design and analysis.
What is Settling Time?
The settling time of a dynamic system is defined as the time required for the output to reach and steady within a given tolerance band. It is denoted as Ts.
Settling time includes both the propagation delay and the time needed to stabilize near the final value. It also accounts for the time to adjust from any overload conditions, ensuring stability within the tolerance band.
The tolerance band is a maximum allowable range in which the output can be settle. Generally, the tolerance bands are 2% or 5%.
Settling time in step response of a second-order system is as shown in the below figure.

Settling Time Formula
Settling time depends on natural frequency and response of the system. General equation of settling time is;
![]()
The unit step response of second order system is expressed as;
![Rendered by QuickLaTeX.com \[ C(t) = 1 - \left( \frac{e^{-\zeta \omega_n t}}{\sqrt{1-\zeta^2}} \right) sin(\omega_d t + \theta) \]](https://www.electrical4u.com/wp-content/ql-cache/quicklatex.com-46e82c76f24842ecc2a09410f0bfc043_l3.png)
This equation divides into two parts;
![Rendered by QuickLaTeX.com \[ exponential \, component = \left( \frac{e^{-\zeta \omega_n t}}{\sqrt{1-\zeta^2}} \right) \]](https://www.electrical4u.com/wp-content/ql-cache/quicklatex.com-8991604f7c9cba43278d75eba1819cdc_l3.png)
![]()
To calculate the settling time, we only need the exponential component as it cancels the oscillatory part of sinusoidal component. And the tolerance fraction is equal to the exponential component.
![]()
![]()
![]()
![]()
![Rendered by QuickLaTeX.com \[ T_S = - \frac{ ln \left( Tolerance \, fraction \times \sqrt{1-\zeta^2} \right)}{\zeta \omega_n} \]](https://www.electrical4u.com/wp-content/ql-cache/quicklatex.com-ffb7fb3dc1a550f04a1054ffcaf8e696_l3.png)
How to Calculate Settling Time
To calculate settling time, we consider a first order system with unit step response.
![]()
For unit step response,
![]()
Hence,
![]()
![]()
Now, calculate the value for A1 and A2.
![]()
![]()
Assume s = 0;
![]()
![]()
![]()
Assume s = -1/T;
![]()
![]()
![]()
![]()
![]()
![]()
![]()
For 2% error, 1-C(t) = 0.02;
![]()
![]()
![]()
![]()
![]()
This equation gives settling time for first order system with unit step input.
For second order system, we need to consider below equation;
![]()
In this equation, exponential term is important to find the value of settling time.
![]()
![]()
Now, we consider 2% error. Therefore, 1 – C(t) = 0.02;
![]()
The damping ratio (ξ), which affects how quickly the system settles, varies based on the system’s design. For an underdamped system, ξ is between 0 and 1.
So, denominator of above equation is nearly equal to 1. And to make an easy calculation, we can neglect it.
![]()
![]()
![]()
![]()
![]()
This equation can be used only for 2% error band and underdamped second order system.
Similarly, for 5% error band; 1 – C(t) = 0.05;
![]()
![]()
![]()
![]()
For second order system, before finding settling time, we need to calculate the damping ratio.
| Second-order System | Damping Ratio (ξ) | Setting Time (TS) |
| Underdamped | 0<ξ<1 | |
| Undamped | ξ = 0 | |
| Critical damped | ξ = 1 | |
| Overdamp | ξ > 1 | Depends on dominant pole |
Root Locus Settling Time
Settling time can be calculated by the root locus method. Settling time depends on the damping ratio and natural frequency.
These quantities can be derived with the help of root locus method. And we can find the settling time.
Let’s understand with an example.
![]()
And Overshoot = 20%
![]()
![]()
![]()
![]()
![]()
From the root locus plot; you can find the dominant poles;
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Now, we have the value of ξ and ωn,
![]()
![]()
![]()
The root locus plot is derived from MATLAB. For that use “sisotool”. Here, you can add a constraint for the percentage overshoot is equal to 20%. And get dominant poles easily.
The below figure shows the root locus plot from MATLAB.

We can find the settling time with the help of MATLAB. The unit step response of this system is as shown below figure.

How to Reduce Settling Time
The settling time is the time required to achieve target. And for any control system, the settling time must be kept minimum.
Reduce the settling time is not an easy task. We need to design a controller to reduce the settling time.
As we know, there are three controllers; proportional (P), Integral (I), derivative (D). With a combination of these controllers, we can achieve our requirements of the system.
The gain of the controllers (KP, KI, KD) is chosen according to the system requirement.
Increase proportional gain KP, results in a small change in settling time. Increase in integral gain KI, settling time increases. And increase in derivative gain KD, settling time decreases.
Therefore, the derivative gain increases to decrease the setting time. While selecting the gain values of the PID controller, it may affect the other quantities also like rise time, overshoot, and Steady-state error.
How to Find Settling Time in MATLAB
In MATLAB, the settling time is determined using the step function. Here’s how it works with an example.
![]()
First, we calculate the settling time by equation. For that, compare this transfer function with general transfer function of second order system.
![]()
Therefore,
![]()
![]()
![]()
![]()
![]()
This value is an approximate value as we have taken assumptions while calculating the equation of settling time. But in MATLAB, we get the exact value of settling time. So, this value may be slightly different in both cases.
Now, to calculate settling time in MATLAB, we use the step function.
clc; clear all; close all;
num = [0 0 25];
den = [1 6 25];
t = 0:0.005:5;
sys = tf(num,den);
F = step(sys,t);
H = stepinfo(F,t)
step(sys,t);
Output:
H =
RiseTime: 0.3708
SettlingTime: 1.1886
SettlingMin: 0.9071
SettlingMax: 1.0948
Overshoot: 9.4780
Undershoot: 0
Peak: 1.0948
PeakTime: 0.7850
And you get a graph of response as shown in the below figure.

In MATLAB, by default percentage band of error is 2%. You can change this in graph for different error band. for that, right-click on graph > properties > options > “show settling time within ___ %”.

Another way to find the settling time by running a loop. As we know, for the 2% error band, we consider the response between 0.98 to 1.02.
clc; clear all; close all;
num = [0 0 25];
den = [1 6 25];
t = 0:0.005:5;
[y,x,t] = step(num,den,t);
S = 1001;
while y(S)>0.98 & y(S)<1.02;
S=S-1;
end
settling_time = (S-1)*0.005
Output:
settling_time = 1.1886

