Idmodel

Симулируйте идентифицированную линейную модель в программном обеспечении Simulink

  • Библиотека:
  • System Identification Toolbox/Модели

  • Idmodel block

Описание

Блок Idmodel моделирует выход идентифицированной линейной модели с помощью входных данных во временной области. Модель является пространством состояний (idss), линейный серый ящик (idgrey), полином (idpoly), передаточная функция (idtf), или процесс (idproc) модель, которую вы ранее оценили или создали. Для симуляции моделей пространства состояний и линейных серых ящиков можно задать начальные значения состояний. Для других линейных моделей начальные условия устанавливаются в нуль. Можно также добавить шум к моделируемому выходу.

Порты

Вход

расширить все

Входные данные симуляции, заданные как скаляр для модели с одним входом. Данные должны быть данными во временной области. Для мультивходов задайте вход как Nu-вектор, где Nu - количество входов. Для примера можно использовать блок Vector Concatenate (Simulink), чтобы объединить скаляр сигналы в вектор сигнал.

Примечание

Не используйте Bus Creator (Simulink) или Mux (Simulink) блок, чтобы получить векторный сигнал.

Типы данных: double

Выход

расширить все

Симулированный выход из линейной модели, возвращенный как скаляр для модели с одним выходом и вектор с Ny-элементом для модели с Ny выходами.

Типы данных: double

Параметры

расширить все

Линейная модель, которая будет моделироваться, задается как idss, idgrey, idpoly, idtf, или idproc объект. Модель может быть непрерывной или дискретной, с задержками ввода-вывода или без. Вы ранее оценили или создали линейную модель в MATLAB® рабочей области.

Начальные значения состояния пространства состояний (idss) и линейный серый ящик (idgrey) модели, заданные как Nx элемент, где Nx - количество состояний модели. Чтобы оценить начальные состояния, которые обеспечивают лучшую подгонку между измеренными данными и моделируемой характеристикой модели для того же входа, используйте findstates команда.

Для примера вычислить начальные состояния таким образом, чтобы реакция модели M соответствует моделируемым выходным данным в наборе данных z, задайте X0, таким образом:

X0 = findstates(M,z)

Для линейных моделей, кроме idss или idgreyблок принимает, что начальные условия равны нулю.

Если вы хотите воспроизвести результаты моделирования, которые вы получаете в окне plot Model Output в приложении System Identification или из compare команда:

  1. Если идентифицированная модель m не является моделью пространства состояний или серым ящиком, преобразуйте модель в форму пространства состояний (idss model) и задайте модель пространства состояний mss в блоке.

    mss = idss(m); 
    
  2. Вычислите начальные значения состояния, которые приводят к лучшей подгонке между выходным сигналом модели и измеренным выходным сигналом, используя findstates. Задайте горизонт предсказания следующим Inf, то есть минимизируйте ошибку симуляции.

    X0 = findstates(mss,z,Inf);
  3. Используйте модель mss и начальные состояния X0 в блоке Idmodel для выполнения симуляции. Задайте тот же входной сигнал z для симуляции, которую вы использовали в качестве данных валидации в приложении или compare.

Когда вы выбираете этот параметр, блок выводит амплитуду шума из свойства линейной модели model.NoiseVariance. Программное обеспечение фильтрует случайный Гауссов белый шум с передаточной функцией шума модели и добавляет полученный шум к моделируемой реакции модели. Если вы хотите добавить тот же шум каждый раз, когда вы запускаете Simulink® модель, задайте Noise seed(s) свойство.

Для моделей в непрерывном времени идеальное отклонение члена шума бесконечно. В действительности, вы видите ограниченный по полосе шум, который учитывает временные константы системы. Можно интерпретировать полученный моделируемый выход как отфильтрованный с помощью lowpass с полосой пропускания, которая не искажает динамику от входа.

Свойство Noise seed(s) затравляет генератор случайных чисел таким образом, что блок добавляет тот же шум к моделируемому выходу каждый раз, когда вы запускаете модель Simulink. Для получения информации об использовании семян смотрите rng.

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

Для случайных перезапусков, которые варьируются от одной симуляции к другой, задайте Noise seed(s) как [].

Зависимость

Чтобы включить этот параметр, выберите Add noise.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2008a