Open Access
This article is

- freely available
- re-usable

*Energies*
**2017**,
*10*(9),
1345;
https://doi.org/10.3390/en10091345

Article

An Adaptive Square Root Unscented Kalman Filter Approach for State of Charge Estimation of Lithium-Ion Batteries

School of Control Science and Engineering, Shandong University, Jinan 250061, China

^{*}

Authors to whom correspondence should be addressed.

Received: 15 July 2017 / Accepted: 1 September 2017 / Published: 6 September 2017

## Abstract

**:**

An accurate state of charge (SOC) estimation is of great importance for the battery management systems of electric vehicles. To improve the accuracy and robustness of SOC estimation, lithium-ion battery SOC is estimated using an adaptive square root unscented Kalman filter (ASRUKF) method. The square roots of the variance matrices of the SOC and noise can be calculated directly by the ASRUKF algorithm, which ensures the symmetry and nonnegative definiteness of the matrices. The process values and measurement noise covariance can be adaptively adjusted, which greatly improves the accuracy, stability, and self-adaptability of the filter. The effectiveness of the proposed method has been verified through experiments under different operating conditions. The obtained results were compared with those of extended Kalman filter (EKF) and unscented Kalman filter (UKF) , which indicates that the ASRUKF method provides better accuracy, robustness and convergence in the estimation of battery SOC for electric vehicles. The proposed method has a mean SOC estimation error of 0.5% and a maximum SOC estimation error of 0.8%. These errors are lower than those of other methods.

Keywords:

extended Kalman filter (EKF); adaptive square root unscented Kalman filter (ASRUKF); state of charge (SOC); lithium-ion battery## 1. Introduction

A battery’s state of charge (SOC), which describes the charge remaining in the battery, is an important parameter in the process of battery utilization. As one of the important decision-making factors involved in the battery management systems of electric vehicles, accurate estimation of the SOC plays a crucial role in improving the utilization of batteries’ capacity and energy. Accurate and reliable SOC estimation can prevent over-charging and over-discharging which can extensively damage batteries and affect battery life span [1,2].

Several methods for estimating SOC have been demonstrated, which improve the performance of SOC estimation in battery management systems. The ampere-hour method is the most popular method being used to estimate battery SOC [3]. However, the ampere-hour method has the shortcoming of accumulating errors over time, and its estimation of SOC is likely undermined by measurement errors and noise. Feng, F and Tong, S describe a mathematical model for estimating SOC by modifying open-circuit voltage parameters, and the SOC estimation error of this method is less than 3% [4,5]. However, the battery needs to stand for a long time which is not conducive to practical application especially in electric vehicles.Neural network algorithms have also been used to estimate SOC [6,7,8,9,10]. However, a neural network requires a large amount of training data, while data acquisition and screening can introduce estimation error. The extended Kalman filter (EKF) is a popular approach used to estimate battery SOC [11,12,13,14,15,16]. The underlying principle of EKF is linearizing a system model and filter through a Kalman filter (KF). However, the linearized approximations of Jacobian matrices used in EKF increase the implementation complexity. Additionally, its error convergence is sensitive to initial state estimation error, and inaccurate Jacobian matrix estimation may lead to filter divergence and affect stability. The use of a sliding mode observer can improve the accuracy and robustness of SOC estimation [17,18,19,20], but its performance deteriorates when there is noise in the output. The unscented Kalman filter (UKF) has a higher order of accuracy in estimating the mean and the error covariance of a state than EKF [21,22,23]. UKF can also be used without calculating the Jacobian matrices to reduce the computational effort of the algorithm. However, the use of process and measurement noise covariance is critical to filter performance and stability. Uncertainty in process and measurement noise has a crucial effect on standard UKF and may result in significantly degraded performance. If the process noise covariance and the measurement noise covariance are too small at the beginning of the estimation process, the uncertainty tube around the true value will tighten, resulting in a biased solution. If the process noise covariance and the measurement noise covariance are too large, filter divergence will result [24]. Therefore, adaptive extended Kalman filter (AEKF) and adaptive unscented Kalman filter (AUKF) have been studied [25,26,27,28] to improve the accuracy of EKF-based SOC estimation by adaptively updating the process and measurement noise covariance.

In this paper, we combine the idea of square root filter and a new adaptive unscented Kalman filter (ASRUKF) algorithm based on improved Sage-Husa estimation to estimate the SOC of a lithium-ion battery for electric vehicles. This method adaptively adjusts the values of the process and measurement noise covariances in the SOC estimation process to improve the accuracy of SOC estimation. It also ensures non-negative qualitative and symmetry of the matrices when the process noise variance matrix and the measured noise variance matrix are calculated, which ensures that SOC estimation results will not diverge. Experimental results show that the ASRUKF algorithm performs well in SOC estimation. The proposed method was compared with EKF and UKF approaches. The results show that it can estimate the SOC of lithium-ion battery more accurately than the other two methods. Moreover, the ASRUKF algorithm improves the robustness and convergence during SOC estimating process. The outline of this paper is as follows: Section 2 introduces the lithium-ion battery model and parameter identification. Section 3 presents the ASRUKF algorithm. Section 4 presents experimental verification and analysis. Section 5 provides a conclusion.

## 2. Lithium-Ion Battery Modelling and Parameter Identification

#### 2.1. Lithium-Ion Battery Modelling

A battery’s dynamic characteristics should be well reflected by an uncomplicated lithium-ion battery model that can be easily used in engineering. Thus, a second-order RC equivalent circuit model was chosen as a model for a lithium-ion battery, as shown in Figure 1.

In Figure 1, ${U}_{0}$ represents the terminal voltage of the battery, ${U}_{\mathrm{oc}}$ represents the battery open-circuit voltage, ${U}_{R}$ represents the voltage of internal resistance, R represents the battery’s internal resistance, R

_{1}and C_{1}represent the diffusion resistance and the diffusion capacitance, respectively, and R_{2}, C_{2}represent the concentration polarization resistance and the concentration polarization capacitance, respectively. ${U}_{1}$ and ${U}_{2}$ are the polarization voltages. According to the model, a mathematical model equivalent to the battery circuit can be obtained as follows:
$$\{\begin{array}{l}{U}_{0,t}={U}_{\mathrm{oc},t}-{U}_{R,t}-{U}_{1,t}-{U}_{2,t}\hfill \\ {I}_{t}={C}_{1,t}\frac{d{U}_{1,t}}{dt}+\frac{{U}_{1,t}}{{R}_{1}}={C}_{2,t}\frac{d{U}_{2,t}}{dt}+\frac{{U}_{2,t}}{{R}_{2}}\hfill \end{array}$$

SOC can be expressed as:
where ${Q}_{N}$ represents the rated capacity of the battery.

$$SO{C}_{t}=SO{C}_{{t}_{0}}-\frac{{\displaystyle {\int}_{{t}_{0}}^{t}I}dt}{{Q}_{N}}$$

The relationship between the open-circuit voltage and the SOC is described by combining the Shepherd model and the Nerst model [29] as:
where k

$${U}_{oc}={k}_{0}+{k}_{1}\mathrm{ln}(SOC)+{k}_{2}\mathrm{ln}(1-SOC)+\text{\hspace{0.05em}}{k}_{3}\frac{1}{SOC}+\text{\hspace{0.05em}}{k}_{4}SOC$$

_{0}, k_{1}, k_{2}, k_{3}and k_{4}are the parameters to be identified.Discrete state space equations are obtained after linearizing and discretizing the battery equivalent model. The battery state space equations are:

$$\left[\begin{array}{c}SO{C}_{k+1}\\ {U}_{1,k+1}\\ {U}_{2,k+1}\end{array}\right]=\left[\begin{array}{ccc}1& 0& 0\\ 0& \mathrm{exp}(-\Delta t/{\tau}_{1})& 0\\ 0& 0& \mathrm{exp}(-\Delta t/{\tau}_{2})\end{array}\right]\left[\begin{array}{c}SO{C}_{k}\\ {U}_{1,k}\\ {U}_{2,k}\end{array}\right]+\text{\hspace{0.05em}}\left[\begin{array}{c}-\Delta t/({Q}_{N})\\ {R}_{1}(1-\mathrm{exp}(-T/{\tau}_{1}))\\ {R}_{2}(1-\mathrm{exp}(-T/{\tau}_{2}))\end{array}\right]{I}_{k}+\left[\begin{array}{c}{w}_{1,}{}_{k}\\ {w}_{2,k}\\ {w}_{3,k}\end{array}\right]$$

$${U}_{0,k}={U}_{oc,k}-{R}_{0,k}{I}_{k}+\text{\hspace{0.05em}}{\left[\begin{array}{c}0\\ -1\\ -1\end{array}\right]}^{T}\text{\hspace{0.05em}}\left[\begin{array}{c}SO{C}_{k}\\ {U}_{1,k}\\ {U}_{2,k}\end{array}\right]+{v}_{k}$$

The system matrix is:
where ${\tau}_{1}={R}_{1}{C}_{1}$, ${\tau}_{2}={R}_{2}{C}_{2}$.

$$\mathit{A}=\left[\begin{array}{ccc}1& 0& 0\\ 0& \mathrm{exp}(-\Delta t/{\tau}_{1})& 0\\ 0& 0& \mathrm{exp}(-\Delta t/{\tau}_{2})\end{array}\right]$$

$$\mathit{B}=\left[\begin{array}{c}-\Delta t/({Q}_{N})\\ {R}_{1}(1-\mathrm{exp}(-T/{\tau}_{1}))\\ {R}_{2}(1-\mathrm{exp}(-T/{\tau}_{2}))\end{array}\right]$$

$$\mathit{C}=\left[\begin{array}{ccc}\frac{d{U}_{0}}{dSOC}& \frac{d{U}_{0}}{d{U}_{1}}& \frac{d{U}_{0}}{d{U}_{2}}\end{array}\right]=\left[\begin{array}{ccc}\frac{d{U}_{OC}}{dSOC}& -1& -1\end{array}\right]$$

$$\mathit{D}=\left[-{R}_{0}\right]$$

The state space variable is ${x}_{k}={[SO{C}_{k},{U}_{1,k},{U}_{2,k}]}^{T}$. The input variable is ${U}_{k}=[{I}_{k}]$. The output variable is ${\mathit{y}}_{k}=[{U}_{0,k}]$. The process error $w$, and measurement error $\upsilon $, are zero-mean white noise processes with covariance matrices $Q$ and $R$, respectively.

#### 2.2. Parameter Identification

Then a pulse discharge experiment was used to obtain battery model parameters. The pulse discharge current is 0.5 C. The battery was discharged each 10% SOC and then standing for 30 m. The battery current causes a voltage response from which the battery model parameters can be obtained, which is shown in Figure 2. The voltage ${U}_{0}$ is reduced when the discharge pulse current is loaded, which is mainly caused by ohmic resistance. The ohm internal resistance voltage is denoted by ${U}_{R}$. In a continuous discharge process, the voltage drops slowly as a result of a polarization reaction, which corresponds to ${R}_{1}$, ${C}_{1}$ and ${R}_{2}$, ${C}_{2}$. The polarization voltage is denoted by ${U}_{p}={U}_{1}+{U}_{2}$. The voltage rises ($\Delta {U}_{2}$) as the discharge current is removed, which is the same value as $\Delta {U}_{1}$. Finally, a steady voltage, which is related to the SOC, is the open circuit voltage of the battery at this time. The voltage is denoted by ${U}_{\mathrm{oc}}$.

Through the above analysis, battery model parameters can be calculated as follows:

$$R={U}_{R}/I$$

The zero-input response of the RC circuit can be expressed as ${U}_{p}=U\mathrm{exp}(-\frac{t}{\tau})$. Thus, the voltage response at the two RC stages can be written as:
${t}_{1}$ is the time to remove the load current. ${\tau}_{1}$ and ${\tau}_{2}$ can be obtained using the least squares algorithm.

$${U}_{p}(t)={U}_{1}(t)\mathrm{exp}(-\frac{t-{t}_{1}}{{\tau}_{1}})+{U}_{2}(t)\mathrm{exp}(-\frac{t-{t}_{1}}{{\tau}_{2}})$$

The zero-state response of the RC circuit can be expressed as ${U}_{p}=U\left[1-\mathrm{exp}(-\frac{t}{\tau})\right]$. Thus, the voltage response at the two RC stages can be written as:

$${U}_{p}(t)={U}_{1}(t)\left[1-\mathrm{exp}(-\frac{t-{t}_{2}}{{\tau}_{1}})\right]+{U}_{2}(t)\left[1-\mathrm{exp}(-\frac{t-{t}_{2}}{{\tau}_{2}})\right]$$

$${U}_{p}(t)={R}_{1}I\left[1-\mathrm{exp}(-\frac{t-{t}_{2}}{{\tau}_{1}})\right]+{R}_{2}I\left[1-\mathrm{exp}(-\frac{t-{t}_{2}}{{\tau}_{2}})\right]$$

${t}_{2}$ is the start time of the polarization reaction. R

_{1}and R_{2}can be obtained using the least squares algorithm. C_{1}and C_{2}can then be calculated.## 3. Adaptive Square Root Unscented Kalman Filter

In a standard UKF, the state covariance is recursively propagated by decomposing into matrix square root, ${S}_{k}$, for sigma point mapping at each time step where ${P}_{k}={S}_{k}{S}_{k}{}^{\mathrm{T}}$. Then, the ${P}_{k}$ matrix is reconstructed from all the propagated sigma points for updating purpose [30]. In the ASRUKF implemention, ${S}_{k}$ will be directly propagated, avoiding the need to refactorize at each time step. Thus non-negative qualitative and symmetry of P

_{k}could be ensured. Additionally, the process values and measurement noise covariance can be adaptively adjusted by the Sage-Husa adaptive filter algorithm. The ASRUKF makes use of three linear algebra techniques for square-root covariance update and propagation: QR decomposition (qr), Cholesky factor updating (cholupdate) and efficient least squares [31].For a system of our interest described by Equation (1), such state and measurement equations can be written in the discrete form as follows:
where x is the n dimensional state vector, y is the m dimensional measurement vector and u is the r dimensional input vector.

$$\{\begin{array}{l}{x}_{k+1}=\mathit{A}{x}_{k}+\mathit{B}{u}_{k}+{w}_{k}\hfill \\ {y}_{k}=\mathit{C}{x}_{k}+\mathit{D}{u}_{k}+{v}_{k}\hfill \end{array}$$

The basic steps involve initialization, time-update and measurement-update, detailed computation processes of the ASRUKF algorithm are as follows:

(1) Set the initial state mean ${\widehat{x}}_{0}={[SOC\text{\hspace{1em}}{U}_{1}\text{}{U}_{2}]}^{\mathrm{T}}$ and covariance ${\mathit{S}}_{0}$
where chol(·) represents a Cholesky decomposition of a matrix returning a lower triangular Cholesky factor. That is to say:

$$\{\begin{array}{l}{\widehat{x}}_{0}=E[{x}_{0}]\\ {\mathit{P}}_{0}=E[({x}_{0}-{\widehat{x}}_{0}){({x}_{0}-{\widehat{x}}_{0})}^{\mathrm{T}}]\\ {\mathit{S}}_{0}=chol\left({\mathit{P}}_{0}\right)\\ \sqrt{{\mathit{Q}}_{0}}={\mathit{S}}_{0}\\ \sqrt{{\mathit{R}}_{0}}=chol\{E[({y}_{0}-{\widehat{y}}_{0}){({y}_{0}-{\widehat{y}}_{0})}^{\mathrm{T}}]\}\end{array}$$

$${\mathit{P}}_{0}={\mathit{S}}_{0}{\mathit{S}}_{0}^{T}$$

(2) Time update

Calculate the sigma points:
where $\gamma =\sqrt{n+\lambda}$, $\lambda ={\alpha}^{2}(n+z)-n$ is a scaling parameter, $\alpha $ determines the spread of the sigma points around $\widehat{x}$ and is usually set to a small positive value. z is a secondary scaling parameter which is usually set to 0.

$${\mathit{\chi}}_{k-1}=[{\widehat{x}}_{k-1}{\widehat{x}}_{k-1}+\gamma {\mathit{S}}_{k-1}{\widehat{x}}_{k-1}-\gamma {\mathit{S}}_{k-1}]$$

Perform a nonlinear transformation of sigma points and predict the square root of the SOC and variance:

$$\{\begin{array}{l}{\widehat{\mathit{\chi}}}^{*}{}_{k}=f({\widehat{\mathit{\chi}}}_{k-1},{u}_{k-1})\\ {\widehat{x}}^{-}{}_{k}={\displaystyle \sum _{i=0}^{2l}{\omega}_{i}^{m}{\widehat{\mathit{\chi}}}^{*}{}_{k}}\\ {\mathit{S}}_{xk}^{-}=qr\{[\sqrt{{\omega}_{1}^{c}}({\widehat{\mathit{\chi}}}_{1:2l,k}^{*}-{\widehat{x}}^{-}{}_{k})\text{\hspace{0.05em}}\sqrt{{Q}_{k-1}}]\}\end{array}$$

Considering that ${\omega}_{1}^{c}$ may be a negative value, Equation (15) is used to calculate the SOC covariance:
where $\omega $ means the weight.

$${\mathit{S}}_{xk}^{}=cholupdate\{[{\mathit{S}}_{xk}^{-},{\widehat{\mathit{\chi}}}_{0,k}^{*}-{\widehat{x}}^{-}{}_{k},{\omega}_{0}^{c}]\}$$

(3) Measurement update

Perform a nonlinear transformation of sigma points and calculate the measured residuals:

$$\{\begin{array}{l}{\widehat{\mathit{Y}}}^{-}{}_{k}=h({\widehat{\mathit{\chi}}}^{-}{}_{k})\hfill \\ {\widehat{y}}_{k}^{-}={\displaystyle \sum _{i=0}^{2l}{\omega}_{i}^{m}{\widehat{\mathit{Y}}}_{i,k}^{-}}\hfill \\ {\tilde{y}}_{k}^{-}={\widehat{y}}_{k}-{\widehat{y}}_{k}^{-}\hfill \end{array}$$

(4) Estimate measurement noise statistics
where ${d}_{k}=(1-b)/(1-{b}^{k+1})$, b is the forgetting factor, 0 < b < 1.

$$\{\begin{array}{l}\sqrt{{\mathit{R}}^{**}}=cholupdate\{\sqrt{1-{d}_{k}}\sqrt{{\widehat{\mathit{R}}}_{k-1}},|{y}_{k}|,{d}_{k}\}\hfill \\ \sqrt{{\mathit{R}}^{*}}=cholupdate\{\sqrt{{\mathit{R}}^{**}},{\widehat{\mathit{Y}}}_{0:2l,k}^{-}-{\widehat{y}}_{k}^{-}-{d}_{k}{\omega}_{i}^{c}\}\hfill \\ \sqrt{{\mathit{R}}_{k}}=diag\left\{\sqrt{diag(\sqrt{{\mathit{R}}^{*}}{\sqrt{{\mathit{R}}^{*}}}^{\mathrm{T}})}\right\}\hfill \end{array}$$

(5) Calculation of cross covariance matrix ${\mathit{P}}_{xy,k}$

$${\mathit{P}}_{xyk}={\displaystyle \sum _{i=0}^{2l}{\omega}_{i}^{c}({\widehat{\mathit{\chi}}}_{i,k}^{-}-}{\widehat{x}}_{k}^{-}){({\widehat{\mathit{Y}}}_{i,k}^{-}-{\widehat{y}}_{k})}^{\mathrm{T}}$$

(6) Compute the measurement covariance and its update

$${\mathit{S}}_{yk}^{-}=qr\{[\sqrt{{\omega}_{1}^{c}}({\widehat{\mathit{Y}}}_{1:2l,k}^{-}-{\widehat{y}}_{k}^{-})\sqrt{{\widehat{\mathit{R}}}_{k}}]\}$$

$${\mathit{S}}_{yk}=cholupdate\{[{\mathit{S}}_{yk}^{-},({\widehat{\mathit{Y}}}_{1:2l,k}^{-}-{\widehat{y}}_{k}^{-}),{w}_{0}^{c}]\}$$

(7) Calculation of Kalman gain ${\mathit{K}}_{k}$ and SOC estimate update ${\widehat{x}}_{k}$ through measurement

$${\mathit{K}}_{k}=({\mathit{P}}_{xyk}/{\mathit{S}}_{{}_{yk}}^{T})/{S}_{yk}$$

$${\widehat{x}}_{k}={\widehat{x}}_{k}^{-}+{\mathit{K}}_{k}{\tilde{y}}_{k}$$

(8) Solve for the square root of the posterior variance

$$\{\begin{array}{l}\mathit{U}={\mathit{K}}_{k}{\mathit{S}}_{yk}\hfill \\ {\mathit{S}}_{k}=cholupdate\{{\mathit{S}}_{xk}^{-},\mathit{U},-1\}\hfill \end{array}$$

(9) Update the estimated process noise characteristics

$$\{\begin{array}{l}\sqrt{{\mathit{Q}}^{**}}=cholupdate\{\sqrt{{\mathit{Q}}_{k-1}},|{\widehat{x}}_{k}-{\widehat{x}}_{k}^{-}|,{d}_{k}\}\hfill \\ \sqrt{{\mathit{Q}}^{*}}=cholupdate\{\sqrt{{\mathit{Q}}^{**}},\mathit{U},-{d}_{k}\}\hfill \\ \sqrt{{\mathit{Q}}_{k}}=diag\left\{\sqrt{diag\sqrt{{\mathit{Q}}^{*}}{\sqrt{{\mathit{Q}}^{*}}}^{\mathrm{T}}}\right\}\hfill \end{array}$$

Through detailed computational processes, we can project the state of the system if random initial information is used. Combine the battery state space (4) and (5) and the ASRUKF and SOC can be accurately tracked.

## 4. Experimental Verification and Analysis

#### 4.1. Experimental Platform

To verify the effectiveness of the algorithm, all experiments were implemented using the AVL-Estorage experimental platform (AVL, Graz, Austria), The AVL-Estorage experimental platform is shown in Figure 3. The test subject is a lithium-ion battery pack, which is shown in Figure 4. The nominal capacity of the battery pack which is made up of 16 single batteries in series is 50 Ah, and the nominal voltage is 51.2 V. The operation status of each single battery can be monitored by the equipment. The working status of each single battery is similar. One of the 16 single batteries was chosen to be researched and analyzed in this paper. A constant-current discharge experiment and an urban dynamometer driving schedule (UDDS) test were performed using the AVL-Estorage experiment platform. The current, voltage, SOC, and temperature can be recorded via computer.

#### 4.2. Battery Model Validation

Based on the Chinese “Technical Specification of Battery Management System for Electric Vehicles” requirements, the battery needs to measure capacity three consecutive times to determine the battery capacity. Firstly, the battery was charged to the cut-off voltage 3.65 V by 1/3 C constant current at 25 °C. Secondly, the battery was charged to the current less than 32 mA by constant voltage and then stood for 1 h. Finally, the battery was discharged to the cut-off voltage 2.7 V by 1/3 C constant current and then stood for 1 h. The battery capacity could be calculated with the ampere-hour method. If the deviation of three tests of the discharge capacity and its mean capacity is less than 2%, then the battery capacity test result would be effective. Otherwise it is necessary to continue the tests until the capacity results for three consecutive times to meet the confirmation conditions of the available capacity.

After the pulse discharge experiment, the relational function of ${U}_{oc}$ and SOC can be obtained using the curve-fitting tool in MATLAB. k

_{0}, k_{1}, k_{2}, k_{3}, k_{4}were identified which is shown in Table 1. The fitting relationship is shown in Figure 5. R, R_{1}, C_{1}, R_{2}and C_{2}were identified which is shown in Table 2. The battery model described in this paper was verified through a constant-current discharge experiment. The constant discharge current was 0.5 C. The experiment lasted 6502 s. The battery was maintained at an environmental temperature of 25 °C. The initial SOC of the battery was 0.996 and the final SOC was 0.105. The measurement terminal voltage was compared with the model terminal voltage, as shown in Figure 6, which shows that the model terminal voltage tracks the measurement voltage well. The absolute error of the model is shown in Figure 7. The maximum error was 0.036 V. The mean error was 0.0035 V and the relative error was 1.1%. Based on the results of this analysis, the established battery model was regarded to be reliable.#### 4.3. SOC Estimation Validation

#### 4.3.1. SOC Estimation Experimental Results under a Constant-Current Discharge

The experimental conditions used for this experiment were the same as those used in Section 4.2 with a constant discharge current of 0.5 C. The initial SOC value was assumed to be 0.9, which is different from the real SOC of 1.0. The SOC estimation result with the proposed method is shown in Figure 8 with the results of EKF and UKF, and the estimation errors are shown in Figure 9. The reference SOC is obtained using the calibrated ampere hour counting by current and sampling time recorded by the AVL E-storage test equipment. The SOC estimation result of ASRUKF is more accurate than EKF and UKF; the SOC estimation mean error is 0.5%, and the maximum error is 0.54%. The SOC estimation RMSE is less than 0.5% which improves 2.7% and 1% compared with the EKF and UKF. The SOC estimation RMSE result indicates that the ASRUKF has a better robustness than the EKF and UKF for SOC estimation. A comparison of SOC estimation errors is shown in Table 3. Furthermore, the three methods are capable of tracking the real SOC even when the initial SOC is different from the real one. However, the estimation error of ASRUKF method is more stable than the errors of the other methods, and ASRUKF is able to track the real SOC faster than the other methods studied.

#### 4.3.2. SOC Estimation by UDDS Test

The urban dynamometer driving schedule (UDDS) is a typical driving cycle which is often used to the correctness of the algorithm. In this paper, six UDDS is employed to verify the proposed SOC estimation algorithm. According to the actual laboratory conditions of the lithium-ion battery, the operating current used in the experiment was scaled reduced. Six UDDS driving cycles were used as shown in Figure 10. The initial SOC value was assumed to be 0.9, and the results of SOC estimation by EKF, UKF, and ASRUKF are shown in Figure 11. The estimation errors are shown in Figure 12. The reference SOC is obtained using the calibrated ampere hour counting by current and sampling time recorded by the AVL E-storage test equipment. The SOC estimation result of ASRUKF was shown to be more accurate and more robust than EKF and UKF in the UDDS experiment. The mean SOC estimation error was 0.2% and the maximum error was 0.8%. It is worth noting that the SOC estimation error could be big when the battery is in the final stage of discharge, the large error mainly results from the nonlinear of battery itself. The nonlinear of lithium-ion battery is extremely strong at both ends of the SOC. Various of SOC estimation methods have low accuracy in the final stage of discharge. Nevertheless, the maximum SOC error with proposed method was 0.8% in the final stage of discharge which is smaller than that of other methods. The SOC estimation RMSE is less than 0.5% which improves 2.7% and 1.1% compared with EKF and UKF. The SOC estimation RMSE result indicates that the ASRUKF has a better robustness than the EKF and UKF for SOC estimation. A comparison of the SOC estimation error is shown in Table 4. Furthermore, the three methods were shown to be capable of tracking the real SOC even when the initial value was different from the real SOC. However, the ASRUKF error is more stable than the other tested methods and its tracking speed is the fastest one, indicating that ASRUKF has better convergence.

#### 4.3.3. Estimation Results Compared with References

An adaptive unscented Kalman filter has been previously proposed [20] with an SOC estimation error of less than 1%. An adaptive Kalman filter algorithm has also been previously adopted to estimate the SOC of a lithium-ion battery [21]. The maximum SOC estimation error of this method is 2.54% and the mean SOC estimation error is 1.06%. In a different study, the maximum SOC estimation error was found to be 4.96% and the mean SOC estimation error was 1.09% [23]. Since the non-negative qualitative and symmetry of ${P}_{k}$ could be ensured and process values and measurement noise covariance can be adaptively adjusted with the proposed method in this paper, we have found a maximum SOC estimation error of 0.8% and a mean SOC estimation error of 0.5%. The results of our comparison show that the ASRUKF algorithm estimates SOC more accurately, more stably and more self-adaptively than other commonly-used methods.

## 5. Conclusions

This paper presents an adaptive square root unscented Kalman filter (ASRUKF) to estimate the SOC of a lithium-ion battery in electric vehicles. The commonly-used second-order RC equivalent circuit is applied to simulate the nonlinear behaviors of the lithium-ion battery and establish the battery state-space equations. The OCV-SOC relationship is fitted using the Shepherd model and the Nerst model and the other RC parameters of the battery model are determined by the least-squares algorithm. The principle of adaptive square root unscented Kalman filter for battery SOC estimation is introduced and the estimated process is presented in detail. A constant current test and the urban dynamometer driving schedule are applied to assess the performance of the proposed method by comparing with the traditional EKF and UKF algorithms. Experimental results indicates that the proposed method has superior performance on measures of accuracy, robustness, and convergence. The proposed method tracks the real SOC well, even when the initial SOC has an obvious error. Therefore, the proposed method provides a promising approach for the estimation of SOC by battery management system for electric vehicles.

## Acknowledgments

This work was supported by the Major Scientific Instrument Development Program of the National Natural Science Foundation of China under grant no. 61527809, the Key Project of National Natural Science Foundation of China under grant no. 61633015, the National Natural Science Foundation of China under grant no. 61273097, and the Major International (Regional) Joint Research Project of the National Natural Science Foundation of China (NSFC) under grant no. 61320106011. The authors would like to thank them for their support and help. The authors would also like to thank the reviewers for their corrections and helpful suggestions.

## Author Contributions

Shulin Liu conceived this paper, designed and performed the experiments, and analyzed the data; and Naxin Cui and Chenghui Zhang revised the paper and provided some valuable suggestions.

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Xiong, R.; Sun, F.; Gong, X.; Gao, C. A Data-Driven Based Adaptive State of Charge Estimator of Lithium-Ion Polymer Battery Used in Electric Vehicles. Appl. Energy
**2014**, 113, 1421–1433. [Google Scholar] [CrossRef] - Yilmaz, M.; Krein, P.T. Review of Battery Charger Topologies, Charging Power Levels, and Infrastructure for Plug-In Electric and Hybrid Vehicles. IEEE Trans. Power Electron.
**2013**, 28, 2151–2169. [Google Scholar] [CrossRef] - Ng, K.; Moo, C.-S.; Chen, Y.-P.; Hsieh, Y.-C. Enhanced Coulomb Counting Method for Estimating State-of-Charge and State-of-Health Of Lithium-Ion Batteries. Appl. Energy
**2009**, 86, 1506–1511. [Google Scholar] [CrossRef] - Feng, F.; Lu, R.; Wei, G.; Zhu, C. Online Estimation of Model Parameters and State of Charge of LiFePO
_{4}Batteries Using a Novel Open-Circuit Voltage at Various Ambient Temperatures. Energies**2015**, 8, 2950–2976. [Google Scholar] [CrossRef] - Tong, S.; Klein, M.P.; Park, J.W. On-line Optimization of Battery Open Circuit Voltage for Improved State-of-Charge and State-of-Health Estimation. J. Power Sources
**2015**, 293, 416–428. [Google Scholar] [CrossRef] - Tong, S.; Lacap, J.H.; Park, J. Battery State of Charge Estimation Using a Load-Classifying Neural Network. J. Energy Storage
**2016**, 7, 236–243. [Google Scholar] [CrossRef] - Charkhgard, M.; Farrokhi, M. State-of-Charge Estimation for Lithium-Ion Batteries Using Neural Networks and EKF. IEEE Trans. Ind. Electron.
**2010**, 57, 4178–4187. [Google Scholar] [CrossRef] - Guo, Y.F.; Zhao, Z.S.; Huang, L.M. SOC Estimation of Lithium Battery Based on Improved BP Neural Network. Energy Procedia
**2017**, 105, 4153–4158. [Google Scholar] [CrossRef] - Dang, X.; Yan, L.; Xu, K.; Wu, X.; Jiang, H.; Sun, H. Open-circuit Voltage-Based State of Charge Estimation of Lithium-ion Battery Using Dual Neural Network Fusion Battery Model. Electrochim. Acta
**2016**, 188, 356–366. [Google Scholar] [CrossRef] - Shen, Y.Q. Adaptive Online State-of-Charge Determination Based on Neuro-controller and Neural Network. Energy Convers. Manag.
**2010**, 51, 1093–1098. [Google Scholar] [CrossRef] - Pérez, G.; Garmendia, M.; Reynaud, J.F.; Crego, J.; Viscarret, U. Enhanced closed loop State of Charge estimator for lithium-ion batteries based on Extended Kalman Filter. Appl. Energy
**2015**, 155, 834–845. [Google Scholar] [CrossRef] - Pavković, D.; Krznar, M.; Komljenović, A.; Hrgetić, M.; Zorc, D. Dual EKF-Based State and Parameter Estimator for a LiFePO
_{4}Battery Cell. J. Power Electron.**2017**, 17, 398–410. [Google Scholar] [CrossRef] - Paschero, M.; Storti, G.L.; Rizzi, A.; Mascioli, F.M.F.; Rizzoni, G. A Novel Mechanical Analogy-Based Battery Model for SOC Estimation Using a Multicell EKF. IEEE Trans. Sustain. Energy
**2016**, 7, 1695–1702. [Google Scholar] [CrossRef] - Kim, J.; Lee, S.; Cho, B.H. Complementary Cooperation Algorithm Based on DEKF Combined with Pattern Recognition for SOC/Capacity Estimation and SOH Prediction. IEEE Trans. Power Electron.
**2012**, 27, 436–451. [Google Scholar] [CrossRef] - Xiong, R.; He, H.; Sun, F.; Zhao, K. Evaluation on State of Charge Estimation of Batteries with Adaptive Extended Kalman Filter by Experiment Approach. IEEE Trans. Veh. Technol.
**2013**, 62, 108–117. [Google Scholar] [CrossRef] - Chen, Z.; Fu, Y.; Mi, C.C. State of Charge Estimation of Lithium-Ion Batteries in Electric Drive Vehicles Using Extended Kalman Filter. IEEE Trans. Veh. Technol.
**2013**, 62, 1020–1030. [Google Scholar] [CrossRef] - Du, J.; Liu, Z.; Wang, Y.; Wen, C. An Adaptive Sliding Mode Observer for Lithium-Ion Battery State of Charge and State of Health Estimation in Electric Vehicles. Control Eng. Pract.
**2016**, 54, 81–90. [Google Scholar] [CrossRef] - Chen, Q.; Jiang, J.; Liu, S.; Zhang, C. A Novel Sliding Mode Observer for State of Charge Estimation of EV Lithium Batteries. J. Power Electron.
**2016**, 16, 1131–1140. [Google Scholar] [CrossRef] - Chen, X.; Shen, W.; Cao, Z.; Kapoor, A. A Novel Approach for State of Charge Estimation Based on Adaptive Switching Gain Sliding Mode Observer in Electric Vehicles. J. Power Sources
**2014**, 246, 667–678. [Google Scholar] [CrossRef] - Chen, Q.; Jiang, J.; Ruan, H.; Zhang, C. Simply Designed and Universal Sliding Mode Observer for the SOC Estimation of Lithium-Ion Batteries. IET Power Electron.
**2017**, 10, 697–705. [Google Scholar] [CrossRef] - He, Z.; Chen, D.; Pan, C.; Chen, L.; Wang, S. State of Charge Estimation of Power Li-Ion Batteries Using a Hybrid Estimation Algorithm Based on UKF. Electrochim. Acta
**2016**, 211, 101–109. [Google Scholar] - He, H.; Xiong, R.; Peng, J. Real-time Estimation of Battery State-of-Charge with Unscented Kalman Filter and RTOS μCOS-II Platform. Appl. Energy
**2016**, 162, 1410–1418. [Google Scholar] [CrossRef] - Tian, Y.; Xia, B.; Sun, W.; Xu, Z.; Zheng, W. A Modified Model Based State of Charge Estimation of Power Lithium-Ion Batteries Using Unscented Kalman Filter. J. Power Sources
**2014**, 270, 619–626. [Google Scholar] [CrossRef] - Mohamed, A.H.; Schwarz, K.P. Adaptive Kalman Filter for INS/GPS. J. Geod.
**1999**, 73, 193–203. [Google Scholar] [CrossRef] - Meng, J.; Luo, G.; Gao, F. Lithium Polymer Battery State-of-Charge Estimation Based on Adaptive Unscented Kalman Filter and Support Vector Machine. IEEE Trans. Power Electron.
**2015**, 31, 2226–2238. [Google Scholar] [CrossRef] - He, H.; Xiong, R.; Zhang, X.; Sun, F.; Fan, J. State-of-Charge Estimation of the Lithium-Ion Battery Using an Adaptive Extended Kalman Filter Based on an Improved Thevenin Model. IEEE Trans. Veh. Technol.
**2011**, 60, 1461–1469. [Google Scholar] - Xia, B.; Wang, H.; Tian, Y.; Wang, M.; Sun, W.; Xu, Z. State of Charge Estimation of Lithium-Ion Batteries Using an Adaptive Cubature Kalman filter. Energies
**2015**, 8, 5916–5936. [Google Scholar] [CrossRef] - Aung, H.; Soon Low, K.; Ting Goh, S. State-of-Charge Estimation of Lithium-Ion Battery Using Square Root Spherical Unscented Kalman Filter (Sqrt-UKFST) in Nanosatellite. IEEE Trans. Power Electron.
**2014**, 30, 4774–4783. [Google Scholar] [CrossRef] - Micea, M.V.; Ungurean, L.; Carstoiu, G.N.; Groza, V. Online State-of-Health Assessment for Battery Management Systems. IEEE Trans. Instrum. Meas.
**2011**, 60, 1997–2006. [Google Scholar] [CrossRef] - Haykin, S. Kalman Filter and Neural Networks; John Wiley & Sons, Inc.: New York, NY, USA, 2001. [Google Scholar]
- Van der Merwe, R.; Wan, E.A. The Square-Root Unscented Kalman Filter for State and Parameter-Estimation. In Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, Salt Lake City, UT, USA, 7–11 May 2001; Volume 6, pp. 3461–3464. [Google Scholar]

**Figure 2.**The single pulse discharge curve (

**a**) the single pulse discharge current curve; (

**b**) the single pulse discharge voltage curve.

K_{0} | K_{1} | K_{2} | K_{3} | K_{4} |
---|---|---|---|---|

3.3893 | 0.0688 | −0.00592 | 0.0002 | −0.0707 |

SOC | R (mΩ) | R_{1} (mΩ) | C_{1} (F) | R_{2} (mΩ) | C_{2} (F) |
---|---|---|---|---|---|

0.1 | 29.44 | 5.76 | 87,318.81 | 8.88 | 3661.89 |

0.2 | 29.24 | 6.45 | 85,260.83 | 7.66 | 4956.27 |

0.3 | 29.29 | 7.66 | 73,577.30 | 7.20 | 5678.10 |

0.4 | 28.83 | 4.74 | 102,356.69 | 6.97 | 5755.12 |

0.5 | 28.68 | 3.98 | 141,531.77 | 6.15 | 5529.76 |

0.6 | 28.14 | 7.04 | 108,991.73 | 6.22 | 6196.12 |

0.7 | 27.78 | 8.49 | 53,941.98 | 7.30 | 5513.29 |

0.8 | 28.61 | 4.08 | 115,293.37 | 7.80 | 4613.10 |

0.9 | 28.56 | 3.42 | 166,961.48 | 6.18 | 5174.26 |

1 | 28.56 | 3.42 | 166,961.48 | 6.18 | 5174.26 |

Methods | Mean Error | Maximum Error | RMSE |
---|---|---|---|

EKF | 2.8% | 3.9% | 3.2% |

UKF | 1.2% | 2.4% | 1.5% |

ASRUKF | 0.5% | 0.54% | 0.5% |

Methods | Mean Error | Maximum Error | RMSE |
---|---|---|---|

EKF | 2.1% | 3.7% | 3.1% |

UKF | 1.3% | 1.6% | 1.5% |

ASRUKF | 0.2% | 0.8% | 0.4% |

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).