I have this dynamical system:
A = [ -0.313 56.7 0
-0.0139 -0.426 0
0 56.7 0];
B = [0.232
0.0203
0 ];
C = [0 0 1];
D = 0;
I'm using the c2d Matlab command to convert it to discrete time. This system is supposed to be stable but why does it behave like this if I use a sample time lower than 1s? With time sample 1s it is stable and converges to 0.
Also, I'm using full state feedback to place its poles at 0.5
Thanks in advance
edit
- Matrices given above are for the continuous time system.
- The response shown is for the closed loop discrete time system.
- The full state feedback is designed for the discrete time system.
- There is one pole at origin only, so unitary multiplicity implies stability.
- pole placement
0.5+0i
for the discrete time system. - Full state feedback is designed after doing c2d.
- To get full state feedback gain I used
-place(Ad, Bd, [0.5 0.501 0.502])
- I also noticed that placing poles in 0.8 in full state feedback the system converges to 0
edit 2
Matlab script:
clear;
close all;
clc;
A = [ -0.313 56.7 0
-0.0139 -0.426 0
0 56.7 0];
B = [0.232
0.0203
0];
C = [0 0 1];
T = 100e-3;
sys = ss(A, B, C, 0);
sysd = c2d(sys, T);
Ad = sysd.A;
Bd = sysd.B;
Cd = sysd.C;
p_des = [0.5 0.501 0.502];
Kr = -place(Ad, Bd, p_des);
N = 100;
x(:, 1) = [0 0 pi/9]';
u(:, 1) = 0;
for i=1:N
if (i<N)
x(:, i + 1) = Ad * x(:,i) + Bd * u(:, i);
end
y(:, i) = Cd * x(:, i);
u(:, i + 1) = Kr * x(:, i);
end
k = 1:N;
plot(k, x');
0.5+0i
for the discrete time system. 7 Full state feedback is designed after doing c2d. To get full state feedback gain I used-place(Ad, Bd, [0.5 0.501 0.502])
. $\endgroup$help place
command says "place computes a gain matrix K such that the state feedback u = –Kx places the closed-loop poles at the locations p. In other words, the eigenvalues of A – BK match the entries of p. " In our courses, we studied state feedback considering A+BK in our model, so it explains the negative sign. $\endgroup$