Convert transfer function in state-space model question

Hi,
I have a little probleme about how to the LabView transform transfer function in state-space model.
I have the same problem modeling in LabView and Matlab but the results are differents.
In Matlab I have:
s=tf('s');
Kp=1;Ti=2;Td=0;
CC=Kp*(1+1/Ti/s+Td*s);
CC.InputName={'o1'}; CC.OutputName={'i1'};
[A,B,C,D]=ssdata(CC);
CC=ss(A,B,C,D,'statename',{'x0'}, 'inputname',{'ii1'}, 'outputname',{'i1'})
give this
Transfer function:
s + 0.5
-------
s
State-space model
a =
x0
x0 0
b =
i1
x0 0.5
c =
x0
o1 1
d =
i1
o1 1
And in LabView I have:
Transfer function:
s + 0.5
-------
s
State-space model
a =
x0
x0 0
b =
i1
x0 1
c =
x0
o1 0.5
d =
i1
o1 1
I mean that the values of Matrices B and C are interchenged.
Can anybody to tell my why is that happening?
I'm looking forward to your answers.
Thank you in advance.
Best Regardes,
Laurentiu Aioanei

Answers (1)

Laurentiu, The state space representation is not unique, you can get an infinite number of state space representation, depending on what you consider as states. The transfer function is unique, you can check by converting both your two state space representation, you will get the same transfer function
% Labview ss model
a=0;
b=1;
c=0.5;
d=1;
ss_labview_model=ss(a,b,c,d);
your_original_model=tf(ss_labview_model)

Tags

Asked:

on 10 Feb 2014

Answered:

on 10 Feb 2014

Community Treasure Hunt

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

Start Hunting!