метода Simulink (1087392), страница 7
Текст из файла (страница 7)
Пример на рис. 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.3. Блок Memory
Назначение:
Выполняет задержку входного сигнала на один временной такт.
Параметры:
Initial condition – начальное значение выходного сигнала.
Inherit sample time (флажок) – Наследовать шаг модельного времени. Если этот флажок установлен, то блок Memory использует шаг модельного времени (Sample time) такой же, как и в предшествующем блоке.
На рис. 9.3.6 показан пример использования блока Memory для задержки дискретного сигнала на один временной такт.
Рис. 9.3.6. Применение блока для задержки сигнала на один временной такт
9.3.4. Блок фиксированной задержки сигнала Transport Delay
Назначение:
Обеспечивает задержку входного сигнала на заданное время.
Параметры:
Time Delay — Время задержки сигнала (не отрицательное значение).
Initial input — Начальное значение выходного сигнала.
Buffer size — Размер памяти, выделяемой для хранения задержанного сигнала. Задается в байтах числом, кратным 8 (по умолчанию 1024).
Pade order (for linearization) — Порядок ряда Паде, используемого при аппроксимации выходного сигнала. Задается целым положительным числом.
При выполнении моделирования значение сигнала и соответствующее ему модельное время сохраняются во внутреннем буфере блока Transport Delay. По истечении времени задержки значение сигнала, извлекается из буфера и передается на выход блока. В том случае, если шаги модельного времени не совпадают со значениями моментов времени для записанного в буфер сигнала, блок Transport Delay выполняет аппроксимацию выходного сигнала.
В том случае, если начального значения объема памяти буфера не хватит для хранения задержанного сигнала, Simulink автоматически выделит дополнительную память. После завершения моделирования в командном окне MATLAB появится сообщение с указанием нужного размера буфера.
На рис. 9.3.7 показан пример использования блока Transport Delay для задержки прямоугольного сигнала на 0.5 с.
Рис. 9.3.7. Пример использования блока Transport Delay для задержки сигнала.
9.3.5. Блок управляемой задержки сигнала Variable Transport Delay
Назначение:
Выполняет задержку входного сигнала, заданную величиной сигнала управления.
Параметры:
Maximum delay — Максимальное значение времени задержки сигнала (не отрицательное значение).
Initial input — Начальное значение выходного сигнала.
Buffer size — Размер памяти, выделяемой для хранения задержанного сигнала. Задается в байтах числом, кратным 8 (по умолчанию 1024).
Pade order (for linearization) — Порядок ряда Паде, используемого при аппроксимации выходного сигнала. Задается целым положительным числом.
Блок управляемой задержки 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 – вектор коэффициентов знаменателя.
Параметры:
Numerator — вектор или матрица коэффициентов полинома числителя
Denominator -вектор коэффициентов полинома знаменателя
Absolute tolerance — Абсолютная погрешность.
Порядок числителя не должен превышать порядок знаменателя.
Входной сигнал блока должен быть скалярным. В том случае, если коэффициенты числителя заданы вектором, то выходной сигнал блока будет также скалярным (как и входной сигнал). На рис. 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 определяется числом строк матрицы нулей.
Параметры:
Zeros – Вектор или матрица нулей.
Poles – Вектор полюсов.
Gain – Скалярный или векторный коэффициент передаточной функции.
Absolute tolerance — Абсолютная погрешность.
Количество нулей не должно превышать число полюсов передаточной функции.
В том случае, если нули передаточной функции заданы матрицей, то блок 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
Параметры:
A –Матрица системы.
B – Матрица входа.
C – Матрица выхода
D – Матрица обхода
Initial condition – Вектор начальных условий.
Absolute tolerance — Абсолютная погрешность.
На рис. 9.3.11 показан пример моделирования динамического объекта с помощью блока State-Space. Матрицы блока имеют следующие значения:
Рис. 9.3.12. Пример использования блока State-Space.
9.4. Discrete – дискретные блоки
9.4.1. Блок единичной дискретной задержки Unit Delay
Назначение:
Выполняет задержку входного сигнала на один шаг модельного времени.
Параметры:
Initial condition – Начальное значение для выходного сигнала.
Sample time – Шаг модельного времени.
Входной сигнал блока может быть как скалярным, так и векторным. При векторном входном сигнале задержка выполняется для каждого элемента вектора. Блок поддерживает работу с комплексными и действительными сигналами.
На рис. 9.4.1 показан пример использования блока для задержки дискретного сигнала на один временной шаг, равный 0.1с.
Рис. 9.4.1. Пример использования блока Unit Delay
9.4.2. Блок экстраполятора нулевого порядка Zero-Order Hold
Назначение:
Блок выполняет дискретизацию входного сигнала по времени.
Параметры:
Sample time – Величина шага дискретизации по времени.
Блок фиксирует значение входного сигнала в начале интервала квантования и поддерживает на выходе это значение до окончания интервала квантования. Затем выходной сигнал изменяется скачком до величины входного сигнала на следующем шаге квантования.
На рис. 9.4.2 показан пример использования блока Zero-Order Hold для формирования дискретного сигнала.
Рис. 9.4.2. Пример формирования дискретного сигнала с помощью блока Zero-Order Hold
Блок экстраполятора нулевого порядка может использоваться также для согласования работы дискретных блоков имеющих разные интервалы квантования. На рис. 9.4.3 показан пример такого использования блока Zero-Order Hold. В примере блок Discrete Transfer Fcn имеет параметр Sample time = 0.4 , а для блока Discrete Filter этот же параметр установлен равным 0.8.