margin

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

Описание

пример

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

Твердые вертикальные линии отмечают запас по амплитуде и запас по фазе. Пунктирные вертикальные линии указывают на местоположения Wcp, частота, где запас по фазе измеряется, и Wcg, частота, где запас по амплитуде измеряется. Заголовок графика включает величину и местоположение запаса по амплитуде и фазе.

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

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

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

пример

[Gm,Pm,Wcg,Wcp] = margin(sys) возвращает запас по амплитуде Gm в абсолютных единицах, запас по фазе Pm, и соответствующие частоты Wcg и Wcp, из sys. Wcg частота, где запас по амплитуде измеряется, который является частотой пересечения фазы на-180 °. Wcp частота, где запас по фазе измеряется, который является частотой пересечения 0 усилений дБ. Эти частоты выражаются в radians/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)

Запас по амплитуде (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, и длина маятника варьируется, когда вы проходите одна строка. Массовые используемые значения составляют 100 г, 200 г и 300 г, и используемые длины маятника составляют 3 м, 2 м и 1 м соответственно.

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 модели.

Если 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 массивом 1 на n, где N является количеством точек частоты. Для примера смотрите, Получают Данные о Величине и Фазе.

Фаза отклика системы в градусах в виде трехмерного массива. Начиная с margin только принимает системы SISO, phase 1 массивом 1 на 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 выражается в radians/TimeUnit, где TimeUnit модуль, заданный в TimeUnit свойство sys.

Частота среза фазы, возвращенная как скаляр. Wcp частота, где запас по фазе измеряется, который является частотой пересечения 0 усилений дБ.

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

Советы

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

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