Уравнение Ляпунова

advertisement
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
ОСНОВЫ ТЕОРИИ УПРАВЛЕНИЯ
Задание № 5
Расчет запаса устойчивости по норме решения матричного уравнения
Ляпунова
Студент группы 0201
Диана Борисовна Анисютина
" 23 " декабря 2013 г.
Преподаватель
Антон Павлович Пынтиков
"____"_______2013 г.
Теория
Уравнение Ляпунова
Непрерывный случай
Дискретный случай
𝐴𝑑 𝑇 ∗ 𝐻 ∗ 𝐴𝑑 − 𝐻 = −𝐼
𝑇
𝐴 ∗ 𝐻 + 𝐻 ∗ 𝐴 = −𝐼
Количественный показатель устойчивости непрерывной системы
Непрерывный случай
æ(A) = 2‖𝐴‖‖𝐻‖
Дискретный случай
æ(A) = ‖𝐻‖
Системы управления с непрерывным временем
ПИ-регулятор (T = 0)
K
1.04
ПИД-регулятор (T = 0)
Ti
2.9
ПИ spec(A)
0.9441116 + 0.0612747i
0.9441116 - 0.0612747i
0.9977455 + 0.0169846i
0.9977455 - 0.0169846i
0.9920429
K
2
Ti
3.2
ПИД spec(A)
- 2.0687844 + 0.8634796i
- 2.0687844 - 0.8634796i
- 0.2765604 + 0.7701235i
- 0.2765604 - 0.7701235i
- 0.2475821
В спектре матрицы А нет симметричных относительно мнимой оси точек,
т.е таких, что 𝜆𝑖 (𝐴), 𝜆𝑗 (𝐴), что 𝜆𝑖 (𝐴) + ̅̅̅̅̅̅̅
𝜆𝑗 (𝐴) = 0, значит, можно воспользоваться теоремой:
для устойчивости системы достаточно, чтобы H - была положительно определена, где H - решение
уравнения Ляпунова: 𝐴𝑇 ∗ 𝐻 + 𝐻 ∗ 𝐴 = −𝐼
λ(H)
æ(A)
ПИ
0.1468278
0.4380638
1.7411957
6.2066394
20.993131
281.6698
ПИД
0.0430401
0.2197567
0.6844603
2.2078524
7.2463659
25.011151
1104.4919
Спектр H положительный, следовательно, H – положительно определена, значит, А – устойчива.
Системы управления с дискретным временем
ПИ-регулятор (T = 1.2)
K
0.78
ПИД-регулятор (T = 1.2)
Ti
3.2
ПИ spec(Ad)
0.9441116 + 0.0612747i
0.9441116 - 0.0612747i
0.9977455 + 0.0169846i
0.9977455 - 0.0169846i
0.9920429
K
1.31
Ti
3.5
ПИД spec(Ad)
0.9923780 + 0.0402780i
0.9923780 - 0.0402780i
0.9985247 + 0.0081928i
0.9985247 - 0.0081928i
0.9964641
0.9943391
Если в спектре 𝐴𝑑 нет взаимнообртных чисел, таких что 𝜁𝑖 (𝐴), 𝜁𝑗 (𝐴), что 𝜁𝑖 (𝐴) ∗ 𝜁𝑗 (𝐴) = 1, то также можем
утверждать, что 𝐴𝑑 устойчива, если H – положительно определена, где H – решение уравнения
𝐴𝑑 𝑇 ∗ 𝐻 ∗ 𝐴𝑑 − 𝐻 = −𝐼;
Ляпунова:
λ(H)
æ(A)
ПИ
7.2218164
13.362263
62.025966
425.16232
1602.7156
1602.7156
ПИД
49.095523
63.504065
108.39953
240.19051
732.25083
3779.3591
3779.359090
Спектр H положительный, следовательно, H – положительно определена, значит, 𝐴𝑑 – устойчива.
Вывод
Рассмотренные системы устойчивы, т.к. æ положительно. По количественному показателю æ, можем сказать, что
системы в ПИ-регулятором являются более устойчивыми.
Приложение
А. Листинг программы для вычисления показателя
устойчивости ПИ-регулятора (линейный случай)
n = 4;
T0 = 0.81;
Ti = 2.9;
K = 1.04;
T = 0;
h = Ti/100;
S = poly(0, 's');
Wobj = (1-T*S+(T*S)^2/2 - (T*S)^3/6)/(1+S*T0)^n
W1 = (1 + 1/(Ti*S))*K*Wobj
W = W1/(1 + W1)
sl = syslin('c', W);
[A B C D] = abcd(sl);
// Единичная матрица соответствующей размерности
E = -eye(A);
// Решение уравнения Ляпунова
H = lyap(A, E, 'c');
l = spec(H)
// Запас устойчивости по Ляпунову
if l > 0 then
k = 2 * norm(A, 2) * norm(H, 2);
else
k = %inf
end
printf("%4.4f\n", k);
Б. Листинг программы для вычисления показателя
устойчивости ПИД-регулятора (линейный случай)
function [Res]=Pade(delay, order)
s = poly(0,'s');
Res = (-delay*s + 2*order)^order / (delay*s + 2*order)^order;
endfunction*)
n = 4;
T0 = 0.81;
Ti = 3.2;
K = 2;
T = 0;
Td = Ti/4;
Ts = Td/8;
h = Ti/100;
S = poly(0, 's');
Wobj = Pade(T, 5)/(1+S*T0)^n
W1 = (1 + 1/(Ti*S) + Td*S/(1 + Ts*S))*K*Wobj
W = W1/(1 + W1)
sl = syslin('c', W);
[A B C D] = abcd(sl);
// Единичная матрица соответствующей размерности
E = -eye(A);
// Решение уравнения Ляпунова
H = lyap(A, E, 'c');
l = spec(H)
// Запас устойчивости по Ляпунову
if l > 0 then
k = 2 * norm(A, 2) * norm(H, 2);
else
k = %inf
end
printf("%4.4f\n", k);
В. Листинг программы для вычисления показателя
устойчивости ПИ-регулятора (дискретный случай)
n = 4;
T0 = 0.81;
Ti = 2.9;
K = 1.04;
T = 1.2;
h = Ti/100;
S = poly(0, 's');
Wobj = (1-T*S+(T*S)^2/2 - (T*S)^3/6)/(1+S*T0)^n
W1 = (1 + 1/(Ti*S))*K*Wobj
W = W1/(1 + W1)
sl = syslin('c', W);
dicrMat = dscr(sl, h);
Ad = dicrMat.A;
// Единичная матрица соответствующей размерности
Ed = -eye(Ad);
// Решение уравнения Ляпунова
Hd = lyap(Ad, Ed, 'd');
ld = spec(Hd)
// Запас устойчивости по Ляпунову
if ld > 0 then
kd = norm(Hd, 2);
else
kd = %inf
end
printf("%4.4f\n", kd);
Г. Листинг программы для вычисления показателя
устойчивости ПИД-регулятора (дискретный случай)
function [Res]=Pade(delay, order)
s = poly(0,'s');
Res = (-delay*s + 2*order)^order / (delay*s + 2*order)^order;
endfunction
n = 4;
T0 = 0.81;
Ti = 3.5;
K = 1.31;
T = 1.2;
Td = Ti/4;
Ts = Td/8;
h = Ti/100;
S = poly(0, 's');
Wobj = Pade(T, 5)/(1+S*T0)^n
W1 = (1 + 1/(Ti*S) + Td*S/(1 + Ts*S))*K*Wobj
W = W1/(1 + W1)
sl = syslin('c', W);
dicrMat = dscr(sl, h);
Ad = dicrMat.A;
// Единичная матрица соответствующей размерности
Ed = -eye(Ad);
// Решение уравнения Ляпунова
Hd = lyap(Ad, Ed, 'd');
ld = spec(Hd)
// Запас устойчивости по Ляпунову
if ld > 0 then
kd = norm(Hd, 2);
else
kd = %inf
end
printf("%4.4f\n", kd);
Download