exponenta event banner

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 - Процентное превышение, по отношению к финалу.

  • Undershoot - Процент недостижения.

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

  • PeakTime - Время наступления пикового значения.

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

Для использования этого синтаксиса требуется лицензия на 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около-NYоколо-NU массив (см. step) и yfinal как NYоколо-NU массив. stepinfo затем возвращает NYоколо-NU структурный массив S характеристик отклика, соответствующих каждой паре ввода-вывода.

пример

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) -ifinal |, чтобы упасть ниже 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(Панель инструментов системы управления), zpk(Панель инструментов системы управления), или ss(Панель инструментов системы управления).

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

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

Данные ответа на шаг, указанные как:

  • Для данных ответа 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 - Процентное превышение, по отношению к финалу).

  • Undershoot - Процент недостижения.

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

  • PeakTime - Время наступления пикового значения.

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

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

См. также

|

Представлен в R2006a