Abstract
Model order determination of linear dynamic systems is important for system analysis and control system design. Determining the order of a linear dynamic system usually involves computing the rank of a Hankel matrix formulated using the system's Markov parameters. In a singular value plot of this Hankel matrix, a distinct drop is evident between the nonzero and zero singular values. This drop is most notable at the singular value whose index aligns with the system's order. However, this clear separation can be substantially diminished by even slight noise in the Markov parameters, thus posing difficulties in the accurate estimation of the system's order. Heuristic order estimation methods such as methods based on nuclear norm minimization (NNM) can suffer from scalability issues. As the order of the dynamic system increases, the computational time and memory requirement for these methods increase significantly. In this paper, we introduce a nonheuristic and noniterative algorithm to estimate the order of a linear dynamic system from noisy Markov parameters. Input–output data obtained from running a single experiment of the system can be split into two halves to obtain two vectors of estimated Markov parameters. We show that the largest singular value of the Hankel matrix constructed from half the difference between the two vectors of estimated Markov parameters serves as a threshold, separating true and spurious singular values. The proposed algorithm is demonstrated on single-input, single-output, multi-input, multi-output, stable, and unstable systems, and verified numerically and experimentally, providing a more scalable alternative to heuristic methods.