Get transfer function from data and known input

조회 수: 35 (최근 30일)
Or Perez
Or Perez 2022년 5월 31일
댓글: Star Strider 2022년 5월 31일
Hey there :)
So this is what I know about the system:
  • The system is a second order system
  • The input is u(t) = 2·1(t)
  • A structure has been given to me with y(t) against t(sec)
When I plot it I get this graph:
What I need:
I need to find the trasnfer function for the conditions above.
I know that I can find it analytically by finding Mp, Zeta, Wn and etc...
Is there a shortcut to find the transfer function?
I tried working with systemIdentification and tfest but both ways ask me to give the number of poles and zeros which I don't know + I can't tell the program that the data is for the input u(t) = 2·1(t).
This is what I get from systemIdentification tool, but I might be using it wrong:
The code:
data = iddata(Struc.y, Struc.time, 1*10^(-4));
plot(Struc.time, Struc.y, '--r');
hold 'all'
step(tf1)
%tf1 is generated from the systemIdentification tool and data
tnx!
  댓글 수: 2
Walter Roberson
Walter Roberson 2022년 5월 31일
편집: Walter Roberson 2022년 5월 31일
number of poles is 0 unless there are some for negative or complex values.
number of zeros is possibly 1, unless there are more at negative or complex
That said, if you were to subtract approximately 15 you might get an infinite number of 0s.
Walter Roberson
Walter Roberson 2022년 5월 31일
편집: Walter Roberson 2022년 5월 31일
What would you get for something like 12*sin(t)*exp(-t)+15 ?

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2022년 5월 31일
If you know that the system is second-order, use the ssest funciton and specify the order as 2. (State space representations are the best optionos in any event.) You can then use the tf function to convert it to a transfer function.
  댓글 수: 4
Or Perez
Or Perez 2022년 5월 31일
You are truely a life saver.
Thank you sir!
Star Strider
Star Strider 2022년 5월 31일
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Transfer Function Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by