Using results from Transfer Function Estimates in System Identification Toolbox
显示 更早的评论
I am using the System Identification Toolbox, to estimate the transfer function of an input - output data set. Both are observed, discrete time-series data.
Using the toolbox, I have generated good results that show best fits of 60-70+ in the compare window. However, when I use the resulting numerator and denominator coefficients from the tf model, then run the input data through a filter using those coefficients, the output data looks nothing like the actual measured output data.
So I have a couple of questions:
- What is the fit line, that is overlaying the measured output data in the compare window? How is that generated from the transfer function using the input data?
- How do I use the results of the transfer function estimate to give output predictions on new input data?
Ultimately I would like to take the transfer function result, repeat the experiment with new input data, and yield output data that matches well with measured output data.
I have simplified this and only have been using SISO, but I will use MIMO for the end system analysis. I have already played with this a bit, and it brought up another question:
- When providing the tfest with MIMO data, let's say 3 inputs and 3 outputs, the resulting transfer functions are from u1 -> y1, u2 -> y1, u3 -> y1, u1 -> y2, etc. Yet for estimating a single output, say y1, is the estimation derived from the SISO transfer function at (1,1) with u1 as the input, or does the output y1 depend upon u1, u2, and u3 for a complete result? To rephrase, if I were to estimate y1 as measured on a new experiment with new inputs, how do I arrive at the result given u1, u2, u3, and the SISO transfer functions at (1,1), (1,2), and (1,3)?
Again, I hope to use input data to eventually generate an output that matches the measured output.
I hope that makes sense. Any insight would be much appreciated.
回答(1 个)
Arkadiy Turevskiy
2013-10-31
编辑:Arkadiy Turevskiy
2013-10-31
0 个投票
Most likely the issue is due to not using the proper initial conditions as explained in the previous post.
6 个评论
Scott
2013-10-31
Arkadiy Turevskiy
2013-10-31
Yes, it still applies. When you use "compare", or System Identification Tool plot, these tools estimate and use initial conditions. If you are doing comparison yourself, then most likely the initial conditions are set to 0 by default, which would in general give you very different results.
You should either set the estimation option to sue zero initial conditions, or use function findstates to estimate initial conditions, and then use these initial conditions in your calculations. This is explained here in the doc.
As for MIMO question, if you have MIMO transfer function, you would predict y1 by applying tf11 to u1, tf12 to u2, and tf13 to u3 and adding the results up.
Scott
2013-11-5
Scott
2013-11-5
Arkadiy Turevskiy
2013-11-6
Hard to troubleshoot more without seeing your data and code.You can either:
- Share it by attaching files to this thread, or
- Contact tech support.
Arkadiy
Shady Al-Zubi
2021-8-16
Any updates on this guys?
Having the same issue where the generated estimate does not really predict we’ll , even with the fitness exceeding 95%
Feel free to email me details
Shadyalzubi@gmail.com
类别
在 帮助中心 和 File Exchange 中查找有关 Data Preparation Basics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!