## 2 Lithium-Ion Battery Modeling and Experimental Setup
### Co-Estimation of SOC and Model Parameters Based on UKF  
The fused OCV curve improves the lithium-ion battery model accuracy and enhances the stability of the estimation loop. However, the strong non-linearity of the system equation and the unexpected noise still affect the SOC estimation accuracy. In the process of decoupling SOC and model parameters, the traditional EKF method uses Taylor expansion to linearize the system equations by rounding the high-order remainders above the second order, which brings rounding error. While, UKF is a non-exact least variance estimation method, and is very suitable for non-linear state estimation. Its optimal gain matrix is determined by the covariance matrix of the state and measurement quantities. The covariance matrix can be obtained according to the double sigma sample points, which can be determined according to the state equation and the measurement equation. To joint the estimation of SOC and model parameters by UKF, we designed a state equation including SOC and model parameters. A typical UKF algorithm can be found in reference [31]. The application details of UKF in this paper are as follows. The discrete state equation and measurement equation can be expressed as:  
\[\left\{ \begin{array}{l}\mathbf{X}_{k}=\mathbf{f}(\mathbf{X}_{k-1},\mathbf{u}_{k-1})+\mathbf{ \omega}_{k-1}\\ \mathbf{Z}_{k}=\mathbf{h}(\mathbf{X}_{k},\mathbf{u}_{k})+\mathbf{v}_{k}\end{array} \right., \tag{7}\]  
where \(\mathbf{f}\) and \(\mathbf{h}\) are state and measurement nonlinear functions, respectively. \(\mathbf{\omega}_{k}\) and \(\mathbf{v}_{k}\) are independent zero-mean white noise sequences, and their variance arrays are \(\mathbf{Q}_{k}\) and \(\mathbf{R}_{k}\), \(\mathbf{u}_{k}\) is the input sequence. In this paper, the estimated state is \(\mathbf{X}=\left[ \begin{array}{cccc}SOC_{k}&V_{p,k}&R_{o,k}&R_{p,k}&C_{p,k}\\ \end{array} \right]^{T}\), the measurement is \(\mathbf{Z}_{k}=V_{t,k}\), the system input is \(\mathbf{u}_{k}=I_{k}\). The state function is:  
\[\mathbf{f}(\mathbf{X}_{k-1},\mathbf{u}_{k-1})=\left[SOC_{k-1}-\frac{\Delta t_{k-1}}{Q}, \exp\left(-\frac{\Delta t}{\tau_{k-1}}\right)V_{p,k-1}+\left(1-\exp\left(- \frac{\Delta t}{\tau_{k-1}}\right)\right)R_{p,k-1}I_{k-1},R_{o,k-1},R_{p,k-1}, C_{p,k-1}\right]^{T} \tag{8}\]  
The measurement function is:  
\[\mathbf{h}(\mathbf{X}_{k},\mathbf{u}_{k})=V_{\alpha\alpha\
u,k}-V_{p,k}-I_{k}R_{o,k}, \tag{9}\]  
where \(V_{\alpha\
u,k}\) is the OCV determined by OCV curve at time \(k\), \(V_{p,k}\) is the polarization voltage, \(I_{k}\) is the current, \(R_{o,k}\), \(R_{p,k}\), \(C_{p,k}\) are the model parameters, \(\Delta t\) is the sampling step, and \(\tau_{k}=R_{p,k}\times C_{p,k}\). It is assumed that the model parameters change slowly. The UKF algorithm is shown in Algorithm 1. Figure 6: (**a**) Comparison of OCV fitting results. (**b**) Comparison of OCV fitting absolute error. ```
1. Initialization \(k=0\), \(\hat{\textbf{X}}_{0}^{+}=E(\textbf{X}_{0})\ \textbf{P}_{0}^{+}=E\Big{[}\big{(}\textbf{X}_{0}-\hat{ \textbf{X}}_{0}^{+}\big{)}\big{(}\textbf{X}_{0}-\hat{\textbf{X}}_{0}^{+}\big{)} ^{\text{T}}\Big{]}\) For \(k=1,2,\cdots\)
2. Compute the \(2n-1\)\(\sigma\) simple point at time \(k-1\) \(\overline{\textbf{X}}_{k-1}^{(0)}=\hat{\textbf{X}}_{k-1}\) \(\overline{\textbf{X}}_{k-1}^{(j)}=\hat{\textbf{X}}_{k-1}+\gamma\big{(}\sqrt{ P_{k-1}}\big{)}_{(i)}\qquad i=1,2,\cdots,n\) \(\overline{\textbf{X}}_{k-1}^{(j)}=\hat{\textbf{X}}_{k-1}-\gamma\big{(}\sqrt{ P_{k-1}}\big{)}_{(i-n)}\qquad i=n+1,n+2,\cdots,2n\) where \(n\) is the number of estimation state, \((i)\) is the \(i\)th line of the matrix, and \(\gamma=\sqrt{n+\lambda}\). \(\lambda=\alpha^{2}(n+\kappa)-n,10^{-4}\leq\alpha\leq 1\), \(\kappa=0\). 3.