Why does step input lead to better fit in system identification as oppose to a chirp signal input?

3 views (last 30 days)
I am using the 'ident' tool to fit a first order transfer function onto experiment data that I generated using a second order transfer function.
I apply a chirp input to a 2nd order lag which I am trying to identify as a 1st order system. I use an IDDATA sink block to capture the data input to and output from this model which is then saved in a data object in the workspace called chirp_data.
In the 'ident' tool, I then select Estimate -> Transfer function models -> 1 pole and 0 zeros and click estimate which returns a 1st order transfer function with 60% accuracy as shown in the screen shot. This Ident session is saved and called chirp_data_ident.sid.
This is not a very accurate fit. However, if I instead apply a step input to the 2nd order system instead of a chirp and use that data for identification, I get 90% accuracy. Similarly, applying a sine input and identifying yields a 58% accuracy.
Question 1: Why does the identification yield a better % fit when a step input is used rather than a sine or chirp input? (Surprisingly, I would have expected the chirp to yield the best result since a wider range of input frequencies are tested compared with the step input.)
Question 2: When I compare the bode plots of the true system with that of the identified systems I find that the bode plots do not match very well (as illustrated when Bode_Comparison.m is run). Why do the bode plots of the identified systems differ so much from the true system and what must I do to get better matching bode plots with that of the real system? (besides increasing the order of the estimated transfer functions)
Question 3: What does the "% fit to estimation data" represent? i.e. how does MATLAB calculate that value?

Answers (0)

Community Treasure Hunt

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

Start Hunting!