Дисковые запасы устойчивости циклов обратной связи
[
вычисляет дисковые запасы устойчивости для цикла отрицательной обратной связи SISO или MIMO DM
,MM
] = diskmargin(L
)feedback(L,eye(N))
, где N
количество входов и выходов в L
.
diskmargin
команда возвратов цикл в момент времени запасов устойчивости в DM
и мультицикл полей в MM
. Дисковый анализ запаса обеспечивает более сильную гарантию устойчивости, чем классические запасы по усилению и фазе. Общие сведения о полях диска см. в разделе Анализ устойчивости с использованием полей диска.
___ = 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)
Как правило, существует неопределенность как в приводах (входах), так и в датчиках (выходах). Поэтому рекомендуется вычислить запасы дисков на входах объекта управления, а также выходы. Использование 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)
Стабильность гарантируется только, когда коэффициент усиления изменяется менее чем на 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')
Этот график показывает, что цикл обратной связи может переносить большие изменения фазы, когда коэффициент усиления уменьшается. Другими словами, стабильность цикла более чувствительна к увеличению усиления. Хотя sigma
= -2 приводит к запасу по фазе до 30 степени, это большое значение принимает небольшое увеличение усиления менее 3 дБ. Однако график показывает, что, когда коэффициент усиления увеличивается на 4 дБ, запас по фазе падает до менее чем 15 степени. Напротив, он остается больше 30 степени, когда коэффициент усиления уменьшается на 4 дБ.
Таким образом, изменение перекоса sigma
может дать более полную картину чувствительности к усилению и фазе неопределенности. Если вы в основном не обеспокоены изменениями усиления в одном направлении (увеличение или уменьшение), не рекомендуется делать выводы из одного ненулевого значения sigma
. Вместо этого используйте sigma
по умолчанию = 0, чтобы получить объективные оценки усиления и запасов по фазе. При использовании ненулевых значений
sigma
, используйте как положительные, так и отрицательные значения, чтобы сравнить относительную чувствительность к увеличению и уменьшению усиления.
L
- Разомкнутый контурРазомкнутый контур, заданная как динамическая системная модель. L
может быть SISO или MIMO, пока это имеет одинаковое количество входов и выходов. diskmargin
вычисляет дисковые запасы устойчивости для системы с обратной отрицательной связью с обратной связью feedback(L,eye(N))
.
Для вычисления полей диска системы положительной обратной связи feedback(L,eye(N),+1)
, использовать diskmargin(-L)
.
Когда у вас есть объект P
и контроллер C
, можно вычислить запасы диска для изменений усиления (или фазы) на входах или выходах объекта, как на следующей схеме.
Чтобы вычислить маржи на выходах объекта, установите L = P*C
.
Чтобы вычислить маржи на входах объекта управления, установите L = C*P
.
L
может быть непрерывным временем или дискретным временем. Если L
- обобщенная модель пространства состояний (genss
или uss
) затем diskmargin
использует текущее или номинальное значение всех блоков проекта системы управления в L
.
Если L
является моделью данных частотной характеристики (такой как frd
), затем diskmargin
вычисляет поля на каждой частоте, представленной в модели. Функция возвращает поля на частоте с наименьшим дисковым полем.
Если L
является массивом моделей, тогда diskmargin
вычисляет поля для каждой модели в массиве.
P
- ОбъектОбъект, заданный как динамическая система модель. P
может быть SISO или MIMO, пока P*C
имеет одинаковое количество входов и выходов. diskmargin
вычисляет дисковые запасы устойчивости для системы с обратной отрицательной связью с обратной связью. Чтобы вычислить дисковые поля системы с положительной обратной связью, используйте diskmargin(P,-C)
.
P
может быть непрерывным временем или дискретным временем. Если P
- обобщенная модель пространства состояний (genss
или uss
) затем diskmargin
использует текущее или номинальное значение всех блоков проекта системы управления в P
.
Если P
является моделью данных частотной характеристики (такой как frd
), затем diskmargin
вычисляет поля на каждой частоте, представленной в модели. Функция возвращает поля на частоте с наименьшим дисковым полем.
C
- КонтроллерКонтроллер, заданный как динамическая система модель. C
может быть SISO или MIMO, пока P*C
имеет одинаковое количество входов и выходов. diskmargin
вычисляет дисковые запасы устойчивости для системы с обратной отрицательной связью с обратной связью. Чтобы вычислить дисковые поля системы с положительной обратной связью, используйте diskmargin(P,-C)
.
C
может быть непрерывным временем или дискретным временем. Если C
- обобщенная модель пространства состояний (genss
или uss
) затем diskmargin
использует текущее или номинальное значение всех блоков проекта системы управления в C
.
Если C
является моделью данных частотной характеристики (такой как frd
), затем diskmargin
вычисляет поля на каждой частоте, представленной в модели. Функция возвращает поля на частоте с наименьшим дисковым полем.
sigma
- ПерекосПерекос области неопределенности, используемый для вычисления запасов устойчивости, заданный как действительное скалярное значение. Этот параметр смещает неопределенность, используемую для моделирования изменений усиления и фазы в сторону увеличения или уменьшения усиления.
Значение по умолчанию sigma
= 0 использует сбалансированную модель изменения усиления в области значений [gmin,gmax]
, с gmin = 1/gmax
.
Положительное sigma
использует модель с большим увеличением усиления, чем уменьшением (gmax > 1/gmin
).
Отрицательные sigma
использует модель с большим уменьшением усиления, чем увеличением (gmin < 1/gmax
).
Используйте sigma
по умолчанию = 0, чтобы получить объективные оценки усиления и запасов по фазе. Можно проверить относительную чувствительность к увеличению и уменьшению усиления путем сравнения полей, полученных как с положительной, так и с отрицательной
sigma
значения. Для получения примера смотрите Чувствительность дисковых полей для увеличения и уменьшения. Для получения более подробной информации о том, как выбор sigma
влияет на расчет запаса, см. «Анализ устойчивости с использованием полей на диске».
DM
- Дисковые поля для каждого канала обратной связиПоля диска для каждого канала обратной связи с другими замкнутыми контурами, возвращенные как структура для циклов обратной связи 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 | Наименьшее изменение усиления и фазы, которое приводит к нестабильности цикла обратной связи, возвращается как пространство состояний ( Эта модель пространства состояний является диагональным возмущением вида Для получения дополнительной информации о интерпретации При анализе линейного приближения нелинейной системы может быть полезно вводить |
Когда 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
- Многослойные дисковые поляМногоуровневые поля диска, возвращенные как структура. Поля усиления (или фазы) определяют, сколько изменения усиления (или изменения фазы) система может переносить во всех каналах обратной связи сразу, оставаясь стабильной. Таким образом, 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 | Наименьшее изменение усиления и фазы, которое приводит к нестабильности цикла обратной связи, возвращается как пространство состояний ( Эта модель пространства состояний является диагональным возмущением вида Для получения дополнительной информации о интерпретации При анализе линейного приближения нелинейной системы может быть полезно вводить |
Когда L = P*C
- разомкнутый контур системы, содержащей контроллер и объект с единичной отрицательной обратной связью в каждом канале, MM
содержит запасы устойчивости для изменений на выходах объекта. Чтобы вычислить запасы устойчивости для изменений на входах объекта, используйте L = C*P
. Чтобы вычислить запасы устойчивости для одновременных независимых изменений как на входах объекта, так и на выходах, используйте MMIO = diskmargin(P,C)
.
Когда L
является массивом моделей, MM
является массивом структур с одной записью для каждой модели в L
.
MMIO
- Дисковые поля для независимых изменений во всех входных и выходных каналахДисковые поля для независимых изменений, применяемых одновременно во входном и выходном каналах объекта P
, возвращенный как структура, имеющая те же поля, что и MM
.
Для изменений, применяемых одновременно на входах и выходах, WorstPerturbation
поле само по себе является структурой с полями Input
и Output
. Каждое из этих полей содержит модель пространства состояний, такую что для Fi(s) = MMIO.WorstPerturbation.Input
и Fo(s) = MMIO.WorstPerturbation.Output
, система следующей схемы незначительно нестабильна, с шестом на контуре устойчивости на частоте MMIO.Frequency
.
Эти модели пространства состояний 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 неопределенности в передаточную функцию цикла следующим образом:
Вот,
δ динамическая неопределенность с ограничением по усилению, нормированная так, что она всегда изменяется внутри единичного диска (|<reservedrangesplaceholder0>| < 1).
α устанавливает величину усиления и изменения фазы, смоделированные F. Для фиксированных σ параметр ɑ управляет размером диска. Для α = 0 мультипликативный коэффициент равен 1, соответствующий номинальной L.
σ, называемое skew, смещает смоделированную неопределенность в сторону увеличения или уменьшения усиления. (Для получения дополнительной информации о эффекте перекоса на модель неопределенности, смотрите анализ устойчивости с использованием полей диска.)
Для систем MIMO модель позволяет неопределенности изменяться независимо в каждом канале:
Модель заменяет L разомкнутого цикла MIMO на L * F, где
Для заданного sigma
, disk margin является самым большим ɑ, для которого система с обратной связью feedback(L*F,1)
(или feedback(L*F,eye(N))
для систем MIMO) является стабильным для всех значений F. Чтобы найти это значение, diskmargin
решает прочную проблему стабильности: Найдите самое большое α таким образом, что система с обратной связью стабильна для всего F в диске неопределенности Δ (α, σ) описанный
В случае SISO устойчивый анализ устойчивости приводит к
где S - функция чувствительности (1 + L)–1 .
В случае MIMO устойчивый анализ устойчивости приводит к
Здесь μ И является структурированным сингулярным значением (mussv
) для диагональной структуры
и δj является нормализованной неопределенностью для каждого Fj.
Для получения дополнительной информации о расчете запаса см. [2].
Поведение изменено в R2020a
diskmargin
команда возвращает дисковые запасы по амплитуде в GainMargin
поле его структур output DM
, MM
, и MMIO
. Эти поля принимают форму [gmin,gmax]
, что означает, что коэффициент усиления без разомкнутого контура может быть умножен на любой коэффициент в этой области значений без потери устойчивости замкнутой системы. Начиная с R2020a, нижний конец области значений gmin
может быть отрицательным для некоторых отрицательных значений наклона sigma
, если система с обратной связью остается стабильной, даже если изменяется признак усиления без разомкнутого контура. Скос управляет смещением запаса по амплитуде к уменьшению или увеличению усиления (см. Анализ устойчивости с использованием полей диска). Раньше область значений запас по амплитуде всегда была положительным.
[1] Блайт, Джеймс Д., Р. Лейн Дэйли и Дагфинн Гангсаас. «Практический проект закона о контроле для самолетов с использованием многопараметрических методов». Международный журнал контроля 59, № 1 (январь 1994 года): 93-137. https://doi.org/10.1080/00207179408923071.
[2] Сейлер, Питер, Эндрю Паккард и Паскаль Гахинет. «Введение в области дисковых полей [примечания к лекциям]». Журнал IEEE Control Systems Magazine 40, № 5 (октябрь 2020): 78-95.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.