Continuous-time model -> Discrete-time model
Mostra commenti meno recenti
Hi,
In state space equation, A matrix is A = [0 0 1 0;0 0 0 1;-4 2 -.8 .4;2 -4 .4 -.8], B = [0 0;0 0;0.2 0;0 0.2], C = [0 0 1 0;1 0 0 0], and D = [0 0;0 0]. Using function 'ss' I make system, SYS = ss(A,B,C,D) which is continuous-time model. And I draw impulse response using function 'impulse'. But when I try to make the system as discrete-time model, the impulse response drawing is weird. What I did is SYSd = ss(A,B,C,D,0.1), 0.1 is my chosen sampling time. But the impulse response of discrete-time model is totally different from the continuous-time model's one. I already try to change the sampling rate, just like 0.01, 0.001 even 10 and 100. href=""</a>
This is probably rather simple - but I am not sure how to do it so any help would be great. href=""</a>
Thank you.
Risposte (2)
chetan
il 17 Ott 2011
0 voti
Hi Danny, I am also having the same problem... So if in future, any time, if u come to know how to tackle this problem, do share it...
Thanks... :-) Bye and have a nice day.
Fangjun Jiang
il 17 Ott 2011
SYS = ss(A,B,C,D) and SYSd = ss(A,B,C,D,0.1) are not the same. To discretize your continuous model, you need to use c2d(). Also, impulse() is slightly different between continuous and discrete systems. To verify the conversion is correct, use step().
A = [0 0 1 0;0 0 0 1;-4 2 -.8 .4;2 -4 .4 -.8];
B = [0 0;0 0;0.2 0;0 0.2];
C = [0 0 1 0;1 0 0 0];
D = [0 0;0 0];
figure(1);
SYS = ss(A,B,C,D);
step(SYS)
figure(2);
SysD=c2d(SYS,0.1);
step(SysD);
Categorie
Scopri di più su Discretization in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!