Автор работы: Пользователь скрыл имя, 30 Ноября 2010 в 23:19, Не определен
Курсовая работа
До этого пункта мы рассматривали объект в «пространстве состояний» в непрерывной форме, сейчас необходимо перейти к дискретной модели объекта.
Система уравнений в «пространстве состояний» для непрерывной модели:
x' = Ax + Bu
y = Cx + Du (3.1)
x(t0) =
x0
Необходимо привести нашу систему к дискретной форме. Поскольку соотношение (3.1) верно для непрерывных систем, то оно выполняется тем более и для дискретных систем, так как в случае последних мы делим интересующий нас промежуток времени на конечное число фиксированных разбиений. И интересуемся, соответственно, поведением системы только в точках этого разбиения.
(3.4)
На этом этапе
возникает подзадача о
Оператор дифференцирования (3.1) заменяется на реккурентность первого уравнения системы (3.4).
Второе уравнение
системы (3.4)
есть не что иное, как
выражение для вектора выходных переменных
в интересующих нас точках. Поэтому матрицы
С и D равны своим дискретным аналогам.
Матриц A и B вычисляются таким способом:
Для выбора частоты дискретизации(периода Т дискретизации) необходимо представлять себе приблизительный порядок величин временных констант системы в переходном режиме. Пусть T= 1c.
Программа для
расчета матриц дискретной системы:
A = [-1.01 1 0 0; -27.302 0 1 0; -0.275 0 0 1; -0.068 0 0 0]
B = [ 0; -15; -6; -0.086]
C = [1 0 0 0]
D= [0]
[S,J]=eig(A)
T=1
eAT=S*expm(J*T)*inv(S)
E=eye(4)
Ad=expm(A*T)
Bd=(Ad-E)*inv(A)*B
Итак имеем следующие
значения матриц системы (3.4):
Ag = S*
=
Bg =(Ag-E)**B
=
Cg =
Dg =
Тогда для t-того шага имеем:
Для перехода к жордановой матрице J от дискретной матрицы A, необходимо проделать замену базиса
Новый базис определяется
соотношением:
Собственные значения дискретной матрицы соответственно равны:
λ1 = 0.2841 + 0.5359i
λ2 = 0.2841 – 0.5359i
λ3 = 0.9938 + 0.0494i
λ4
= 0.9938 - 0.0494i
На данном шаге
цель состоит в вычислении степени
матрицы из жордановой формы. Неособенная
матрица Sg находится при
помощи процедуры Matlab.
Sg =
Имеем дискретную
модель в пространстве состояний:
Введем в оператор сдвига вперед:
: , .
Получим:
.
,
Тогда модель вход-выход будет иметь вид ,
где
- передаточная функция дискретного
объекта в операторной форме.
-резольвента
.
Поиск резольвенты
Используем алгоритм Леверье-Фаддеева для нахождения резольвенты:
, - полиномиальная матрица,
- характеристический полином матрицы.
b1
= Е4=
a1= - trace (b1*Ad) = -2.5558
b2 = b1*Ad+a1*E =
a2
= -
trace(b2*Ad) = 2.4876
b3 = b2*Ad+a2*E =
a3=-
trace(b3*Ad)= -1.2938
b4=b3*Ad+a3*E=
a4
= -
trace(b4*Ad) = 0.3643
Подставим
вычисленные коэффициенты в полиномиальную
матрицу (3), получим:
B(p) = * p3 + * p2 +
+ *p +
Подставим
вычисленные коэффициенты в характеристический
полином матрицы А, получим:
,
Найденные полиномиальные
матрицы подставляем в выражение для передаточной
матрицы:
W(p) = C *
* B + D = =
W(ξ) =
Найдена передаточная
функция для дискретной системы,
выпоним проверку в среде MatLab:
Transfer function:
-0.652 z^3 + 1.209 z^2 - 0.6422 z + 0.08272
------------------------------
z^4 - 2.556 z^3 + 2.487 z^2 - 1.294
z + 0.3642
Передаточные функции
совпадают с учётом погрешности
вычисления, что говорит о правильности
проведённых преобразований.
3.3
Реакция линейных непрерывных
объектов на ступенчатое
воздействие
Рассмотрим реакцию объекта на единичное ступенчатое воздействие, т.е.:
U(t)=1(t)
После того как мы проанализировали свойства матриц A, J, S и нашли аналитическое решение системы (3.1) построим графики реакции непрерывной системы на единичное воздействие. Будут построены два графика, один из которых есть аналитическое выражение для выходной функции. Второй график стоится при помощи функции LTI Viewer или Step в среде Matlab и в пакете Control System Toolbox.
Итак, аналитическое
выражения для вектора входного
сигнала есть:
При учете действия
на систему единичного воздействия
при нулевых начальных условиях
получим:
X(t)= S**S-1*B
X(t)= S**S-1*B
Таким образом, выходная
функция :
y(t)= C*x(t)= C*S**S-1*B
Приведем текст написанной процедуры Matlab для построения графика y(t) по аналитическому решению c ненулевыми начальными условиями:
A = [-1.01 1 0 0; -27.302 0 1 0; -0.275 0 0 1; -0.068 0 0 0]
B = [ 0; -15; -6; -0.086]
C = [1 0 0 0]
D= [0]
syms t;
x0=[1;1;1;1];
[S,J]=eig(A)
y=C*S*expm(J*t)*inv(S)*x0
tt=[0:2:1100];
yy=subs(real(y),'t',tt);
figure;
plot(tt,yy,'k');
grid on;
xlabel('Time(c)');
%проверка
figure;
s1=ss(A,B,C,D);
initial(s1,x0);
В качестве выходного аргумента мы получаем значения y(t)в моменты времени.
Нижний график получен
с помощью функции initial среды MatLab и является
проверкой верхнего графика, как видно
графики совпадают, что говорит о правильности
проведённых вычислении.
Графики получены
с помощью процедуры step в среде
MatLab.
3.4 Реакция линейных дискретных объектов на ступенчатое воздействие
Рассмотрим реакцию объекта на
единичное ступенчатое
Перейдем от непрерывной
модели sys1 системы к дискретной при
помощи процедуры с2d среды Matlab.
Непрерывная модель:
A = [-1.01 1 0 0; -27.302 0 1 0; -0.275 0 0 1; -0.068 0 0 0]
B = [ 0; -15; -6; -0.086]
C = [1 0 0 0]
D= [0]
s1=ss(A,B,C,D)
[S,J]=eig(A);
%переход к дискретной модели
sysdiscr =c2d(s1,1)
figure;
step(sysdiscr,s1,20)
figure;
step(sysdiscr,s1,70)
a =
x1 x2 x3 x4
x1 -1.01 1 0 0
x2 -27.3 0 1 0
x3 -0.275 0 0 1
x4 -0.068 0 0 0
b =
u1
x1 0
x2 -15
x3 -6
x4 -0.086
c =
x1 x2 x3 x4
y1 1 0 0 0
d =
u1
y1 0
Continuous-time model.
a =
x1 x2 x3 x4
x1 0.3366 -0.1034 0.02769 0.03922
x2 2.813 0.2322 -0.07546 0.0673
x3 0.02656 -0.01028 0.9881 0.9954
x4 0.007033 -0.001883 -0.002667 0.9989
b =
u1
x1 -0.652
x2 0.7233
x3 -5.837
x4 -0.03952
c =
x1 x2 x3 x4
y1 1 0 0 0
d =
u1
y1 0
Sampling time: 1
Discrete-time model.
Получены следующие графики:
График получен
с помощью функции Step в MatLab.
4.
Импульсные переходные
функции для непрерывных
и дискретных объектов
и систем.
4.1
ИПФ для непрерывных
систем.