How can I identify a stable system?

Making a good fit with stable poles is sometimes rather difficult. First of all, it is quite likely that the data themselves contain details which drive the identification routine to an unstable fit which is otherwise the best available fit it LS sense. In other words: within the given quality of the data, an unstable model is the best approximation. This means that the data are not good enough to guarantee stability. E.g. in case of slight nonlinear distortions, the best linear approximation might be non-stable indeed.

In summary, possible reasons for unstability:

Therefore, making repeated and improved mesurements (better SNR, odd multisine etc) is the first advice.

In the identification of high-order systems there is a good chance that some poles will be driven to the unstable region by the noise or by slight nonlinearities. A natural instinct of a researcher is to try yo eliminate these poles. Unfortunately, this is usually not a remedy. Eliminated poles may leave a bad fit which cannot be corrected any more.

The Frequency Domain System Identification Toolbox offers some (artificial) tools to force stable solutions. However, we would like to emphasize here that these are artifical solutions: even reaching the best stable fit is not guaranteed. However, weakly defined poles (overmodeling) may be effectively driven to the stable region.

In high-order mechanical systems, the system equations may be badly conditioned. This may cause unstability again. A possible remedy is to switch to orthogonal polynomials. Back to the fdident FAQ page     Back to the Developers' Page