allmargin

Запас по амплитуде, запас по фазе, запас по задержке и частоты среза

Описание

пример

S = allmargin(L) вычисляет запас по амплитуде, запас по фазе, запас по задержке и соответствующие частоты среза для цикла отрицательной обратной связи SISO или MIMO с разомкнутым контуром ответом L. Цикл отрицательной обратной связи вычисляется как feedback(L,eye(M)), где M количество входов и выходов в L.

Для системы MIMO, allmargin Возвраты цикла -в запасы устойчивости времени для системы закрытого цикла с отрицательной обратной связью. Использование allmargin найти классические поля любой модели SISO или MIMO, включая модели с задержками.

пример

S = allmargin(mag,phase,w,ts) вычисляет запасы устойчивости из данных частотной характеристики mag, phase, w, и шаг расчета, ts.

Примеры

свернуть все

В данном примере рассмотрите передаточную функцию разомкнутого разомкнутого контура SISO L даны,

L=25s3+10s2+10s+10

L = tf(25,[1 10 10 10]);

Найдите запасы устойчивости L.

S = allmargin(L)
S = struct with fields:
     GainMargin: 3.6000
    GMFrequency: 3.1623
    PhaseMargin: 29.1104
    PMFrequency: 1.7844
    DelayMargin: 0.2847
    DMFrequency: 1.7844
         Stable: 1

Область выхода S - структура с классическими полями и их соответствующими частотами среза цикла отрицательной обратной связи L.

В данном примере рассмотрим модель пространства состояний MIMO L с 2 входами и 2 выходами.

Загрузите данные.

load('mimoStateSpaceModel.mat','L')

Найдите классические поля для системы MIMO.

S = allmargin(L)
S=2×1 struct array with fields:
    GainMargin
    GMFrequency
    PhaseMargin
    PMFrequency
    DelayMargin
    DMFrequency
    Stable

Область выхода S - это массив структур классических полей 2 на 1 и их соответствующих частот среза. Для образца, S(1) относится к запасам устойчивости первого канала обратной связи ввода-вывода с закрытыми другими циклами.

В данном примере загрузите invertedPendulumArray.mat, который содержит массив 3х3 инвертированных моделей SISO маятника. Масса маятника изменяется при перемещении от модели к модели вдоль одного столбца sys, и длина маятника изменяется, когда вы перемещаетесь вдоль одна строка. Используемые значения массы составляют 100g, 200g и 300g, а используемые длины маятника составляют 3m, 2m и 1m соответственно.

Column1Column2Column3Row1100g,3m100g,2m100g,1mRow2200g,3m200g,2m200g,1mRow3300g,3m300g,2m300g,1m

load('invertedPendulumArray.mat','sys');
size(sys)
3x3 array of transfer functions.
Each model has 1 outputs and 1 inputs.

Найдите запасы устойчивости для всех моделей в массиве.

S = allmargin(sys)
S=3×3 struct array with fields:
    GainMargin
    GMFrequency
    PhaseMargin
    PMFrequency
    DelayMargin
    DMFrequency
    Stable

allmargin возвращает массив структур 3 на 3 S, в которой каждая запись является структурой, содержащей запасы устойчивости соответствующей записи в sys. Например, запасы устойчивости модели с весом маятника 100 г и длиной 2 м содержатся в S(1,2).

В данном примере загружают данные частотной характеристики разомкнутого контура системы, состоящие из амплитуд m и значения фаз p измеряется на частотах в w.

load('openLoopFRData.mat','m','p','w','ts');

Вычислите запасы устойчивости с помощью данных частотной характеристики.

S = allmargin(m,p,w,ts)
S = struct with fields:
     GainMargin: 0.6249
    GMFrequency: 1.2732
    PhaseMargin: [-90.0000 48.9853]
    PMFrequency: [1.0000 1.5197]
    DelayMargin: [4.7124 0.5626]
    DMFrequency: [1.0000 1.5197]
         Stable: NaN

Область выхода S - структура с классическими полями и их соответствующими частотами среза. Начиная с allmargin не может оценить стабильность для моделей данных частотной характеристики, S.Stable = NaN.

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

свернуть все

Разомкнутый контур, заданная как динамическая системная модель. L может быть SISO или MIMO, пока это имеет одинаковое количество входов и выходов. allmargin вычисляет классические запасы устойчивости для системы с обратной отрицательной связью с обратной связью feedback(L,eye(M)):

Чтобы вычислить запасы устойчивости системы положительной обратной связи feedback(L,eye(M),+1), использовать allmargin(-L).

Когда у вас есть контроллер P и объект C, можно вычислить запасы устойчивости для изменений усиления и фазы на входах или выходах объекта. На следующей схеме:

  • Чтобы вычислить маржи на выходах объекта, установите L = P*C.

  • Чтобы вычислить маржи на входах объекта управления, установите L = C*P.

L может быть непрерывным временем или дискретным временем. Если L - обобщенная модель пространства состояний (genss или uss), затем allmargin использует текущее или номинальное значение всех блоков проекта системы управления в L.

Если L является моделью данных частотной характеристики (такой как frd), затем allmargin вычисляет поля на каждой частоте, представленной в модели. Функция возвращает поля на частоте с наименьшим запасом устойчивости.

Если L является массивом моделей, тогда allmargin вычисляет поля для каждой модели в массиве.

Величины из отклика системы в абсолютных модулях, заданные как трехмерный массив. mag является массивом M-на-M-на-N, где M - количество входов или выходов, а N - количество частотных точек. Для получения дополнительной информации о получении mag, см. Получение величины и фазы и величина и фаза системы MIMO.

Фаза отклика системы в степенях, заданная как трехмерный массив. phase является массивом M-на-M-на-N, где M - количество входов или выходов, а N - количество частотных точек. Для получения дополнительной информации о получении phase, см. Получение величины и фазы и величина и фаза системы MIMO.

Частоты, на которых получаются величины и фазовые значения отклика системы, заданные как вектор-столбец. Можно задать вектор частоты w в любых модулях; allmargin возвращает частоты в тех же модулях. allmargin интерполирует между частотными точками, чтобы аппроксимировать истинные запасы устойчивости.

Шаг расчета, заданный как целое число. allmargin использует ts для поиска запасов устойчивости из данных частотной характеристики.

  • Для моделей в непрерывном времени задайте ts = 0.

  • Для моделей в дискретном времени, ts является положительным целым числом, представляющим период дискретизации. Чтобы обозначить модель в дискретном времени с неопределенным шагом расчета, установите ts = -1.

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

свернуть все

Поля усиления, фазы и задержки, возвращенные как массив структур.

Область выхода S - структура со следующими полями:

  • GMFrequency: Все частоты пересечения -180 ° (по модулю 360 °) в rad/TimeUnit, где TimeUnit - временными модулями, заданный в TimeUnit свойство L.

  • GainMargin: Соответствующие запасы по амплитуде, определяемые как 1/G, где G - коэффициент усиления на частоте среза -180 °. Запасы по амплитуде указаны в абсолютных модулях.

  • PMFrequency: Все 0-dB частоты среза в rad/TimeUnit, где TimeUnit - временными модулями, заданный в TimeUnit свойство L.

  • PhaseMargin: Соответствующие запасы по фазе в степенях.

  • DMFrequency и DelayMargin: DelayMargin - это максимальная задержка, которую система может терпеть до потери устойчивости. DMFrequency содержит критические частоты, соответствующие запасам задержки. Поля задержки заданы во временных модулях системы для систем непрерывного времени и кратны шага расчета для систем дискретного времени.

  • Stable: 1 если номинальная система с обратной связью является стабильной, 0 если нестабильно, и NaN если стабильность не может быть оценена. В целом, allmargin невозможно оценить стабильность frd система.

Когда L - система M-by-M MIMO, S является M-by-1 массив структур. Для образца, S(j) задает запасы устойчивости для j-го канала обратной связи с замкнутыми другими циклами (с одним циклом в момент времени).

Совет

  • allmargin принимает, что система с разомкнутой циклической характеристикой L является системой отрицательной обратной связи. Чтобы вычислить классические запасы устойчивости системы положительной обратной связи feedback(L,eye(M),+1), использовать allmargin(-L).

  • Чтобы вычислить классические поля для системы, смоделированной в Simulink®сначала линеаризируйте модель, чтобы получить ответ без разомкнутого контура в конкретной рабочей точке. Затем используйте allmargin для вычисления классических запасов устойчивости для линеаризованной системы. Для получения дополнительной информации смотрите Запасы устойчивости модели Simulink (Robust Control Toolbox).

См. также

| | (Robust Control Toolbox)

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