stepinfo

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

Описание

пример

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

  • RiseTime — Время это берет для ответа, чтобы повыситься с 10% до 90% установившегося ответа.

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

  • SettlingMin — Минимальное значение y (t) однажды ответ повысилось.

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

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

  • Undershoot — Отклонение от номинала процента.

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

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

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

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- NY- NU массив (см. step) и yfinal как NY- NU массив. stepinfo затем возвращает NY- NU массивы структур из характеристик ответа, соответствующих каждой паре ввода-вывода.

пример

S = stepinfo(___,'SettlingTimeThreshold',ST) позволяет вам задать порог ST используемый в определении времени урегулирования. Ответ обосновался, когда ошибка e (t) = |y (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 возвращает массив структур, в котором каждая запись содержит характеристики ответа соответствующего канала ввода-вывода системы. В данном примере используйте 2D выход, 2D входную систему дискретного времени. Вычислите характеристики переходного процесса.

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 установившийся response.Поскольку существует некоторый шум в данных, последнее значение в 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, zpk, или ss модели.

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

  • Идентифицированные модели LTI, такой как idtf (System Identification Toolbox), idss (System Identification Toolbox), или idproc Модели (System Identification Toolbox). (Используя идентифицированные модели требует программного обеспечения System Identification Toolbox™.)

Данные переходного процесса в виде:

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

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

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

Установившийся ответ в виде:

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

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

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

Порог для определения времени урегулирования в виде скалярного значения между 0 и 1. По умолчанию, stepinfo задает время урегулирования как время, это берет для ошибки e (t) = |y (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) = |y (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.

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

Смотрите также

|

Введен в R2006a
Для просмотра документации необходимо авторизоваться на сайте