How does System Identification work in MATLAB?

Hi there,
Trust this mail finds you well. I am trying to understand how to use MATLAB's system identification tool correctly.
I created a simple 2nd order lag continuous time transfer function in Simulink and excited it with a step input. I used an IDDATA sink block to export to the workspace, the time domain data input to and output from the transfer function, and then proceeded to use the identification tool (ident) to estimate the original transfer function using this data, so as to verify my understanding of the correct use of the system identification tool.
The problem: Although I get a very nicely fitting estimated transfer function with the data when I used the step input (over 90% fit as calculated by the tfest function within ident), when I use a chirp input instead of a step input, the transfer function identified with the exported chirp input and output data is significantly less accurate (about 60%). Could someone please explain to me * _ why the accuracy of the identification drops when a chirp signal is used?_* I would greatly appreciate it. In contrast to what I described above, I would have expected the chirp input to provide more informative data to export which would allow a more accurate transfer function to be identified since a wider range of input frequencies are excited with a chirp as compared with that of a step input.
My longer term objective after moving on from this issue is to identify a linear actuator as a 1st order lag and invert the transfer function so as to compensate for the actuator dynamics.
Thank you very much in advance, :-) Kind regards, Hashan

回答(0 个)

提问:

2015-11-18

Community Treasure Hunt

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

Start Hunting!

Translated by