sdo.requirements.OpenLoopGainPhase class

Пакет: sdo.requirements

Николс связал ответ

Описание

Задайте кусочно-линейные ограничения на характеристику Николса (фаза усиления) линейной системы. Затем можно оптимизировать ответ модели, чтобы соответствовать этим границам, используя sdo.optimize.

Можно задать верхнюю или нижнюю границу, включить несколько линейных ребер и продлить границы до + или –inf.

У вас должен быть Simulink® Управляйте Design™ программным обеспечением, чтобы задать требования к усилению и фазе без разомкнутого контура.

Конструкция

olgainphase_req = sdo.requirements.OpenLoopGainPhase создает sdo.requirements.OpenLoopGainPhase Объект и присвоения значения по умолчанию к его свойствам.

gainphase_req = sdo.requirements.OpenLoopGainPhase(Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар. Name является именем свойства и Value - соответствующее значение. Name должны находиться внутри одинарных кавычек (''). Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Использование Name,Value аргументы для задания свойств   объекта требования во время создания объекта. Для примера, requirement = sdo.requirements.OpenLoopGainPhase('Type','>=') создает sdo.requirements.OpenLoopGainPhase объект и задает Type свойство как нижняя граница.

Свойства

BoundGains

Значения усиления для кусочно-линейной границы.

Задайте значения начала и конца в децибелах для всех ребер кусочно-линейной границы. Свойство должно быть nx2 массив конечных двойных чисел, где каждая строка задает начало и конец значения усиления ребра. Количество строк должно совпадать с количеством строк в BoundPhases свойство.

Использовать set чтобы задать это и BoundPhases свойства одновременно.

По умолчанию: [-10 -10]

BoundPhases

Значения фаз для кусочно-линейной границы.

Задайте значения начала и конца в степени для всех ребер в кусочно-линейной привязке. Свойство должно быть nx2 массив конечных двойных чисел, где каждая строка задает начало и конец значения фаз ребра. Количество строк должно совпадать с количеством строк в BoundGains свойство.

Использовать set чтобы задать это и BoundGains свойства одновременно.

По умолчанию: [-180 -90]

Description

Описание требования, заданное как вектор символов. Для примера, 'Requirement on signal 1'.

По умолчанию: ''

MagnitudeUnits

Величина модулей требования. Должно быть:

  • 'db' (децибелы)

  • 'abs' (абсолютные модули)

По умолчанию: 'db'

Name

Имя требования, заданное как вектор символов.

По умолчанию: ''

OpenEnd

Удлините границу в отрицательном или положительном направлении времени.

Используйте для связанных сигналов, которые выходят за координаты, заданные BoundPhases и BoundGains свойства.

Должно быть 1x2 логический массив. Если trueпервое или последнее ребро границы расширено до бесконечности.

По умолчанию: [0 0]

PhaseUnits

Фаза модулей требования, заданного как одно из следующих значений:

  • 'deg' (степени)

  • 'rad' (радианы)

По умолчанию: 'deg'

Type

Тип требования к усилению и фазе, заданный как одно из следующих значений:

  • '>=' - Нижняя граница

  • '<=' - Верхняя граница

По умолчанию: '>='

Методы

evalRequirementОцените ограничения по усилению и фазе на отклике Николса линейной системы

Копировать семантику

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

Создайте разомкнутый объект усиления и фазы и задайте требования к усилению и фазе.

r = sdo.requirements.OpenLoopGainPhase;
set(r,'BoundPhases',[-120 -120; -120 -150; -150 -180],...
      'BoundGains',[20 0; 0 -20; -20 -20]);

Кроме того, можно задать требования к усилению и фазе во время конструкции:

r = sdo.requirements.OpenLoopGainPhase('BoundPhases',...
		[-120 -120; -120 -150; -150 -180],'BoundGains',...
		[20 0; 0 -20; -20 -20]);

Альтернативы

Использовать getbounds для получения границ, заданных в блоке Check Nichols Characteristics (Simulink Control Design).