margin

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

Описание

пример

margin(sys) строит графики Bode-отклика sys на экране и указывает коэффициент усиления и запасов по фазе на графике. Запасы по амплитуде выражены в дБ на графике.

Сплошные вертикальные линии отмечают запас по амплитуде и запас по фазе. Штриховые вертикальные линии указывают местоположение Wcp, частоту, на которой измеряется запас по фазе, и Wcg, частоту, на которой измеряется запас по амплитуде. Название графика включает величину и расположение запаса по амплитуде и фазе.

Gm и Pm системы указывают относительную устойчивость системы с обратной связью, образованной применением модуля отрицательной обратной связи к sys, как показано на следующем рисунке.

Gm - величина отклонения усиления, необходимая для создания цикла единицы усиления на частоте Wcg где угол фазы -180 ° (по модулю 360 °). Другими словами, запас по амплитуде равен 1/ g, если g - коэффициент усиления на частоте фазы -180 °. Точно так же запас по фазе является различием между фазой отклика и -180 °, когда коэффициент усиления цикла равен 1,0.

Частотный Wcp при котором величина равна 1,0, называется частотой единства-усиления или частотой среза усиления. Как правило, запасы по амплитуде от трех или более в сочетании с запасами по фазе от 30 ° до 60 ° приводят к разумным компромиссам между шириной полосы и стабильностью.

margin(sys,w) строит графики Bode-отклика sys использование вектора частот w в радиане/TimeUnit. Используйте этот синтаксис, когда у вас есть разреженные модели, такие как sparss или mechss объекты модели.

пример

[Gm,Pm,Wcg,Wcp] = margin(sys) возвращает запас по амплитуде Gm в абсолютных модулях, запас по фазе Pmи соответствующие частоты Wcg и Wcp, из sys. Wcg - частота, на которой измеряется запас по амплитуде, представляющий собой частоту пересечения фазы -180 °. Wcp - частота, на которой измеряется запас по фазе, который является 0-dB частотой пересечения коэффициента усиления. Эти частоты выражены в радианах/ TimeUnit, где TimeUnit- модуль, заданная в TimeUnit свойство sys. Когда sys имеет несколько кроссоверов, margin возвращает наименьшие запасы по усилению и фазе и соответствующие частоты.

пример

[Gm,Pm,Wcg,Wcp] = margin(mag,phase,w) выводит коэффициент усиления и запасов по фазе из данных частотной характеристики. Предоставьте данные о усилении mag в абсолютных модулях и данных фазы phase в степенях. Можно задать вектор частоты w в любых модулях и margin возвращает Wcg и Wcp в тех же модулях.

пример

[Gm,Pm] = margin(sys,J1,...,JN) возвращает запас по амплитуде Gm и коэффициент запаса по фазе Pm записей в массиве моделей sys с нижними индексами (J1,...,JN).

Примеры

свернуть все

В данном примере создайте непрерывную передаточную функцию.

sys = tf(1,[1 2 1 0])
sys =
 
         1
  ---------------
  s^3 + 2 s^2 + s
 
Continuous-time transfer function.

Отобразите коэффициент усиления и запасов по фазе графически.

margin(sys)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents sys. Axes 2 contains an object of type line. This object represents sys.

Отображаемые в заголовке запасы по амплитуде (6,02 дБ) и запас по фазе (21,4 ° С) отмечены сплошными вертикальными линиями. Штриховые вертикальные линии указывают местоположение Wcg, частоту, на которой измеряется запас по амплитуде и Wcp, частоту, на которой измеряется запас по фазе.

В данном примере создайте передаточную функцию в дискретном времени.

sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
sys =
 
   0.04798 z + 0.0464
  ---------------------
  z^2 - 1.81 z + 0.9048
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Вычислите запас по амплитуде, запас по фазе и частоты.

[Gm,Pm,Wcg,Wcp] = margin(sys)
Gm = 2.0517
Pm = 13.5711
Wcg = 5.4374
Wcp = 4.3544

Результаты показывают, что изменение коэффициента усиления более 2,05 дБ при частоте среза фаз 5,43 рад/с приведет к нестабильности системы. Аналогично изменение фазы более чем на 13,57 степени при частоте среза коэффициента усиления 4,35 рад/с приведет к потере устойчивости системы.

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

load('openLoopFRD.mat','p','m','w');

Вычислите запасы по усилению и фазе.

[Gm,Pm,Wcg,Wcp] = margin(m,p,w)
Gm = 0.6249
Pm = 48.9853
Wcg = 1.2732
Wcp = 1.5197

В данном примере загрузите invertedPendulumArray.mat, который содержит массив 3х3 инвертированных моделей маятника. Масса маятника изменяется при перемещении от модели к модели вдоль одного столбца 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.

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

[Gm,Pm] = margin(sys)
Gm = 3×3

    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800

Pm = 3×3

  -11.3565  -11.3898  -11.4228
  -11.3842  -11.4088  -11.4333
  -11.4020  -11.4208  -11.4396

margin возвращает два массива, Gm и Pm, в котором каждая запись является значениями запаса по амплитуде и фазе соответствующей записи в sys. Например, коэффициент запаса по амплитуде и фазе модели с весом маятника 100 г и длиной 2 м Gm(1,2) и Pm(1,2), соответственно.

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

свернуть все

Динамическая система, заданная как динамическая системная модель SISO или массив динамических системных моделей SISO. Динамические системы, которые вы можете использовать, включают в себя числовые модели LTI в непрерывном времени или дискретном времени, такие как tf, zpk, ss, sparss или mechss модели.

Если sys является обобщенной моделью пространства состояний genss или модель неопределенного пространства состояний uss, margin возвращает запас по амплитуде и запас по фазе текущего или номинального значения sys. Если sys - массив моделей, margin возвращает Gm и Pm модели, соответствующей ее нижнему индексу J1,...,JN в sys. Для получения дополнительной информации об массивах моделей см. Раздел «Массивы моделей».

Индексы моделей в массиве, коэффициент усиления и запасов по фазе которых вы хотите извлечь, заданные как положительные целые числа. Вы можете предоставить столько индексов, сколько измерения массива в sys. Для примера, если sys - массив моделей динамической системы 4 на 5, следующая команда извлекает Gm и Pm для записи (2,3) в массиве.

[Gm,Pm] = margin(sys,2,3);

Величины из отклика системы в абсолютных модулях, заданные как трехмерный массив. Начиная с margin принимает только системы SISO, mag является 1-by-1-by-N массивом, где N - количество частотных точек. Для получения примера смотрите Получить Величину и Фазу данные.

Фаза отклика системы в степенях, заданная как трехмерный массив. Начиная с margin принимает только системы SISO, phase является 1-by-1-by-N массивом, где N - количество частотных точек. Для получения примера смотрите Получить Величину и Фазу данные.

Частоты, на которых получаются величины и фазовые значения отклика системы, заданные как вектор-столбец.

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

свернуть все

Запас по амплитуде, возвращенный как скаляр или массив. Если sys является:

  • Одна модель, затем Gm возвращается как скаляр.

  • Массив моделей, затем Gm является массивом запасов по амплитуде каждой модели в sys.

Gm - величина отклонения усиления, необходимая для создания цикла единицы усиления на частоте Wcg где угол фазы -180 ° (по модулю 360 °). Другими словами, запас по амплитуде равен 1/ g, если g - коэффициент усиления на частоте фазы -180 °. Отрицательные запасы по амплитуде указывают на то, что стабильность теряется путем уменьшения усиления, в то время как положительные запасы по амплитуде указывают на то, что стабильность теряется путем увеличения усиления

Область запаса по амплитуде Gm вычисляется в абсолютных модулях. Вы можете вычислить запас по амплитуде в дБ,

Gm_dB = 20*log10(Gm)

Запас по фазе, возвращенная в виде скаляра или массива. Если sys является:

  • Одна модель, затем Pm возвращается как скаляр.

  • Массив моделей, затем Pm является массивом запасов по фазе каждой модели в sys.

Запас по фазе является различием между фазой отклика и -180 °, когда коэффициент усиления цикла равен 1,0.

Значение запаса по фазе Pm выражается в степенях.

Частота среза фаз, возвращенная в виде скаляра. Wcg - частота, на которой измеряется запас по амплитуде, представляющий собой частоту пересечения фазы -180 °.

Wcg выражается в радианах/ TimeUnit, где TimeUnit- модуль, заданная в TimeUnit свойство sys.

Усиление частоты среза, возвращается как скаляр. Wcp - частота, на которой измеряется запас по фазе, который является 0-dB частотой пересечения коэффициента усиления.

Wcp выражается в радианах/ TimeUnit, где TimeUnit- модуль, заданная в TimeUnit свойство sys.

Совет

  • Когда вы используете margin(mag,phase,w), margin полагается на интерполяцию для аппроксимации полей, которые обычно дают менее точные результаты. Для примера, если нет 0-dB пересечения в w область значений, margin возвращает запас по фазе Inf. Поэтому, если у вас есть аналитическая модель sys, использование [Gm,Pm,Wcg,Wcp] = margin(sys) является более надежным способом получения полей.

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