How to estimate transfer function from step responses
10 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Azzi Abdelmalek
2014-2-9
编辑:Azzi Abdelmalek
2014-2-9
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Model Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!