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.

Следующие поля 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 настраивает все значения кроме тех, поле 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

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

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

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

TimeUnit

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

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

Значение по умолчанию: 'seconds'

InputName

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

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

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

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

sys.InputName = 'controls';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

InputUnit

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

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

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

Используйте InputUnit, чтобы отслеживать модули входного сигнала. InputUnit не имеет никакого эффекта на поведение системы.

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

InputGroup

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

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

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

sys(:,'controls')

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

OutputName

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

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

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

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

sys.OutputName = 'measurements';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

OutputUnit

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

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

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

Используйте OutputUnit, чтобы отслеживать модули выходного сигнала. OutputUnit не имеет никакого эффекта на поведение системы.

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

OutputGroup

Выведите группы канала. Свойство 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

Советы

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

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

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

Поведение изменяется в R2016a

Введенный в R2016a