# INVSID 1.0: An Inverse System Identification Toolbox for MATLAB
## 2 Creation of INVSID 1.0
### Inverse System Identification Toolbox Creation
The transfer function of the system with a sampling frequency of 26.4 kHz is

\[G(z)=z^{-3}\frac{1.447663(z+0.050852)(z+2.494311)}{z^{2}-1.978354z+0.978808}. \tag{36}\]

The Bode plot of the system \(G\) is shown in Figure 10.

Based on the transfer function (36), the following observations can be made for the system \(G\):

1. \(G\) is stable. 2. \(G\) is proper. 3. \(G\) is minimal-realized. Figure 10: Bode plot of \(G\). Figure 9: Block diagram to illustrate the goal of the system inversion design. Note that \(F\) can be implemented as a feedforward controller. (d) \(G\) has one nonminimum-phase zero at around \(-2.5\). The parameters shown in Table 3 are used as the inputs of the inverse identification toolbox. With the above inputs, the final output of the inverse identification toolbox is the identified inverse model, of which the model order is chosen as 10. The frequency response properties of the model \(\hat{G}_{\text{inv}}\) with tenth order are demonstrated in Figure 11.

The inversion \(\hat{G}_{\text{inv}}\) is identified using the MATLAB function n4 sid with stability enforcement, so the identified model \(\hat{G}_{\text{inv}}\) is stable and causal. As shown in Figure 9, by connecting the model \(G\) and the model \(\hat{G}_{\text{inv}}\) in series using Equation (19), the model \(G_{s}\) can be obtained. The frequency response of the obtained model \(\hat{G}_{\text{inv}}^{*}\) is shown in Figure 12; in the specified frequency range from 0.1 Hz to 700 Hz, the magnitude is nearly a constant near 0 dB, and the phase is nearly a constant around 0 degrees. The above results can indicate that the proposed system inversion approach is effective in the practical application in the feedforward controller design of the hard disk drive system. \begin{table}
\begin{tabular}{l l} \hline \hline
**Parameter** & **Value in MATLAB** \\ \hline numerator & \([0,0,0,1.4477,3.6845,0.1836]\) \\ denominator & \([1,-1.9784,0.9788,0,0,0]\) \\ \(T_{s}\) & \(1/26,400\) \\ \(f_{b}\) & 0.1 \\ \(d\) & 0.1 \\ \(N\) & 7000 \\ pc & \(1\times 10^{-3}\) \\ mc & \(1\times 10^{-3}\) \\ nx & 2:10 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Parameters for inverse identification. Figure 11: Bode plot of \(\hat{G}_{\text{inv}}\). Furthermore, the well-known zero phase error tracking algorithm [11] is also implemented into the feedforward controller design, and according to the comparison between INVSID 1.0 and zero phase error tracking algorithm. For this example, it can be concluded that within the specified frequency range, INVSID 1.0 performs better than the zero phase error tracking algorithm in terms of phase, and in addition, INVSID 1.0 can be implemented without any preview. ## 4 Conclusions and Perspectives

In this paper, an alternative system inversion approach is proposed, based on which the toolbox named INVSID 1.0 is developed. The advantages of the toolbox INVSID 1.0 can be concluded as follows:

1. The proposed inverse identification toolbox can be used for stable or unstable systems, minimum-phase or nonminimum-phase systems. 2. Preview is not needed, i.e., the causality of the identified inverse model can be guaranteed. 3. Stability of the identified inverse model can be guaranteed. 4. The frequency range of interest can be specified. 5. Subspace identification is used such that there is no non-convex problem. Furthermore, according to the theoretical derivation of the proposed system inversion approach, it can be indicated that the proposed approach can be used for systems with noise, because an observer is involved in the approach. Currently, the inverse identification toolbox INVSID 1.0 is used for single-input single-output systems, while in the future, the proposed inverse system identification approach will be extended to identify the inverse models of general multiple-input multiple-output systems such that more advanced versions of the INVSID toolbox can be created, and squaring down approaches [28] have a potential to solve the extension problem.