diskmargin

Находящиеся на диске запасы устойчивости обратной связи

Описание

пример

[DM,MM] = diskmargin(L) вычисляет находящиеся на диске запасы устойчивости для SISO или цикла отрицательной обратной связи MIMO feedback(L,eye(N)), где N количество вводов и выводов в L.

Diagram of a feedback loop consisting of L with unit negative feedback.

diskmargin команда возвращает цикл за один раз запасы устойчивости в DM и многоконтурные поля в MM. Находящийся на диске граничный анализ обеспечивает более сильную гарантию устойчивости, чем классические запасы по амплитуде и фазе. Для получения общей информации о дисковых полях, смотрите, что Анализ Устойчивости Использует Дисковые Поля.

пример

MMIO = diskmargin(P,C) вычисляет запасы устойчивости, когда рассмотрение независимых, параллельных изменений и во входных параметрах объекта и в объекте выводит цикл отрицательной обратной связи следующей схемы.

Diagram of a feedback loop consisting of P*C with unit negative feedback, with arrows indicating the inputs and outputs of the plant P.

пример

___ = diskmargin(___,sigma) задает дополнительный скошенный параметр, который смещает смоделированное усиление и изменение фазы к увеличению усиления (положительный sigma) или получите уменьшение (отрицательный sigma). Можно использовать этот аргумент, чтобы протестировать относительную чувствительность запасов устойчивости, чтобы получить увеличения по сравнению с уменьшениями. Можно использовать этот аргумент с любым из предыдущих синтаксисов.

Примеры

свернуть все

diskmargin вычисляет и цикл за один раз и многоконтурные дисковые поля. Этот пример иллюстрирует, что цикл за один раз поля может дать чрезмерно оптимистическую оценку истинной робастности обратной связи MIMO. Поля отдельных циклов могут быть чувствительны к небольшим возмущениям в других циклах и цикле за один раз, поля игнорируют такие взаимодействия цикла.

Рассмотрите двухканальную обратную связь MIMO следующего рисунка.

Модель объекта управления P чертится от Запасов устойчивости MIMO для Вращения Спутника и C статическое усиление выходной обратной связи [1 - 2; 0 1].

a = [0 10;-10 0]; 
b = eye(2); 
c = [1 10;-10 1]; 
P = ss(a,b,c,0); 
C = [1 -2;0 1]; 

Вычислите находящиеся на диске поля на объекте выход. Ответом разомкнутого контура отрицательной обратной связи на объекте выход является Lo = P*C.

Lo = P*C;
[DMo,MMo] = diskmargin(Lo);

Исследуйте цикл за один раз дисковые поля, возвращенные в массиве структур DM. Каждая запись в DM содержит запасы устойчивости соответствующего канала обратной связи.

DMo(1)
ans = struct with fields:
           GainMargin: [0 Inf]
          PhaseMargin: [-90 90]
           DiskMargin: 2
           LowerBound: 2
           UpperBound: 2
            Frequency: Inf
    WorstPerturbation: [2x2 ss]

DMo(2)
ans = struct with fields:
           GainMargin: [0 Inf]
          PhaseMargin: [-90 90]
           DiskMargin: 2
           LowerBound: 2
           UpperBound: 2
            Frequency: 0
    WorstPerturbation: [2x2 ss]

Цикл за один раз поля превосходен (бесконечный запас по амплитуде и запас по фазе на 90 °). Затем исследуйте многоконтурные дисковые поля MMo. Они считают независимое и параллельное усиление (фаза) изменениями обеих обратной связи. Это - более реалистическая оценка, потому что неопределенность объекта обычно влияет на оба канала одновременно.

MMo
MMo = struct with fields:
           GainMargin: [0.6839 1.4621]
          PhaseMargin: [-21.2607 21.2607]
           DiskMargin: 0.3754
           LowerBound: 0.3754
           UpperBound: 0.3762
            Frequency: 0
    WorstPerturbation: [2x2 ss]

Многоконтурные запасы по амплитуде и фазе намного более слабы, чем их цикл за один раз дубликаты. Устойчивость только гарантируется, когда усиление в каждом цикле будет варьироваться фактором меньше чем 1,46, или когда фаза каждого цикла варьируется меньше чем на 21 °. Используйте diskmarginplot визуализировать запасы по амплитуде и фазе в зависимости от частоты.

diskmarginplot(Lo)

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

Как правило, существует неопределенность и в приводах (входные параметры) и в датчиках (выходные параметры). Поэтому это - хорошая идея вычислить дисковые поля во входных параметрах объекта, а также выходных параметрах. Используйте Li = C*P вычислить поля во входных параметрах объекта. Для этой системы поля являются тем же самым при вводах и выводах объекта.

Li = C*P;
[DMi,MMi] = diskmargin(Li);
MMi
MMi = struct with fields:
           GainMargin: [0.6839 1.4621]
          PhaseMargin: [-21.2607 21.2607]
           DiskMargin: 0.3754
           LowerBound: 0.3754
           UpperBound: 0.3762
            Frequency: 0
    WorstPerturbation: [2x2 ss]

Наконец, можно также вычислить многоконтурные дисковые поля для усиления или изменений фазы в обоих вводы и выводы объекта. Этот подход является самой полной оценкой запасов устойчивости, потому что это это рассматривает независимое и параллельное усиление или изменения фазы всех графиков входного и выходного каналов. Как ожидалось, всех трех мер, это дает самые маленькие запасы по амплитуде и фазе.

MMio = diskmargin(P,C);
diskmarginplot(MMio.GainMargin)

Figure contains an axes object. The axes object with title Range of gain and phase variations contains 5 objects of type patch, text, line.

Устойчивость только гарантируется, когда усиление будет варьироваться меньше чем на 2 дБ или когда фаза варьируется меньше чем на 13 °. Однако эти изменения происходят во входных параметрах и выходных параметрах P, таким образом, общее изменение в усилении ввода-вывода или фазе - дважды это.

По умолчанию, diskmargin вычисляет симметричный запас по амплитуде, с gmin = 1/gmax, и связанный запас по фазе. В некоторых системах, однако, устойчивость цикла может быть более чувствительна к увеличениям или уменьшениям в коэффициенте усиления разомкнутого контура. Используйте скошенный параметр sigma исследовать эту чувствительность.

Вычислите дисковое поле, и сопоставил находящиеся на диске запасы по амплитуде и фазе для передаточной функции SISO, в трех значениях sigma. Отрицательный sigma смещает расчет к уменьшению усиления. Положительный sigma смещения к увеличению усиления.

L = tf(25,[1 10 10 10]);
DMdec = diskmargin(L,-2);
DMbal = diskmargin(L,0);
DMinc = diskmargin(L,2); 
DGMdec = DMdec.GainMargin
DGMdec = 1×2

    0.4013    1.3745

DGMbal = DMbal.GainMargin
DGMbal = 1×2

    0.6273    1.5942

DGMinc = DMinc.GainMargin  
DGMinc = 1×2

    0.7717    1.7247

Соедините, эти результаты показывают, что в отсутствие изменения фазы, устойчивость обеспечена для относительных изменений усиления между 0,4 и 1.72. Чтобы видеть, как запас по фазе зависит от этих изменений усиления, постройте устойчивые области значений усиления и изменений фазы для каждого diskmargin результат.

diskmarginplot([DGMdec;DGMbal;DGMinc])
legend('sigma = -2','sigma = 0','sigma = 2')
title('Stable range of gain and phase variations')

Figure contains an axes object. The axes object with title Stable range of gain and phase variations contains 3 objects of type patch. These objects represent sigma = -2, sigma = 0, sigma = 2.

Этот график показывает, что обратная связь может терпеть большие изменения фазы, когда усиление уменьшается. Другими словами, устойчивость цикла более чувствительна, чтобы получить увеличение. Несмотря на то, что sigma = –2 выражения запас по фазе, столь же большой как 30 градусов, это большое значение принимает маленькое увеличение усиления меньше чем 3 дБ. Однако график показывает это, когда увеличения усиления на 4 дБ, запас по фазе спадает меньше чем до 15 градусов. В отличие от этого, остается больше, чем 30 градусов, когда усиление уменьшается на 4 дБ.

Таким образом, варьируясь скошенный sigma может дать более полное изображение чувствительности к неопределенности фазы и усилению. Если вы в основном не обеспокоены изменениями усиления одного направления (увеличение или уменьшение), не рекомендуется сделать выводы из одного ненулевого значения sigma. Вместо этого используйте sigma по умолчанию = 0, чтобы получить объективные оценки запасов по амплитуде и фазе. При использовании ненулевых значений sigma, используйте и положительные и отрицательные величины, чтобы сравнить относительную чувствительность, чтобы получить увеличение и уменьшение.

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

свернуть все

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

Diagram of a feedback loop consisting of L with unit negative feedback.

Вычислить дисковые поля системы положительной обратной связи feedback(L,eye(N),+1), используйте diskmargin(-L).

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

Diagram of a feedback loop consisting of P*C with unit negative feedback, with arrows indicating the inputs and outputs of the plant P.

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

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

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

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

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

Объект в виде модели динамической системы. P может быть SISO или MIMO, настолько же долго как P*C имеет то же количество вводов и выводов. diskmargin вычисляет находящиеся на диске запасы устойчивости для отрицательной обратной связи система с обратной связью. Чтобы вычислить дисковые поля системы с положительной обратной связью, используйте diskmargin(P,-C).

P может быть непрерывное время или дискретное время. Если P обобщенная модель в пространстве состояний (genss или ussто diskmargin использует текущее значение или номинальную стоимость всех блоков системы управления в P.

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

Контроллер в виде модели динамической системы. C может быть SISO или MIMO, настолько же долго как P*C имеет то же количество вводов и выводов. diskmargin вычисляет находящиеся на диске запасы устойчивости для отрицательной обратной связи система с обратной связью. Чтобы вычислить дисковые поля системы с положительной обратной связью, используйте diskmargin(P,-C).

C может быть непрерывное время или дискретное время. Если C обобщенная модель в пространстве состояний (genss или ussто diskmargin использует текущее значение или номинальную стоимость всех блоков системы управления в C.

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

Скос области неопределенности использовался для расчета запасов устойчивости в виде действительного скалярного значения. Этот параметр смещает неопределенность, используемую, чтобы смоделировать усиление и изменения фазы к увеличению усиления или уменьшению усиления.

  • sigma по умолчанию = 0 использования сбалансированная модель изменения усиления области значений [gmin,gmax], с gmin = 1/gmax.

  • Положительный sigma использует модель с большим количеством увеличения усиления, чем уменьшение (gmax > 1/gmin).

  • Отрицательный sigma использует модель с большим количеством уменьшения усиления, чем увеличение (gmin < 1/gmax).

Используйте sigma по умолчанию = 0, чтобы получить объективные оценки запасов по амплитуде и фазе. Можно протестировать относительную чувствительность, чтобы получить увеличение и уменьшение путем сравнения полей, полученных и с положительным и с отрицательным sigma значения. Для примера смотрите Чувствительность Находящихся на диске Полей, чтобы Получить Увеличение и Уменьшение. Для более подробной информации, о как выбор sigma влияет на граничный расчет, смотрите, что Анализ Устойчивости Использует Дисковые Поля.

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

свернуть все

Дисковые поля для каждого канала обратной связи со всеми другими замкнутыми кругами, возвратились как структура для обратной связи SISO или N-by-1 массив структур для цикла MIMO с каналами обратной связи N. Поля DM(i) :

Поле Значение
GainMarginНаходящиеся на диске запасы по амплитуде соответствующего канала обратной связи, возвращенного как вектор из формы [gmin,gmax]. Этот экспресс значений в абсолютных единицах сумма, которой усиление цикла в том канале может уменьшиться или увеличиться при сохранении устойчивости. Например, если DM(i).GainMargin = [0.8,1.25] затем усиление ith цикл может быть умножен на любой фактор между 0,8 и 1.25, не вызывая нестабильность. Когда sigma = 0, gmin = 1/gmax. Если коэффициент усиления разомкнутого контура может изменить знак без потери устойчивости, gmin может быть меньше нуля для достаточно большого отрицательного sigma. Если номинальная система с обратной связью нестабильна, то DM(i).GainMargin = [1 1].
PhaseMarginНаходящийся на диске запас по фазе соответствующего канала обратной связи, возвращенного как вектор из формы [-pm,pm] в градусах. Эти значения описывают сумму, которой фаза цикла в том канале может уменьшиться или увеличиться при сохранении устойчивости. Если система с обратной связью нестабильна, то DM(i).PhaseMargin = [0 0].
DiskMarginМаксимальный ɑ, совместимый с устойчивостью с обратной связью для соответствующего канала обратной связи. ɑ параметрирует неопределенность в ответе цикла (см. Алгоритмы). Если система с обратной связью нестабильна, то DM(i).DiskMargin = 0.
LowerBoundНижняя граница на дисковом поле. Это значение совпадает с DiskMargin.
UpperBoundВерхняя граница на дисковом поле. Это значение представляет верхний предел поля фактической дисковой емкости системы. Другими словами, дисковое поле, как гарантируют, будет не хуже, чем LowerBound и не лучше, чем UpperBound.
FrequencyЧастота, на которой самое слабое поле происходит для соответствующего канала цикла. Это значение находится в rad/TimeUnit, где TimeUnit TimeUnit свойство L.
WorstPerturbation

Самое маленькое усиление и изменение фазы, которое управляет нестабильной обратной связью, возвратились как пространство состояний (ss) модель с вводами и выводами N, где N является количеством вводов и выводов в L. Система F(s) = WorstPerturbation таково, что следующая обратная связь незначительно устойчива с полюсом на контуре устойчивости на частоте DM(i).Frequency.

Diagram of a feedback loop consisting of L*F with unit negative feedback.

Эта модель в пространстве состояний является диагональным возмущением формы F(s) = diag(f1(s),...,fN(s)). Каждый fj(s) динамическая система действительного параметра, которая понимает усиление комплекса худшего случая, и изменение фазы применилось к каждому каналу обратной связи. Для цикла за один раз поле kth обратная связь, только kth запись fk(s) из DM(k).WorstPerturbation отличается от единицы.

Для получения дополнительной информации об интерпретации WorstPerturbation, смотрите Дисковое Поле и Самое маленькое Возмущение Дестабилизации

При анализе линейной аппроксимации нелинейной системы может быть полезно ввести WorstPerturbation в нелинейную симуляцию, чтобы далее анализировать дестабилизацию влияют этого усиления худшего случая и изменения фазы. Для примера смотрите Устойчивый Контроллер MIMO для Автопилота 2D Цикла.

Когда L = P*C ответ разомкнутого контура системы, включающей контроллер и объект с модульной отрицательной обратной связью в каждом канале, DM содержит запасы устойчивости для изменений на объекте выходные параметры. Чтобы вычислить запасы устойчивости для изменений во входных параметрах объекта, используйте L = C*P. Чтобы вычислить запасы устойчивости для одновременных, независимых изменений в обоих вводы и выводы объекта, используйте MMIO = diskmargin(P,C).

Когда L массив моделей, DM имеет дополнительные размерности, соответствующие измерениям массива L. Например, если L 1 3 массив 2D входа, 2D выходных моделей, затем DM 2 3 массив структур. DM(j,k) содержит поля для jth канал обратной связи kth модель в массиве.

Многоконтурные дисковые поля, возвращенные как структура. Усиление (или фаза) поля определяют количество, сколько изменения усиления (или изменения фазы) система может терпеть во всех каналах обратной связи целиком при оставлении устойчивой. Таким образом, MM одна структура независимо от количества каналов обратной связи в системе. (Для систем SISO, MM = DM.) Поля MM :

Поле Значение
GainMarginМногоконтурные находящиеся на диске запасы по амплитуде, возвращенные как вектор из формы [gmin,gmax]. Эти значения описывают в абсолютных единицах сумму, которой усиление цикла может варьироваться по всем каналам независимо и одновременно при сохранении устойчивости. Например, если MM.GainMargin = [0.8,1.25] затем усиление всех циклов может быть умножено на любой фактор между 0,8 и 1.25, не вызывая нестабильность. Когда sigma = 0, gmin = 1/gmax.
PhaseMarginМногоконтурный находящийся на диске запас по фазе, возвращенный как вектор из формы [-pm,pm] в градусах. Эти значения описывают сумму, которой фаза цикла может варьироваться по всем каналам независимо и одновременно при сохранении устойчивости.
DiskMarginМаксимальный ɑ, совместимый с устойчивостью с обратной связью. ɑ параметрирует неопределенность в ответе цикла (см. Алгоритмы).
LowerBoundНижняя граница на дисковом поле. Это значение совпадает с DiskMargin.
UpperBoundВерхняя граница на дисковом поле. Это значение представляет верхний предел поля фактической дисковой емкости системы. Другими словами, дисковое поле, как гарантируют, будет не хуже, чем LowerBound и не лучше, чем UpperBound.
FrequencyЧастота, на которой происходит самое слабое поле. Это значение находится в rad/TimeUnit, где TimeUnit TimeUnit свойство L.
WorstPerturbation

Самое маленькое усиление и изменение фазы, которое управляет нестабильной обратной связью, возвратились как пространство состояний (ss) модель с вводами и выводами N, где N является количеством вводов и выводов в L. Система F(s) = WorstPerturbation таково, что следующая обратная связь незначительно устойчива с полюсом на контуре устойчивости в MM.Frequency.

Diagram of a feedback loop consisting of L*F with unit negative feedback.

Эта модель в пространстве состояний является диагональным возмущением формы F(s) = diag(f1(s),...,fN(s)). Каждый fj(s) динамическая система действительного параметра, которая понимает усиление комплекса худшего случая, и изменение фазы применилось к каждому каналу обратной связи.

Для получения дополнительной информации об интерпретации WorstPerturbation, смотрите Дисковое Поле и Самое маленькое Возмущение Дестабилизации

При анализе линейной аппроксимации нелинейной системы может быть полезно ввести WorstPerturbation в нелинейную симуляцию, чтобы далее анализировать дестабилизацию влияют этого усиления худшего случая и изменения фазы. Для примера смотрите Устойчивый Контроллер MIMO для Автопилота 2D Цикла.

Когда L = P*C ответ разомкнутого контура системы, включающей контроллер и объект с модульной отрицательной обратной связью в каждом канале, MM содержит запасы устойчивости для изменений на объекте выходные параметры. Чтобы вычислить запасы устойчивости для изменений во входных параметрах объекта, используйте L = C*P. Чтобы вычислить запасы устойчивости для одновременных, независимых изменений в обоих вводы и выводы объекта, используйте MMIO = diskmargin(P,C).

Когда L массив моделей, MM массив структур с одной записью для каждой модели в L.

Дисковые поля для независимых изменений, примененных одновременно в графиках входного и выходного каналов объекта P, возвращенный как структура, имеющая те же поля как MM.

Для изменений, примененных одновременно при вводах и выводах, WorstPerturbation поле является самостоятельно структурой с полями Input и Output. Каждое из этих полей содержит модель в пространстве состояний, таким образом это для Fi(s) = MMIO.WorstPerturbation.Input и Fo(s) = MMIO.WorstPerturbation.Output, система следующей схемы незначительно нестабильна с полюсом на контуре устойчивости на частоте MMIO.Frequency.

Diagram of a feedback loop consisting of Fo*P*Fi*C with unit negative feedback.

Эти модели в пространстве состояний Input и Output диагональные возмущения формы F(s) = diag(f1(s),...,fN(s)). Каждый fj(s) динамическая система действительного параметра, которая понимает усиление комплекса худшего случая, и изменение фазы применилось к каждому каналу обратной связи.

Советы

  • diskmargin принимает отрицательную обратную связь. Чтобы вычислить дисковые поля системы положительной обратной связи, используйте diskmargin(-L) или diskmargin(P,-C).

  • Вычислить дисковые поля для системы, смоделированной в Simulink®, сначала линеаризуйте модель, чтобы получить ответ разомкнутого контура в конкретной рабочей точке. Затем используйте diskmargin вычислить запасы устойчивости для линеаризованной системы. Для получения дополнительной информации смотрите Запасы устойчивости Модели Simulink.

  • Чтобы вычислить классические запасы по амплитуде и фазе, использовать allmargin.

  • Можно визуализировать дисковое использование полей diskmarginplot.

Алгоритмы

свернуть все

diskmargin вычисляет запасы по амплитуде и фазе путем применения находящейся на диске модели неопределенности, чтобы представлять усиление и изменения фазы, и затем нахождения самого большого таким диском, для которого система с обратной связью устойчива.

Усиление и модель неопределенности фазы

Для SISO L модель неопределенности для граничного диском анализа включает мультипликативную комплексную неопределенность F в передаточную функцию цикла можно следующим образом:

F=1+α[(1σ)/2]δ1α[(1+σ)/2]δ.

Здесь,

  • δ является ограниченной усилением динамической неопределенностью, нормированной так, чтобы он всегда варьировался в единичном диске (|δ | <1).

  • α устанавливает сумму усиления и изменения фазы, смоделированного F. Для фиксированного σ параметр ɑ управляет размером диска. Для α = 0, мультипликативный фактор равняется 1, соответствуя номинальному L.

  • σ, названный skew, смещает смоделированную неопределенность к увеличению усиления или уменьшению усиления. (Для получения дополнительной информации об эффекте скоса на модели неопределенности, смотрите, что Анализ Устойчивости Использует Дисковые Поля.)

Для систем MIMO модель позволяет неопределенности варьироваться независимо по каждому каналу:

Fj=1+α[(1σ)/2]δj1α[(1+σ)/2]δj.

Модель заменяет ответ разомкнутого контура MIMO L на L *F, где

F=(F1000000FN).

Граничный диском расчет

Для данного sigma, disk margin является самый большой ɑ для который система с обратной связью feedback(L*F,1) (или feedback(L*F,eye(N)) для систем MIMO), устойчиво для всех значений F. Найти это значение, diskmargin решает устойчивую задачу устойчивости: Найдите самый большой α таким образом, что система с обратной связью устойчива для всего F в диске неопределенности Δ (α, σ) описанный

Δ(α,σ)={F=1+α[(1σ)/2]δ1α[(1+σ)/2]δ:|δ|<1}.

В случае SISO устойчивый анализ устойчивости приводит к

αmax=1S+(σ1)/2,

где S является функцией чувствительности (1 + L)–1 .

В случае MIMO устойчивый анализ устойчивости приводит к

αmax=1μΔ(S+(σ1)I2).

Здесь, μ Δ является структурированным сингулярным значением (mussv) для диагональной структуры

Δ=(δ1000000δN),

и δj является нормированной неопределенностью для каждого Fj.

Для получения дополнительной информации о граничном расчете, см. [2].

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Ссылки

[1] Загубите, Джеймс Д., Р. Лейн Дэйли и Дэгфинн Гэнгсаас. “Практический Проект Закона о надзоре для Самолета Используя Многомерные Методы”. Международный журнал Управления 59, № 1 (январь 1994): 93–137. https://doi.org/10.1080/00207179408923071.

[2] Seiler, Питер, Эндрю Пэкард и Паскаль Гахине. “Введение в Дисковые Поля [Примечания Лекции]”. Журнал 40 Систем управления IEEE, № 5 (октябрь 2020): 78–95.

Введенный в R2018b