## 2 Algorithm Principle
### Introduction to UKF Algorithm and Its Implementation Steps  
In actual engineering applications, the systems we encounter are often non-linear systems, and the use of standard Kalman filtering often cannot strictly meet the required conditions. Therefore, under normal circumstances, we can solve practical problems through the extended Kalman filter Jacobian (EKF) algorithm. However, in essence, the EKF algorithm is a linearization method for nonlinear estimation problems. It needs to obtain the analytical form of the system to calculate the Jacobian matrix. When encountering strong nonlinear problems, the estimation accuracy is significantly reduced. To overcome the shortcomings of the EKF algorithm and to avoid the calculation of the Jacobian matrix, which is computationally intensive and error-prone, [PERSON] et al. proposed an unscented Kalman filter (UKF) algorithm based on an unscented transformation (UT) transformation [26; 27]. The UKF algorithm approximates the probability density distribution of the nonlinear function, and uses a series of determined samples to approximate the posterior probability density of the state, instead of approximating the nonlinear function, and does not need to derive to calculate the Jacobian matrix. The UKF algorithm does not linearize and ignores higher-order terms, so the accuracy of the nonlinear sub-statistics is higher. Based on this, we use the UKF algorithm for filtering estimation in the article. The specific solving steps of the UKF algorithm are as follows:  
We consider the following nonlinear system:  
\[\left\{ \begin{array}{l}X_{k+1}=f(X_{k},\theta_{k})\\ Y_{k}=h(X_{k})+v_{k}\end{array} \right.. \tag{17}\]  
where, \(X_{k}\) is the state variable of the system, \(Y_{k}\) is the observation vector, \(\theta_{k}\) is the process noise of the system, and \(v_{k}\) is the measurement noise. We assumed that the process noise and the measurement noise have Gaussian distributions, and there is no correlation between the two. Under this assumption, we can obtain the UKF filtering algorithm design process as follows:  
1 Initialization  
For Equation (17), the augmented state vector \(\hat{X}^{*}\) and state covariance matrix \[ \begin{array}{ll}\text{(1)}&\text{State initialization}\\ &\\ \left\{\begin{array}{l}\hat{X}_{0}=E\{X_{0}\}\\ D_{0}=E\{(X_{0}-\hat{X}_{0})(X_{0}-\hat{X}_{0})^{\text{T}}\}\end{array}\right.. \end{array}  \tag{18}\]  
\( \begin{array}{ll}\text{(2)}&\text{Expanded dimension processing}\\ &\\ &\\ &\\ &\\ &\\ &\\ &\\ &\\ &\\ &\end{array} \] (19)  
where \(m\) is the dimensionality of the system process noise, \(O\) is the zero matrix, and the Sigma point set \(X_{i}(i=0,1,\cdots,2L)\) is as follows:  
\[\left\{ \begin{array}{ll}X_{0}=\overline{X}\\ X_{i}=\overline{X}+(\sqrt{(L+\mu)D_{X}})_{i},&i=1,2,\cdots,L\\ X_{i}=\overline{X}-(\sqrt{(L+\mu)D_{X}})_{i},&i=L+1,L+2,\cdots,2L\end{array}  \right.. \tag{20}\]  
where \(X\) is an \(L\)-dimensional random variable that satisfies the nonlinear equation \(Y=g(X)\). We assume that the mean of the variable \(X\) is \(\overline{X}\); the variance of \(X\) is \(D_{X}\); \((\sqrt{(L+\mu)D_{X}})_{i}\) represents the \(i\)-th row of the square root of \((L+\mu)D_{X}\); \(\mu=\alpha^{2}(L+k)-L\), where, \(\alpha\) describes the extent of the Sigma point around the mean; and \(k\) is the adjustment parameter. \(\begin{array}{ll}\text{\textcircled{2} Calculate the sampling point}\\ \text{Combining Equation (20), using mean }\hat{X}_{k-1}^{*}\) and variance \(D_{k-1}^{*}\), calculate \(2L+1\) sampling points: \(X_{i,k-1}^{*}=\left[(X_{i,k-1}^{l})^{\text{T}}\quad(X_{i,k-1}^{\theta})^{ \text{T}}\right]^{\text{T}}\). \[\left\{ \begin{array}{ll}X_{0,k-1}^{*}=\hat{X}_{k-1}^{*}\\ X_{i,k-1}^{*}=\hat{X}_{k-1}^{*}+(\sqrt{(L+\mu)D_{k-1}^{*}})_{i},&i=1,2,\cdots,L \\ X_{i,k-1}^{*}=\hat{X}_{k-1}^{*}-(\sqrt{(L+\mu)D_{k-1}^{*}})_{i-L},&i=L+1,L+2, \cdots,2L\end{array} \right.. \tag{21}\]  
\( \begin{array}{ll}\text{\textcircled{3} Time update}\\ \text{\textcircled{1} State one-step prediction matrix:}\\ &\\ &\\ &\\ &\\ &\\ &\end{array}