How to estimate transfer function from step responses

28 views (last 30 days)
Hallo,
I have measured 3 step responses with different step inputs of a system and I'm trying to find the corresponding transfer function.
Using the ident toolbox, I get a good estimation (2 poles, 1 zeros, discrete time) for each step response, e.g. for the first one:
But this model isn't a good fit when compared to one of the other step responses, i.e. not the one used for the estimation:
How do I find a model that fits well with all 3 step responses? Is something fundamentally wrong with my approach?
Thanks for your help!
Kind regards,
Martin

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 9 Feb 2014
Edited: Azzi Abdelmalek on 9 Feb 2014
When we look at your step response, it's obvious that your model is not linear, there are some saturation at the beginning of your response. This means that you can find a transfer function that represent a linear model with a saturation.
If you can't find the transfer function that fits the three step response, means that you system is not linear in the interval from 0 to 400 (Look at figure). In practice, systems are not linear from 0 to infinite, they are linear around an operating point. Find this interval, estimate the order of your model, then use a graphical method like Strej or parametric like least square method.
To make the least square method efficient, your measured values should be disturbed

More Answers (0)

Categories

Find more on Linear Model Identification 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!