Башлий Серж .

8 ИДЕНТИФИКАЦИЯ МОДЕЛИ САУ (часть 3)

8.4.2 Полный факторный эксперимент

Первый этап планирования эксперимента для получения линейной модели основан на варьировании факторов на двух уровнях. В этом случае, если число факторов известно, можно сразу найти число опытов, необходимое для реализации всех возможных сочетаний уровней факторов.
Простая формула, которая для этого используется, N = 2к, где N – число опытов, к – число факторов, 2 – число уровней. В общем случае эксперимент, в котором реализуются все возможные сочетания уровней факторов, называется полным факторным экспериментом.
Полный факторный эксперимент может быть предложен исследователю как один из способов построения математической модели (идентификации) недетерминированного объекта. Этот способ оказывается наиболее предпочтительным в тех случаях, когда отсутствует априорная информация для обоснования структуры модели с позиций физико-химических представлений процессов, происходящих в объекте, отсутствует количественная оценка степени влияния изучаемых факторов на выходную переменную объекта, его выходной показатель.
Условия эксперимента можно записать в виде таблицы, где строки соответствуют различным опытам, а столбцы – значениям факторов. Будем называть такие таблицы матрицами (репликами) планирования эксперимента.
При построении плана полного факторного эксперимента следует перейти к безразмерной системе координат: верхний уровень фактора – +1, нижний уровень – -1. Например, для ПФЭ с тремя факторами матрица планирования будет включать 8 экспериментов (табл. 8.1). Каждый столбец в матрице планирования называют вектор-столбцом, а каждую строку – вектор-строкой.

 

Таблица 8.1 – Подготовка плана ПФЭ

Таблица 8.1 – Подготовка плана ПФЭ

 

Если для двух факторов все возможные комбинации уровней легко найти прямым перебором (или просто запомнить), то с ростом числа факторов возникает необходимость в некотором приеме построения матриц. Из многих возможных обычно используется три приема, основанных на переходе от матриц меньшей размерности к матрицам большей размерности. Рассмотрим первый. При добавлении нового фактора каждая комбинация уровней исходного плана встречается дважды: в сочетании с нижним и верхним уровнями нового фактора. Отсюда естественно появляется прием: записать исходный план для одного уровня нового фактора, а затем повторить его для другого уровня. Вот как это выглядит при переходе от эксперимента. Этот прием распространяется на построение матриц любой размерности.
Рассмотрим второй прием. Для этого введем правило перемножения столбцов матрицы. При построчном перемножении двух столбцов матрицы произведение единиц с одноименными знаками дает +1, а с разноименными –1. Воспользовавшись этим правилом, получим для случая, который мы рассматриваем, вектор-столбец произведения х1х2 в исходном плане. Далее повторим еще раз исходный план, а у столбца произведений знаки поменяем на обратные Этот прием тоже можно перенести на построение матриц любой размерности, однако он сложнее, чем первый.
Третий прием основан на правиле чередования знаков. В первом столбце знаки меняются поочередно, во втором столбце они чередуются через два, в третьем – через 4, в четвертом – через 8 и т.д. по степеням двойки.
Для движения к точке оптимума нам нужна линейная модель

 

у = b0 + b1x1+ b2х2+ b3х3.

 

Наша цель – найти по результатам эксперимента значения неизвестных коэффициентов модели. Коэффициенты находим по методу наименьших квадратов. С использованием Матлаба можно упростить поиск и оценку адекватности модели для этого необходимо в командном окне MATLAB ввести массив Х в соответствии с матрицей полного факторного эксперимента и вектор-столбец Y, экспериментально полученных значений с выхода объекта.
Например дан объект и диапазон изменения факторов: Х1 = 10-15; Х2=1,0-4,0; Х3=2-20, после проведения эксперимента получена матрица

 

тогда результаты эксперимента в командном окне MATLAB будут построчно через пробел, строки разделяются точкой с запятой:

X=[5 10 0.85; 1 10 0.85; 5 5 0.85; 1 5 0.85; 5 10 0.55; 1 10 0.55; 5 5 0.55; 1 5 0.55]

Y=[170.1; 116.8; 131.3; 77.96; 165.4; 112.1; 126.6; 73.25]

Далее необходимо ввести столбец с так называемой фиктивной переменной Х0 =1 с помощью команды:

X=[ones (8,1) X]

Определение коэффициентов уравнения регрессии производится с помощью функции REGRESS - функция toolbox stats, выполняет регрессионный анализ результатов эксперимента, список аргументов: y – вектор значений отклика, X – матрица факторов, 0.05 – уровень значимости, назначенный при проверке адекватности модели:

[B, BINT, R, RINT, STATS] = REGRESS (Y, X, 0.05)


где    [B] – столбец коэффициентов регрессии;

[BINT] – доверительные интервалы для коэффициентов;

[R] – столбец остатков;

[RINT] – доверительные интервалы для остатков;

[STATS] – выдает значения: коэффициент детерминации, критерий Фишера, расчётный уровень значимости (если расчётный уровень значимости больше табличного, то модель признается не адекватной).

 

8.4.3 Идентификация модели возможна по временным и частотным характеристикам (табл.8.2.)

 

Таблица 8.2 – Некоторые примеры идентификации по переходным харакетристикам

Таблица 8.2 – Некоторые примеры идентификации по переходным харакетристикам

 

8.5 Использование MatLab для идентификации моделей САУ.

Использование Матлаба для определения коэффициентов полинома при известных х и у в командной строке.
Синтаксис:
p = polyfit(x, y, n)
Описание:
Функция p = polyfit(x, y, n) находит коэффициенты полинома p(x) степени n, который аппроксимирует функцию y(x) в смысле метода наименьших квадратов. Выходом является строка p длины n +1, содержащая коэффициенты аппроксимирующего полинома.


Пример:


Рассмотрим аппроксимацию функции ошибки erf(x), которая является ограниченной сверху функцией, в то время как аппроксимирующие полиномы неограниченны, что приводит к ошибкам аппроксимации.
x = (0:0.1: 5)';
y = erf(x);
вычислим коэффициенты аппроксимирующего полинома степени 6:
p = polyfit(x, y, 6)
p = 0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004
вычислим значения полинома в точках сетки и построим график
f = polyval(p, x);
plot(x, y, 'ob', x, f, '-g'), » axis([0 5 0 2])

График результата расчета

Рисунок 8.5 – График результата расчета

 

Аппроксимация данных кривой для модели «вход-выход»
Ввод значений показателя и фактора в командной строке Matlab
>> X=[1.25 2.2 2.36 4.2 5.3 6.1 7.2 8.0 9.1 9.9];
>> Y=[0.1 0.19 0.2 0.25 0.31 0.41 0.5 0.55 0.67 0.77];
>> plot(X,Y)
После отображения графика (рис.8.6) в меню Tools имеются две команды для обработки данных:

- Basic Fiting – основные виды аппроксимации (регрессии);

- Data Statistics – статистические параметры данных

Отображение окна Data Statistics

Рисунок 8.6 – Отображение окна Data Statistics

 

При выборе Data Statistics открывается окно, в котором отображены многие статистические показатели введенных рядов
При выборе Basic Fiting открывается окно, в котором галочкой можно отметить интересующие виды аппроксимирующих кривых
Для отображения уравнений аппроксимирующих кривых необходимо поставить галочку в Show equations.

 

Отображение аппроксимирующих кривых на графике

Рисунок 8.7 – Отображение аппроксимирующих кривых на графике

 

Также можно использовать инструмент пошагового регрессионного анализа
Проведение пошагового регрессионного анализа можно осуществлять с помощью с помощью встроенной функции Statistics Toolbox stepwise (Х,Y)

которая позволяет получить в интерактивном режиме регрессионную модель для зависимой переменной Y от независимых переменных – столбцов матрицы Х. Число элементов вектора Y должно быть равно количеству строк в матрице Х. Функция отображает три графических окна для управления процессом пошаговой регрессии (рис. 8.8). Элементы управления в графических окнах предназначены для удаления и добавления факторов, а также отображения статистик, характеризующих текущую регрессионную модель.

Окно графического интерфейса пошаговой регрессии со всеми исключенными параметрами

Рисунок 8.8 - Окно графического интерфейса пошаговой регрессии со всеми исключенными параметрами

 

Коэффициенты регрессии, исключенные из регрессионной модели, выделяются красным цветом. Включение или исключение фактора из регрессионной модели выполняется щелчком левой кнопки мыши на соответствующей точке графика. Границы доверительных интервалов коэффициентов регрессии, значимо отличающихся от нуля, отображаются сплошными линиями. Границы доверительных интервалов коэффициентов, статистически не значимо отличающихся от нуля, отображаются штриховыми линиями, пересекающими вертикальную нулевую линию. Значение коэффициента, не включенного в модель, рассчитывается из предположения о его включении в состав текущей регрессионной зависимости.

Таблица с параметрами пошаговой регрессии (рис. 8.8) содержит в числовой форме информацию, приведенную на графике значений коэффициентов (рис. 8.8). Таблица содержит следующие столбцы: Coeff. - значение коэффициента регрессии, t-stat – значение t-статистики. Кроме таблицы с параметрами регрессионной модели в графическом окне приведены: RMSE - корень квадратный из средней квадратической ошибки, R-square - коэффициент детерминации, показывающий какая часть общей дисперсии может быть объяснена регрессионной моделью, F - статистика Фишера соответствующая регрессионной модели, Р - уровень значимости статистики
В графическом окне решений (рис. 8.8) отображается зависимость значений корней квадратных из средней квадратичной ошибки регрессионных моделей и границ доверительных интервалов RMSE от номера шага. Каждое включение или удаление фактора в регрессионную модель в графических окнах приведет к добавлению соответствующего графика в окне рис. 8.8.

Пакет System Identification Toolbox содержит средства для создания математических моделей линейных динамических объектов (систем) на основе наблюдаемых входных/выходных данных. Он имеет удобный графический интерфейс, позволяющий организовывать данные и создавать модели. Методы идентификации, входящие в пакет применимы для решения широкого класса задач — от проектирования систем управления и обработки сигналов до анализа временных рядов.

Виды моделей пакета System Identification Toolbox

Основные виды моделей, используемых при идентификации объектов автоматизации, были рассмотрены ранее. Принимая во внимание это обстоятельство, и обозначая моменты дискретного времени тем же символом t, что и непрерывное время (в данном случае t = 0, 1, 3, ...), приведем несколько распространенных моделей дискретных объектов, используемых в пакете System Identification Toolbox для временной области, учитывающих действие шума наблюдения.

1. Модель авторегрессии AR (AutoRegressive) – считается самым простым описанием:

2. ARX – модель (Autoregressive with eXternal input) – более сложная модель:

Или в развернутом виде:

Здесь и ниже e(t) – дискретный белый шум.

3. ARMAX-модель (AutoRegressive-Moving Average wiht eXternal input – модель авторегрессии скользящего среднего):

где nk – величина задержки (запаздывания),

4. Модель «вход-выход» (в иностранной литературе такая модель называется «Output-Error», то есть «выход-ошибка», сокращенно ОЕ):

 

 

 5. Так называемая модель Бокса-Дженкинса (BJ):

полиномы B(z), F(z), C(z) определены ранее, а полином D(z) определяется по формуле:

Данные модели можно рассматривать, как частные случаи обобщенной параметрической линейной структуры:

при этом все они допускают расширение для многомерных объектов (имеющих несколько входов и выходов).
6. Модель для переменных состояния (State-space):

где A, B, C, D – матрицы соответствующих размеров, v(t) – коррелированный белый шум наблюдений.
Возможна и другая (так называемая обновленная или каноническая) форма представления данной модели:

где К – некоторая матрица (вектор столбец), е(t) – дискретный белый шум (скаляр).
Следует обратить особое внимание, что в своей работе пакет System Identification Toolbox использует три внутренних вида матричного представления моделей, которые с помощью операторов и функций пакета преобразуются во все выше перечисленные виды моделей объектов:
- так называемый тета-формат (для временных моделей);
- частотный формат (для частотных моделей);
- формат нулей и полюсов.

Процесс идентификации включает следующие этапы:

1. проведение основного экспериментального исследования для получения массива данных (ui , yi);

2. математическая обработка массива данных (с использованием пакета System Identification Toolbox) с целью определения параметров модели и ее адекватности, доверительных границ параметров и выходной координаты модели.

Для вызова графического интерфейса в командном окне необходимо ввести функцию
ident – команда вызова графического интерфейса пользователя.
После чего откроется графический интерфейс (рис. 8.9), в верхнем левом углу которого в раскрывающемся списке Data (Данные) необходимо выбрать вариант импорта данных.

Графический интерфейс

Рисунок 8.9 – Графический интерфейс

 

Проведем исследование исходных данных, для чего установим флажок Time plot (Временной график) в левой нижней части окна интерфейса. почти сразу появится графическое окно, содержащее графики сигналов “u” и “y” от времени.
При необходимости можно провести предварительную обработку сигналов исследуемого объекта. Для этого необходимо активизировать раскрывающийся список Preprocess (Предварительная обработка) и выбрать требуемый вариант предварительной обработки.
После проведения предварительной обработки данных можно приступить к нахождению оценки модели. Перетащим с помощью мыши данные mydatad в область Working Data.
Нахождение оценки модели производится, нажатием на кнопку Estimate (Оценить). В предложенном списке необходимо выбрать один из видов моделей. Выберем модель вида Correllation model…. При выборе этого вида модели в окне Model Views (Вид моделей) появится значок с именем imp, символизирующий о том, что оценивание модели произведено импульсной характеристикой.

Настройка блока построения корреляционной модели

Рисунок 8.10 – Настройка блока построения корреляционной модели

 

Выберем Parametric models… – данный выбор приведет к открытию диалогово го окна задания структуры модели (рис.8.11). По умолчанию пользователю предлагается модель типа ARX с параметрами na=4, nb=4, nk=1. Можно согласиться или не согласиться с данными значениями.

Диалоговое окно задания структуры модели

Рисунок 8.11 – Диалоговое окно задания структуры модели

 

Аналогичным образом необходимо получить другие параметрические модели, воспользовавшись раскрывающимся списком в верхней части окна задания структуры модели (модели типа ARX, ARMAX, State Space). Оценивание каждой модели сопровождается появлением соответствующего значка окне Model Views интерфейса.
Для анализа моделей графический интерфейс пакета System Identification Toolbox MATLAB представляет весьма значительные возможности. Так для сравнения параметрических моделей достаточно активизировать графическое окно Model output (соответствующий флажок расположен в средней части окна интерфейса). Вид этого окна для выбранных моделей такой же, как на рис. 8.12.

Графическое окно Model output

Рисунок 8.12 – Графическое окно Model output

 

Для модели StateSpace зададим диапазон изменения параметра Orders 1:10 (рис.8.13), после чего откроется окно выбора структуры модели (рис. 8.13 ) столбик, окрашенный красным цветом определяет оптимальный параметр модели.

Выбор оптимальных параметров модели  StateSpace

Рисунок 8.13 – Выбор оптимальных параметров модели StateSpace

 

Модель вводится в рабочее окружение системы MATLAB перетаскиванием значка модели в прямоугольник с именем To Workspace в центре рабочего окна интерфейса (рис.8.14), при этом модель будет фигурировать в рабочем пространстве MATLAB под тем же именем, что и в среде интерфейса.

Импортирование модели в рабочую область

Рисунок 8.14 – Импортирование модели в рабочую область

 

По полученным моделям можно вычислить дискретную и непрерывную передаточные функции идентифицируемой модели:

>> w1=tf(amx2221)

Transfer function from input "u1" to output "y1":
0.001598 z + 0.000834
---------------------
z^2 - 1.82 z + 0.8463

Transfer function from input "v@y1" to output "y1":
0.1018 z^2 + 0.0164 z - 0.08227
-------------------------------
z^2 - 1.82 z + 0.8463

Input groups:
Name Channels
Measured 1
Noise 2

Sampling time: 1
>> w3=d2c(w)

Transfer function from input "u1" to output "y1":
0.0062 s^2 + 0.5812 s + 8.956
---------------------------------
s^3 + 3.646 s^2 + 30.41 s + 9.785

Transfer function from input "v@y1" to output "y1":
0.00892 s^3 + 0.1719 s^2 + 1.497 s + 4.006
------------------------------------------
s^3 + 3.646 s^2 + 30.41 s + 9.785

Input groups:
Name Channels
Measured 1
Noise 2


К предыдущей части урока...

В начало урока.


 

Список уроков:

7. ИМПУЛЬСНЫЕ И НЕЛИНЕЙНЫЕ САУ

6 СИНТЕЗ РЕГУЛЯТОРОВ

5 КАЧЕСТВО СИСТЕМ УПРАВЛЕНИЯ

 


Похожие посты:

1 ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ (часть 2)

1 ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ (Часть 1)

0
Комментировать
Введите код: