## 3 Experimental Data and Estimation Algorithms
### Dual Filters  
In LiB literature, dual filters have been shown to be successful at tracking slow-changing dynamics that can be noticed in the long term, such as battery capacity degradation [26]. Dual filters track the slow-changing dynamics by implementing two filters [26]. One filter estimates the battery states such as the SOC, while the second filter focuses on updating the parameters within the battery model. The filter estimating for the parameters in the model makes use of a small perturbation to update the values [26]. If the EKF were to be selected for dual estimation, the result would be a dual EKF, where two EKFs would be implemented in the estimation process. The following set of equations summarize a dual-EKF algorithm for SOC estimation [27]:  
\((i)\) _Prediction Stage_ :  
\(State\) _Filter_ :  
\[\hat{x}_{k+1|k}=f\Big{(}\hat{x}_{k|k^{\prime}},\ u_{k}\Big{)} \tag{30}\]  
\[P_{x,k+1|k}=\hat{A}_{x,k}P_{x,k|k}\hat{A}_{x,k}^{T}+Q_{x} \tag{31}\]  
_Parameter Filter_ :  
\[\hat{\theta}_{k+1}=\hat{\theta}_{k} \tag{32}\]  
\[P_{\theta,k+1|k}=P_{\theta,k|k}+Q_{\theta} \tag{33}\]  
\((ii)\) _Update Stage_ :  
\(State\) _Filter_ :  
\[K_{x,k+1}=P_{x,k+1|k}\ \mathcal{C}_{x,k+1}^{T}\Big{[}\hat{C}_{x,k}P_{x,k+1|k} \hat{A}_{x,k+1}^{T}+R_{x}\Big{]}^{-1} \tag{34}\]  
\[\hat{x}_{x,k+1|k+1}=\hat{x}_{x,k+1|k}+K_{x,k+1}\Big{[}z_{k+1}-h\Big{(}\hat{x}_ {x,k+1|k},\ u_{k+1},\hat{\theta}_{k}\Big{)}\Big{]} \tag{35}\]  
\[P_{x,k+1|k+1}=\big{[}I-K_{x,k+1}\hat{C}_{x,k+1}\big{]}P_{x,k+1|k} \tag{36}\]  
_Parameter Filter_ :\[K_{\theta,k+1} =P_{\theta,k+1|k}\;\mathcal{C}_{\theta,k+1}^{T}\Big{[}\mathcal{C}_{ \theta,k}P_{\theta,k+1|k}\mathcal{\hat{C}}_{\theta,k+1}^{T}+R_{\theta}\Big{]}^{-1} \tag{37}\] \[\hat{\theta}_{k+1|k+1} =\hat{\theta}_{k+1|k}+K_{\theta,k+1}\big{[}z_{k+1}-h\big{(}\hat{x} _{\theta,k+1},\;u_{\theta,k+1},\hat{\theta}_{k}\big{)}\big{]}\] (38) \[P_{\theta,k+1|k+1} =\big{[}I-K_{\theta,k+1}\hat{C}_{\theta,k+1}\big{]}P_{\theta,k+1|k} \tag{39}\]  
where the nonlinearities of the state filter can be linearized. Furthermore, \(\hat{C}_{\theta,k}\) refers to the total differential of (4). The following set of equations describe the result [27]:  
\[\hat{C}_{\theta,k} =\left.\frac{\mathrm{d}h\Big{(}\hat{x}_{k+1|k},\;u_{k},\;\hat{ \theta}_{k}\Big{)}}{\mathrm{d}\theta_{k}}\right|_{\hat{\theta}_{k+1}=\hat{ \hat{\theta}}_{k+1|k}} \tag{40}\] \[\frac{\mathrm{d}h\big{(}\hat{x}_{k+1|k},\;u_{k+1},\;\hat{\theta} _{k+1|k}\big{)}}{\mathrm{d}\hat{\theta}_{k+1|k}}\] \[=\frac{\frac{\mathrm{d}h\big{(}\hat{x}_{k+1|k},\;u_{k+1},\;\hat{ \theta}_{k+1|k}\big{)}}{\mathrm{d}\hat{\theta}_{k+1|k}}}{\mathrm{d}\hat{\theta }_{k+1|k}}+\frac{\frac{\mathrm{d}h\big{(}\hat{x}_{k+1|k},\;u_{k+1},\;\hat{ \theta}_{k+1|k}\big{)}}{\mathrm{d}\hat{x}_{k+1|k}}\frac{\mathrm{d}\hat{x}_{k+ 1|k}}{\mathrm{d}\hat{\theta}_{k+1|k}}\] (41) \[\frac{\mathrm{d}\hat{x}_{k+1|k}}{\mathrm{d}\hat{\theta}_{k+1|k}} =\frac{\partial f\Big{(}\hat{x}_{k|k+1},\;u_{k},\;\hat{\theta}_{k+1|k} \Big{)}}{\partial\hat{\theta}_{k+1|k}}+\frac{\partial h\Big{(}\hat{x}_{k|k+1}, \;u_{k},\;\hat{\theta}_{k+1|k}\Big{)}}{\partial\hat{x}_{k|k}}\frac{\mathrm{d} \hat{x}_{k|k+1}}{\mathrm{d}\hat{\theta}_{k+1|k}}\] (42) \[\frac{\mathrm{d}\hat{x}_{k|k+1}}{\mathrm{d}\hat{\theta}_{k|k}} =\frac{\mathrm{d}\hat{x}_{k|k}}{\mathrm{d}\hat{\theta}_{k|k+1}}-K_{x,k} \frac{\mathrm{d}h\Big{(}\hat{x}_{k|k},\;u_{k},\;\hat{\theta}_{k|k+1}\Big{)}}{ \mathrm{d}\hat{\theta}_{k|k+1}} \tag{43}\]  
where \(K_{x,k}\) has little impact on the parameter estimates, and thus it can be neglected [27]. Removing the right term in (31) reduces the equation to \(\frac{\mathrm{d}\hat{x}_{k|k}}{\mathrm{d}\hat{\theta}_{k|k+1}}\), which can now be estimated by recursion with an initial value of \(\frac{\mathrm{d}\hat{x}_{k|k+1}}{\mathrm{d}\hat{\theta}_{k|k}}=0\)[27].