How to find time constants from given 2+ order transfer function?

218 views (last 30 days)
I have a transfer function let us take for e.g k/(100*s^2+20*s+1).In this TF I want to access the denominator as k/(10*s+1)(10*s+1) in such a way that algorithm will return tau1=10,tau2=10.How to get it?

Answers (1)

David Wilson
David Wilson on 26 Aug 2020
If you just want to display the transfer function in time-constant form, you can do the following:
s = tf('s');
k = 45; % anyhting
G = k/(100*s^2+20*s+1) % expanded polynomial form
[z,p,k] = zpkdata(G)
G1 = zpk(z,p,k,'DisplayFormat','timeconstant')
If you want access to the time constants, use damp.m
damp(G)
[w, zeta, p] = damp(G)
tau = 1./w
I',m assuming you have a stable TF. Check with isstable.
  1 Comment
Gerard Nagle
Gerard Nagle on 29 Apr 2023
Edited: Gerard Nagle on 29 Apr 2023
Was trying for hours to get a nice format and do this using my own code. Should have read the documentation closer. Thanks for the answer

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!