5лр для студ. Лабораторная работа 5. Параметрическая идентификация линейных динамических объектов
Скачать 282.38 Kb.
|
5 Лабораторная работа №5. Параметрическая идентификация линейных динамических объектов Цель работы: освоение метода параметрической идентификации линейных объектов управления и процедуры минимизации функционала невязки. 5.1 Задание к лабораторной работе В процессе выполнения лабораторной работы студент должен: − ознакомиться с методами параметрической идентификации линейных динамических объектов [1, 2]; − изучить процедуру минимизации среднеквадратичного критерия [1, Ошибка! Закладка не определена., Ошибка! Закладка не определена.]; − провести эксперименты на «объекте»: на вход объекта подать заданный входной сигнал, зарегистрировать числовые значения выходного сигнала; − используя пакет подгонки кривых Curve Fitting Toolbox, выполнить аппроксимацию выходного сигнала выбранными уравнениями; − определить структуру линейной динамической модели объекта; − записать вид функционала невязки для модели выбранной структуры; − используя результаты экспериментов, решить задачу минимизации этого функционала; определить параметры модели; − оценить точность построенной модели. 5.2 Параметрическая идентификация динамических объектов В параметрическом случае модель определяется набором параметров, которые необходимо оценить в процессе идентификации. Задачу параметрической идентификации можно сформулировать так: на основе экспериментальных данных указать значения вектора параметров, при которых модель наилучшим образом (или достаточно точно) в определенном смысле аппроксимирует оператор объекта. Построение модели начинается с выбора структуры модели, определяющей взаимосвязь наблюдаемых данных через совокупность параметров. После этого формируются входные воздействия и подаются на объект, и измеряются отклики на эти воздействия (выходные сигналы). Затем входные и выходные сигналы и выбранная структура используются для оценки значений параметров в соответствии с принятым критерием качества. В 3 и 4 лабораторных работах тоже определялись параметры передаточной функции. В этих методах для проведения процедуры идентификации использовались входные сигналы специального вида (ступенчатый и гармонический). В рассматриваемом методе используется процедура минимизации критерия качества, который называется функционалом невязки (функционалом несоответствия). В качестве критерия часто используется среднеквадратичный критерий, в соответствии с которым ищутся такие оценки параметров, которые обеспечивают минимальный средний квадрат разности выходных сигналов модели и объекта при одном и том же входном воздействии. В одномерном случае связь между входной величиной x = x(t) и выходом y = y(t) представляет собой обыкновенное дифференциальное уравнение: , x b (i) y a l j j j p i i = = = 0 ) ( 0 (5.1) вместе с начальными условиями для dt y d i ) 0 ( , i = 0,1,…, n-1. В развернутом виде (5.1) записывается следующим образом: Модель определяется (p+l+1) параметрами, которые запишем в виде вектора c = (a 0 ,…,a p-1 ,b 0 ,…,b l ). Исходной информацией для построения процедуры идентификации является вид идентифицируемой модели (5.1) и наблюдения } , { э э y x на промежутке ]. , 0 [ T (5.2) Функционал невязки строится в виде среднего квадрата разности правой и левой части уравнения (5.1) при подстановке туда функций x э (t), y э (t) – наблюдений объекта и их производных: = = − = T o l j j э j p i i э i dt y b y a [ Q(c) 0 2 ) ( 0 ) ( ] (5.3) В лабораторной работе входные сигналы заданы в виде некоторых функций от времени. Значения выходных сигналов в ходе эксперимента получаются в виде массива данных. В связи с этим вначале надо аппроксимировать выходной сигнал полиномом определенной степени. Аппроксимация функции выполняется с помощью пакета подгонки кривых Curve Fitting Toolbox (п.5.3). После определения аналитического выражения для выходного сигнала решается задача определения минимума функционала невязки: = = → − = T o l j j э j p i i э i dt y b y a [ Q(c) 0 2 ) ( 0 ) ( min ] p l a p = , 1 ) ( ) ( 1 ) ( ) ( ) ( 1 ) ( 0 1 0 1 t x b t ) (l x b t (l) x b t y a t ) (p y a t (p) y a l l p p + + − + = = + + − + − − Искомыми значениями параметров модели будут те, при которых достигается минимум функционала невязки: Задача минимизации решается обычными методами поиска минимума– приравниванием нулю производных функционала (5.3) по всем неизвестным параметрам. В результате получим систему линейных уравнений, решение которой является решением задачи минимизации. Полученную систему можно решить стандартными вычислительными методами. 5.3 Пакет подгонки кривых Curve Fitting Toolbox Работу с пакетом надо начинать с загрузки данных. Данные могут быть сформированы в командном окне системы в соответствующих векторах. Основное окно пакета Curve Fitting Tool открывается командой cftool (в командном окне MatLab). Вначале оно имеет пустое окно графики и 4 кнопки над ним: Data...загрузка данных; Fitting... выполнение подгонки; Plotting...графическая визуализация подгонки; Analysis...анализ результатов подгонки. Импорт данных. Обычно работа с окном Curve Fitting Tool начинается с уточнения типа загружаемых данных, для чего необходимо активизировать кнопку Data.... Это ведет к появлению окна импорта данных Data. В этом окне с помощью соответствующих вкладок можно установить тип множеств данных, просмотреть их, скорректировать и сгладить. Нажатие кнопки Apply и закрытие окна приводит к загрузке скорректированных данных в основное окно Curve Fitting Tool. В результате точки данных появляются в поле графики этого окна. Выполнение подгонки заданного типа. Выбор кнопок Fitting/NewFit позволяет начать процедуру подгонки. Открывающийся список Type of fit позволяет установить любой из следующих типов подгонки (регрессии): 1) Custom equations — функция регрессии, задаваемая пользователем. 2) Exponential — экспоненциальная репрессия. 3) Fourier — приближение рядом Фурье. 4) Gaussian — приближение кривой гауссиана. 5) Interpolant — интерполяция с выбором метода. 6) Polynomial — полиномиальная регрессия. 7) Power — степенная регрессия. 8) Rational — регрессия рациональной функцией с выбором ее числителя изнаменателя. 9) Smoothing Spline — регрессия сглаживающими сплайнами; 10) Sum of SinFunc — регрессия суммой синусоидальных функций; 11) Weibull — регрессия кривой Вейбулла. Также есть возможность задания пользователем функции регрессии любого вида, разумеется, на основе встроенных функций MatLab. Если нажать кнопку Fit Options... окна подгонки Fitting, можно задать ряда опций подгонки. В окне опций подгонки возможна установка различных алгоритмов подгонки, пределов изменения производных, максимального значения функции и начальных значений параметров регрессии. Все эти величины существенно влияют на сходимость и скорость подгонки. Графическая визуализация регрессии. Кнопка Plotting... окна Curve Fitting Tool открывает окно установок графики. Анализ результатов регрессии. Важным этапом приближения является анализ результатов. Он проводится при активизации кнопки Analysis... окна Curve Fitting Tool. При этом открывается окно анализа Analysis. В левой части окна имеется ряд опций анализа: выполнения вычислений, вывода графиков производных и интеграла для функции регрессии и др. Нужные опции задаются установкой знака птички у их названия. После этого нажатие кнопки Apply формирует таблицу результатов анализа сверху окна и выводит окно с графическим представлением результатов анализа. Основным критерием выбора кривой регрессии является минимум погрешности Residuals в заданном диапазоне изменения аргумента, отсутствие резких выбросов кривой погрешности на краях этого диапазона или в отдельных его областях и т. д. Нередко важным является соответствие кривой регрессии возможному закону расположения точек исходных данных. Рекомендуется опробовать несколько кривых регрессии для заданного набора точек. 5.4 Порядок выполнения лабораторной работы 5.4.1 Реализуйте «измерительный стенд» для проведения процедуры идентификации: − загрузите в Simulink «объект» из папки Objects5 (по варианту); − соберите диаграмму для входного сигнала (по варианту) и подайте его на вход объекта; − значения выходного сигнала передайте в рабочую область программы; для этого выведите сигнал в блок To Workspace, в котором задайте имя соответствующей переменной. В настройке блоке To Workspace необходимо выбрать опцию Array – в этом случае получаем массив числовых значений сигнала. Для проведения процедуры идентификаии параметрическим методом, необходимо иметь аналитические выражения для входного и выходного сигнала. Так как выходной сигнал получен в виде массива данных, необходимо его аппроксимировать. Задача аппроксимации решается с помощь пакета Curve Fitting Tool. 5.4.2 Чтобы загрузить пакет Curve Fitting Tool, наберите в командной строке cfrool. Перенесите массив значений выходного сигнала в окно пакета; по виду расположения точек графика сигнала, выберите структуру аппроксимирующего полинома. Выполните аппроксимацию полученных значений выходного сигнала различными функциями: полиномами различных порядков или некоторыми выбранными уравнениями. Для задания своего уравнения регрессии в списке видов регрессии надо выбрать позицию Custom equations. Это приводит к появлению окна задания регрессии Create Custom Equations. Это окно имеет две вкладки. На первой вкладке Linear Equations можно задать параметры уравнения, линейного отно- сительно коэффициентов регрессии. Заметим, что сама зависимость при этом может быть нелинейной. На другой вкладке General Equations можно установить произвольное нелинейное уравнение регрессии, т. е. осуществить нелинейную регрессию. 5.4.3 Выберите функцию, которая наилучшим образом аппроксимирует выходной сигнал. Запишите выражение для этой функции (с рассчитанными коэффициентами). 5.4.4 По заданным структурным параметрам (по варианту) запишите уравнение модели. 5.4.5 Запишите вид функционала невязки: вместо функции входа и ее производных подставьте выражения для входного сигнала и его производных; вместо функции выхода и ее производных подставьте полученное в результате аппроксимации выражение и его соответствующие производные. 5.4.6 Приравнивая нулю производные функционала невязки по всем неизвестным параметрам модели, запишите систему линейных алгебраических уравнений (система для определения параметров этой модели). Коэффициенты самой системы алгебраических уравнений будут записаны в виде различных определенных интегралов. Для вычисления значений интегралов следует использовать возможности командного окна системы Matlab. 5.4.7 Вначале рассчитайте коэффициенты полученной системы (значения интегралов) и преобразуйте ее к стандартному виду системы линейных алгебраических уравнений 𝐴𝑥̅ = 𝑏̅, где А - матрица системы, 𝑏̅ − вектор коэффициентов правой части, 𝑥̅ – вектор неизвестных (значения параметров модели); 5.4.8 Решите эту систему с помощью процедуры пакета Matlab (в командном окне) Для системы стандартного вида: 𝐴𝑥̅ = 𝑏̅ решение находится следующим образом: 𝑥̅ = 𝑖𝑛𝑣(𝐴) ∙ 𝑏̅. Предварительно массивы А (матрица) и 𝑏̅ (вектор-столбец) надо ввести в командное окно пакета, а также проверить условие существования решения 0 ) det( A 5.4.8 Используя полученные значения параметров, запишите искомое уравнение динамической модели в виде дифференциального уравнения. Получите модель в виде передаточной функции. 5.4.9 К диаграмме, реализованной в п.5.4.1, добавьте блок с моделью; на его вход подайте тот же входной сигнал, что и на «объект»; выходы «объекта» и модели отразите в одном смотровом окне (модель формируется с помощью блока Transfer Function). 5.4.10 Сравните результаты. Сделайте выводы по работе. 5.5 Требования к отчету Отчет по лабораторной работе должен содержать: − цель и задание к лабораторной работе; − блок-диаграмму «измерительного стенда»; − листинг рабочего пространстве системы Matlab с результатами экспериментов на объекте; − последовательность выполнения процедуры аппроксимации выходного сигнала; выражение для выбранного аппроксимирующего полинома (с рассчитанными коэффициентами); − вид функционала невязки для определения параметров модели; − условие минимизации этого функционала; − систему линейных алгебраических уравнений для определения параметров модели; расчет коэффициентов этой системы алгебраических уравнений; − решение системы линейных алгебраических уравнений для определения параметров модели; − полученное уравнение модели в виде дифференциального уравнения и в виде передаточной функции; − блок-диаграмму, содержащую блоки объекта и модели графики переходных процессов объекта и модели в одном смотровом окне; − выводы по работе. 5.6 Варианты заданий 5.6.1 Варианты «объектов» выбираются из папки Objects5 пакета Simulink. 5.6.2 Структурные параметры модели и входные сигналы выбираются из таблицы 5.1. Таблица 5.1 – Варианты параметров № Выражение для входного сигнала Структурные параметры модели № Выражение для входного сигнала Структурные параметры модели 1 x(t) = t+1 p=1, l=0 16 x(t) = t+3 p=1, l=0 2 x(t) = 3t+2 p=2, l=1 17 x(t) = 5t+2 p=2, l=1 3 x(t) = t 2 +t+1 p=3, l=1 18 x(t) = t 2 +2t+1 p=3, l=1 4 x(t) = t-7 p=2 ,l=1 19 x(t) = t-5 p=2 ,l=1 ,m n/ ‘;lk jh x(t) = 2t 2 -6 p=3, l=2 20 x(t) = 3t 2 -6 p=3, l=2 6 x(t) =t p=2, l=1 21 x(t) =2t p=2, l=1 7 x(t) =2t+4 p=1, l=0 22 x(t) =3t+4 p=1, l=0 8 x(t) = t 2 -t+5 p=3, l=1 23 x(t) = t 2 -4t+5 p=3, l=1 9 x(t) =4t+3 p=2 ,l=1 24 x(t) =3t+3 p=2 ,l=1 10 x(t) = t 2 +2 p=3, l=2 25 x(t) = t 2 +5 p=3, l=2 11 x(t) =t+4 p=1, l=0 26 x(t) =t 2 +4t+5 p=2, l=1 12 x(t) =4t 2 +5 p=2, l=1 27 x(t) = 3t+7 p=1, l=0 13 x(t) = t 2 +3t+2 p=3, l=1 28 x(t) = 3t 2 -9 p=3, l=1 14 x(t) =2t 2 p=2 ,l=1 29 x(t) = t+7 p=2 ,l=1 15 x(t) = 4t 2 +1 p=3, l=2 30 x(t) =t 2 +4 p=3, l=2 5.7 Контрольные вопросы 5.7.1 Что такое параметрическая идентификация? 5.7.2 Что задают структурные параметры модели? 5.7.3 Как можно получить в рабочем окне пакета Matlab значения выходного сигнала, сформированного в Simulink? 5.7.7 Что такое оценка параметра? Какой критерий используется для оценивания параметров модели? 5.7.5 Дайте определение аппроксимации функций. 5.7.6 Какой критерий используется для аппроксимации функций? 5.7.7 Какой пакет использовался для аппроксимации функций? 5.7.8 Что такое функционал невязки? 5.7.9 Как решается задача минимизации функционала невязки? 1.1.10 С чем связано различие между выходами объекта и модели? |