Опубликован: 30.11.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Мордовский государственный университет имени Н.П. Огарева
Лекция 12:

Регрессионная идентификация линейных непрерывных систем управления

< Лекция 11 || Лекция 12: 123
Аннотация: Цель работы: изучить способы оценки (идентификации) параметров (матриц) непрерывных систем управления на основе регрессионного подхода. Среда программирования — MATLAB.

Теоретическая часть

Описание непрерывных стационарных систем управления в пространстве состояний имеет вид

\frac{dX(t)}{dt}=AX(t)+BU(t),\\
Y(t)=CX(t)+DU(t), ( 12.1)

где: X(t)n -мерный вектор состояния;

U(t)r -мерный вектор управления (входные управляющие воздействия);

Y(t)m -мерный вектор выхода системы, Аматрица состояния размера n\times n ;

Вматрица входа размера n\times r ;

Сматрица выхода размера m\times n ;

Dматрица обхода размера m\times r.

Для строго реализуемых систем матрица D = 0.

В задачу регрессионной оценки (идентификации) линейной стационарной системы (12.1) может входить определение ее структуры и параметров по наблюдаемым данным — входным и выходным сигналам функционирующей системы. Если структура системы задана, т. е. известны дифференциальные уравнения, описывающие систему, то в задачу входит определение ее параметров — коэффициентов дифференциальных уравнений — матриц действительных чисел A,\mbox{   }B,\mbox{   }C,\mbox{   }D.

Для применения регрессионного анализа систему с непрерывным временем (12.1) следует представить в дискретной форме:

X[(k+1)T]=A_dX(kT)+B_dU(kT),\\
Y(kT)=CX(kT)+DU(kT), ( 12.2)

где:

Т — шаг квантования (период дискретизации) по времени;

k — целые числа, A_{d}, B_{d} ;

С,\mbox{   }D — матрицы дискретной системы тех же размеров, что и для исходной непрерывной системы [7].

Матрицы A_{d}, B_{d} имеют следующий вид:

A_d=e^{AT}, ( 12.3)
B_d=\int\limits_0^T e^{A\tau}Bd\tau. ( 12.4)

Если матрица А непрерывной системы не вырожденная, то матрицу можно представить в виде

B_d=A^{-1}(e^{AT}-E)B, ( 12.5)

где Еединичная матрица n -го порядка [3].

Поскольку в уравнениях дискретной системы шаг квантования по времени Т входит слева и справа, то его часто опускают и систему записывают в виде

X(k+1)=A_dX(k)+B_dU(k),\\
Y(k)=CX(k)+DU(k). ( 12.6)

По известной матрице A_{d} дискретной системы можно определить матрицу непрерывной системы, логарифмируя обе части уравнения (12.3). При этом следует иметь в виду, что в (12.3) следует применять матричный экспоненциал, а для обратного преобразования — матричный логарифм. В системе MATLAB имеются функции матричного экспоненциала и матричного логарифма (см. help\mbox{   }expm и help\mbox{   }logm ).

В случае неособенной матрицы А непрерывной системы уравнение (12.5) можно разрешить относительно матрицы В в виде

B=(A^{-1}(e^{AT}-E))^{-1}B_d=(A^{-1}(A_d-E))^{-1}B_d. ( 12.7)

Для достаточно малых значений шага квантования Т можно воспользоваться следующей приближенной формулой:

B=\frac{B_d}{T}.

Таким образом, оценка матриц А и В непрерывной системы (12.1) осуществляется через оценку соответствующих матриц дискретной системы (12.2). При этом существуют более универсальные методы преобразования дискретной системы к непрерывной [11, 14].

Систему разностных уравнений запишем в виде скалярных уравнений:

x_1(k+1)=a_{d11}x_1(k)+a_{d12}x_2(k)+...+a_{d1n}x_n(k)+b_{d11}u_1(k)+...+b_{d1r}u_r(k),\\
x_2(k+1)=a_{d21}x_1(k)+a_{d22}x_2(k)+...+a_{d2n}x_n(k)+b_{d21}u_1(k)+...+b_{d2r}u_r(k),\\
................................................\\
x_i(k+1)=a_{di1}x_1(k)+a_{di2}x_2(k)+...+a_{din}x_n(k)+b_{di1}u_1(k)+...+b_{dir}u_r(k),\\
................................................\\
x_n(k+1)=a_{dn1}x_1(k)+a_{dn2}x_2(k)+...+a_{dnn}x_n(k)+b_{dn1}u_1(k)+...+b_{dnr}u_r(k),\\ ( 12.8)

В задачу входит оценка (идентификация) параметров a_{dij}, b_{diq}, i,j=\overrightarrow{1,n}, q=\overrightarrow{1,r}.

Выпишем из (12.8) промежуточное уравнение:

x_i(k+1)=a_{di1}x_1(k)+a_{di2}x_2(k)+...+a_{din}x_n(k)+b_{di1}u_1(k)+...+b_{dir}u_r(k). ( 12.9)

В ходе эксперимента нужно запомнить g решений u(k), x(k), x(k+1) для идентификации параметров дискретной системы, причем g \ge n^2 + (r n) + 1 [1]. Решения системы (12.8) определяются в результате подачи на нее некоторых входных сигналов (управляющие воздействия). Чтобы проверить, насколько построенная модель точно имитирует или предсказывает данные наблюдений, необходимо сравнить их при одинаковых воздействиях. Эта процедура называется верификацией модели [7].

Составим матрицу W_{ik} из элементов x(k),\mbox{   }u(k) размерностью (n+r)\times 1. Эта матрица будет представлять собой совокупность входных воздействий и выхода системы на момент дискретного времени k:

W_{ik}=[x_1(k),x_2(k),...,x_n(k),u_1(k),u_2(k),...,u_r(k)]^T. ( 12.10)

Составим матрицу Ф_{i} из искомых коэффициентов уравнения (12.9):

Ф_i^T=[a_{di1},a_{di2},...,a_{din},b_{di1},b_{di2},...,b_{dir}]_{1\times (n+r)},\mbox{   }i=\overrightarrow{1,n}. ( 12.11)

С учетом (12.10), (12.11) запишем уравнение (12.9) в матричном виде:

x_i(k+1)=W_{ik}^TФ_i. ( 12.12)

Сформируем вектор \chi_i из элементов правой части уравнения (12.12) после g испытаний (значений, решений, наблюдений):

\chi_i=
\left[\begin{array}{c}
x_{(1)i}(k+1)\\
x_{(2)i}(k+1)\\
\vdots\\
x_{(g)i}(k+1)\\
\end{array}\right]. ( 12.13)

Выражая \chi_i через W_{ik}, Ф_i, получим \chi_i=W_kФ_i, где

\chi_i=
\left[\begin{array}{cccccccc}
x_{(1)1}(k)&x_{(1)2}(k)&...&x_{(1)n}(k)&u_{(1)1}(k)&u_{(1)2}(k)&...&u_{(1),r}(k)\\
x_{(2)1}(k)&x_{(2)2}(k)&...&x_{(2)n}(k)&u_{(2)1}(k)&u_{(2)2}(k)&...&u_{(2),r}(k)\\
...&...&...&...&...&...&...&...\\
x_{(g)1}(k)&x_{(g)2}(k)&...&x_{(g)n}(k)&u_{(g)1}(k)&u_{(g)2}(k)&...&u_{(g),r}(k)\\
\end{array}\right]. ( 12.14)

Размерность матрицы W_{k} равна g\times (n + r).

Считая, что вектор \chi_i и матрица W_{k} известны (входные и выходные сигналы), можно применить метод наименьших квадратов, в соответствии с которым получим следующее нормальное уравнение относительно искомых параметров уравнения (12.9):

(W_k^TW_k)\hat Ф_i=W_k^T\chi_i. ( 12.15)

Если матрица W_k^TW_k невырожденная, то оптимальная оценка параметров дискретной системы определяется в виде

\hat Ф_i^{*}=(W_k^TW_k)^{-1}W_k^T\chi_i. ( 12.16)

Зная \hat Ф_i^{*}, для всех индексов i=\overline{1,n} можно найти коэффициенты системы уравнений (12.8), т. е. матрицы A_{d}, B_{d}, а затем, например, по формулам (12.3), (12.7) найти матрицы А,\mbox{   }В непрерывной системы (12.1).

В случае, когда матрица W_k^TW_k вырожденная или плохо обусловленная, при решении нормального уравнения (12.6) прибегают к псевдообращению, например, используют псевдообратную матрицу Мура–Пенроуза.

Расчет вектора состояния дискретной системы можно произвести по соотношению

X(kT)=A_d^kX(0)+\sum\limits_{j=0}^{k-1}A_d^{k-1-j}B_dU(j), ( 12.17)

где X(0) — начальный вектор состояния системы в момент времени, равный нулю [3].

Для регрессионной оценки матриц уравнения выхода C и D используются те же способы и приемы, которые были описаны для оценки матриц А и В. В случае невырожденной матрицы W_k^TW_k одновременная оценка матриц C и D может быть получена с помощью матричного уравнения следующего вида:

\overline{CD}=((W_k^TW_k)^{-1}W_k^TY_k)^T, ( 12.18)

где

\overline{CD}=
\left[\begin{array}{cccccccc}
c_{11}&c_{12}&...&c_{1n}&d_{11}&d_{12}&...&d_{1r}\\
c_{21}&c_{22}&...&c_{2n}&d_{21}&d_{22}&...&d_{2r}\\
...&...&...&...&...&...&...&...\\
c_{m1}&c_{m2}&...&c_{mn}&d_{m1}&d_{m2}&...&d_{mr}\\
\end{array}\right],\\
\\
\\
Y(k)=
\left[\begin{array}{cccc}
y_{(1)1}(k)&y_{(1)2}(k)&...&y_{(1)m}(k)\\
y_{(2)1}(k)&y_{(2)2}(k)&...&y_{(2)m}(k)\\
...&...&...&...\\
y_{(g)1}(k)&y_{(g)2}(k)&...&y_{(g)m}(k)\\
\end{array}\right].

Примечание. При верификации модели на вход модели и на реальную систему подают сигналы, которые не использовались при идентификации параметров и сравнении выходных сигналов модели и реальной системы.

< Лекция 11 || Лекция 12: 123
Мария Ястребинская
Мария Ястребинская

Добрый день. Я приступила сегодня к самостоятельному изучению курса "Моделирование систем". Хочу понять - необходимо ли отсылать мои решения практических заданий на сайт, (и если да - то где найти волшебную кнопку "Загрузить...") или практические задания остаются полностью на моей совести? (никто не проверяет, и отчётности по ним я предоставлять не обязана?)

P.S.: тьютора я не брала

алена зянтерекова
алена зянтерекова
Дмитрий Степаненко
Дмитрий Степаненко
Россия
Маржан Мукынова
Маржан Мукынова
Россия, Новосибирск