3.1. State-Parameter Separated Equation for Dynamic Battery Model
Since the observation is the battery terminal voltage, SoC is generally estimated together with the polarization voltage in the model [
16,
17,
18,
19,
20]. However, it can be seen from Equation (1) that there is a strong correlation between polarization voltage and polarization parameters, which results in an enhanced correlation between state and parameters when using the dual filters. The experimental results in
Section 5 of this study show that this will reduce the accuracy of state estimation and parameter modification. In this paper, SoC is considered as the only state variable and parameters as dynamic ones to be modified. The discrete model with noise is organized into Equation (7). It should be declared that that the sampling time is 1 s.
where,
It should be noted that u1,k−1 and u2,k−1 in data matrix Hk are not state variables, but historical data of u1,k and u2,k, as shown in Equation (11).
The structure of this Equation can be further illustrated by
Figure 3. At k-moment, model output voltage u
L,k is determined by state SoC
k and model parameter θ
k. The former decides u
oc,k according to the function u
oc(SoC), and the latter decides u
1,k, u
2,k, u
0,k together with data matrix H
k. This means that state and model parameters determine different output regions respectively in the process of equation iteration. The advantage of this method is that it can eliminate the strong correlation between state and model parameters, and lay the foundation for using dual filters.
3.2. Improved Dual-Unscented Kalman Filter (IDUKF) Algorithm
Kalman filter algorithm combines the prediction of discrete dynamic system with the observation containing noise, and calculates the model state recursively to get its maximum likelihood estimation [
23]. As a non-linear form of traditional KF, UKF improves the accuracy of approximating non-linearity compared with EKF only by first-order Taylor expansion [
24]. However, because the estimation accuracy of the whole algorithm still depends on the accuracy of the dynamic model, in order to ensure that the prediction of the model can always track the observation, the algorithm may overcorrect the state and reduce the estimation accuracy in case of inadequate model accuracy, which will be analyzed in
Section 5. Therefore, it is necessary to use the theory of system identification combined with external data to modify the model, and run simultaneously with the state estimator. In this study, Adaptive UKF (AUKF) is used as the state estimator by combining Sage-Husa adaptive filtering theory [
25] with traditional UKF, and another UKF is used as the modifier of model parameters.
Another advantage of KF is that it can automatically converge the inaccurate initial state to real value. However, it is found that the convergence performance of the traditional dual Kalman filter is weak when the initial state value is inaccurate, which will be analyzed in
Section 5. In order to solve this problem, two filters are ranked in this study: when the error e
r between the filter prediction and the observation is greater than a boundary value δ, the state estimator runs and corrects the inaccurate state, while the parameter modifier stops and holds the parameters still. When the state converges to the real value, the algorithm prediction also converges to the observation. When e
r is less than or equal to the boundary value, open the parameter modifier and run simultaneously with the state estimator until the next e
r > δ appears. The structure of proposed IAUKF-UKF is illustrated in
Figure 4.
Combined with Equations (8)~(12), the implementation steps of IAUKF-UKF algorithm based on state-parameter separation are shown as follows.
Step 1: Initializing.
where I
5 means 5-order unit matrix.
Step 2: Time-update for SoC at k-moment, k = 1, 2…
First sigma point calculating:
where n is the dimension of state vector which means n = 1; λ is a scaling parameter used to reduce the total prediction error.
α controls the distribution state of the sigma points, κ needs to satisfy κ ≥ 0. In this study, these two parameters are set as follows: α = 1; κ = 1.
Weight calculating:
where β is used to incorporate prior knowledge of the distribution and set to 2 for Gaussian distributions.
Sigma points one-step prediction:
Step 3: Measurement-update for SoC at k-moment
Second sigma point calculating:
Sigma point observation prediction:
Measurement-update for SoC:
Noise-update for SoC:
where e
r,k represent the error of prediction at k-moment, u
L,k is the experimental data of terminal voltage at k-moment. b is the forgetting factor which is used to reduce the influence of historical data and set to 0.99 in this study.
Step 4: Judgement for er,k:
if e
r,k > σ, then:
which means to keep the parameters still and get back to step 2;
Else, open the parameter adjuster and continue to Step 5:
Step 5: Time-update for θ at k-moment which is similar with Equations (13)–(17).
Step 6: Measurement-update for θ at k-moment which is similar with Equations (18)–(20).
After that, get back to Step 2 for the next moment.