Continuous-time model -> Discrete-time model
Ältere Kommentare anzeigen
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.
Antworten (2)
chetan
am 17 Okt. 2011
0 Stimmen
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
am 17 Okt. 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);
Kategorien
Mehr zu Discretization finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!