Министерство образования и науки Российской Федерации Санкт-Петербургский государственный политехнический университет

advertisement
Министерство образования и науки Российской Федерации
Санкт-Петербургский государственный политехнический университет
Институт информационных технологий и управления
кафедра “Системный анализ и управление”
Курсовая работа
Управление электроэнергетической системой
по дисциплине:
Теория автоматического управления
Выполнил: студент гр. 33502/ 1
Зефиров Артем Викторович
Проверил: ac. к. т. н.
Васильев Андрей Юрьевич
Санкт-Петербург 2014г.
Оглавление
2
1. Постановка задачи
Структурная схема электроэнергетической системы, состоящей из тепловых
станций с промежуточным перегревом пара, соответствующая 4 варианту,
приведена на рис.1.1
Рисунок 1.1 – Модель исследуемой системы
Все переменные, представленные на схеме, отражают отклонения
соответствующих величин в относительных единицах к их значениям в
установившемся базовом режиме:
ω – отклонение частоты в управляемой энергосистеме (выходная переменная);
Pн - изменение активной нагрузки;
u – изменение задающего воздействия на регуляторы турбин (управляющее
воздействие).
Параметры системы:
Т с - постоянная времени первичных регуляторов турбин;
Tn - постоянная времени, определяемая паровым объемом между
паровпускными клапанами и первым рядом сопл турбины;
Tnn - постоянная времени промежуточного пароперегревателя;
c- доля мощности, соответствующая части высокого давления;
T j - постоянная инерции эквивалентного агрегата;
K н - коэффициент, определяющий регулирующий эффект нагрузки;
3
S c - статизм первичных регуляторов турбин.
Величины параметров определяются следующей таблицей:
Параметр
Тс
Tn
Tnn
c
Tj
Kн
Sc
Значение
0.1
0.5
3
0.2
10
2
0.1
Таблица 1.1 – Значение параметров системы
4
2. Получение стандартной модели
2.1. Получение модели в пространстве состояний
Исходную модель необходимо представить в виде линейной модели в
пространстве состояний, которая имеет вид
 x  Ax  Bu

 y  Cx  Du.
(2.1)
 x1 
 
x
u 
Здесь x   2  - вектор состояний, u    - вектор управляющих
 x3 
 Pн 
 
 
воздействий, y    - вектор управляемой величины.
Составим систему уравнений, описывающую данную автоматическую
систему:

1 
1 
 x1 
u   
Tc p  1 
Sc 


1
x1
 x2 
Tn p  1


 x  cTnn x
 3 p 1 2

  1  x  P  K  
3
н
н

pT j

(2.2)
.
Выразим отсюда производные вектора x :

1
1 
 x1  u     
Tc 
Sc 


1
 x2   x1  x2 
Tn

 x  cT x  x
n 2
3
 3

1


 x3  Pн  К н 

T
j

.
Из формул (2.2) и (2.3) находим матрицы A,B,C,D :
5
(2.3)
1 
 1
0
0

T
Tc Sc 
 c

1
1


0
0 
T T
A4x 4   n
n

 0 cTnn 1
0 


1
Kн 
0
0


Tj
T j 
,
1

0 
T
 c

0 
0
B4x2  

0
0



1
0  
Tj 

,
C1x4  0 0 0 1 , D1x 2  0 0 .
(2.4)
(2.5)
(2.6)
С учетом исходных данных своего варианта получаем:
A4x 4
0 100 
0 
 10 0
10
 2
0
2 0
0 
0 



 , C1x 4  0 0 0 1 ,

, B4x 2 
 0 0.6 1
0
0 
0 




0 0.1 0.2 
 0
 0 0.1
D1x 2  0 0 .
2.2. Переход от модели в пространстве состояний к модели «вход-выход»
Необходимо получить модель, представимую в виде
y  Wu.
(2.7)
Здесь W=W  p  - передаточная функция. u -вектор управляющих воздействий,
y - вектор управляемой величины. Из формулы (2.1) предыдущего пункта получаем


y  C  pE  A B  D u.
1
(2.8)
В нашем случае D  0 0 , придаточная функция будет иметь вид
W  p   C  sE  A B.
1
6
(2.9)
 pE  A
1
n
F  p
- резольвента матрицы A , где F  p    Fi p ni ,

n  p 
i 1
n
 n  p   det  pE  A   ai p ni . Будем вычислять ее, используя алгоритм Леверьеi 1
Фаддеева:
F1  En ,
a1  trace  F1 A  ,
F2  F1 A  a1En ,
1
a2   trace  F2 A  ,
2
(2.10)
Fk  Fk 1 A  ak 1En ,
1
ak   trace  Fk A  ,
k
1
an   trace  Fn A  .
n
В Matlab была составлена программа, вычисляющая передаточную функцию,
используя алгоритм (2.10):
Fn  Fn1 A  an1En ,
7
PereFunc.m
function W=PereFunc(A,B,C,D)
n=length(A);
F(:,:,1)=eye(n);
for i=2:1:n
F(:,:,i)=zeros(n);
end
x=zeros(1,n);
x(1)=-trace(F(:,:,1)*A);
for i=2:1:n
F(:,:,i)=F(:,:,i-1)*A+x(i-1) *eye(n);
x(i)=-(1/i)*trace(F(:,:,i)*A);
end
check=F(:,:,n)*A+x(n)*eye(n);
if check<1e-11
display('Вычисление прошло успешно!');
end
syms p;
h=poly2sym([1 x],p);
RUp=poly2sym(0,p);
for i=1:1:n
RUp=RUp+F(:,:,i)*p^(n-i);
end
R=RUp/h;
W=C*R*B+D;
end
После выполнения данной программы получили значение

0.1 p3  13 p 2  32 p  20  
1.2
W 4
, 4

3
2
3
2
p

13.2
p

34.6
p

26.4
p

16
p

13.2
p

34.6
p

26.4
p

16


.
Это значение передаточной функции совпадает со значением, полученным с
помощью Matlab Control System (CS):
8
Рисунок 2.1 – Передаточная функция в Matlab
2.3. Переход от модели «вход-выход» к модели в пространстве состояний.
Из предыдущего пункта имеем
W p 
B p
A p  ,
(2.11)
y  t  A  p   u  t  B  p   0,
(2.12)
m
где W  p  - дробно рациональная функция, B  p    bi p
i 0
m i
n
, A  p    ai p ni , m  n .
i 0
В нашем случае
A  p   a0 p 4  a1 p 3  a2 p 2  a3 p  a4  p 4  13.2 p 3  34.6 p 2  26.4 p  16,
B  p   b0 p3  b1 p 2  b2 p  b3  [0 0.1]p3  0 1.3 p 2  0 3.2 p  1.2 2 .
Тогда (2.12) принимает вид:
9
u
16 y  [1.2 2]   
 Pн 

u
 p  26.4 y 0 3.2   

 Pн 




u
u
p  34.6 y  0 1.3   p 13.2 y  0 0.1   p  y      0.


 Pн 
 Pн 

  

Используя метод перехода от модели «вход-выход» к модели в пространстве
состояний [1, стр.22] , формируем систему уравнений для модели в пространстве
состояний:
x1  y

 x  13.2 y  0.1P  px
н
1
 2
 x3  34.6 y  1.3Pн  px2
 x  26.4 y  3.2 P  px
н
3
 4
16 y  1.2u  2 Pн  px4  0,
(2.13)
откуда
y  x1

 x  x  13.2 x  0.1P
2
1
н
 1
(2.14)
 x  x  34.6 x  1.3P
3
1
н
 2
 x  x  26.4 x  3.2 P
4
1
н
 3
 x4  16 x1  1.2u  2 Pн .
Из (2.13) можно найти матрицы, определяющие системную модель в
пространстве состояния:
 13.2
 34.6
A
 26.4

 16
1 0 0
 0 0.1

 0 1.3 
0 1 0
, B  
 , C  1 0 0 0 , D   0 0.
 0 3.2 
0 0 1



0 0 0
1.2 2 
2.4. Доказательство эквивалентности моделей систем в пространстве
состояний пункта 2.1 и пункта 2.3
Для доказательства эквивалентности моделей из 2.1 и 2.3 необходимо
вычислить относительные погрешности
10
A  S 1 AS
A
,
B  S 1B
B
,
C  CS
C
(2.15)
,
S  S y S y1 ,
(2.16)
S y  b, Ab, A2b, A3b  ,
S y  b , Ab , A2b , A3b  .
Здесь S y , S y - матрицы управляемости, сформированные с помощью матрицы
A , первого столбца матрицы B и матрицы A , первого столбца матрицы B
соответственно.
Формирование матрицы S и вычисление соответствующих формуле (2.15)
погрешностей произведем в Matlab:
checkEquiv.m
function checkEquiv(A,B,C,A1,B1,C1)
n=length(A);
Sy=zeros(n);
Sy1=zeros(n);
S=zeros(n);
for i=1:1:n
Sy(:,i)=A^(i-1)*B(:,1);
Sy1(:,i)=A1^(i-1)*B1(:,1);
end
S=Sy*Sy1^(-1);
display ('Матрица S:'); display(S);
ErrorA=norm(A1-S^(-1)*A*S)/norm(A1);
ErrorB=norm(B1-S^(-1)*B)/norm(B1);
ErrorC=norm(C1-C*S)/norm(C1);
display('Относительная погрешность A:'); display(ErrorA);
display('Относительная погрешность B:'); display(ErrorB);
display('Относительная погрешность C:'); display(ErrorC);
end
11
Рисунок 2.2 – Доказательство эквивалентности моделей
Малая величина относительных погрешностей подтверждает эквивалентность
моделей в пространстве состояний из пунктов 2.1 и 2.3
2.5. Получение дискретной модели системы в пространстве состояний
Рассмотрим построение дискретной модели в пространстве состояний,
определяемой соотношениями:
xk 1  Ag xk  Bg uk
(2.17)
yk  Cg xk  Dg uk ,
- дискретное время, tk  t0  kT . Построим дискретную
где переменная k  1,2,3
модель для объекта, заданного в пункте 2.1. T- период дискретизации, он
определяется из формулы 2.18:
(2.18)
1
,
max{ i }
где i - собственные числа матрицы A . Для нашей модели T  0.1002 . Матрицы в
T
дискретной модели найдем по следующим формулам:
Ag  e AT  Se JT S 1 ,
Bg   e d B  S  e  E  J S B,
T
A
1
JT
1
(2.19)
0
Cg  C , Dg  D.
Выполним вычисление матриц для дискретной модели с помощью Matlab:
12
getDiscr.m
function [Ag,Bg]=getDiscr(A,B)
[S,J]=eig(A);
T=1/max(abs(eig(A)));
Ag=S*expm(J*T)*S^(-1);
Bg=S*(expm(J*T)-eye(length(A)))*J^(-1)*S^(-1)*B;
end
Рисунок 2.3 – Результат выполнения функции getDiscr(A,B)
Теперь найдем матрицы с помощью Matlab Control System:
13
Рисунок 2.4 – Получение дискретной модели в Matlab
Матрицы, полученные обоими способами, совпадают.
2.6. Переход от дискретной модели в пространстве состояний к дискретной
модели «вход-выход»
Данный процесс идентичен рассмотренному в пункте 2.2. переходу. В
дискретной модели, в отличие от непрерывной, оператор Лапласа p заменяется
оператором сдвига по времени  . Дискретная модель в пространстве состояний
будет иметь вид
A  yk  B   uk ,
(2.20)
14
g
g
i 0
i 0
где A     Ai g i , B     Bi g i .
Матричная передаточная функция определяется выражением
Wg    Cg  E  Ag  Bg  Dg .
1
(2.21)
Для вычисления резольвенты матрицы Ag применяется ранее рассмотренный
алгоритм Леверье-Фаддеева. В связи с те, что вид передаточной функции w1Dis ,
полученной в Matlab, содержит в себе несокращенные программой коэффициенты,
произведем эти упрощения вручную. В результате коэффициентами полинома A  
является вектор h , а полином B   вектора p1 и p2 .
Рисунок 2.4 – Коэффициенты полиномов передаточной функции
Произведем расчет передаточной функции с помощью Matlab Control System:
15
Рисунок 2.5 – Получение передаточной функции в Matlab
Как видно из рисунков 2.4 и 2.5 передаточные функции совпадают.
16
3. Анализ переходных процессов
В данном разделе будут рассмотрены реакции исходной системы, заданной в
пункте 1, на типовые воздействия: единичное воздействие, ступенчатое воздействие
и ненулевые начальные условия при отсутствии внешних воздействий. Общий
принцип заключается в том, что задача исследования переходных процессов
формулируется как задача Коши: найти решение системы при заданных начальных
условиях и входных воздействий u  t  .
3.1. Анализ непрерывного переходного процесса при ступенчатом
воздействии
Рассмотрим построение переходного процесса линейного непрерывного
объекта при использовании его модели, заданной в пространстве состояний
(3.1)
 x  Ax  Bu
,

 y  Cx  Du
u  t   1 t  .
Решения дифференциального уравнения определяются формулой Коши:
x t   e
A t t0 
x  t0    e
t
A t  
t0
Bu   d .
(3.2)
Далее используем преобразование Жордана для матрицы A :
J  S 1 AS ,
(3.3)
где J  Жорданова форма матрицы A , S  матрица подобия.
Получим выражения для системы (3.1):
x  Sz ,
(3.4)
 z  t   Jz  t   S 1Bu  t 
.

y
t

CSz
t

Du
t







Для управляемой величины получаем выражение
z t   e
J  t  t0 
S 1 x  t0    e
t
J  t  
t0
S 1Bu  t  d .
(3.5)
При нулевых начальных условиях и после замены   t   уравнение для
управляемой величины будет иметь вид
17
y  t   CS  e J  d  S 1B.
t
(3.6)
0
Здесь мы учли D  [0 0] . В связи с тем, что вектор входных воздействий
u 
u  t     состоит из управляющего воздействия u и возмущения Pн , рассмотрим
 Pн 
две переходные характеристики объекта: реакцию объекта на единичное
управляющее воздействие h1  t   y  t  u t 1 t , P  0 и реакцию на возмущение по
 
н
нагрузке h2  t   y  t  u t 0, P 1 t . Уравнения для них будут иметь вид

н

h1  t   CS  e Jt dtS 1b1  CS  e Jt  E  J 1S 1b1 ,
t
(3.7)
0
h2  t   CS  e Jt dtS 1b2  CS  e Jt  E  J 1S 1b2 .
t
0
Воспользуемся Matlab для вычисления характеристик и построения их
графиков:
getStepProccess.m
function getStepProccess(A,B,C)
[S,J]=eig(A);
n=length(A);
syms t;
h1=C*S*(expm(J*t)-eye(n))*J^(-1)*S^(-1)*B(:,1);
h2=C*S*(expm(J*t)-eye(n))*J^(-1)*S^(-1)*B(:,2);
t1=[0:0.001:20];
y1=subs(h1, t, t1);
subplot(1,2,1); P1=plot(t1,y1); title('Характеристика h1(t)');
xlabel('Время (с)'); ylabel('Амплитуда');
y2=subs(h2,t,t1);
subplot(1,2,2); P2=plot(t1,y2); title('Характеристика h2(t)');
xlabel('Время (с)'); ylabel('Амплитуда');
end
18
Характеристика h2(t)
0
0.08
-0.02
0.07
-0.04
0.06
-0.06
Амплитуда
Амплитуда
Характеристика h1(t)
0.09
0.05
0.04
-0.08
-0.1
0.03
-0.12
0.02
-0.14
0.01
-0.16
0
0
5
10
15
Время (с)
20
-0.18
0
5
10
15
Время (с)
20
Рисунок 3.1 – Непрерывное ступенчатое воздействие
Произведем построение графиков переходных функций с помощью функции
Matlab Control System step(sys1):
h1  t   CS  e Jt dtS 1b1  CS  e Jt  E  J 1S 1b1 ,
t
0
h2  t   CS  e Jt dtS 1b2  CS  e Jt  E  J 1S 1b2 .
t
0
19
(3.8)
Step Response
From: In(1)
From: In(2)
0.05
Amplitude
0
-0.05
-0.1
-0.15
0
5
10
15
20 0
5
10
15
20
Time (seconds)
Рисунок 3.2– Непрерывное ступенчатое воздействие (функция Matlab CS)
Нетрудно заметить, что графики получились похожими. Это подтверждает
правильность расчета переходной функции.
3.2. Анализ непрерывного переходного процесса при ненулевых начальных
условиях
Рассмотрим реакцию объекта на ненулевые начальные условия при
отсутствии внешних воздействий, взяв x  0   1,1,1,1 , u  t   0 . В этом случае,
T
используя представление в форме Жордана, получаем уравнение для управляемой
величины
y  t   CSe Jt S 1 x  0  .
(3.9)
Используем Matlab для расчета и построения управляемой величины:
20
getNNUProccess.m
function getNNUProcess (A,C,x0)
[S,J]=eig(A);
syms t;
y=C*S*expm(J*t)*S^(-1)*x0;
t1=[0:0.01:14];
y1=subs(y,t,t1);
plot(t1,y1); title('Ненулевые начальные условия');
end
Ненулевые начальные условия
1.2
1
Амплитуда
0.8
0.6
0.4
0.2
0
-0.2
0
2
4
6
8
Время (с)
10
12
14
Рисунок 3.3 –Ненулевые начальные условия
С помощью встроенной функции Matlab Control System: initial(sys1,x(0))
построим график той же характеристики:
21
Response to Initial Conditions
1.2
1
Amplitude
0.8
0.6
0.4
0.2
0
-0.2
0
2
4
6
8
10
12
14
Time (seconds)
Рисунок 3.4 –Ненулевые начальные условия (функция Matlab CS)
Нетрудно заметить, что графики получились похожими. Это подтверждает
правильность расчета переходной функции.
3.3. Анализ непрерывного переходного процесса при импульсном
воздействии
Перейдем к анализу переходного процесса заданным импульсным
воздействием   t  . Рассмотрим, как и в пункте 3.1, отдельно 2 переходных процесса
для управляемой величины y  t  , соответствующим импульсному изменению
управляющего воздействия u и изменения нагрузки Pн .
Учитывая вид воздействия u  t     t  , нулевые начальные условия
D  [0 0] и представление матрицы A в Жордановой форме получаем уравнение
для управляемой величины y  t  :
y  t    CSe Jt S 1B  d .
t
0
Или для обоих управляющих воздействий:
22
(3.10)
y1  t    CSe Jt S 1b1  d ,
t
(3.11)
0
y2  t    CSe Jt S 1b2  d ,
t
0
где y1  t  соответствует импульсное изменение управляющего воздействия u , а
y2  t  - нагрузки Pн .
Используем Matlab для формирования и построения управляемой величины:
getImpulseProcess.m
function getImpulseProcess(A,B,C)
[S,J]=eig(A);
syms p t k;
p1=int(C*S*expm(J*(t-k))*S^(-1)*B(:,1)*dirac(k),k,0,t );
t1=[0:0.01:20];
p11=subs(p1,t,t1);
p2=int(C*S*expm(J*(t-k))*S^(-1)*B(:,2)*dirac(k),k,0,t );
p22=subs(p2,t,t1);
subplot(1,2,1);plot(t1,p11); title('Изменение воздействия u ');xlabel('Время (с)');
ylabel('Амплитуда');
subplot(1,2,2);plot(t1,p22); title('Изменение нагрузки Pн');xlabel('Время (с)');
ylabel('Амплитуда');
end
Получили следующие графики:
23
-3
воздействия u
x Изменение
10
20
Изменение нагрузки Pн
0.01
0
15
10
Амплитуда
Амплитуда
-0.01
5
-0.02
-0.03
0
-5
-0.04
0
5
10
15
Время (с)
20
-0.05
0
5
10
15
Время (с)
20
Рисунок 3.5 – Непрерывное импульсное воздействие
При использовании встроенной функции Matlab Control System impulse(sys1)
получаем следующие графики:
Impulse Response
From: In(1)
From: In(2)
0.02
0
Amplitude
-0.02
-0.04
-0.06
-0.08
-0.1
0
5
10
15
0
5
10
15
Time (seconds)
Рисунок 3.6 – Непрерывное импульсное воздействие (функция Matlab CS)
24
Нетрудно заметить, что графики получились похожими. Это подтверждает
правильность расчета переходной функции.
3.4. Анализ переходного процесса дискретной модели при ступенчатом
воздействии
Рассмотрим дискретную модель данной системы
xk 1  Ag xk  Bg uk ,
(3.12)
yk  Cg xk  Dg uk .
Переходный процесс для дискретной модели из пункта 2.5 может быть
построен пошаговым способом, путем последовательного нахождения величин:
x0 , y0 , x1 , y1 , x2 , y2 , ... .
После приведения системы к Жордановой форме, учитывая нулевые
начальные условия и нулевую матрицу Dg , получим
xt  Szt ,
(3.13)
zt 1  Jzt  S 1Bg ut ,
yt  C g Szt .
u 
В связи с тем, что вектор входных воздействий u  t     состоит из
 Pн 
управляющего воздействия u и возмущения Pн , рассмотрим два переходных
процесса, соответствующим двум столбцам матрицы Bg   b1, b2  , тогда
z u t 1  Jzt  S 1b1ut ,
z Pн t 1  Jzt  S 1b 2ut ,
y u t  Cg Szt ,
y Pн t  Cg Szt .
Воспользуемся Matlab, чтобы произвести вычисления
25
(3.14)
getDiscrStepProcess.m
function getDiscrStepProcess(sysDisc)
[Ag,Bg,Cg,Dg,T]=ssdata(sysDisc);
tk=25.05;
n=tk/T;
[S,J]=eig(Ag);
z1=zeros(length(Ag), n);
z2=zeros(length(Ag), n);
y1=zeros(1, n);
y2=zeros(1, n);
Srev=S^(-1);
z1(:,1)=Srev*Bg(:,1);
z2(:,1)=Srev*Bg(:,2);
y1(1)=Cg*S*z1(:,1);
y2(1)=Cg*S*z2(:,2);
for i=2:1:n
z1(:,i)=J*z1(:,i-1)+Srev*Bg(:,1);
z2(:,i)=J*z2(:,i-1)+Srev*Bg(:,2);
y1(i)=Cg*S*z1(:,i);
y2(i)=Cg*S*z2(:,i);
end
subplot(1,2,1);stairs(0:T:tk-T,y1); title('Ступенчатое воздействие на u');
xlabel('Время (с)'); ylabel('Амплитуда'); axis([0, 25, 0 0.1]);
subplot(1,2,2);stairs(0:T:tk-T,y2); title('Ступенчатое воздействие на Pн');
xlabel('Время (с)'); ylabel('Амплитуда');axis([0, 25, 0 -0.18]);
end
В результате выполнения данной процедуры получили 2 графика:
26
Ступенчатое воздействие на u
0.1
Ступенчатое воздействие на Pн
0
0.09
-0.02
0.08
-0.04
-0.06
0.06
Амплитуда
Амплитуда
0.07
0.05
0.04
-0.1
-0.12
0.03
-0.14
0.02
-0.16
0.01
0
-0.08
0
5
10
15
Время (с)
20
25
-0.18
0
5
10
15
Время (с)
20
25
Рисунок 3.7 – Дискретное ступенчатое воздействие
Используя встроенную функцию Matlab Control System: step(sysDisc), получим
следующий график:
Step Response
From: In(1)
From: In(2)
0.05
Amplitude
0
-0.05
-0.1
-0.15
0
5
10
15
20 0
5
10
15
20
Time (seconds)
Рисунок 3.8 – Дискретное ступенчатое воздействие (функция Matlab CS)
27
Исходя из графиков, изображенных выше, можно сделать вывод о совпадении
результатов, полученных с помощью реализации алгоритма получения управляемой
величины при ступенчатом воздействии в Matlab и стандартной функции Matlab
Control System.
3.5. Анализ переходного процесса дискретной модели при ненулевых
начальных условиях
При ненулевом начальном значении вектора состояния системы
x  0   [1 1 1 1]T и отсутствии внешних воздействий на систему уравнения (3.12)
имеют вид
zt 1  Jzt ,
(3.15)
yt  C g Szt .
Соответствующий файл в Matlab имеет вид
getDiscrNNUProcess.m
function getDiscrNNUProcess(sysDisc)
[Ag,Bg,Cg,Dg,T]=ssdata(sysDisc);
tk=14.028;
n=tk/T;
[S,J]=eig(Ag);
x0=[1 1 1 1]';
z=zeros(length(Ag), n);
y=zeros(1, n);
Srev=S^(-1);
z(:,1)=J*Srev*x0;
for i=2:1:n
y(i-1)=Cg*S*z(:,i-1);
z(:,i)=J*z(:,i-1);
end
stairs(0:T:tk-T,y); title('Ненулевые начальные условия');xlabel('Время (с)');
ylabel('Амплитуда');
end
На рисунке 3.9 изображен получившийся график. А на рисунке 3.10 график,
полученный с помощью функции пакета Matlab Control System: initial(sysDiscr,x0).
Нетрудно заметить, что они имеют одинаковый вид.
28
Ненулевые начальные условия
1.2
1
Амплитуда
0.8
0.6
0.4
0.2
0
-0.2
0
2
4
6
8
Время (с)
10
12
14
Рисунок 3.9 – Ненулевые начальные условия дискретной системы
Response to Initial Conditions
1.2
1
Amplitude
0.8
0.6
0.4
0.2
0
-0.2
0
2
4
6
8
10
12
14
Time (seconds)
Рисунок 3.10 – Ненулевые начальные условия дискретной системы (функция Matlab CS)
29
3.6. Анализ переходного процесса дискретной системы при импульсном
воздействии
Рассмотрим дискретную модель системы (3.12) из пункта 3.4. Управляемый
вектор можно представить в виде свертки двух функций:
yt  w  u  Dtt .
(3.16)
При импульсном воздействии, входное воздействие есть дельта-функция
Кронекера:
(3.17)
t0
0,
t  0.
1,
Учитывая что D  [0 0] , используем фильтрующее свойство свертки для
t  
(3.16):
t 1
yt  wt   t   wt 1l l  wt .
(3.18)
t 0
Функция дискретного аргумента wt имеет вид
(3.19)
CAt B,
t0
wt  
t  0.
0,
Применяя представление матрицы A в Жордановой форме, получим
окончательное выражение для управляемой дискретной величины:
yt  CSJ t S 1B.
(3.20)
Соответствующий файл в Matlab имеет вид:
30
getDiscrImpProcess.m
function getDiscrImpProcess(sysDisc)
[Ag,Bg,Cg,Dg,T]=ssdata(sysDisc);
tk=40.08;
n=tk/T;
[S,J]=eig(Ag);
y1=zeros(1, n);
y2=zeros(1, n);
Srev=S^(-1);
Jt=eye(length(Ag));
for i=2:1:n
y1(i-1)=Cg*S*Jt*Srev*Bg(:,1);
y2(i-1)=Cg*S*Jt*Srev*Bg(:,2);
Jt=Jt*J;
end
subplot(1,2,1);stairs(0:T:tk-T,y1); title('Импульсное воздействие на входное
воздействие'); xlabel('Время (с)'); ylabel('Амплитуда'); axis([0, 25, 0 0.1]);
subplot(1,2,2);stairs(0:T:tk-T,y2); title('Импульсное воздействие на изменение
нагрузки'); xlabel('Время (с)'); ylabel('Амплитуда'); axis([0, 25, 0 0.1]);
end
3.5
-3
воздействие на u
xИмпульсное
10
2
-3
Импульсное
воздействие на Pн
x 10
3
0
2.5
-2
Амплитуда
Амплитуда
2
1.5
1
0.5
-4
-6
0
-8
-0.5
-1
0
10
20
30
Время (с)
40
-10
0
10
20
30
Время (с)
Рисунок 3.11 –Дискретное импульсное воздействие
31
40
Impulse Response
From: In(1)
From: In(2)
0.02
0
Amplitude
-0.02
-0.04
-0.06
-0.08
-0.1
0
5
10
15
0
5
10
15
Time (seconds)
Рисунок 3.12 – Дискретное импульсное воздействие (функция Matlab CS)
Анализ графиков на рисунках 3.11-3.12 показывает соответствие между
пользовательскими графиками и графиками, построенными Matlab Control System с
помощью фунrции impulse(sysDisc).
32
4. Анализ частотных характеристик
В данной части работы будут рассмотрены частотные характеристики
системы.
4.1 Амплитудно-фазовая частотная характеристика (АФЧХ) непрерывной
модели
Одним из видов типовых воздействий являются гармонические воздействия
ut  Aвх cos t .
(4.1)
Управляемая величина y  t  имеет гармонический вид и смещение по фазе  :
yt  Aвых cos t   .
(4.2)
Используя линейную модель "вход-выход" и формулу Эйлера получим
выражение, определяющее частотные свойства системы:
y  j 
 W  p  p  j  W  j  .
u  j 
(4.3)
При этом
W  j   U    jV   ,
W  j  
Aвых  
 U 2    V 2   , .
Aвх  
(4.4)
 V   
arg W  j       arctg 
.
U





Амплитудно-фазовая частотная характеристика представляет собой годограф
точек на комплексной плоскости, где по оси абсцисс откладывается вещественная
часть U    Re  W  j   , а по оси ординат – мнимая V    Im  W  j   .
Поскольку из пункта 2.2 мы получили значение передаточной функции
Wu  p  
WPн  p  
1.2
,
p  13.2 p  34.6 p 2  26.4 p  16
4
3
0.1 p 3  13 p 2  32 p  20 
p 4  13.2 p 3  34.6 p 2  26.4 p  16
33
.
,
(4.5)
то для комплексной частотной характеристики имеем
Wu  j  
1.2
,
  34.6  16  j  13.2 3  26.4 
4
2
1.3  2  j  0.1  3.2 
2
WPн  j  
(4.6)
3
.
 4  34.6 2  16  j  13.2 3  26.4 
Модуль комплексной частотной характеристики имеет вид
Wu  j  
1.2

4
 34.6  16    13.2  26.4 
2
2
3
2
,
(4.7)
WPн  j  
1.3

4
2
 2    3  3.2 
2
2
 34.6  16    13.2  26.4 
2
2
3
2
,
Аргумент комплексной частотной характеристики:
 13.2 3  26.4 
,
4
2


36.4


16


 u    arg  Wu  j    arctg 
(4.8)
 P    arg  WP  j  
н
н
  3  3.2 
 13.2 2  26.4 
 arctg 
  arctg  4
.
2
2
 1.3  2 
   36.4  16 
Представим частотную характеристику в комплексном виде, умножив в
формулах (4.6) знаменатель на сопряженный множитель:
34
Wu  j   U u    jVu  
U u   
Vu   

1.2  4  34.6 2  16 
4
2
,
2
,
 34.6  16    13.2  26.4 
2
2
3
1.2 13.2 3  26.4 
 4  34.6 2  16    13.2 3  26.4 
2
(4.9)
WPн  j   U Pн    jVPн   ,
U Pн   
VPн   

0.02 6  2.1 4  5.52 2  32
4
 34.6  16    13.2  26.4 
2
2
3
2
0.1 7  10.5 5  53.94 3  1.6
 4  34.6 2  16    13.2 3  26.4 
2
2
,
.
Теперь, используя формулы (4.9), мы можем построить графики частотных
характеристик в декартовых координатах в Matlab для диапазона частот   0,  .
Ниже представлен код в Matlab, реализующий построение.
AFChH.m
V1=(1.2*(13.2*w^3-26.4*w))/((w^4-34.6*w^2+16)^2+(-13.2*w^3+26.4*w)^2);
U1=(1.2*(w^4-34.6*w^2+16))/((w^4-34.6*w^2+16)^2+(-13.2*w^3+26.4*w)^2);
V2 =(0.1*(w^7)+10.5*(w^5)+53.94*(w^3)+1.6*w)/((w^4-34.6*w^2+16)^2+(13.2*w^3+26.4*w)^2);
U2 =(-0.02*(w^6)-2.1*(w^4)+5.52*(w^2)-32)/((w^4-34.6*w^2+16)^2+(13.2*w^3+26.4*w)^2);
subplot(1,2,1);ezplot(U1,V1);grid on; axis([-0.2 0.1 -0.2 0.16]);
xlabel('Real');ylabel('Image'); title('АФЧХ W_u');
subplot(1,2,2);ezplot(U2,V2);grid on;axis([-0.2 0.1 -0.2 0.16]);
xlabel('Real');ylabel('Image');title('АФЧХ W_P_н');
35
Рисунок 4.1 – АФЧХ
На рисунке 4.2 приведены АФЧХ для данной системы, найденные с помощью
встроенной функции Matlab CS nyquist(sys1) для всего диапазона частот
  , . Найти способ выделить только положительные частоты, к сожалению,
не удалось.
Nyquist Diagram
From: In(1)
From: In(2)
0.15
0.1
Imaginary Axis
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.2
-0.1
0
0.1
-0.2
Real Axis
-0.1
0
0.1
Рисунок 4.2 – Диаграммы Найквиста
Из этих рисунков можно сделать вывод о совпадении АФЧХ, полученными
двумя способами, изложенными выше.
36
4.2. Амплитудно-частотная характеристика (АЧХ) непрерывной модели
По формулам (4.7) из предыдущего пункта построим АЧХ непрерывной
системы. Построение выполним в логарифмическом масштабе, чтобы охватить
больший диапазон частот и проанализировать характер изменения АЧХ в целом.
Ниже представлен код в Matlab, реализующий построение.
AChH.m
r11=zeros(1,100000);
r22=zeros(1,100000);
w=[0:0.01:1000] ;
for i=1:1:100001
r11(i)=1.2/ sqrt((((w(i)^4)+(-34.6*(w(i)^2))+16)^2)+((13.2*(w(i)^3)+26.4*w(i))^2));
r22(i)=(sqrt((1.3*w(i)^2-2)^2+(0.1*w(i)^3-3.2*w(i))^2))/sqrt((((w(i)^4)+(34.6*(w(i)^2))+16)^2)+((-13.2*(w(i)^3)+26.4*w(i))^2));
end
subplot(1,2,1); loglog(r11);grid on;
ylabel('Amplitude');xlabel('Frequancy');
axis([0 1000 10^-4 1]);title('AЧХ W_u');
subplot(1,2,2);loglog(r22);grid on;
ylabel('Amplitude');xlabel('Frequancy');
axis([0 1000 10^-4 1]);title('AЧХ W_P_н');
С помощью функции Matlab CS bode(sys) мы также получили
логарифмическую амплитудно-частотную характеристику.
37
AЧХ W u
0
10
-1
-1
10
Amplitude
Amplitude
10
-2
10
-3
-2
10
-3
10
10
-4
10
AЧХ W Pн
0
10
-4
-2
10
0
10
Frequancy
10
2
10
-2
10
0
10
Frequancy
2
10
Рисунок 4.3 – АЧХ
Amplitude-Frequency Characteristic
10
To: Out(1)
Amplitude (abs)
10
10
10
10
From: In(1)
0
From: In(2)
-1
-2
-3
-4
10
-2
10
0
10
2
10
-2
10
0
10
2
Frequency (rad/s)
Рисунок 4.4-АЧХ (функция Matlab CS)
4.3. Фазочастотная характеристика (ФЧХ) непрерывной модели
По формулам (4.8) пункта 4.1 построим ФЧХ непрерывной системы. Ниже
представлен код в Matlab, реализующий построение.
38
PChH.m
phi1=zeros(1,100000);
phi2=zeros(1,100000);
w=[0:0.01:1000] ;
for i=1:1:100001
phi1(i)=(-atan((-13.2*(w(i)^3)+24.6*w(i))/(w(i)^4-34.6*(w(i)^2)+16)))*180/pi;
phi2(i)=(atan((0.1*w(i)^3-3.2*w(i))/(1.3*w(i)^2-2))-atan((13.2*(w(i)^3)+24.6*w(i))/(w(i)^4-34.6*(w(i)^2)+16)))*180/pi;
end
% subplot(1,2,1); semilogx(w,phi1,'Color',[1 0 0]);grid on;hold on;
ylabel('Phase');xlabel('Frequancy'); title('AЧХ W_u');
phi1=deleteRazrivTangens(phi1);
phi2=deleteRazrivTangens(phi2);
subplot(1,2,1); semilogx(w,phi1);grid on; axis([10^(-2) 10^3 -360 180]);
ylabel('Phase');xlabel('Frequancy');
title('ФЧХ W_u');
subplot(1,2,2);semilogx(w,phi2);grid on;axis([10^(-2) 10^3 -360 180]);
ylabel('Phase');xlabel('Frequancy');
title('ФЧХ W_P_н');
Здесь была использована вспомогательная функция deleteRazrivTangens,
возвращающая непрерывную характеристику ФЧХ:
deleteRazrivTangens.m
function f=deleteRazrivTangens(f)
israzriv =1;
while israzriv==1
israzriv=0;
for i=1:1:100001
if (i>1) && abs (f(i)-f(i-1))>160
israzriv=1;
if (f(i)-f(i-1))>160
f(i)=f(i)-180;
elseif (f(i)-f(i-1))<160
f(i)=f(i)+180;
end
end end end end
39
ФЧХ W Pн
150
150
100
100
50
50
0
0
-50
-50
Phase
Phase
ФЧХ W u
-100
-100
-150
-150
-200
-200
-250
-250
-300
-300
-350
-350
-2
10
0
2
10
Frequancy
-2
10
0
10
10
Frequancy
2
10
Рисунок 4.4 – ФЧХ
С помощью функции Matlab CS bode(sys) мы получили фазо-частотную
характеристику с логарифмированной областью частот.
Phase-Frequency Characteristic
From: In(1)
From: In(2)
180
90
To: Out(1)
Phase (deg)
0
-90
-180
-270
-360
-2
10
0
10
2
10
-2
10
0
10
Frequency (rad/s)
Рисунок 4.5-ФЧХ (функция в Matlab)
40
2
10
Сравнивая рисунок 4.4 и рисунок 4.5, можно сказать о совпадении характера
изменения характеристики в том и другом случае, однако для ФЧХ изменения
нагрузки Pн наблюдается фазовый сдвиг равный 180 . Причины этого явления пока
не установлены.
4.4. Амплитудно-фазовая частотная характеристика дискретной модели
Рассмотрим периодическое возмущение для дискретной системы.
uk  A1 cos 1Tk 
(4.10)
Установившаяся реакция в этом случае является гармонической функцией той
же частоты с амплитудой Aвых  A1  W  j1T   и относительным сдвигом фаз
  arg  W  j1Tk   . Формулы (4.4) принимают вид
W  j1T   U 1T   jV 1T  ,
W  j1T  
Aвых 1T 
 U 2 1T   V 2 1T  , .
Aвх 1T 
(4.11)
 V 1T  
arg W  j1T    1T   arctg 
.
U

T


1


Следующий код Matlab выполняет построение АФЧХ для дискретной модели
системы с шагом дискретизации T  0.1002 .
На рисунке 4.6 изображен график АФЧХ для дискретной модели для частот
 [  ] . Такое ограничение для рассматриваемых частот можно сделать,
поскольку дискретные системы имеют периодические частотные характеристики с
периодом 2 .
На рисунке 4.7 изображен график АФЧХ для дискретной модели, полученной
с помощью функции Matlab CS nyquist(sysdiscr). Вследствие небольшого значения
времени дискретизации вид графика похож на полученный в пункте 4.1
аналогичный график для АФЧХ непрерывной модели.
41
ApchHdisc.m
function ApchHdisc(tfdisc)
[aw,bw]=tfdata(tfdisc);
T=0.1002; w1=T;l=2*pi/T;
w=[w1:T:l];
y1=polyval(aw{1},w*j)./polyval(bw{1},w*j);
y2=polyval(aw{2},w*j)./polyval(bw{2},w*j);
subplot(1,2,1);stem(real(y1),imag(y1),'fill','Linestyle','none','Markersize',4);grid on;
%axis([-0.2 0.1 -0.2 0.16]);
xlabel('Real');ylabel('Image'); title('АФЧХ W_u');
subplot(1,2,2);h=stem(real(y2),imag(y2),'fill','Linestyle','none','Markersize',4);grid
on; % axis([-0.2 0.1 -0.2 0.16]);
xlabel('Real');ylabel('Image');title('АФЧХ W_P_н');
end
АФЧХ W u
-5
1.5
x 10
-3
6
x 10
АФЧХ W Pн
1
5
0.5
4
Image
Image
0
-0.5
3
-1
2
-1.5
1
-2
-2.5
-2
-1
0
Real
1
2
0
0
0.005
0.01
Real
-5
x 10
Рисунок 4.6 – АФЧХ для дискретной модели
42
0.015
Nyquist Diagram
From: In(1)
From: In(2)
0.2
0.15
Imaginary Axis
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.2
-0.1
0
0.1
-0.2
-0.1
0
0.1
Real Axis
Рисунок 4.7 – АФЧХ для дискретной модели (функция в Matlab)
4.5. Амплитудно-частотная характеристика (АЧХ) дискретной модели
АЧХ дискретной модели описывают формулы (4.7)
Wu  jk  
1.2

4
k
 34.6k  16    13.2k  26.4k 
2
2
3
2
,
(4.12)
WPн  jk  
1.3

4
k
2
k
 2    3  3.2k 
2
2
 34.6k  16    13.2k  26.4k 
2
2
3
2
,
Для построения АЧХ воспользуемся функцией Matlab bode(sysdiscr)
43
Amplitude-Frequency Characteristic
10
To: Out(1)
Amplitudee (abs)
10
10
10
From: In(1)
0
From: In(2)
-2
-4
-6
10
-2
10
0
2 -2
1010
10
0
10
2
Frequency (rad/s)
Рисунок 4.8-АЧХ для дискретной модели
4.6. Фазочастотная характеристика (ФЧХ) дискретной модели
ФЧХ данной системы будет описываться следующими формулами
 13.2k 3  26.4k 
 u k   arg  Wu  jk    arctg  4
,
2


36.4


16
k
 k

(4.13)
 P k   arg  WP  jk  
н
н
 k 3  3.2k
 arctg 
2
 1.3k  2

 13.2k 2  26.4k 
  arctg  4
.
2

 k  36.4k  16 
Для построения ФЧХ воспользуемся функцией Matlab bode(sysdiscr)
44
Phase-Frequency Characteristic
From: In(1)
From: In(2)
180
90
-90
To: Out(1)
Phase (deg)
0
-180
-270
-360
-450
-540
-2
10
10
0
2 -2
1010
10
0
Frequency (rad/s)
Рисунок 4.9 – ФЧХ для дискретной модели
45
10
2
5. Анализ устойчивости системы
Устойчивость системы является одним из главных требований, предъявляемы
к автоматическим системам.
5.1. Корневые критерии устойчивости
Корневые критерии устойчивости определяют условия устойчивости
линейных систем управления на основе анализа корней характеристических
уравнений.
Рассмотрим линейную непрерывную систему, определяемую передаточной
функцией
y  t  A  p   u  t  B  p   0.
(5.1)
С точки зрения устойчивости нас интересует только переходная
составляющая, т.е. общее решение дифференциального уравнения
y  t  A  p   y  t   a0 p n  a1 p n1  ...  an1 p  an   0.
(5.2)
Решение уравнения (5.1), как известно, представляется в виде
n
y  t    ci e
p n i t
(5.3)
,
i 1
где c1 , c2 ,..., cn  произвольные постоянные, зависящие от начальных значений
управляемой величины и ее производных, а p1 , p2 ,..., p n  некратные корни
характеристического уравнения
a0 p n  a1 p n1  ...  an1 p  an  0.
(5.4)
Используя определения устойчивости Ляпунова, получим, что система будет
асимптотически устойчивой, если
lim y  t   0.
(5.5)
t 
Это условия выполняется, если каждая из составляющих решения (5.3) с
течением времени стремиться к нулю.
Вещественным корням pi   i соответствуют составляющие ci eit . При  i  0
они затухают, а при  i  0 нарастают.
46
Комплексным корням (они могут быть только попарно сопряженными)
pi ,i1  i  ii соответствует пара составляющих, сумму которых можно определить
следующим образом:
it
ci e pit  ci 1e pi 1t  Ae
cos  it   i  ,
i
(5.6)
Где Ai и  i - новые произвольные постоянные. Вызванный этими корнями
колебательный процесс затухает при  i  0 и расходится при  i  0 .
Таким образом, мы получили необходимое и достаточное условие
асимптотической устойчивости системы:
Re pi  0
i  1,2,..., n
(5.7)
Для нашей непрерывной системы имеем следующие корни
характеристического уравнения
1  9.9829
 2  2.4752
 3,4  0.3710  0.7141i.
(5.8)
Из (5.8) очевидно следует устойчивость нашей непрерывной системы.
Для дискретной системы критерий устойчивости приобретает вид
pi  1
i  1,2,..., n.
(5.9)
Для нашей дискретной системы имеем следующие корни характеристического
уравнения
1 = 0.3678
 2 = 0.7804
 3,4 = 0.9610  0.0689i.
(5.10)
Из (5.10) очевидно следует устойчивость дискретной системы.
5.2. Критерии устойчивости А. М. Ляпунова
Сформулируем критерии асимптотической устойчивости линейных систем,
используя их уравнения невозмущенного движения. Для этого выберем
квадратичные функции Ляпунова: V  x   xT P x и Vt  x   xt T P xt , P  PT  0 , для
47
непрерывных и дискретных систем соответственно и вычислим полную
производную по времени функции Ляпунова V  x  в силу уравнений непрерывных
систем и приращение Vt в силу уравнений дискретных систем. Тогда для
непрерывных систем будем иметь:
V  x   Vx  x  x  xT P x  xT P x
x  Ax
 xT  AT P  PA x,
(5.11)
а для дискретных:
Vt  Vt 1  Vt  xtT1Pxt 1  xtT Pxt
xt 1  Axt
 xtT  AT PA  P  xt .
(5.12)
Если потребовать отрицательную определенность функций V  x  и Vt ,
приравняв эти функции некоторой отрицательно определенной функции   xT Qx 
или   xtT Qxt  , где Q  QT  0 , то можно получить уравнения Ляпунова для
непрерывных систем, приняв Q  E :
AT P  PA  E,
(5.13)
И для дискретных систем:
AT PA  P   E.
(5.14)
Для получения решений уравнений (5.13) и (5.14) используются функций
Matlab CS: P  lyap  A ', Q  и Pd  dlyap  Ad ',Q  соответственно. Анализ
положительной неопределенности может производиться использованием
разложения Холецкого R  chol  P  . При положительной определенности матрицы
P разложение Холецкого успешно завершается и все диагональные элементы
матрицы R являются положительными вещественными величинами.
В результате выполнения функций P  lyap  A ',E  и R  chol  P  мы получили
разложение Холецкого для непрерывной системы:
(5.15)
0.2511 0.2596 0.2741 1.8440 
 0
0.5505 0.6003 2.3060 


R
 0
0
1.2004 10.7343 


0
0
10.4902.
 0
При выполнении Pd  dlyap  Ad ',E  и Rd  chol  Pd  мы получили разложение
Холецкого для дискретной системы:
48
мы получили следующую матрицу
(5.16)
1.1338 0.5596 0.6061 3.4197 
 0
1.9793 1.8512 4.9559 


Rd 
 0
0
3.9305 33.1426 


0
0
34.6449.
 0
Разложения Холецкого, таким образом, успешно завершились и все
диагональные элементы матрицы R являются положительными вещественными
величинами, что говорит об устойчивости непрерывной и дискретной системы.
5.3. Условие Стодолы для непрерывных систем
Рассмотрим характеристический полином непрерывной системы
 n  p   a0 p n  a1 p n1  ...  an1 p  an .
(5.17)
Условие Стодолы есть необходимое условие того, что Re pi  0 . Оно
заключается в требовании ai  0 для коэффициентов характеристического
полинома.
Поскольку для данной системы характеристический полином имеет вид
 n  p   p 4  13.2 p 3  34.6 p 2  26.4 p  16,
(5.18)
то очевидно условие Стодолы выполняется.
5.4. Критерий Шура-Кона для дискретных систем
Для дискретных систем необходимым условием того, что pi  1 , является
критерий Шура-Кона. Он заключается в требовании чередования знаков
определителей:  k  0 при четном k и  k  0 при нечетном k . При этом
определитель  k  определить порядка 2k , формируемый из подматриц:
k 
A1k
k
2
A
A 
A 
k T
2
k T
1
(5.19)
,
Где подматрицы определяются равенствами (5.20)
49
 an
a
 n1
k
A1   an2

...
 ank 1
0
an
an1
...
ank  2
0
 a0
a
0

 1
k
0  ; A2   a2


... 0 
...
 ak 1
... an 
...
...
...
0
a0
a1
...
ak 2
0
0

0 .

... 0 
... a0 
...
...
...
(5.20)
Характеристический полином для дискретной системы имеет вид
 d  p   p 4  3.07 p 3  3.422 p 2  1.6175 p  0.2664.
(5.21)
Для сокращения временных затрат на составления матриц (5.20) была
составлена программа на Matlab, выполняющая проверку системы по критериям
Шура-Кона:
Schur_Kohn.m
function Schur_Kohn(p)
n=length(p);
f=0;
for i=1:1:n-1
A1=zeros(i);
A2=zeros(i);
D=zeros(2*i);
for k=1:1:i
for j=1:1:i
if (j>=k)
A1(j,k)=p(n-j+k);
A2(j,k)=p(j-k+1);
else
A1(j,k)=0;
A2(j,k)=0;
end
end
end
D= horzcat(vertcat(A1,A2),vertcat(A2',A1'));
disp('При k=');disp(i);disp('det(D)');disp(det(D));
if ((det(D)<0 && mod(i,2)==1) || (det(D)>0 && mod(i,2)==0))
f=f+1;
end
end
if f==n-1
display ('Критерии Шура-Кона выполняются - система устойчива!');
else display ('Критерии Шура-Кона не выполняются - система неустойчива!');end end
50
Рисунок 5.1 – Проверка критериев Шура-Кона
Как видно из рисунка 5.1 данная дискретная система удовлетворяет критериям
Шура-Кона и является устойчивой.
5.5. Критерий Гурвица для непрерывных систем
Для характеристического уравнения (5.17) составим квадратную матрицу M
коэффициентов размером n  n
 a1 a3 a5 ... 0
 a a a ... 0
2
4
 0
 0 a1 a3 ... 0

M   0 a0 a2 ... 0
 ... ... ... ... ...

 0 0 0 ... an1
 0 0 0 ... a
n2

которая составлена следующим образом.
0
0

0

0 ,
... 

0
an 
(5.22)
По диагонали о левого верхнего до правого нижнего углов выписываются все
коэффициенты по порядку от a1 до an . Каждая строка дополняется коэффициентами
с нарастающими индексами слева направо так, чтобы чередовались строки с
нечетными и четными индексами. В случае отсутствия данного коэффициентами, а
также, если индекс его меньше нуля или больше n , на месте его пишется нуль.
51
Критерий устойчивости сводиться к том, что все угловые миноры матрицы M
должны быть больше нуля.
Для системы 4 порядка матрица M будет выглядеть следующим образом:
 a1 a3 0 0 
a a a
(5.23)
0
0
2
4
.
M 
 0 a1 a3 0 


 0 a0 a2 a4 
Критерий устойчивости Гурвица будет формулироваться следующим образом:
1  a1  0
(5.24)
  a a  a a  0
2 1
3 0
 2

2
3  a3  a1a2  a0 a3   a1 a4  0
  a   0  a  0
4 3
4
 4
Для характеристического уравнения непрерывной системы (5.18) имеем 1  1  0 ,
 2  430.32  0 ,  3 = 9.9665e+03>0 , a4  16  0 . Все угловые миноры строго
положительны, поэтому непрерывная система является устойчивой.
5.6. Критерии Михайлова
Критерии Михайлова для непрерывных и дискретных систем являются метода
анализа системы на устойчивость, использующие годографы характеристических
полиномов.
Непрерывная система является устойчивой, если при возрастании  от 0 до
 комплексный вектор  n  j  повернется на угол
характеристического полинома  n  p  .

2
n , где n  степень
Годограф Михайлова  n  j  при возрастании  от 0 до  обходит
последовательно, начиная с положительной действительной полуоси, в
положительном направлении n квадрантов. Годограф будем строить в декартовой
системе координат, где ось абсцисс представляет собой вещественную часть
Re   n  j   , а ось ординат – мнимую Im   n  j   . Поскольку
 n  j    4  34.6 2  16  j  13.2 3  26.4  , то годограф Михайлова будет
построен, используя следующий код Matlab:
52
MichDef.m
syms w;
V1=-13.2*w^3+26.4*w;
U1=w^4-34.6*w^2+16;
subplot(1,2,1);ezplot(U1,V1);grid on; axis([-500 500 -2750 100]);
xlabel('Real');ylabel('Image'); title('Годограф Михайлова');
subplot(1,2,2);ezplot(U1,V1);grid on; axis([-100 100 -100 100]);
xlabel('Real');ylabel('Image'); title('Годограф Михайлова');
Годограф Михайлова
0
Годограф Михайлова
-500
100
50
Image
Image
-1000
-1500
0
-50
-2000
-100
-100
-50
0
Real
50
100
-2500
-500
0
Real
500
Рисунок 5.1 – Годограф Михайлова непрерывной системы (в разных масш.)
Как видно из рисунка 5.1, годограф пересекает n  4 квадранта плоскости,
следовательно, непрерывная система является устойчивой.
Для дискретных систем, вследствие изменения принципа аргумента, условие
устойчивости есть требование обхода годографом  d  j  при изменении  от 0 до
 последовательно 2n квадрантов плоскости. Поскольку
 d  p   p 4  3.07 p 3  3.422 p 2  1.6175 p  0.2664 , то годограф Михайлова будет
построен, используя следующий код Matlab:
53
MichDefdisc.m
T=0.1002;
w1=0;
l=2*pi/T;
w=[w1:T:l];
V1=zeros(1,l);U1=zeros(1,l);
for i=1:1:2*pi/T
V1(i)=3.0702*w(i)^3-1.6175*w(i);
U1(i)=w(i)^4-3.422*w(i)^2+0.2664;
end
plot(U1,V1);grid on; axis([-5 2 -2 20]);
xlabel('Real');ylabel('Image'); title('Годограф Михайлова');
Годограф Михайлова
20
18
16
14
Image
12
10
8
6
4
2
0
-2
-5
-4
-3
-2
-1
0
1
2
Real
Рисунок 5.2 – Годограф Михайлова дискретной системы
Из рисунка 5.2 видно, что годограф проходит последовательно через n  4
квадранта, в то время когда для устойчивости системы требуется прохождения через
2n квадрантов. Значит можно сделать вывод о том, что дискретная система
неустойчива по Михайлову, что противоречит полученным раннее результатом.
54
5.7 Критерий Найквиста
Для того, чтобы система была устойчива по Найквисту необходимо и
достаточно, чтобы АФЧХ W  j  замкнутой системы охватывало точку на
m
раз, где m  количество корней
2
характеристического полином, лежащих в правой полуплоскости.
комплексной плоскости  1,0  ровно
В пункте 4.1 была получена АФЧХ для многомерной управляемой величины.
Приведем его здесь еще раз:
Рисунок 5.3-АФЧХ
Очевидно, что АФЧХ не охватывает точки  1,0  . Характеристический
полином системы не имеет корней с положительной вещественной частью, т.е.
m  0 , поэтому непрерывная система устойчива по Найквисту.
Дискретная система будет являться устойчивой по Найквисту в том и только в
m
том случае, если годограф W  j  охватывает точку  1,0 
раз, где m  число
2
корней с положительной характеристического полинома  d  j  при изменении 
от 0 до  .
55
Список использованной литературы:
1. Козлов В. Н. "Управление энергетическими системами. Теория
автоматического управления", 2008г.
2. Козлов В. Н. "Теория автоматического управления" , учебное пособие,
2008г.
56
Download