Convert from transfer function to time domain

How can I convert from transfer function to time domain?
R0=0.000605797;
Qr=147964.8608;
R1=0.000856205;
C1=0.049823238;
% X=[SOC;Vrc];
A=[0 0;0 -1/R1*C1];
B=[1/Qr;1/C1];
C=[1 1];
D= R0;
% u=Il;
% Equations: X dot= AX+Bu & y= CX+Du+bo
sys= ss(A,B,C,D);
[b,a] = ss2tf(A,B,C,D) ;

 Réponse acceptée

Probably the easiest way is to just simulate it.
R0=0.000605797;
Qr=147964.8608;
R1=0.000856205;
C1=0.049823238;
% X=[SOC;Vrc];
A=[0 0;0 -1/R1*C1];
B=[1/Qr;1/C1];
C=[1 1];
D= R0;
% u=Il;
% Equations: X dot= AX+Bu & y= CX+Du+bo
sys= ss(A,B,C,D);
figure
impulse(sys)
figure
step(sys)
There is no reason to create a transfer function from it.
.

4 commentaires

I just have a state space function, my plan is to convert it to s domain then to time domain because I need it in time domain
I do not understand what you mean by ‘needing it in the time domain’.
Guessing here —
R0=0.000605797;
Qr=147964.8608;
R1=0.000856205;
C1=0.049823238;
% X=[SOC;Vrc];
A=[0 0;0 -1/R1*C1];
B=[1/Qr;1/C1];
C=[1 1];
D= R0;
% u=Il;
% Equations: X dot= AX+Bu & y= CX+Du+bo
sys= ss(A,B,C,D);
tfsys = tf(sys)
tfsys = 0.0006058 s^2 + 20.11 s + 0.0003933 ----------------------------------- s^2 + 58.19 s Continuous-time transfer function.
n = tfsys.Numerator;
d = tfsys.Denominator;
syms s t
H(s) = poly2sym(n,s) / poly2sym(d,s)
H(s) = 
H = vpa(H, 5)
H(s) = 
h(t) = ilaplace(H)
h(t) = 
h = vpa(h, 5)
h(t) = 
figure
fplot(h)
grid
axis([0 0.1 0 20])
This creates the transfer function as a Laplace polynomial fraction, then inverts it. Note that the result is the same as the impulse result in my original post.
.
I understood, Thank you very much
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Produits

Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by