tunableTF

Настраиваемая передаточная функция с фиксированным количеством полюсов и нулей

Синтаксис

blk = tunableTF(name,Nz,Np)
blk = tunableTF(name,Nz,Np,Ts)
blk = tunableTF(name,sys)

Описание

Объект модели для создания настраиваемых моделей передаточной функции SISO фиксированного порядка. tunableTF позволяет вам параметризовать передаточную функцию заданного порядка для исследований параметров или для автоматической настройки с помощью команд настройки, таких как systune или looptune.

tunableTF является частью Системы управления Блока семейства параметрических моделей. Другие блоки Системы управления включают tunablePID, tunableSS, и tunableGain.

Конструкция

blk = tunableTF(name,Nz,Np) создает параметрическую передаточную функцию SISO:

blk=amsm+am1sm1++a1s+a0sn+bn1sn1++b1s+b0.

 n = Np - максимальное количество полюсов blk, и  m = Nz - максимальное количество нулей. Настраиваемыми параметрами являются коэффициенты числителя и знаменателя a 0 ,..., am и b 0 ,..., b n -1. Начальный коэффициент знаменателя фиксирован на 1.

blk = tunableTF(name,Nz,Np,Ts) создает параметрическую передаточную функцию в дискретном времени со шаг расчета Ts.

blk = tunableTF(name,sys) использует tf модели sys чтобы задать количество полюсов, количество нулей, шаг расчета и начальные значения параметров.

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

name

Параметрическая передаточная функция Name, заданный как вектор символов, такой как 'filt' или 'DM'. (См. «Свойства».)

Nz

Неотрицательное целое число, задающее количество нулей параметрической передаточной функции blk.

Np

Неотрицательное целое число, задающее количество полюсов параметрической передаточной функции blk.

Ts

Скалярный шаг расчета.

sys

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

Свойства

Numerator, Denominator

Параметризация коэффициентов числителя am, ..., a 0 и коэффициентов знаменателя 1, b n -1,.. ., b 0 настраиваемой передаточной функции blk.

blk.Numerator и blk.Denominator являются param.Continuous объекты. Для получения общей информации о свойствах этих param.Continuous объекты, см. param.Continuous (Simulink Design Optimization) страницу с описанием объекта.

Следующие поля blk.Numerator и blk.Denominator используются при настройке blk использование hinfstruct:

ОбластьОписание
Value

Массив текущих значений числителя am, ..., a 0 или коэффициентов знаменателя 1, b n -1,.. ., b 0. blk.Numerator.Value имеет длину Nz + 1. blk.Denominator.Value имеет длину Np + 1. Начальный коэффициент знаменателя (blk.Denominator.Value(1)) всегда фиксируется к 1.

По умолчанию коэффициенты инициализируются к значениям, которые дают стабильную, строго правильную передаточную функцию. Используйте входную sys для инициализации коэффициентов к разным значениям.

hinfstruct (Robust Control Toolbox) настраивает все значения, кроме тех, чьи Free поле равно нулю.

Free

Массив логических значений, определяющих, являются ли коэффициенты фиксированными или настраиваемыми. Для примера:

  • Если blk.Numerator.Free(j) = 1, затем blk.Numerator.Value(j) настраивается.

  • Если blk.Numerator.Free(j) = 0, затем blk.Numerator.Value(j) является фиксированным.

По умолчанию: blk.Denominator.Free(1) = 0; все остальные значения: 1.

Minimum

Минимальное значение параметра. Это свойство устанавливает нижнюю границу на настроенное значение параметра. Для примера установка blk.Numerator.Minimum(1) = 0 гарантирует, что начальный коэффициент числителя остается положительным.

По умолчанию: -Inf

Maximum

Максимальное значение параметра. Это свойство накладывает верхнюю границу на настроенное значение параметра. Для примера установка blk.Numerator.Maximum(1) = 1 обеспечивает, чтобы начальный коэффициент числителя не превышал 1.

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

Ts

Шаг расчета. Для моделей в непрерывном времени, Ts = 0. Для моделей в дискретном времени, Ts - положительная скалярная величина, представляющая период дискретизации. Это значение выражается в модуле, заданной как TimeUnit свойство модели. Чтобы обозначить модель в дискретном времени с неопределенным шагом расчета, установите Ts = -1.

Изменение этого свойства не дискретизирует и не переопределяет модель.

По умолчанию: 0 (непрерывное время)

TimeUnit

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit для преобразования между модулями времени без изменения поведения системы.

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

InputName

Входные имена каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'controls'.

  • Массив ячеек из символьных векторов - Для мультивходов.

Кроме того, используйте автоматическое расширение вектора, чтобы назначить входные имена для мультивходов. Для примера, если sys является моделью с двумя входами, введите:

sys.InputName = 'controls';

Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}.

Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName.

Входные имена каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех входных каналов

InputUnit

Входные модули канала, заданные как один из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'seconds'.

  • Массив ячеек из символьных векторов - Для мультивходов.

Использование InputUnit отслеживать модули входных сигналов. InputUnit не влияет на поведение системы.

По умолчанию: '' для всех входных каналов

InputGroup

Входные группы каналов. The InputGroup свойство позволяет вам назначить входные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте входные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - входными каналами, принадлежащими каждой группе. Для примера:

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

создает входные группы с именем controls и noise которые включают входные каналы 1, 2 и 3, 5, соответственно. Затем можно извлечь подсистему из controls входы для всех выходов с помощью:

sys(:,'controls')

По умолчанию: Struct без полей

OutputName

Выходы каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'measurements'.

  • Массив ячеек из символьных векторов - Для мультивыход моделей.

Кроме того, используйте автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys является двухвыпускной моделью, введите:

sys.OutputName = 'measurements';

Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}.

Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName.

Имена выходных каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех выходных каналов

OutputUnit

Выход модулей канала, заданный как один из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'seconds'.

  • Массив ячеек из символьных векторов - Для мультивыход моделей.

Использование OutputUnit отслеживать выход модулей сигнала. OutputUnit не влияет на поведение системы.

По умолчанию: '' для всех выходных каналов

OutputGroup

Выходы каналов. The OutputGroup свойство позволяет вам назначить выходные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте выходные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - выходными каналами, принадлежащими каждой группе. Для примера:

sys.OutputGroup.temperature = [1];
sys.InputGroup.measurement = [3 5];

создает выходные группы с именем temperature и measurement которые включают выходные каналы 1, и 3, 5, соответственно. Затем можно извлечь подсистему из всех входов в measurement выходы с использованием:

sys('measurement',:)

По умолчанию: Struct без полей

Name

Имя системы, заданное как вектор символов. Для примера, 'system_1'.

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

Notes

Любой текст, который вы хотите связать с системой, сохраненный как строка или массив ячеек из векторов символов. Свойство сохраняет любой тип данных, которые вы предоставляете. Для образца, если sys1 и sys2 являются динамические системы моделями, можно задать их Notes свойства следующим образом:

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

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

UserData

Любой тип данных, которые вы хотите связать с системой, заданный как любой MATLAB® тип данных.

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

Примеры

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

Передаточная функция с интегратором включает коэффициент 1/ s. Поэтому, чтобы гарантировать, что параметризованная передаточная функция имеет, по меньшей мере, один интегратор независимо от значений параметров, исправьте коэффициент самого низкого порядка знаменателя в нуль.

  blk = tunableTF('tfblock',2,4);  % two zeros, four poles
  blk.Denominator.Value(end) = 0;   % set last denominator entry to zero
  blk.Denominator.Free(end) = 0;    % fix it to zero

Создайте параметрическую передаточную функцию и присвойте имена входу и выводу.

blk = tunableTF('tfblock',2,3);   
blk.InputName = {'error'};      % assign input name
blk.OutputName = {'control'};    % assign output name

Совет

  • Чтобы преобразовать a tunableTF параметрическая модель в числовой (не настраиваемый) объект модели, используйте команды модели, такие как tf, zpk, или ss.

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

расширить все

Поведение изменено в R2016a

Введенный в R2016a