stepinfo

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

Синтаксис

S = stepinfo(sys)
S = stepinfo(y,t)
S = stepinfo(y,t,yfinal)
S = stepinfo(___,'SettlingTimeThreshold',ST)
S = stepinfo(___,'RiseTimeLimits',RT)

Описание

пример

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

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

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

  • 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 и Нью-Йорком выходные параметры, можно задать y как NS Нью-Йорком массивом NU (см. step), и yfinal как массив Нью-Йорка ню. stepinfo затем возвращает массив структур Нью-Йорка ню S показателей производительности для каждой пары ввода-вывода.

пример

S = stepinfo(___,'SettlingTimeThreshold',ST) позволяет вам задать порог ST, используемый в определении времени установления. Ответ обосновался, когда ошибка |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)

График показывает, что повышения ответа за несколько секунд, и затем звонят вниз к установившемуся значению приблизительно 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 = 2x2 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 задает время установления как время, которое требуется для ошибки |y(t)-yфинал| между ответом y(t)и установившийся ответ yфинал прибыть в 2% yфинал. Кроме того, stepinfo задает время нарастания как время, которое требуется для ответа, чтобы повыситься с 10% yфинал к 90% yфинал. Можно изменить эти определения с помощью 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)

Вычислите характеристики переходного процесса из этих данных об ответе с помощью stepinfo. Если вы не задаете установившееся значение ответа yfinal, то stepinfo принимает, что последнее значение в векторе отклика, y является установившимся response.Because, существует некоторый шум в данных, последнее значение в 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™.) Для обобщенных моделей 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 задает время установления как время, которое требуется для ошибки |y (t) - yfinal | между ответом y (t) и установившимся ответом yfinal, чтобы упасть на в 2% yfinal. Чтобы изменить это определение, установите 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 — Время это берет для ошибки |y (t) - yfinal | между ответом y (t) и установившимся ответом yfinal, чтобы упасть на в 2% yfinal.

  • 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