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. Axes 1 contains an object of type line. This object represents Lo. Axes 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. The axes 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. The axes 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Частота, при которой возникает самый слабый запас для соответствующего канала цикла. Это значение находится в рад/ 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 в нелинейную симуляцию для дальнейшего анализа дестабилизирующего влияния этого наихудшего случая усиления и изменения фазы. Для получения примера смотрите Robust MIMO Контроллера for Two-Loop Autopilot.

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

Когда L является массивом моделей, DM имеет дополнительные размерности, соответствующие измерениям массива L. Для образца, если L - массив 1 на 3 моделей с двумя входами, двумя выходами, затем 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Частота, при которой возникает самый слабый запас. Это значение находится в рад/ 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 в нелинейную симуляцию для дальнейшего анализа дестабилизирующего влияния этого наихудшего случая усиления и изменения фазы. Для получения примера смотрите Robust MIMO Контроллера for Two-Loop Autopilot.

Когда 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 вычисляет запасы по усилению и фазе путем применения дисковой модели неопределенности, чтобы представлять изменения по усилению и фазе, и затем находит самый большой такой диск, для которого система с обратной связью является стабильной.

Модель неопределенности усиления и фазы

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

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

Вот,

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

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

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

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

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

Модель заменяет L разомкнутого цикла MIMO на 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] Сейлер, Питер, Эндрю Паккард и Паскаль Гахинет. «Введение в области дисковых полей [примечания к лекциям]». Журнал IEEE Control Systems Magazine 40, № 5 (октябрь 2020): 78-95.

Введенный в R2018b