exponenta event banner

sdo.requirements.OpenLoopGainPhase класс

Пакет: sdo.requirements

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

Описание

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

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

Для определения коэффициента усиления с разомкнутым контуром и требований к фазе необходимо программное обеспечение Simulink ® Control 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Оценка коэффициента усиления и фазовых границ по реакции Николса линейной системы

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

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

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).