Simulink transfer fcn что это
Перейти к содержимому

Simulink transfer fcn что это

Simulink transfer fcn что это

Implement a linear transfer function

The Transfer Fcn block implements a transfer function where the input (u) and output (y) can be expressed in transfer function form as the following equation

where nn and nd are the number of numerator and denominator coefficients, respectively. num and den contain the coefficients of the numerator and denominator in descending powers of s. num can be a vector or matrix, den must be a vector, and both are specified as parameters on the block dialog box. The order of the denominator must be greater than or equal to the order of the numerator.

A Transfer Fcn block takes a scalar input. If the numerator of the block’s transfer function is a vector, the block’s output is also scalar. However, if the numerator is a matrix, the transfer function expands the input into an output vector equal in width to the number of rows in the numerator. For example, a two-row numerator results in a block with scalar input and vector output. The width of the output vector is two.

Initial conditions are preset to zero. If you need to specify initial conditions, convert to state-space form using tf2ss and use the State-Space block. The tf2ss utility provides the A, B, C, and D matrices for the system. For more information, type help tf2ss or consult the Control System Toolbox documentation.

Transfer Fcn Block Icon

The numerator and denominator are displayed on the Transfer Fcn block icon depending on how they are specified:

    If each is specified as an expression, a vector, or a variable enclosed in parentheses, the icon shows the transfer function with the specified coefficients and powers of s. If you specify a variable in parentheses, the variable is evaluated. For example, if you specify Numerator as [3,2,1] and Denominator as (den) where den is [7,5,3,1] , the block icon looks like this: If each is specified as a variable, the icon shows the variable name followed by (s) . For example, if you specify Numerator as num and Denominator as den , the block icon looks like this:

Specifying the Absolute Tolerance for the Block’s States

By default Simulink uses the absolute tolerance value specified in the Simulation Parameters dialog box (see Error Tolerances) to solve the states of the Transfer Fcn block. If this value does not provide sufficient error control, specify a more appropriate value in the Absolute tolerance field of the Transfer Fcn block’s dialog box. The value that you specify is used to solve all the block’s states.

Data Type Support

A Transfer Fcn block accepts and outputs signals of type double .

Parameters and Dialog Box

Numerator The row vector of numerator coefficients. A matrix with multiple rows can be specified to generate multiple output. The default is [1] . Denominator The row vector of denominator coefficients. The default is [1 1] . Absolute tolerance Absolute tolerance used to solve the block’s states. You can enter auto or a numeric value. If you enter auto , Simulink determines the absolute tolerance (see «Error Tolerances»). If you enter a numeric value, Simulink uses the specified value to solve the block’s states. Note that a numeric value overrides the setting for the absolute tolerance in the Simulation Parameters dialog box.

Simulink transfer fcn что это

И.В.Черных. "Simulink: Инструмент моделирования динамических систем"

9. Библиотека блоков Simulink

9.3. Continuous – аналоговые блоки

9.3.1. Блок вычисления производной Derivative

Выполняет численное дифференцирование входного сигнала.

Для вычисления производной используется приближенная формула Эйлера:

где u – величина изменения входного сигнала за время t,

t – текущее значение шага модельного времени.

Значение входного сигнала блока до начала расчета считается равным нулю. Начальное значение выходного сигнала также полагается равным нулю.

Точность вычисления производной существенно зависит от величины установленного шага расчета. Выбор меньшего шага расчета улучшает точность вычисления производной.

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

Рис.9.3.1. Использование блока Derivative для дифференцирования сигнала.

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

9.3.2. Интегрирующий блок lntegrator

Выполняет интегрирование входного сигнала.

  1. none – нет (сброс не выполняется),
  2. rising — нарастающий сигнал (передний фронт сигнала),
  3. falling — спадающий сигнал (задний фронт сигнала),
  4. either – нарастающий либо спадающий сигнал,
  5. level – не нулевой сигнал (сброс выполняется если сигнал на управляющем входе становится не равным нулю);

В том случае, если выбран какой-либо (но не none), тип управляющего сигнала, то на изображении блока появляется дополнительный управляющий вход. Рядом с дополнительным входом будет показано условное обозначение управляющего сигнала.

  • Initial condition source — Источник начального значения выходного сигнала. Выбирается из списка:
    1. internal – внутренний
    2. external – внешний. В этом случае на изображении блока появляется дополнительный вход, обозначенный x0, на который необходимо подать сигнал задающий начальное значение выходного сигнала интегратора.

  • Initial condition — Начальное условие. Установка начального значения выходного сигнала интегратора. Параметр доступен, если выбран внутренний источник начального значения выходного сигнала.
  • Limit output (флажок) — Использование ограничения выходного сигнала.
  • Upper saturation limit — Верхний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть + .
  • Lower saturation limit — Нижний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть .
  • Show saturation port — управляет отображением порта, выводящего сигнал, свидетельствующий о выходе интегратора на ограничение. Выходной сигнал данного порта может принимать следующие значения:
    1. Ноль, если интегратор не находится на ограничении.
    2. +1, если выходной сигнал интегратора достиг верхнего ограничивающего предела.
    3. -1, если выходной сигнал интегратора достиг нижнего ограничивающего предела.
    • Show state port (флажок) — Отобразить/скрыть порт состояния блока. Данный порт используется в том случае, если выходной сигнал интегратора требуется подать в качестве сигнала обратной связи этого же интегратора. На пример, при установке начальных условий через внешний порт или при сбросе интегратора через порт сброса. Выходной сигнал с этого порта может использоваться также для организации взаимодействия с управляемой подсистемой.
    • Absolute tolerance — Абсолютная погрешность.

    На рис. 9.3.2 показан пример работы интегратора при подаче на его вход ступенчатого сигнала. Начальное условие принято равным нулю.

    Рис. 9.3.2. Интегрирование ступенчатого сигнала.

    Пример на рис. 9.3.3 отличается от предыдущего подачей начального значения через внешний порт. Начальное значение выходного сигнала в данном примере задано равным –10.

    Рис. 9.3.3. Интегрирование ступенчатого сигнала с установкой начального значения выходного сигнала.

    Пример на рис. 9.3.4 демонстрирует использование входного порта для сброса выходного сигнала и порта состояния интегратора с целью организации обратной связи. Схема работает следующим образом: входной постоянный сигнал преобразуется интегратором в линейно-изменяющийся, по достижении выходным сигналом значения равного 1 блок Relational Operator вырабатывает логический сигнал, по переднему фронту которого происходит сброс выходного сигнала интегратора до начального значения равного нулю. В результате на выходе интегратора формируется пилообразный сигнал, изменяющийся от 0 до +1.

    Рис. 9.3.4. Генератор пилообразного сигнала на основе интегратора.

    Следующая схема (рис. 9.3.5) использует установку начального значения интегратора с помощью его выходного сигнала. В первый момент времени начальное значение выходного сигнала интегратора с помощью блока IC (Initial Condition) устанавливается равным нулю. По достижении выходным сигналом значения равного 1 блок Relational Operator подает сигнал сброса выходного сигнала интегратора на начальный уровень, при этом сигналом, задающим начальный уровень, оказывается инвертированный выходной сигнал интегратора (т.е. -1). Далее цикл работы схемы повторяется. В отличие от предыдущей схемы выходным сигналом генератора является двуполярный сигнал.

    Рис. 9.3.5. Генератор двуполярного пилообразного сигнала

    на основе интегратора.

    Выполняет задержку входного сигнала на один временной такт.

    На рис. 9.3.6 показан пример использования блока Memory для задержки дискретного сигнала на один временной такт.

    Рис. 9.3.6. Применение блока для задержки сигнала на один временной такт

    9.3.4. Блок фиксированной задержки сигнала Transport Delay

    Обеспечивает задержку входного сигнала на заданное время.

    При выполнении моделирования значение сигнала и соответствующее ему модельное время сохраняются во внутреннем буфере блока Transport Delay. По истечении времени задержки значение сигнала, извлекается из буфера и передается на выход блока. В том случае, если шаги модельного времени не совпадают со значениями моментов времени для записанного в буфер сигнала, блок Transport Delay выполняет аппроксимацию выходного сигнала.

    В том случае, если начального значения объема памяти буфера не хватит для хранения задержанного сигнала, Simulink автоматически выделит дополнительную память. После завершения моделирования в командном окне MATLAB появится сообщение с указанием нужного размера буфера.

    На рис. 9.3.7 показан пример использования блока Transport Delay для задержки прямоугольного сигнала на 0.5 с.

    Рис. 9.3.7. Пример использования блока Transport Delay для задержки сигнала.

    9.3.5. Блок управляемой задержки сигнала Variable Transport Delay

    Выполняет задержку входного сигнала, заданную величиной сигнала управления.

    Блок управляемой задержки Variable Transport Delay работает аналогично блоку постоянной задержки сигнала Transport Delay.

    В том случае, если значение управляющего сигнала задающего величину задержки превышает значение, заданное параметром Maximum delay, то задержка выполняется на величину Maximum delay.

    На рис. 9.3.8 показан пример использования блока Variable Transport Delay. Величина времени задержки сигнала изменяется от 0.5c до 1с в момент времени равный 5с.

    Рис. 9.3.8. Пример использования блока Variable Transport Delay.

    9.3.6. Блок передаточной функции Transfer Fcn

    Блок передаточной характеристики Transfer Fcn задает передаточную функцию в виде отношения полиномов:

    nn и nd – порядок числителя и знаменателя передаточной функции,
    num вектор или матрица коэффициентов числителя,
    den – вектор коэффициентов знаменателя.

    Порядок числителя не должен превышать порядок знаменателя.

    Входной сигнал блока должен быть скалярным. В том случае, если коэффициенты числителя заданы вектором, то выходной сигнал блока будет также скалярным (как и входной сигнал). На рис. 9.3.8 показан пример моделирования колебательного звена с помощью блока Transfer Fcn.

    Рис. 9.3.8. Пример моделирования колебательного звена.

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

    На рис. 9.3.9 показан пример блока Transfer Fcn задающий векторную передаточную функцию. Там же показана модель полностью аналогичная рассматриваемой по своим свойствам, но состоящая из отдельных блоков Transfer Fcn.

    Рис. 9.3.9. Пример моделирования векторной передаточной функции и ее аналог.

    Начальные условия при использовании блока Transfer Fcn полагаются нулевыми. Если же требуется, чтобы начальные условия не были нулевыми, то необходимо с помощью функции tf2ss (инструмент Control System Toolbox) перейти от передаточной функции к модели в пространстве состояний и моделировать динамический объект с помощью блока State-Space.

    9.3.7. Блок передаточной функции Zero-Pole

    Блок Zero-Pole определяет передаточную функцию с заданными полюсами и нулями:

    Z – вектор или матрица нулей передаточной функции (корней полинома числителя),
    P – вектор полюсов передаточной функции (корней полинома знаменателя),
    K – коэффициент передаточной функции, или вектор коэффициентов, если нули передаточной функции заданы матрицей. При этом размерность вектора K определяется числом строк матрицы нулей.

    Количество нулей не должно превышать число полюсов передаточной функции.

    В том случае, если нули передаточной функции заданы матрицей, то блок Zero-Pole моделирует векторную передаточную функцию.

    Нули или полюса могут быть заданы комплексными числами. В этом случае нули или полюса должны быть заданы комплексно-сопряженными парами полюсов или нулей, соответственно.

    Начальные условия при использовании блока Zero-Pole полагаются нулевыми.

    На рис. 9.3.10 показан пример использования блока Zero-Pole. В примере передаточная функция имеет один действительный нуль и два комплексно-сопряженных полюса.

    Рис. 9.3.10. Пример использования блока Zero-Pole.

    9.3.8. Блок модели динамического объекта State-Space

    Блок создает динамический объект, описываемый уравнениями в пространстве состояний:

    x – вектор состояния,
    u – вектор входных воздействий,
    y – вектор выходных сигналов,
    A, B, C, D — матрицы: системы, входа, выхода и обхода, соответственно.

    Размерность матриц показана на рис. 9.3.11 (n – количество переменных состояния, m – число входных сигналов, r – число выходных сигналов).

    Рис. 9.3.11. Размерность матриц блока State-Space

    1. A –Матрица системы.
    2. B – Матрица входа.
    3. C – Матрица выхода
    4. D – Матрица обхода
    5. Initial condition – Вектор начальных условий.
    6. Absolute tolerance — Абсолютная погрешность.

    На рис. 9.3.11 показан пример моделирования динамического объекта с помощью блока State-Space. Матрицы блока имеют следующие значения:

    Transfer Functions in Simulink, Part 1: Creating and Using Transfer Functions

    This video demonstrates the ways in which transfer functions can be implemented in Simulink ® . It outlines how to represent a complex system in terms of the transfer functions of its components. Simulate and analyze your systems by using different inputs and observing the output.

    In this two-part video we will show you how to design and analyze linear and nonlinear systems in Simulink using transfer functions.

    Let’s start by looking at different ways of modeling transfer functions in Simulink. For example, K over s plus K. You can bring in transfer function objects defined in the MATLAB workspace into Simulink by using the LTI System block and specifying the variable name.

    A transfer function can also be represented in terms of simple blocks, such as integrators and gains, as shown. Alternatively, you can use the Transfer Function block Simulink provides. The block is defined in terms of the numerator and denominator of the transfer function.

    We have covered designing the given actuator engine system in a video about representing transfer functions in MATLAB. Let’s model the same system in Simulink.

    Simulink allows you to easily represent complex systems visually, in terms of their components and connections. Here we represent the actuator and the engine using the transfer function block and connect them in series. We then create an area the two blocks to denote their relationship.

    Simulink allows us to easily simulate a given system for a variety of inputs by simply adding the appropriate source to the input dominant. Here we specify a ramp input and attach a scope, and the system’s output dominant.

    Click the Play button to run the simulation and view the scope to see how the output and the ramp input change over time. Design the simulation with a different input; just change the input block. Let’s see a step input with magnitude equal to 1. Click the Play button to see how the output changes.

    Now let’s add a controller to the system. Designing a controller for the system using MATLAB was covered in the video previously mentioned. For now, let’s assume that the addition of an integrator with gain equal to 10 and a feedback loop gives us the performance characteristics we desire.

    The controllers transfer function is implemented using the transfer function block, which is what we use to represent the engine and the actuator as well. We can see that the model is able to follow step inputs with some overshoot and zero steady-state error.

    We can design controllers and perform other common tasks directly in Simulink using Simulink controller design.

    In part two of this video, we will be focusing on obtaining transfer functions from Simulink models.

    Transfer Fcn

    Блок Transfer Fcn моделирует линейную систему передаточной функцией переменной s Лапласа доменной . Блок может смоделировать одно вход одно выход (SISO) и одно вход, несколько — выводят системы (SIMO).

    Условия для Использования этого блока

    Блок Transfer Fcn принимает следующие условия:

    Передаточная функция имеет форму

    H ( s ) = y ( s ) u ( s ) = n u m ( s ) d e n ( s ) = n u m ( 1 ) s n n − 1 + n u m ( 2 ) s n n − 2 + … + n u m ( n n ) d e n ( 1 ) s n d − 1 + d e n ( 2 ) s n d − 2 + … + d e n ( n d ) ,

    где u и y являются системным входом и выходными параметрами, соответственно, nn и nd являются количеством числителя и коэффициентов знаменателя, соответственно. num(s) и den(s) содержат коэффициенты числителя и знаменателя в убывающих степенях s.

    Порядок знаменателя должен быть больше или быть равен порядку числителя.

    Для нескольких — выходная система, все передаточные функции имеют тот же знаменатель, и все числители имеют тот же порядок.

    Моделирование системы Одно Выхода

    Для системы одно выхода ввод и вывод блока является скалярными сигналами временной области. Смоделировать эту систему:

    Введите вектор для коэффициентов числителя передаточной функции в поле Numerator coefficients.

    Введите вектор для коэффициентов знаменателя передаточной функции в поле Denominator coefficients.

    Моделирование нескольких — Выходная система

    Для нескольких — выходная система, вход блока является скаляром, и выход является вектором, где каждым элементом является выход системы. Смоделировать эту систему:

    Введите матрицу в поле Numerator coefficients.

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

    Введите вектор коэффициентов знаменателя, характерных для всех передаточных функций системы в поле Denominator coefficients.

    Определение начальных условий

    Передаточная функция описывает отношение между вводом и выводом в Лапласе (частота) область. А именно, это задано как Преобразование Лапласа ответа (выход) системы с нулевыми начальными условиями к импульсному входу.

    Операции как умножение и деление передаточных функций используют нулевое начальное состояние. Например, можно разложить одну сложную передаточную функцию на серию более простых передаточных функций. Примените их последовательно, чтобы получить ответ, эквивалентный той из исходной передаточной функции. Это не будет правильно, если одна из передаточных функций примет ненулевое начальное состояние. Кроме того, передаточная функция имеет бесконечно реализацию области многого времени, большинство чей состояния не имеют никакого физического смысла.

    По этим причинам Simulink ® задает начальные условия блока Transfer Fcn , чтобы обнулить. Чтобы задать начальные условия для данной передаточной функции, преобразуйте передаточную функцию в ее управляемую, каноническую реализацию пространства состояний с помощью tf2ss . Затем используйте блок State-Space . tf2ss утилита обеспечивает A B C , и D матрицы для системы.

    Для получения дополнительной информации введите help tf2ss или см. документацию Control System Toolbox™.

    Отображение передаточной функции на блоке

    Блок Transfer Fcn отображает передаточную функцию в зависимости от того, как вы задаете параметры знаменателя и числитель.

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

    Например, если вы задаете Numerator coefficients как [3,2,1] и Denominator coefficients как (den) , где den [7,5,3,1] , блок выглядит так:

    Если вы задаете каждый параметр как переменную, блок показывает имя переменной, сопровождаемое (s) .

    Например, если вы задаете Numerator coefficients как num и Denominator coefficients как den , блок выглядит так:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *