exponenta event banner

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 + am 1sm 1 +... + a1s + a0sn + bn − 1sn − 1 +... + b1s + b0.

n = Np - максимальное число полюсов blk, и m = Nz - максимальное число нулей. Настраиваемыми параметрами являются числитель и знаменатель коэффициентов a0, ..., am и b0,. .., bn-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, ..., a0 и коэффициентов знаменателя 1, bn-1, ..., b0 настраиваемой передаточной функции blk.

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

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

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

Массив текущих значений числителя am, ..., a0 или коэффициентов знаменателя 1, bn-1, ..., b0. blk.Numerator.Value имеет длину Nz + 1. blk.Denominator.Value имеет длину Np + 1. Ведущий коэффициент знаменателя (blk.Denominator.Value(1)) всегда фиксируется в 1.

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

hinfstruct (Rustive 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

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

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

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

sys(:,'controls')

По умолчанию: структура без полей

OutputName

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

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

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

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

sys.OutputName = 'measurements';

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

Можно использовать сокращенную нотацию y см. OutputName собственность. Например, sys.y эквивалентно sys.OutputName.

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

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

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

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

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

OutputUnit

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

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

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

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

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

OutputGroup

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

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

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

sys('measurement',:)

По умолчанию: структура без полей

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

  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

Совет

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

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

развернуть все

В R2016a изменилось поведение

Представлен в R2016a