Course materials · Control Engineering I

Step Response Performance Metrics

English translation

Control Engineering I · Week 11

This week's goal · Measure rise time, settling time, and overshoot, and compare model conditions.

Run: After signing in to MathWorks, open .mlx in your workspace. Click inside the code → Live Editor → Run Section to run one section at a time. Run runs everything. After changing a value, rerun the relevant section. Edit the text in ⟦enter here⟧ response fields; do not execute them. You can use Ctrl+Enter on Windows/Linux and ⌘+Enter on Mac.

Criteria for reading response metrics

In this exercise, rise time is the time from 10% to 90% of the final change; settling time is the time after which the response stays within ±2% of the final value. Overshoot is the maximum excess over the final value as a percentage of the final change. If the video's approximations differ from MATLAB results, compare measurement criteria first. Here, the unit-step response starts at output 0 and has a positive final value.

1. How this week's activities connect

In Week 10, you saw feedback change the disturbance response. Now use a standard 2nd-order model to measure rise time, settling time, and overshoot, then change poles and zeros to interpret changes in performance.

How this week's activities connect

When recording results, include input amplitude and measurement criteria. For example, stating that settling time uses a ±2% band around the final value makes comparison easier.

2. Speed and accuracy are different metrics

Rise time and settling time describe the transient response; final deviation describes steady-state performance. Check how quickly this unit-step response approaches the final value and how much it exceeds it.

Speed and accuracy are different metrics

The overshoot from stepinfo is the percentage by which the output exceeds its final value. Check the reference value even for a disturbance path whose final value is not 1.

3. Specify the final value accurately

The DC gain of T=2s2+2s+4T=\frac2{s^2+2s+4} is 0.5. Specifying a final value of 1 when passing a response array to stepinfo produces metrics with a different reference. Calculate using dcgain(T) and compare with the incorrect-reference results.

Specify the final value accurately

If the observation interval is too short, the last sample does not represent the final value. Use the model's DC gain and a sufficiently long interval to check convergence.

4. Record the design rationale in a table

Match the DC gains of the baseline model, the model with an added zero, and the model with an added pole. Tabulate each model's rise time, settling time, and overshoot. Check whether models with shorter times in the table also approach the final value faster in the plot, and whether models with greater overshoot actually peak higher.

Document the design rationale in a table

If stepinfo returns NaN or Inf, keep the values. Check the conditions under which the metrics are defined or calculated, such as instability, a zero final value, and the observation interval.

Check your understanding

  1. What values should go into the code, and what does each row and column of the resulting array represent? If calculating physical quantities, have you also checked the units?
  2. Can you identify which parts to rerun when you change one condition?
  3. Do the results match your expectations? If they differ, can you explain why using the output values or plots?

Official MATLAB documentation · Control System Toolbox

Practice materials