stepinfo

Время нарастания, время урегулирования и другие переходные характеристики характеристики

Описание

пример

S = stepinfo(sys)вычисляет характеристики переходной характеристики для динамической модели системы sys. Функция возвращает признаки в структуре, содержащей поля:

  • RiseTime - Время, необходимое для увеличения отклика с 10% до 90% от статического отклика.

  • SettlingTime - Время, необходимое для e ошибки (t) = |<reservedrangesplaceholder7> (t) - yfinal | между y отклика (t) и yfinal статического отклика, чтобы опуститься ниже 2% от пикового значения e (t).

  • SettlingMin - Минимальное значение y (t) при повышении отклика.

  • SettlingMax - Максимальное значение y (t) при повышении отклика.

  • Overshoot - Процентное перерегулирование относительно yfinal.

  • Undershoot - Процент неполноценности.

  • Peak - Пиковое абсолютное значение y (t)

  • PeakTime - Время, в которое происходит пиковое значение.

Следующий рисунок иллюстрирует некоторые из этих величин в типичном ответе второго порядка.

Для использования этого синтаксиса требуется лицензия Control System Toolbox™.

S = stepinfo(y,t) вычисляет характеристики переходной характеристики из массива данных переходной характеристики y и соответствующий временной вектор t. Для откликов системы SISO, y - вектор с таким же количеством записей, как и t. Для данных отклика MIMO, y - массив, содержащий отклики каждого канала ввода-вывода. Этот синтаксис использует последнее значение в y (или последнее значение в соответствующих данных отклика каждого канала) как установившееся значение для вычисления характеристик, которые зависят от этого значения.

пример

S = stepinfo(y,t,yfinal) вычисляет характеристики переходной характеристики относительно установившегося значения yfinal. Этот синтаксис полезен, когда вы знаете, что ожидаемый статический отклик системы отличается от последнего значения в y по таким причинам, как шум измерения.

Для ответов SISO, t и y являются векторами с той же длиной NS. Для систем с NU входы и NY выходы можно задать y как NS-by- NY-by- NU массив (см. step) и yfinal как NY-by- NU массив. stepinfo затем возвращает NY-by- NU массив структур S характеристик отклика, соответствующих каждой паре ввода-вывода.

пример

S = stepinfo(___,'SettlingTimeThreshold',ST) позволяет задать порог ST используется в определении времени урегулирования. Ответ остановился, когда e ошибок (t) = |<reservedrangesplaceholder3> (t) - yfinal | становится меньше дроби ST его пикового значения. Значение по умолчанию ST = 0.02 (2%). Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов.

пример

S = stepinfo(___,'RiseTimeLimits',RT) позволяет задать нижний и верхний пороги, используемые в определении времени нарастания. По умолчанию время нарастания определяется как время, необходимое для увеличения отклика от 10 до 90% от установившегося значения (RT = [0.1 0.9]). Верхний порог RT(2) также используется для вычисления SettlingMin и SettlingMax. Эти значения являются минимальным и максимальным значениями отклика, происходящего после достижения откликом верхнего порога. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов.

Примеры

свернуть все

Вычислите характеристики переходной характеристики, такие как времена нарастания, время урегулирования и перерегулирование для динамической модели системы. В данном примере используйте передаточную функцию в непрерывном времени:

sys=s2+5s+5s4+1.65s3+5s2+6.5s+2.

Создайте передаточную функцию и исследуйте ее переходную характеристику.

sys = tf([1 5 5],[1 1.65 5 6.5 2]);
step(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

График показывает, что реакция повышается за несколько секунд, а затем обзванивает до установившегося значения около 2,5. Вычислите характеристики этого отклика, используя stepinfo.

S = stepinfo(sys)
S = struct with fields:
        RiseTime: 3.8456
    SettlingTime: 27.9762
     SettlingMin: 2.0689
     SettlingMax: 2.6873
       Overshoot: 7.4915
      Undershoot: 0
            Peak: 2.6873
        PeakTime: 8.0530

По умолчанию время урегулирования является временем, которое требуется для |y(t)-yfinal| опуститься ниже 2% от его пикового значения, где y(t)- отклик системы в момент t и yfinal является статической характеристикой. Результат S.SettlingTime показывает, что для sysэто условие происходит примерно через 28 секунд. Определением по умолчанию времени нарастания является время, необходимое для перехода отклика от 10% от его установившегося значения до 90% от этого значения. S.RiseTime показывает, что для sys, это повышение происходит менее чем за 4 секунды. Максимальное перерегулирование возвращается в S.Overshoot. Для этой системы пиковое значение S.Peak, что происходит в то время S.PeakTimeперерегулирование установившегося значения приблизительно на 7,5% от установившегося значения.

Для системы MIMO, stepinfo возвращает массив структур, в котором каждая запись содержит характеристики отклика соответствующего канала ввода-вывода системы. В данном примере используйте систему дискретного времени с двумя выходами и двумя входами. Вычислите характеристики переходной характеристики.

A = [0.68 -0.34; 0.34 0.68];
B = [0.18 -0.05; 0.04 0.11];
C = [0 -1.53; -1.12 -1.10];
D = [0 0; 0.06 -0.37];
sys = ss(A,B,C,D,0.2);

S = stepinfo(sys)
S=2×2 struct array with fields:
    RiseTime
    SettlingTime
    SettlingMin
    SettlingMax
    Overshoot
    Undershoot
    Peak
    PeakTime

Доступ к характеристикам отклика для конкретного канала I/0 путем индексации в S. Например, исследуйте характеристики отклика для отклика от первого входа ко второму выходу sys, соответствующий S(2,1).

S(2,1)
ans = struct with fields:
        RiseTime: 0.4000
    SettlingTime: 2.8000
     SettlingMin: -0.6724
     SettlingMax: -0.5188
       Overshoot: 24.6476
      Undershoot: 11.1224
            Peak: 0.6724
        PeakTime: 1

Для доступа к конкретному значению используйте запись через точку. Например, извлеките время нарастания (2,1) канала.

rt21 = S(2,1).RiseTime
rt21 = 0.4000

По умолчанию stepinfo определяет время урегулирования как время, необходимое для ошибки e(t)=|y(t)-yfinal| между ответом y(t)и статический ответ yfinal чтобы опуститься ниже 2% от пикового значения e(t). Кроме того, stepinfo определяет время нарастания как время, необходимое для увеличения отклика с 10% от yfinal до 90% yfinal. Изменить эти определения можно используя SettlingTimeThreshold и RiseTimeThreshold. В данном примере используйте систему, заданную как:

sys=s2+5s+5s4+1.65s3+6.5s+2.

Создайте передаточную функцию.

sys = tf([1 5 5],[1 1.65 5 6.5 2]);

Вычислите время, необходимое для ошибки в ответе sys для достижения 0,5% пиковой ошибки. Для этого установите SettlingTimeThreshold до 0,5%, или 0,005.

S1 = stepinfo(sys,'SettlingTimeThreshold',0.005);
st1 = S1.SettlingTime
st1 = 46.1325

Вычислите время, необходимое для ответа sys увеличение с 5% до 95% от установившегося значения. Для этого установите RiseTimeThreshold в вектор, содержащий эти границы.

S2 = stepinfo(sys,'RiseTimeThreshold',[0.05 0.95]);
rt2 = S2.RiseTime
rt2 = 4.1690

Можно задать как время урегулирования, так и время нарастания в одних и тех же расчетах.

S3 = stepinfo(sys,'SettlingTimeThreshold',0.005,'RiseTimeThreshold',[0.05 0.95])
S3 = struct with fields:
        RiseTime: 4.1690
    SettlingTime: 46.1325
     SettlingMin: 2.0689
     SettlingMax: 2.6873
       Overshoot: 7.4915
      Undershoot: 0
            Peak: 2.6873
        PeakTime: 8.0530

Вы можете извлечь характеристики переходной характеристики из данных переходной характеристики, даже если у вас нет модели своей системы. Например, предположим, что вы измерили ответ вашей системы на вход шага и сохранили получившиеся данные отклика в векторе y значений отклика в моменты времени, хранимые в другом векторе, t. Загрузите данные отклика и исследуйте их.

load StepInfoData t y
plot(t,y)

Figure contains an axes. The axes contains an object of type line.

Вычислите характеристики переходной характеристики из этих данных отклика с помощью stepinfo. Если вы не задаете статическое значение отклика yfinal, затем stepinfo принимает, что последнее значение в векторе отклика y является статической характеристикой .Потому что в данных есть некоторый шум, последнее значение в y вероятно, не является истинной установившимся значением отклика. Когда вы знаете, каким должно быть установившееся значение, вы можете предоставить его stepinfo. В данном примере предположим, что статический ответ равен 2,4.

S1 = stepinfo(y,t,2.4)
S1 = struct with fields:
        RiseTime: 1.2713
    SettlingTime: 19.6478
     SettlingMin: 2.0219
     SettlingMax: 3.3302
       Overshoot: 38.7575
      Undershoot: 0
            Peak: 3.3302
        PeakTime: 3.4000

Из-за шума в данных определение по умолчанию времени урегулирования слишком жесткое, что приводит к произвольному значению почти 20 секунд. Чтобы позволить шум, увеличьте порог времени урегулирования с стандартных 2% до 5%.

S2 = stepinfo(y,t,2.4,'SettlingTimeThreshold',0.05)
S2 = struct with fields:
        RiseTime: 1.2713
    SettlingTime: 10.4201
     SettlingMin: 2.0219
     SettlingMax: 3.3302
       Overshoot: 38.7575
      Undershoot: 0
            Peak: 3.3302
        PeakTime: 3.4000

Входные параметры

свернуть все

Динамическая система, заданная как модель динамической системы SISO или MIMO. Динамические системы, которые можно использовать, включают:

  • Непрерывные или дискретные числовые модели LTI, такие как tf (Control System Toolbox), zpk (Control System Toolbox), или ss (Control System Toolbox) модели.

  • Обобщенные или неопределенные модели LTI, такие как genss (Control System Toolbox) или uss (Robust Control Toolbox) модели. (Использование неопределенных моделей требует программного обеспечения Robust Control Toolbox™.) Для обобщенных моделей, stepinfo вычисляет характеристики переходной характеристики с помощью текущего значения настраиваемых блоков и номинального значения неопределенных блоков.

  • Идентифицированные модели LTI, такие как idtf, idss, или idproc модели.

Данные переходной характеристики, заданные как:

  • Для данных отклика SISO, вектора длины Ns, где Ns количество выборок в данных отклика.

  • Для данных отклика MIMO, Ns-by- Ny-by- Nu массив, где Ny количество системных выходов и Nu - количество входов системы.

Временной вектор, относящийся к данным отклика в y, заданный как вектор длины Ns.

Статический ответ, заданный как:

  • Для данных отклика SISO скалярное значение.

  • Для данных отклика MIMO, Ny-by- Nu массив, где каждая запись обеспечивает установившееся значение отклика для соответствующего канала системы.

Если вы не предоставляете yfinal, затем stepinfo использует последнее значение в соответствующем канале y как установившееся значение отклика.

Порог для определения времени урегулирования, заданное как скалярное значение в диапазоне от 0 до 1. По умолчанию, stepinfo определяет время урегулирования как время, необходимое для e ошибки (t) = |<reservedrangesplaceholder5> (t) - yfinal |, чтобы опуститься ниже 2% от пикового значения e (t). Чтобы изменить это определение, задайте ST к другому значению. Для образца, чтобы измерить, когда ошибка падает ниже 5% от пиковой ошибки, установите ST до 0,05.

Порог для определения времени нарастания, заданная как 2-элементный вектор-строка невидимых значений от 0 до 1. По умолчанию, stepinfo определяет время нарастания, так как время, необходимое для увеличения отклика, с 10% до 90% от yfinal установившегося значения. Чтобы изменить это определение, задайте RT к другому значению. Например, чтобы определить время нарастания как время, необходимое для увеличения отклика с 5% до 95% от установившегося значения, установите RT на [0.05 0.95].

Выходные аргументы

свернуть все

Переходные характеристики sys, возвращенная как структура, содержащая поля:

  • RiseTime - Время, необходимое для увеличения отклика с 10% до 90% от статического отклика.

  • SettlingTime - Время, необходимое для e ошибки (t) = |<reservedrangesplaceholder7> (t) - yfinal | между y отклика (t) и yfinal статического отклика, чтобы опуститься ниже 2% от пикового значения e (t).

  • SettlingMin - Минимальное значение y (t) при повышении отклика.

  • SettlingMax - Максимальное значение y (t) при повышении отклика.

  • Overshoot - Процентное перерегулирование, относительно yfinal).

  • Undershoot - Процент неполноценности.

  • Peak - Пиковое абсолютное значение y (t)

  • PeakTime - Время, в которое происходит пиковое значение.

Для моделей MIMO или данных об ответах, S - массив структур, в котором каждая запись содержит характеристики переходной характеристики соответствующего канала ввода-вывода. Например, если вы предоставляете 3-входную, 3-выходную модель или массив данных отклика, то S(2,3) содержит характеристики отклика от третьего входа ко второму выходу. Для получения примера смотрите Переходную характеристику Характеристики системы MIMO (Control System Toolbox).

Если sys нестабильно, тогда все характеристики переходной характеристики NaN, кроме Peak и PeakTime, которые являются Inf.

См. также

|

Введенный в R2006a