tfest Model Structure and Constraints

5 views (last 30 days)
Jeff
Jeff on 19 Feb 2017
Answered: Arkadiy Turevskiy on 18 Apr 2017
I have been using tfest to estimate a transfer function to fit time series data which I have attached to this posting, data.mat. I provide an initial guess for the polynomial coefficients that define both the ZEROS & POLES of the system. I then attempt to restrict which coefficients can or cannot be FREE for tfest to manipulate. Unfortunately, it seems that MATLAB ignores my restrictions. However, after iterating a second time the constraints seem to be honored and the coefficients are recomputed to yield somewhat decent results.
Since the iteration seemed to yield different estimates on the coefficients I included an iterative FOR loop, lines 16 - 23 in my routine to be sure convergence is obtained. However, if I remove lines 20 & 21 from the loop convergence is not obtained & the results are WRONG. You can see the change or NO change in the coefficients with each iteration by the workspace variable chekiteration.
Can anyone explain this behavior? I have an idea, but it is PURE speculation since I do not know the inner mechanisms of tfest.
Appreciate any insight.

Answers (1)

Arkadiy Turevskiy
Arkadiy Turevskiy on 18 Apr 2017
I briefly looked at your code, and saw that you have complex numbers as transfer function coefficients. Some of them are designated as not free to change. I did not do any more investigation after that, but System Identification Toolbox only works with real-valued transfer function coefficients, so I would recommend starting with that - making sure all the coefficients are real-valued.

Community Treasure Hunt

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

Start Hunting!