Simulink (Методичка Система Matlab — Simulink), страница 8
Файл «Simulink» внутри архива находится в папке «Методичка Система Matlab — Simulink». Документ из архива «Методичка Система Matlab — Simulink», который расположен в категории » «. Всё это находится в предмете «моделирование систем» из раздела «», которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе «книги и методические указания», в предмете «моделирование систем» в общих файлах.
Онлайн просмотр документа «Simulink»
Текст 8 страницы из документа «Simulink»
Рис. 9.3.9. Пример моделирования векторной передаточной функции и ее аналог.
На рис. 9.3.9 показан пример блока Transfer Fcn задающий векторную передаточную функцию. Там же показана модель полностью аналогичная рассматриваемой по своим свойствам, но состоящая из отдельных блоков Transfer Fcn.
Начальные условия при использовании блока 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.
Рис. 9.4.3. Использование блока Zero-Order Hold для согласования работы дискретных блоков.
9.4.3. Блок экстраполятора первого порядка First-Order Hold
Блок задает линейное изменение выходного сигнала на каждом такте дискретизации, в соответствии с крутизной входного сигнала на предыдущем интервале дискретизации.
Sample time – Величина шага дискретизации по времени.
Пример экстраполяции синусоидального сигнала этим блоком показан на рис. 9.4.4.
Рис. 9.4.4. Использование блока First-Order Hold
9.4.4. Блок дискретного интегратора Discrete-Time Integrator
Блок используется для выполнения операции интегрирования в дискретных системах.
Integration method – Метод численного интегрирования:
Forward Euler — Прямой метод Эйлера.
Метод использует аппроксимацию T/(z-1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
y(k) = y(k–1) + T*u(k–1),
y – выходной сигнал интегратора,
u – входной сигнал интегратора,
T – шаг дискретизации,
k – номер шага моделирования.
Backward Euler – Обратный метод Эйлера.
Метод использует аппроксимацию T*z/(z–1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
y(k) = y(k–1) + T*u(k).
Trapeziodal – Метод трапеций.
Метод использует аппроксимацию T/2*(z+1)/(z–1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
x(k) = y(k–1) + T/2 * u(k–1).
Sample time — Шаг дискретизации по времени.
Остальные параметры дискретного интегратора те же, что и у блока аналогового интегратора Integrator (библиотека Continuous).
На рис. 9.4.5 показан пример демонстрирующий все три способа численного интегрирования блока Discrete-Time Integrator. Как видно из рисунка изображение блока меняется в зависимости от выбранного метода интегрирования.
Рис. 9.4.5. Выполнение интегрирования блоками Discrete-Time Integrator, реализующими разные численные методы.
9.4.5. Дискретная передаточная функция Discrete Transfer Fсn
Блок Discrete Transfer Fcn задает дискретную передаточную функцию в виде отношения полиномов:
,
m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно.
num – вектор или матрица коэффициентов числителя,
den – вектор коэффициентов знаменателя.
Numerator — Вектор или матрица коэффициентов числителя
Denominator – Вектор коэффициентов знаменателя
Sample time — Шаг дискретизации по времени.
Порядок числителя не должен превышать порядок знаменателя.
Входной сигнал блока должен быть скалярным. В том случае, если коэффициенты числителя заданы вектором, то выходной сигнал блока будет скалярным (также как и входной сигнал). На рис. 9.4.6 показан пример использования блока Discrete Transfer Fcn. В примере рассчитывается реакция на единичное ступенчатое воздействие дискретного аналога колебательного звена.
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.6. Использование блока Discrete Transfer Fcn
9.4.6. Блок дискретной передаточной функции Discrete Zero-Pole
Блок Discrete Zero-Pole определяет дискретную передаточную функцию с заданными полюсами и нулями:
,
Z – вектор или матрица нулей передаточной функции,
P – вектор полюсов передаточной функции,
K – коэффициент передаточной функции, или вектор коэффициентов, если нули передаточной функции заданы матрицей. При этом размерность вектора K определяется числом строк матрицы нулей.
Zeros – Вектор или матрица нулей.
Poles – Вектор полюсов.
Gain – Скалярный или векторный коэффициент передаточной функции.
Sample time — Шаг дискретизации по времени.
Количество нулей не должно превышать число полюсов передаточной функции.
В том случае, если нули передаточной функции заданы матрицей, то блок Discrete Zero-Pole моделирует векторную передаточную функцию.
Нули или полюса могут быть заданы комплексными числами. В этом случае нули или полюса должны быть заданы комплексно-сопряженными парами полюсов или нулей, соответственно.
Начальные условия при использовании блока Discrete Zero-Pole полагаются нулевыми.
На рис. 9.4.7 показан пример использования блока Discrete Zero-Pole. С помощью рассматриваемого блока моделируется дискретный аналог передаточной функции
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.7. Использование блока Discrete Zero-Pole.
9.4.7. Блок дискретного фильтра Discrete Filter
Блок дискретного фильтра Discrete Filter задает дискретную передаточную функцию от обратного аргумента (1/z):
,
m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно.
num – вектор или матрица коэффициентов числителя,
den – вектор коэффициентов знаменателя.
Numerator — Вектор или матрица коэффициентов числителя
Denominator –Вектор коэффициентов знаменателя
Sample time — Шаг дискретизации по времени.
На рис. 9.4.8 показан пример использования блока Discrete Filter. С помощью рассматриваемого блока моделируется дискретный аналог передаточной функции:
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.8. Использование блока Discrete Filter.
9.4.8. Блок модели динамического объекта Discrete State-Space
Блок создает динамический объект, описываемый уравнениями в пространстве состояний:
,
Zero order hold simulink что это
И.В.Черных. "Simulink: Инструмент моделирования динамических систем"
9. Библиотека блоков Simulink
9.4. Discrete – дискретные блоки
9.4.1. Блок единичной дискретной задержки Unit Delay
Выполняет задержку входного сигнала на один шаг модельного времени.
Входной сигнал блока может быть как скалярным, так и векторным. При векторном входном сигнале задержка выполняется для каждого элемента вектора. Блок поддерживает работу с комплексными и действительными сигналами.
На рис. 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.
Рис. 9.4.3. Использование блока Zero-Order Hold для согласования работы дискретных блоков.
9.4.3. Блок экстраполятора первого порядка First-Order Hold
Блок задает линейное изменение выходного сигнала на каждом такте дискретизации, в соответствии с крутизной входного сигнала на предыдущем интервале дискретизации.
Sample time – Величина шага дискретизации по времени.
Пример экстраполяции синусоидального сигнала этим блоком показан на рис. 9.4.4.
Рис. 9.4.4. Использование блока First-Order Hold
9.4.4. Блок дискретного интегратора Discrete-Time Integrator
Блок используется для выполнения операции интегрирования в дискретных системах.
Forward Euler — Прямой метод Эйлера.
Метод использует аппроксимацию T/(z-1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
y(k) = y(k–1) + T*u(k–1),
y – выходной сигнал интегратора,
u – входной сигнал интегратора,
T – шаг дискретизации,
k – номер шага моделирования.
Метод использует аппроксимацию T*z/(z–1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
y(k) = y(k–1) + T*u(k).
Метод использует аппроксимацию T/2*(z+1)/(z–1) передаточной функции 1/s. Выходной сигнал блока рассчитывается по выражению:
x(k) = y(k–1) + T/2 * u(k–1).
Остальные параметры дискретного интегратора те же, что и у блока аналогового интегратора Integrator (библиотека Continuous).
На рис. 9.4.5 показан пример демонстрирующий все три способа численного интегрирования блока Discrete-Time Integrator. Как видно из рисунка изображение блока меняется в зависимости от выбранного метода интегрирования.
Рис. 9.4.5. Выполнение интегрирования блоками Discrete-Time Integrator, реализующими разные численные методы.
9.4.5. Дискретная передаточная функция Discrete Transfer Fсn
Блок Discrete Transfer Fcn задает дискретную передаточную функцию в виде отношения полиномов:
m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно.
num – вектор или матрица коэффициентов числителя,
den – вектор коэффициентов знаменателя.
Порядок числителя не должен превышать порядок знаменателя.
Входной сигнал блока должен быть скалярным. В том случае, если коэффициенты числителя заданы вектором, то выходной сигнал блока будет скалярным (также как и входной сигнал). На рис. 9.4.6 показан пример использования блока Discrete Transfer Fcn. В примере рассчитывается реакция на единичное ступенчатое воздействие дискретного аналога колебательного звена: .
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.6. Использование блока Discrete Transfer Fcn
9.4.6. Блок дискретной передаточной функции Discrete Zero-Pole
Блок Discrete Zero-Pole определяет дискретную передаточную функцию с заданными полюсами и нулями:
Z – вектор или матрица нулей передаточной функции,
P – вектор полюсов передаточной функции,
K – коэффициент передаточной функции, или вектор коэффициентов, если нули передаточной функции заданы матрицей. При этом размерность вектора K определяется числом строк матрицы нулей.
Количество нулей не должно превышать число полюсов передаточной функции.
В том случае, если нули передаточной функции заданы матрицей, то блок Discrete Zero-Pole моделирует векторную передаточную функцию.
Нули или полюса могут быть заданы комплексными числами. В этом случае нули или полюса должны быть заданы комплексно-сопряженными парами полюсов или нулей, соответственно.
Начальные условия при использовании блока Discrete Zero-Pole полагаются нулевыми.
На рис. 9.4.7 показан пример использования блока Discrete Zero-Pole. С помощью рассматриваемого блока моделируется дискретный аналог передаточной функции
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.7. Использование блока Discrete Zero-Pole.
9.4.7. Блок дискретного фильтра Discrete Filter
Блок дискретного фильтра Discrete Filter задает дискретную передаточную функцию от обратного аргумента (1/z):
m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно.
num – вектор или матрица коэффициентов числителя,
den – вектор коэффициентов знаменателя.
На рис. 9.4.8 показан пример использования блока Discrete Filter. С помощью рассматриваемого блока моделируется дискретный аналог передаточной функции:
Шаг дискретизации выбран равным 0.5 с.
Рис. 9.4.8. Использование блока Discrete Filter.
9.4.8. Блок модели динамического объекта Discrete State-Space
Блок создает динамический объект, описываемый уравнениями в пространстве состояний:
x – вектор состояния,
u – вектор входных воздействий,
y – вектор выходных сигналов,
A, B, C, D — матрицы: системы, входа, выхода и обхода, соответственно,
n – номер шага моделирования.
Размерность матриц показана на рис. 9.4.9 (n – количество переменных состояния, m – число входных сигналов, r – число выходных сигналов).
Рис. 9.4.9. Размерность матриц блока Discrete State-Space
- A –Матрица системы.
- B – Матрица входа.
- C – Матрица выхода
- D – Матрица обхода
- Initial condition – Вектор начальных условий.
- Sample time — Шаг дискретизации по времени.
На рис. 9.4.10 показан пример моделирования динамического объекта с помощью блока Discrete State-Space. Матрицы блока имеют следующие значения:
Моделирование дискретных сигналов в Simulink
Генерирование сигналов в Simulink, естественно, имеет свои особенности. Рассмотрим их.
Возьмем из библиотеки блоков Simulink два блока: Sine Wave (из раздела Sources) и Scope (из раздела Sinks). Соединив их, получим простую схему (рис.4).
Рис.4. Схема генерации и отображения синусоидального сигнала
Затем двойным щелчком по блоку осциллоскопа (осциллографа) активизируем окно, имитирующее экран осциллоскопа, и запустим модель (кнопка Start simulation). В результате получим изображение отрезка синусоиды (рис.5).
Рис.5. Отображение отрезка синусоиды на экране осциллоскопа
Как видим, генерировать гармонический сигнал в среде Simulink даже проще, чем в среде MATLAB. Однако это первое впечатление весьма обманчиво. Действительно, ведь важно еще уметь управлять параметрами гармонического сигнала. То, что амплитуда гармонического сигнала оказалась равной единице – нам просто «повезло». Действительно, по умолчанию амплитуда генерируемого сигнала принята равной единице. Однако частотой, начальной фазой и длительностью сигнала мы пока не управляем.
Дважды щелкнем по блоку Sine Wave – в результате появится окно настроек параметров (рис.6). Щелкнув по кнопке Help, получим инструкцию по данному блоку, сущность которой сводится вкратце к тому, что в данном блоке выполняется операция
Из приведенной формулы и надписей на рис.6 становится понятным смысл четырех переменных: амплитуды, угловой частоты, начальной фазы и постоянной составляющей. Остается пока зашифрованным смысл переменной «время».
Останавливаясь на этом важном вопросе, отметим различие понятий «время» и «модельное время». Так, генерирование отрезка сигнала длительностью 1 с (модельное время) может длиться значительно, чем более короткий промежуток времени, например, 0.1 с (реальное время). Скорость генерирования зависит от объема вычислений, быстродействия компьютера, от выбранного «решателя», т.е. алгоритма моделирования и т.д. Кстати, вполне возможен обратный эффект – для сложного алгоритма процедура моделирования отрезка сигнала длительностью 0.1 с может растянуться на несколько секунд.
Сигнал может генерироваться двух типов: непрерывный time-based и дискретный sample-based. Соответственно, для моделирования работы непрерывных систем рекомендуют использовать непрерывный тип time-based, а для моделирования работы дискретных систем – дискретный тип sample-based.
Если установлен тип time-based, тогда параметр Sample time может принимать значения:
– 0 (по умолчанию) – блок работает в непрерывном режиме;
– > 0 – блок работает в дискретном режиме;
– -1 – блок наследует тот же режим, что и принимающий блок.
Как указывается в Help, работа в непрерывном режиме может приводить к большим погрешностям генерации на больших промежутках модельного времени.
Рис.6. Окно настроек параметров блока Sine Wave
Работа в дискретном режиме заставляет блок вести себя так, как если бы к выходу непрерывного генератора был присоединен блок Zero-Order Hold(из раздела Discrete). Действительно, собрав две схемы (рис.7) и задав в обоих случаях значение параметра Sample time, равное 0.5 (окно настройки блока Zero-Order Hold показано на рис.8), получаем идентичные результаты (рис.9).
Рис.7. Вставка в схему генерации и отображения синусоидального сигнала
блокаZero-Order Hold
Рис.8. Окно настройки блока Zero-Order Hold
Рис.9. Идентичность результата работы схем показанных на рис. 7
Таким образом, блок Zero-Order Hold можно трактовать как «дискретизатор», т.е. часть аналого-цифрового преобразователя (АЦП), ответственную за дискретизацию сигнала. Иногда блок Zero-Order Hold именуют АЦП. По нашему мнению, это не корректно, поскольку дискретизированный сигнал в «подлинном» АЦП подвергается еще и квантованию по уровню. В блоке Zero-Order Hold, однако, квантование не производится.
Несколько замечаний о способах построения графиков. Помимо блока Scope, график можно построить и с помощью блока X-Y-Graf, на верхний вход X которого нужно подать последовательность моментов времени с помощью блока Clock (часы), а на нижний вход Y – значения генерируемого сигнала (рис.10).
Рис.10. Применение для построения графиков блока X-Y-Graf
В результате предварительно настроенный (в соответствующем окне настройки задаются граничные значения аргумента и функции, а также указывается значение параметра Sample time) графопостроитель выдаст показанный на рис.11 график, если для блока X-Y-Graf задано Sample time=-1(т.е. период дискретизации наследуется).
Рис.11. Отображение синусоиды блоком X-Y-Graf
График будет несколько иным (рис.12), если для блока X-Y-Graf задано Sample time=0.5.
Рис.12. Отображение синусоиды блоком X-Y-Graf, Sample time=0.5
Еще об одном способе построения графиков. Массивы отсчетов моментов времени и соответствующих значений сигнала можно с помощью блока To Workspace экспортировать из среды Simulink в среду MATLAB (рис.13).
Рис.13. Применение блока To Workspace
При этом, как показывает практика, лучше всего задать формат array для экспортируемых данных (рис.14).
Рис.14. Задание форматаarrayдля блока To Workspace
Дальнейшее построение графика в среде MATLAB с помощью команды plot(x,y) не представляет никакого труда (рис.15).
Рис.15. Построение графика данных, экспортированных
с помощью блока To Workspace
Подытожим полученные результаты.
Сигнал типа time-based при работе блока генерации в режиме непрерывного времени имеет вид гладкой функции времени, а в режиме дискретного времени – вид ступенчатого сигнала, такого, как если бы к выходу генератора плавного сигнала был подсоединен блок Zero-Order Hold, являющийся дискретизатором типа «отсчет-хранение».
Иными словами, задавая режим дискретного времени, мы уходим от необходимости в использовании блока Zero-Order Hold.
А теперь сгенерируем в Simulink отрезок дискретного гармонического сигнала с темы же параметрами, что были заданы в MATLAB: амплитуда 1, частота 100 Гц, частота дискретизации 1000 Гц, начальная фаза π/2, количество отсчетов 20.
Собираем снова схему из генератора и осциллоскопа. В окне-маске настройки генератора производим указание нужных числовых значений параметров, задаем тип time-based и присваиваем значение Sample time = 0.001 (рис.16).
Рис.16. Окно настройки генератора
После запуска модели получаем на экране осциллоскопа совсем не ту картину, которую ожидали (рис.17).
Рис.17. Результат осциллоскопа
Причина проста – нужно еще настроить параметры моделирования: задать начало и конец модельного времени (в нашем случае это 0 и 0.02 с, соответственно), а также выбрать алгоритм моделирования (тип «решателя»). На рис.18 показано окно настроек параметров моделирования, активизирующееся при выборе позиции меню Simulation/Simulation parameters. Зачастую эти параметры настраиваются автоматически, но для выделения отдельных частей функции знание их необходимо.
Рис.18. Окно настроек параметров моделирования
Кроме того, настроим параметры осциллоскопа, щелкнув по кнопке Parameters на окне Scope (рис.19 а,б).
Рис.19. Настройка параметров осциллоскопа:
а) настройка вкладки General; б) настройка вкладки Data history
После запуска модели на экране осциллоскопа появится изображение (рис.20).
Рис.20. Результат осциллоскопа после проведенных настроек
Поскольку параметры осциллоскопа были заданы так, чтобы в рабочее пространство выводился двумерный массив ScopeDataзначений аргумента и функции, с помощью команд
можно построить график сгенерированной функции средствами MATLAB (рис.21).
Рис.21. График сгенерированной функции средствами MATLAB
Сравнивая рис.21 и рис.2, замечаем лишь одно отличие – при моделировании в Simulink сгенерирована 21 точка, тогда как в MATLAB генерировалось 20 точек. Причина различия проста: на интервале модельного времени при частоте дискретизации Fs находится TFs+1 моментов времени, для которых будет сгенерирован сигнал. Очевидно, это обстоятельство легко учесть, добившись полного совпадения результатов моделирования в средах MATLAB и Simulink.
Zero order hold simulink что это
Implement a zero-order hold of one sample period
Simulink Discrete and Fixed-Point Blockset Delays & Holds
The Zero-Order Hold block samples and holds its input for the specified sample period. The block accepts one input and generates one output, both of which can be scalar or vector. If the input is a vector, all elements of the vector are held for the same sample period.
You specify the time between samples with the Sample time parameter. A setting of -1 means the Sample time is inherited.
This block provides a mechanism for discretizing one or more signals in time, or resampling the signal at a different rate. If your model contains multirate transitions, you must add Zero-Order Hold blocks between the fast-to-slow transitions. The sample rate of the Zero-Order Hold must be set to that of the slower block. For slow-to-fast transitions, use the Unit Delay block. For more information about multirate transitions, refer to the Simulink or the Real-Time Workshop documentation.
Data Type Support
The Zero-Order Hold block accepts real or complex signals of any data type except int64 and uint64 , including fixed-point data types.
Parameters and Dialog Box
Sample time Specify the time between samples. A value of -1 means the sample time is inherited. See Specifying Sample Time in the online documentation for more information.