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, блок принимает, что начальные условия являются нулем.

Если вы хотите воспроизвести результаты симуляции, что вы входите в Выходное окно графика Модели в приложении System Identification, или от compare команда:

  1. Если идентифицированная модель m не пространство состояний или модель серого ящика, преобразуйте модель в форму пространства состояний (idss модель), и задают модель в пространстве состояний 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. Для получения информации об использовании seed смотрите rng.

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

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

Зависимость

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

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

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

Введенный в R2008a