Оцените и подтвердите простые, непрерывно-разовые передаточные функции от single-input/single-output (SISO) данные, чтобы найти тот, который лучше всего описывает системную динамику.
После завершения этого примера вы сможете выполнить следующие задачи с помощью приложения System Identification:
Импортируйте объекты данных из рабочей области MATLAB® в приложение.
Постройте и обработайте данные.
Оцените и подтвердите младший разряд, непрерывно-разовые модели от данных.
Экспортируйте модели в рабочее пространство MATLAB.
Моделируйте модель с помощью программного обеспечения Simulink®.
Этот пример использует данные временного интервала, чтобы продемонстрировать, как можно оценить линейные модели. Тот же рабочий процесс применяется к подходящим данным частотного диапазона.
Этот пример использует файл данных proc_data.mat
, который содержит 200 выборок моделируемого single-input/single-output (SISO) данные временного интервала. Вход является случайным двоичным сигналом, который колеблется между-1 и 1. Белый шум (соответствие воздействию загрузки) добавляется к входу со стандартным отклонением 0,2, который приводит к отношению сигнал-шум приблизительно 20 дБ. Эти данные моделируются с помощью системы второго порядка с underdamped режимами (комплексные полюса) и максимальная чувствительность на уровне 1 рад/с:
Шаг расчета симуляции составляет 1 секунду.
Непрерывно-разовые модели процессов являются передаточными функциями младшего разряда, которые описывают системную динамику с помощью статического усиления, задержка перед системой, вывод отвечает на вход и характеристические временные константы, сопоставленные с полюсами и нулями. Такие модели популярны в промышленности и часто используются для настройки ПИД-регуляторов, например. Параметры модели процесса имеют физическое значение.
Можно задать различные структуры модели процесса путем варьирования количества полюсов, добавления интегратора, или включая задержку или нуль. Самая высокая модель процесса приказывает, чтобы можно было задать в этом тулбоксе, три, и полюса могут быть действительными или комплексными (underdamped режимы).
В целом линейная система характеризуется передаточной функцией G, который является оператором, который берет вход u к выводу y:
Для непрерывно-разовой системы G связывает Преобразования Лапласа входа U (s) и вывод Y (s), можно следующим образом:
В этом примере вы оцениваете G использование различных структур модели процесса.
Например, следующая образцовая структура является первым порядком, непрерывно-разовой моделью, где K является статическим усилением, Tp1 является временной константой, и Td является задержкой входа к выводу:
Загрузите данные в proc_data.mat
путем ввода следующей команды в Окне Команды MATLAB:
load proc_data
Эта команда загружает данные в рабочее пространство MATLAB как объект данных z
. Для получения дополнительной информации об объектах iddata
, смотрите соответствующую страницу с описанием.
Чтобы открыть приложение System Identification, введите следующую команду в Окне Команды MATLAB:
systemIdentification
Имя сеанса по умолчанию, Untitled
, появляется в строке заголовка.
Можно импортировать объект данных в приложение от рабочего пространства MATLAB.
Вы, должно быть, уже загрузили выборочные данные в MATLAB, как описано в Загрузке Данных в рабочее пространство MATLAB, и открыли приложение, как описано в Открытии Приложения System Identification.
Если вы не выполнили эти шаги, щелкните здесь, чтобы завершить их.
Импортировать объект данных в приложение System Identification:
Выберите Import data> Data object.
Это действие открывает диалоговое окно Import Data.
В диалоговом окне Import Data задайте следующие опции:
Объект Введите z
как имя переменной MATLAB, которая является объектом данных временного интервала. Нажмите Enter.
Data name — Используйте имя по умолчанию z
, который совпадает с именем объекта данных, который вы импортируете. Это этикетки данные в приложении System Identification после операции импорта завершается.
Starting time — Введите 0
как время начала. Это значение определяет начальное значение оси времени на графиках временной зависимости.
'SampleTime' Введите 1
как время между последовательными выборками в секундах. Это значение представляет фактический шаг расчета в эксперименте.
Диалоговое окно Import Data теперь напоминает следующую фигуру.
Нажмите Import, чтобы добавить данные в приложение System Identification. Приложение добавляет значок, чтобы представлять данные.
Нажмите Close, чтобы закрыть диалоговое окно Import Data.
В этом фрагменте примера вы оцениваете данные и обрабатываете его для системы идентификации. Вы учитесь как:
Отобразите данные на графике.
Удалите смещения путем вычитания средних значений входа и вывода.
Разделите данные в две части. Вы используете одну часть данных для образцовой оценки и другую часть данных для проверки допустимости модели.
Причина вы вычитаете средние значения из каждого сигнала, состоит в том, потому что, обычно, вы создаете линейные модели, которые описывают ответы для отклонений от физического равновесия. С установившимися данными разумно принять, что средние уровни сигналов соответствуют такому равновесию. Таким образом можно искать модели вокруг нуля, не моделируя абсолютные уровни равновесия в физических единицах измерения.
Вы, должно быть, уже импортировали данные в приложение System Identification, как описано в Импорте Объектов данных в Приложение System Identification.
Если вы не выполнили этот шаг, щелкните здесь, чтобы завершить его.
Построить и обработать данные:
Установите флажок Time plot, чтобы открыть окно Time Plot.
Нижние оси показывают входные данные — случайная двоичная последовательность, и главные оси показывают выходные данные.
Следующие два шага демонстрируют, как изменить пределы по осям в графике.
Чтобы изменить вертикальные пределы по осям для входных данных, выберите Options> Set axes limits в окне рисунка Графика временной зависимости.
В диалоговом окне Limits for Time Plot, набор новый вертикальный предел по осям входных данных образовывают канал u1 к [-1.5 1.5]. Нажмите Apply и Close.
Другие два поля в диалоговом окне Limits for Time Plot, Time и y1, позволяют вам установить пределы по осям для оси времени и выходной оси канала, соответственно. Можно также задать каждую ось, чтобы быть логарифмическими или линейными путем выбора соответствующей опции.
Следующие данные показывают обновленный график временной зависимости.
В приложении System Identification выберите <--Preprocess> Quick start, чтобы выполнить следующие четыре действия:
Вычтите среднее значение из каждого канала.
Разделите данные в две части.
Задайте первую часть данных как данные об оценке (или Working Data).
Задайте вторую часть данных как Validation Data.
Узнать больше. Для получения информации о поддерживаемых операциях обработки данных, таких как передискретизация и фильтрация данных, видят, Предварительно обрабатывают Данные.
В этом фрагменте примера вы оцениваете модели с этой структурой:
Вы, должно быть, уже обработали данные для оценки, как описано в Графическом выводе и Обработке Данных.
Если вы не выполнили этот шаг, щелкните здесь, чтобы завершить его.
Идентифицировать передаточную функцию второго порядка:
В приложении System Identification выберите Estimate> Process models, чтобы открыть диалоговое окно Process Models.
В области Model Transfer Function диалогового окна Process Models задайте следующие опции:
Под Poles выберите 2
и Underdamped
.
Этот выбор обновляет Образцовую Передаточную функцию к образцовой структуре второго порядка, которая может содержать комплексные полюса.
Убедитесь, что флажки Zero и Integrator снимаются, чтобы исключить нуль и интегратор (автономный) из модели.
Область Parameter диалогового окна Process Models теперь показывает четыре активных параметра: K
, Tw
, Zeta
и Td
. В области Initial Guess сохраните опцию Auto-selected
по умолчанию, чтобы вычислить начальные значения параметров во время оценки. Столбец Initial Guess в Таблице параметров отображает Auto
.
Сохраните значения Bounds по умолчанию, которые задают минимальные и максимальные значения каждого параметра.
Если вы знаете область значений возможных значений для параметра, можно ввести эти значения в соответствующие поля Bounds, чтобы помочь алгоритму оценки. Нажмите клавишу Enter после того, как вы зададите значения.
Сохраните настройки по умолчанию для алгоритма оценки:
Disturbance Model — None
означает, что алгоритм не оценивает шумовую модель. Эта опция также устанавливает Focus на Simulation
.
Focus — Simulation
означает, что алгоритм оценки не использует шумовую модель, чтобы взвесить относительную важность того, как тесно приспособить данные в различных частотных диапазонах. Вместо этого алгоритм использует входной спектр в конкретном частотном диапазоне, чтобы взвесить относительную важность подгонки в том частотном диапазоне.
Установка Simulation
оптимизирована для идентификации моделей, которые вы планируете использовать для выходной симуляции. Если вы планируете использовать свою модель для выходного прогноза, или приложения управления, или улучшить оценки параметра с помощью шумовой модели, выбирают Prediction
.
Initial condition — Auto
означает, что алгоритм анализирует данные и выбирает оптимальный метод для обработки начального состояния системы. Если вы получаете плохие результаты, вы можете попытаться установить определенный метод для обработки начальных состояний, вместо того, чтобы выбрать ее автоматически.
Ковариация Estimate
означает, что алгоритм вычисляет неуверенность параметра, которая отображается как образцовые области уверенности на графиках.
Приложение присваивает имя к модели, показанной в поле Name (расположенный в нижней части диалогового окна). По умолчанию имя является акронимом P2DU
, который указывает на два полюса (P2
), задержка (D
) и underdamped режимы (U
).
Нажмите Estimate, чтобы добавить модель P2DU
в приложение System Identification.
Если вы знаете значение параметров точно, можно ввести это значение в столбце Value диалогового окна Process Models. Установите соответствующий флажок Known после того, как вы зададите значение.
Если вы знаете приближенное значение параметра, можно помочь алгоритму оценки путем ввода начального значения в столбец Initial Guess. В этом случае сохраните флажок Known очищенным, чтобы позволить оценке подстраивать это исходное предположение.
Например, чтобы зафиксировать значение с временной задержкой Td
в 2
s, введите это значение в поле Value Таблицы параметров в диалоговом окне Process Models. Затем установите соответствующий флажок Known.
Можно анализировать следующие графики оценить качество модели:
Сравнение образцового вывода и измеренного вывода на графике временной зависимости
Автокорреляция выходных невязок и взаимная корреляция входа и выходных невязок
Вы, должно быть, уже оценили модель, как описано в Оценке Передаточной функции Второго порядка Используя Настройки по умолчанию.
Если вы не выполнили этот шаг, щелкните здесь, чтобы завершить его.
Исследование Образцового Вывода. Можно использовать выведенный моделью график проверять, как хорошо модель выводила соответствия измеренный вывод в наборе данных валидации. Хорошая модель является самой простой моделью, которая лучше всего описывает динамику и успешно моделирует или предсказывает вывод для различных входных параметров.
Чтобы сгенерировать выведенный моделью график, установите флажок Model output в приложении System Identification. Если график пуст, кликните по образцовому значку в окне приложения System Identification, чтобы отобразить модель на графике.
Программное обеспечение System Identification Toolbox™ использует данные о контроле ввода в качестве входа к модели и строит моделируемый вывод сверху выходных данных о валидации. Предыдущий график показывает, что образцовый вывод соглашается хорошо с выводом данных валидации.
Область Best Fits Образцового Выходного графика показывает соглашение (в проценте) между образцовым выводом и выводом данных валидации.
Вспомните, что данные моделировались с помощью следующей системы второго порядка с underdamped режимами (комплексные полюса), как описано в Описании Данных, и имеют максимальную чувствительность на уровне 1 рад/с:
Поскольку данные включают шум во вход во время симуляции, предполагаемая модель не может точно воспроизвести модель, используемую, чтобы моделировать данные.
Исследование Образцовых Невязок. Можно подтвердить модель путем проверки поведения ее невязок.
Чтобы сгенерировать Остаточный График для анализа, установите флажок Model resids в приложении System Identification.
Главные оси показывают автокорреляцию невязок для вывода (тест белизны). Горизонтальный масштаб является количеством задержек, которое является разницей во времени (в выборках) между сигналами, в которых оценивается корреляция. Любые колебания в доверительном интервале считаются незначительными. Хорошая модель должна иметь остаточную автокорреляционную функцию в доверительном интервале, указывая, что невязки являются некоррелироваными. Однако в этом примере, невязки, кажется, коррелируются, который является естественным, потому что шумовая модель используется, чтобы сделать невязки белыми.
Нижние оси показывают взаимную корреляцию невязок с входом. Хорошая модель должна иметь невязки, некоррелированые с прошлыми входными параметрами (тест независимости). Доказательство корреляции указывает, что модель не описывает, как фрагмент вывода относится к соответствующему входу. Например, когда существует пик вне доверительного интервала для задержки k, это означает, что вклад в вывод y (t), который происходит из входа u (t-k), правильно не описан моделью. В этом примере нет никакой корреляции между невязками и входными параметрами.
Таким образом остаточный анализ указывает, что эта модель хороша, но что может быть потребность в шумовой модели.
В этом фрагменте примера вы оцениваете передаточную функцию второго порядка и включаете шумовую модель. Включением шумовой модели вы оптимизируете результаты оценки для приложения прогноза.
Вы, должно быть, уже оценили модель, как описано в Оценке Передаточной функции Второго порядка Используя Настройки по умолчанию.
Если вы не выполнили этот шаг, щелкните здесь, чтобы завершить его.
Оценить передаточную функцию второго порядка с шумом:
Если диалоговое окно Process Models не открыто, выберите Estimate> Process Models в приложении System Identification. Это действие открывает диалоговое окно Process Models.
В области Model Transfer Function задайте следующие опции:
Под Poles выберите 2
и Underdamped
. Этот выбор обновляет Образцовую Передаточную функцию к образцовой структуре второго порядка, которая может содержать комплексные полюса. Убедитесь, что флажки Zero и Integrator снимаются, чтобы исключить нуль и интегратор (автономный) из модели.
Disturbance Model — Установите на Order 1
, чтобы оценить шумовую модель H как непрерывно-разовую, модель ARMA первого порядка:
где и D полиномы первого порядка, и e является белым шумом.
Это действие задает Focus как Prediction
, который улучшает точность в частотном диапазоне, где уровень шума является низким. Например, если существует больше шума в высоких частотах, алгоритм присваивает меньше важности для точного подбора кривой высокочастотным фрагментам данных.
Имя Отредактируйте имя модели к P2DUe1
, чтобы сгенерировать модель с уникальным именем в приложении System Identification.
Нажмите Estimate.
В диалоговом окне Process Models, набор Disturbance Model к Order 2
, чтобы оценить шумовую модель второго порядка.
Отредактируйте поле Name к P2DUe2
, чтобы сгенерировать модель с уникальным именем в приложении System Identification.
Нажмите Estimate.
В этом фрагменте примера вы оцениваете производительность модели с помощью Образцового Вывода и Остаточных Графиков для анализа.
Вы, должно быть, уже оценили модели, как описано в Оценке Передаточной функции Второго порядка Используя Настройки по умолчанию и Оценку Модели процесса Второго порядка с Комплексными полюсами.
Если вы не выполнили эти шаги, щелкните здесь, чтобы завершить их.
Сравнение Образцовых Выходных Графиков. Чтобы сгенерировать Образцовый Выходной график, установите флажок Model output в приложении System Identification. Если график пуст, или образцовый вывод не появляется на графике, кликает по образцовым значкам в окне приложения System Identification, чтобы отобразить эти модели на графике.
Следующий Образцовый Выходной график показывает моделируемый образцовый вывод по умолчанию. Моделируемый ответ моделей является приблизительно тем же самым для моделей с и без шума. Таким образом, включая шумовую модель не влияет на моделируемый вывод.
Чтобы просмотреть предсказанный образцовый вывод, выберите Options> 5 step ahead predicted output в Образцовом Выходном окне графика.
Следующий Образцовый Выходной график показывает, что предсказанный образцовый вывод P2DUe2
(с шумовой моделью второго порядка) лучше, чем предсказанный вывод других двух моделей (без шума и с шумовой моделью первого порядка, соответственно).
Сравнение Остаточных Графиков для анализа. Чтобы сгенерировать Остаточный График для анализа, установите флажок Model resids в приложении System Identification. Если график пуст, кликните по образцовым значкам в окне приложения System Identification, чтобы отобразить эти модели на графике.
P2DUe2
падает хорошо в доверительных границах на Остаточном Графике для анализа.
Чтобы просмотреть невязки для P2DUe2
только, удалите модели P2DU
и P2DUe1
из Остаточного Графика для анализа путем нажатия на соответствующие значки в приложении System Identification.
Остаточные обновления Графика для анализа, как показано в следующей фигуре.
Тест белизны для P2DUe2
показывает, что невязки являются некоррелироваными, и тест независимости не показывает корреляции между невязками и входными параметрами. Эти тесты указывают, что P2DUe2
является хорошей моделью.
Можно просмотреть числовые значения параметров и другую информацию о модели P2DUe2
путем щелчка правой кнопкой по образцовому значку по приложению System Identification. Диалоговое окно Data/model Info открывается.
Недоступная для редактирования область диалогового окна перечисляет коэффициенты модели, которые соответствуют следующей образцовой структуре:
Коэффициенты соглашаются с моделью, используемой, чтобы моделировать данные:
Чтобы просмотреть неуверенность параметра для системной передаточной функции, нажмите Present в диалоговом окне Data/model Info и просмотрите информацию в Окне Команды MATLAB.
Kp = 0.99821 +/- 0.019982 Tw = 0.99987 +/- 0.0037697 Zeta = 0.10828 +/- 0.0042304 Td = 2.004 +/- 0.0029717
Неуверенность с 1 стандартным отклонением для каждого параметра модели следует за символом +/-
.
P2DUe2
также включает аддитивный шумовой термин, где H является моделью ARMA второго порядка, и e является белым шумом:
Программное обеспечение отображает шумовую модель H как отношение двух полиномов, C(s)/D(s)
, где:
C(s) = s^2 + 2.186 (+/- 0.08467) s + 1.089 (+/- 0.07951) D(s) = s^2 + 0.2561 (+/- 0.09044) s + 0.5969 (+/- 0.3046)
Неуверенность с 1 стандартным отклонением для параметров модели находится в круглых скобках рядом с каждым значением параметров.
Можно выполнить последующий анализ на предполагаемых моделях от рабочего пространства MATLAB. Например, если модель является объектом, который требует контроллера, можно импортировать модель из рабочего пространства MATLAB в продукт Control System Toolbox™. Кроме того, чтобы моделировать вашу модель в программном обеспечении Simulink (возможно, как часть большей динамической системы), можно импортировать эту модель как блок Simulink.
Модели, которые вы создаете в приложении System Identification, не автоматически доступны в рабочем пространстве MATLAB. Чтобы сделать модель доступной для других тулбоксов, Simulink и команд System Identification Toolbox, необходимо экспортировать модель от приложения System Identification до рабочего пространства MATLAB.
Чтобы экспортировать модель P2DUe2
, перетащите образцовый значок к прямоугольнику To Workspace в приложении System Identification. Также нажмите Export в диалоговом окне Data/model Info. Модель теперь появляется в браузере рабочего пространства MATLAB.
Эта модель является объектом модели idproc
.
В этом примере вы создаете простую модель Simulink, которая использует блоки от библиотеки System Identification Toolbox, чтобы принести данным z
и модель P2DUe2
into Simulink.
Чтобы выполнить шаги в этом примере, Simulink должен быть установлен на вашем компьютере.
Кроме того, вы, должно быть, уже выполнили следующие шаги:
Загрузите набор данных, как описано в Загрузке Данных в рабочее пространство MATLAB.
Оцените модель процесса второго порядка, как описано в Оценке Модели процесса Второго порядка с Комплексными полюсами.
Экспортируйте модель в рабочее пространство MATLAB, как описано в Экспорте Модели к рабочему пространству MATLAB.
Если вы не выполнили эти шаги, щелкните здесь, чтобы завершить их. Затем перетащите z
и значки P2DUe2
к прямоугольнику To Workspace в приложении System Identification. Также нажмите Export в диалоговом окне Data/model Info. Данные и модель теперь появляются в браузере рабочего пространства MATLAB.
Используйте входной канал набора данных z
, как введено для симуляции модели, выведенной путем ввода следующего в Окне Команды MATLAB:
z_input = z; % Creates a new iddata object. z_input.y = []; % Sets the output channel % to empty.
Также можно задать любой входной сигнал.
Узнать больше. Для получения дополнительной информации о представлении сигналов данных для системы идентификации, смотрите Данные о Представлении в рабочем пространстве MATLAB.
Добавить блоки в модель Simulink:
На вкладке MATLAB Home нажмите Simulink.
В начальной странице Simulink нажмите Blank Model. Затем нажмите Create Model, чтобы открыть новое окно модели.
В окне модели Simulink щелкните, чтобы открыть Браузер Библиотеки. В Браузере Библиотеки выберите библиотеку System Identification Toolbox. Правая сторона отображений окна блокируется характерный для продукта System Identification Toolbox.
Также, чтобы получить доступ к библиотеке блоков System Identification, введите slident
в Окне Команды MATLAB.
Перетащите следующие блоки System Identification Toolbox к новому окну модели:
Блок IDDATA Sink
Исходный блок IDDATA
Блок модели IDMODEL
В Браузере Библиотеки Simulink выберите библиотеку Simulink> Sinks и перетащите блок Scope к новому окну модели.
В окне модели Simulink соединитесь, блоки к напоминает следующую фигуру.
Затем, вы конфигурируете эти блоки, чтобы получить данные из рабочего пространства MATLAB и установить интервал времени симуляции и длительность.
Эта процедура проводит вас по следующим задачам сконфигурировать блоки модели:
Получение данных из рабочего пространства MATLAB.
Установка интервала времени симуляции и длительности.
В Редакторе Simulink выберите Simulation> Model Configuration Parameters.
В диалоговом окне Configuration Parameters, в подпанели Solver, в поле Stop time, 200
типа. Нажмите OK.
Это наборы значений длительность симуляции к 200 секундам.
Дважды кликните Исходный блок Iddata, чтобы открыть Параметры Исходного блока: диалоговое окно Iddata Source. Затем введите следующее имя переменной в поле IDDATA object:
z_input
Эта переменная является объектом данных в рабочем пространстве MATLAB, которое содержит входные данные.
Как ярлык, можно перетащить мышью имя переменной от браузера рабочего пространства MATLAB до поля IDDATA object.
Нажмите OK.
Дважды кликните блок Idmodel, чтобы открыть Параметры Функционального блока: диалоговое окно Idmodel.
Введите следующее имя переменной в поле Model variable:
P2DUe2
Эта переменная представляет имя модели в рабочем пространстве MATLAB.
Снимите флажок Add noise, чтобы исключить шум из симуляции. Нажмите OK.
Когда Add noise выбран, Simulink выводит шумовую амплитуду из свойства NoiseVariance
модели и добавляет шум в модель соответственно. Симуляция распространяет этот шум согласно шумовой модели H, которая была оценена с системной динамикой:
Нажмите OK.
Дважды кликните блок Iddata Sink, чтобы открыть Параметры блоков Приемника: диалоговое окно Iddata Sink. Введите следующее имя переменной в поле IDDATA Name:
z_sim_out
Введите 1
в поле Sample Time (sec.), чтобы установить шаг расчета выходных данных совпадать с шагом расчета входных данных.
Нажмите OK.
Получившееся изменение в модели Simulink показывают в следующей фигуре.
В Редакторе Simulink выберите Simulation> Run.
Дважды кликните блок Scope, чтобы отобразить график временной зависимости образцового вывода.
В браузере рабочего пространства MATLAB заметьте переменную z_sim_out
, которая хранит образцовый вывод как объект iddata
. Вы задали это имя переменной, когда вы сконфигурировали блок Iddata Sink.
Эта переменная хранит моделируемый вывод модели, и это теперь доступно для последующей обработки и исследования.