## 4 Numerical Investigations
### Tuning Process Using Particle Swarm Optimization  
As stated in Section 2.2, all filter methods should be tuned by selecting proper covariance matrices of artificial noises to achieve an optimal estimation. In using LKF, EKF, and UKF, just one parameter is tuned. Although each diagonal term of those covariance matrices may require individual tunings, it is assumed that all elements in vectors of states and measurements have same statistical characteristics for simplicity. Generally, the covariance of artificial measurements noise is determined based on sensor specification. The last tuning parameter is then the covariance of artificial process noise and can be selected from the derived \(L\)-curve. However, this process does not work for adaptive filtering techniques, because more than two tuning parameters are required even under the assumption that sensor specification can determine the covariance of the artificial measurement noise. The tuning process for MS-KF\({}_{\text{ME}}\) with the proposed state-space model handles three parameters, i.e., two parameters corresponding to covariance matrices of master and slave filters' artificial process noise, and the regularization factor in the proposed state-space model. In this case, it is impossible to derive the \(L\)-curve for two tuning parameters. This paper utilizes the particle swarm optimization (PSO) to tune the dual adaptive technique with the proposed state-space model. PSO was originally inspired by the information circulation and social behavior observed in bird flocks and fish schools and is suited to solve problems where the optimal solution is a point in a multi-dimensional space of the parameter [35]. [PERSON] et al. (2018) showed that PSO can find proper tuning parameters for optimal estimation performance [14]. However, if there are many variables in global optimization problem, this optimization process may give a computational burden. This is because PSO uses many particles to probe the best in the solution space, and the required number of particles increases exponentially as the number of tuning parameters increases. Another issue is that the performance of MS-KF is sensitive to choices of covariance matrices of artificial noises for master and slave filter. Actually, the positive definiteness condition for calculating SPs related with Equations (2) and (4) may be violated by subtle changes in those covariance matrices, and this numerical issue will interrupt the procedure of UKF as master filter. Therefore, it is desirable to decrease the number of tuning parameters in PSO for stable tuning process, and thus, the following assumptions will be introduced. First, the regularization factor in the proposed state-space model is assumed as 10% of initial states, which means that the solution space will be constrained by the normal probability density, i.e., \(\mathbf{x}\sim N(\hat{\mathbf{x}}^{P},\boldsymbol  
in which \(x_{1}\) and \(x_{2}\) are tuning parameters, and \(\mathbf{I}_{n_{x}\times n_{x}}\) is an identity matrix. The objective function in Equation (15) is constructed to find an optimal estimation having the least RMS of innovation-history. This paper used the PSO algorithm in the global optimization toolbox of 2018b-version of \(MATLAB^{\circledR}\). When performing PSO, there are two important points to achieve efficiency: (1) setting boundary conditions in PSO for random variables and (2) determining the number of particles representing initial locations. The boundary conditions constrain the solution space, and thus a wrong setting may lead to finding no optimal solution. In some cases, the results of PSO are located near boundaries. In this situation, PSO should be re-performed, and it is recommended to shift the relevant variables' boundary to include the corresponding end. On the other hand, to determine the number of particles properly, the generated particles should be scattered uniformly around the whole solution space. For example, one could discretize uniformly in the range of each variable such as [0.1, 0.2, 0.3,..., 0.9].