Переходная характеристика и показатели качества

Как описать качество переходного процесса четырьмя числами.

Переходная характеристика — отклик системы на ступенчатый вход. По ней считают время нарастания, перерегулирование, время установления и статическую ошибку — главные показатели качества управления.

Зачем нужен отклик на ступень

Чтобы сравнивать настройки регуляторов, нужен стандартный тест. Самый популярный — ступенчатый вход: резко меняем уставку (например, с 0 до 1) и смотрим, как выход к ней приходит. Эта кривая — переходная характеристика (step response) — рассказывает почти всё о качестве системы: быстро ли реагирует, перелетает ли цель, сколько раскачивается, точно ли в итоге попадает. Инженер смотрит на эту кривую так же, как врач на кардиограмму.

Четыре показателя качества

По переходной характеристике считают четыре ключевые величины:

ПоказательЧто значитХотим
Время нарастания (rise time)как быстро выход доходит от 10% до 90% уставкименьше = быстрее
Перерегулирование (overshoot)на сколько % выход перелетает уставкуменьше = аккуратнее
Время установления (settling time)когда выход навсегда входит в коридор +-2% уставкименьше = успокоился быстро
Статическая ошибка (steady-state error)разница между уставкой и финальным выходом0 = точно попал
Переходная характеристика и показатели:

выход
 1.3 |        ___ <- пик (перерегулирование)
 1.0 |------/---\------------- уставка
 0.9 |     /     \__/\___/----- коридор +-2%
     |    /  (время установления здесь)
 0.1 |  _/
   0 |_/______________________> время
      |  | <- время нарастания (10%..90%)

Как работает под капотом: считаем показатели по записи

Сымитируем слабо демпфированный объект второго порядка и вычислим все четыре показателя прямо из массива значений отклика.

m, b, kc = 1.0, 0.4, 4.0     # слабое демпфирование -> заметный перелёт
F, dt = 4.0, 0.02
x, v = 0.0, 0.0
target = F / kc              # уставка = 1.0
ys = []
for _ in range(600):
    a = (F - b*v - kc*x) / m
    v += a*dt; x += v*dt
    ys.append(x)

t10 = next(i for i,y in enumerate(ys) if y >= 0.1*target) * dt
t90 = next(i for i,y in enumerate(ys) if y >= 0.9*target) * dt
rise = t90 - t10
peak = max(ys)
overshoot = (peak - target)/target*100
band = 0.02*target
settle = 0.0
for i in range(len(ys)-1, -1, -1):
    if abs(ys[i]-target) > band:
        settle = (i+1)*dt; break
sse = target - ys[-1]

print(f"уставка                 = {target:.2f}")
print(f"время нарастания (10-90)= {rise:.2f} c")
print(f"перерегулирование       = {overshoot:.1f} %")
print(f"время установления (2%) = {settle:.2f} c")
print(f"статическая ошибка      = {sse:.4f}")

Вывод:

уставка                 = 1.00
время нарастания (10-90)= 0.56 c
перерегулирование       = 72.9 %
время установления (2%) = 12.00 c
статическая ошибка      = 0.0255

72% перерегулирования — это очень много: система сильно перелетает цель и долго (12 секунд) успокаивается. Когда мы добавим регулятор и правильно его настроим, мы будем целенаправленно уменьшать эти числа. Эти четыре показателя — общий язык, на котором формулируют требования к системе: «перерегулирование не более 10%, время установления не более 3 секунд».

Компромиссы между показателями

Ключевая мысль: показатели конфликтуют. Хотите быстрее нарастание — обычно растёт перерегулирование. Хотите ноль перерегулирования — система реагирует медленнее. Хотите ноль статической ошибки — нужна интегральная составляющая, которая может добавить колебательности. Искусство настройки — найти баланс под конкретную задачу: для лифта перерегулирование недопустимо (проедет этаж), для разгона дрона небольшой перелёт терпим ради скорости.

Другие тестовые сигналы

Ступень — самый популярный тест, но не единственный. Импульс (короткий резкий толчок) показывает «собственный почерк» системы — как она звенит и затухает сама по себе. Линейно растущий сигнал (ramp) проверяет способность к слежению за движущейся целью и выявляет скоростную ошибку. Синусоида разных частот строит частотную характеристику, по которой считают запасы устойчивости. Каждый сигнал высвечивает свою грань качества: ступень — переходный процесс, ramp — слежение, синус — частотные свойства. Профессиональная проверка регулятора прогоняет несколько тестов, потому что хорошее поведение на ступени не гарантирует хорошего слежения за рампой.

Частые ошибки

  • Смотреть только на одну метрику. Быстрое нарастание с диким перерегулированием — плохая система. Нужно оценивать все четыре числа вместе.
  • Неправильно искать время установления. Его считают от конца записи: момент, после которого выход уже НЕ выходит за коридор.
  • Игнорировать статическую ошибку. Система может выглядеть красиво, но стабильно недотягивать до уставки — это отдельная проблема, которую решает интеграл.

Итоги

  • Переходная характеристика — отклик на ступенчатый вход; по ней судят о качестве управления.
  • Четыре показателя: время нарастания, перерегулирование, время установления, статическая ошибка.
  • Показатели конфликтуют — настройка регулятора всегда компромисс под задачу.
Проверьте себя
1. Что такое перерегулирование (overshoot)?
AСкорость нарастания выхода
BНа сколько процентов выход перелетает уставку перед тем, как успокоиться
CФинальная ошибка
DВремя до первого пика
2. Как определяется время установления (settling time) по коридору +-2%?
AКогда выход впервые достигает уставки
BМомент, после которого выход навсегда остаётся в коридоре +-2%
CВремя первого пика
DУдвоенное время нарастания
3. Почему показатели качества конфликтуют?
AИз-за ошибок измерения
BУскорение отклика обычно увеличивает перерегулирование и наоборот
CИз-за шума датчика
DОни не конфликтуют