# Soc Estimation of the Lithium-Ion Battery Pack using a Sigma Point Kalman Filter Based on a Cell’s Second Order Dynamic Model

^{1}

^{2}

^{*}

Previous Article in Journal

RIAT Institute, Thai Nguyen University of Technology, 3/2 Street, Tich Luong Ward, Thai Nguyen 250000, Vietnam

Electrical Faculty, Thai Nguyen University of Technology; 3/2 Street, Tich Luong Ward, Thai Nguyen 250000, Vietnam

Author to whom correspondence should be addressed.

Received: 9 February 2020
/
Revised: 5 March 2020
/
Accepted: 6 March 2020
/
Published: 10 March 2020

This paper deals with the state of charge (SoC) estimation of a lithium-ion battery pack (LiBP) connected by some cells in series and parallel. The voltage noise, noise and current bias of current through the LiBP are taken into account in the SoC estimation problem. In order to describe the cell dynamic more accurately, especially for practical applications with charge and discharge amplitude varying suddenly, in this paper we use the second dynamic order model of the cell to estimate the SoC of the LiBP. By applying the sigma point Kalman filter (SPKF), the average SoC of the pack and bias current of current measurement are estimated by first estimator; the second estimator estimates the SoC differences of the cell modules from average SoC of the pack. The SoC of the cell modules are the sum of average SoCs of the pack and the SoC differences. By only using two estimators, the calculation complexity for SoC estimation is more reduced; this is very useful for the LiBP, which has the number of cells connected in a large series. This method was applied for the pack of SAMSUNG ICR18650-22P connected by seven cell modules; the cell modules were connected by nine cells in parallel; the LiBP was charged and discharged with amplitude varying suddenly. The estimated SoC of seven cell modules is smaller than 2% for a temperature operating range typically −5 °C to 45 °C. The comparison of the accuracy of SoC estimation based on the first and the second order dynamic models is made; the result shows that the SoC estimation used the second order dynamic model is more exact.

Today, the lithium ion battery (LiB) is used widely in the practical applications because of its advantages, such as high energy density, no memory and no scheduled cycling, less self-discharge, long battery life and low maintenance. LiBP can provide extremely high currents and can discharge very rapidly when short-circuited [1,2]. For an application with high power, for example, electric vehicles or hybrid electric vehicles, the lithium ion battery pack (LiBP) is formed by connecting some cells in parallel and series in order to get the desired power. State of charge (SoC) is the important parameter of the cell, it is used to determine the electrical energy remaining of the cell in the battery management system (BMS). However, when it comes to the LiBP, the SoC of the pack is not the proper definition in the practice [3]. For the LiBP with many cells connected in series, the definitions average SoC of the pack and SoC of cells are used. The average SoC of the pack shows the amount of electrical energy of the pack, and the SoC of cells indicates the electrical energy in the cells. Average SoC of the pack and SoC of cells are two very important parameters for the BMS and cell balance control in the practice.

In recent years, an assortment of techniques has been proposed in order to achieve accurate battery SoC estimation. The most common methods are: the terminal voltage (open loop) method, the internal resistance method and the Coulomb counting method [4,5]; the methods are based on the equivalence circuit model of cell [6,7], the adaptive model considering the hysteristic, the noise, the varying of cell resistance dependent on the aging process and the operating temperature [8]. The methods use the Kalman filter [9], extended Kalman filter (EKF) [10] and particle point (PF) [11,12]. Additionally, there are SoC estimation methods based on learning algorithms such as neural networks [13,14], fuzzy logic and the nonlinear fractional model [15,16].

For the LiBP, the SoC estimation problem is still a hard problem [17,18]. Not only does this problem consider the complexity of the LiBP’s model, the cell SoC, the average SoC for the cells connected in series, the complexity of the estimation algorithm and the computing rate, but the influence of parameters in the cell model and measurement noise are considered too [3]. Each consideration could bring forward some different methods to solve the SoC estimation for LiBP with different accuracies. In order to estimate the SoC of the cell, we need to measure exactly the operating temperature, voltage and current through a cell. In the practice, the voltage and current measurements always are affected by Gausses noise with a zero mean. The current bias is added on current measurements which are caused by the amplifier. In this paper we present the SoC estimation for the LiBP connected by ${N}_{s}$ cell modules in series; each cell module is connected by ${N}_{p}$ cells in parallel (see Figure 1). In this research, we use the second dynamic model of cell considering the voltage measurement noise of cell module, noise and current bias of the current though LiBP.

The SPKF, known as one of the state estimation methods, has some advantages over the EKF by application ranges, and this method estimates more accurately the states for the second-order system or higher; meanwhile, computational complexity is the same as EKF. SPKF is easily implemented, as there is no requirement of the Jacobi matrix calculation [19,20,21,22]. For the EKF, the system’s nonlinear dynamic is linearized at the sampling time, the input distributions are mapped via the linearized dynamic function to calculate the output distributions, and the output distributions are less accurate if there is high nonlinear of the system dynamic. For the SPKF, the whole of the input distributions are mapped thought the nonlinear dynamic functions to get the output distribution. The SPKF algorithm is applied to estimate the average SoC of LiBP and the SoC differences of the cell modules from the average SoC of LiBP. SoC of cell modules is the sum of the average SoC of LiBP and the SoC differences of the cell modules. The cell dynamic with charge and discharge amplitude varying suddenly is described more exactly by using the second dynamic model. This research shows that the SoC estimation of LiBP using the second order dynamic model is more exact when compared with using the first order dynamic model, especially in the operating condition with the voltage measurement noise, noise and current bias of the current though LiBP.

This paper is organized into five parts. The introduction is described in the first section; the second order dynamic model of cell and the model of the LiBP are given in the second section. In Section 3, the estimation SoC of LiBP using the SPKF is presented; some experimental results are shown in the next section. Finally, discussions are mentioned in the last section.

Based on our previous work [6], the second order equivalent circuit model of the cell is shown in Figure 2.

For the state estimation problem of the cell, we consider the states of cell to be two currents through two dynamic branches of cell ${i}_{{R}_{1}},{i}_{{R}_{2}}$, the hysteresis $h$, SoC $z$ and the current bias $b$. The input and output of the model are current though the cell $i(t)$, and voltage $v(t)$, respectively. The input $i(t)$ and output $v(t)$ are measurable and influenced by noises which have Gaussian distribution with zero mean. Set the state vector, input vector and output at the sample time $k$ as Equation (1).

$${\underset{\_}{x}}_{k+1}=\left[\begin{array}{c}{i}_{{R}_{1},k+1}\\ {i}_{{R}_{2},k+1}\\ {h}_{k+1}\\ {z}_{k+1}\\ {b}_{k+1}\end{array}\right],{\underset{\_}{u}}_{k}=\left[\begin{array}{c}{i}_{k}\\ \mathrm{sgn}({i}_{k})\end{array}\right],{y}_{k}={v}_{k}$$

The state model of the cell on the discrete time domain is written in the Equation (2) as follows.

$$\left[\begin{array}{c}{i}_{{R}_{1},k+1}\\ {i}_{{R}_{2},k+1}\\ {h}_{k+1}\\ {z}_{k+1}\\ {b}_{k+1}\end{array}\right]=\left[\begin{array}{ccccc}{A}_{{R}_{1}{C}_{1}}& 0& 0& 0& 0\\ 0& {A}_{{R}_{2}{C}_{2}}& 0& 0& 0\\ 0& 0& {A}_{h}& 0& 0\\ 0& 0& 0& 1& 0\\ 0& 0& 0& 0& 1\end{array}\right]\left[\begin{array}{c}{i}_{{R}_{1},k}\\ {i}_{{R}_{2},k}\\ {h}_{k}\\ {z}_{k}\\ {b}_{k}\end{array}\right]+\left[\begin{array}{cc}\left(1-{A}_{{R}_{1}{C}_{1}}\right)& 0\\ \left(1-{A}_{{R}_{2}{C}_{2}}\right)& 0\\ 0& \left(1-{A}_{h}\right)\\ \frac{-{\eta}_{k}\Delta t}{Q}& 0\\ 0& 0\end{array}\right]\left[\begin{array}{c}{i}_{k}\\ \mathrm{sgn}\left({i}_{k}\right)\end{array}\right]+\left[\begin{array}{c}{w}_{{i}_{R1,k}}\\ {w}_{{i}_{R2,k}}\\ 0\\ 0\\ {w}_{b,k}\end{array}\right]$$

The matrices in the Equation (2) are calculated as
with $\underset{\_}{w}$ is the system disturbance vector, including the noises influencing the currents through two dynamic branches of cell ${w}_{{i}_{{R}_{1},k}},{w}_{{i}_{{R}_{2},k}}$ and current bias noise through cell ${w}_{b,k}$. The parameters ${\eta}_{k},{\gamma}_{k}$ are the columbic efficiency and positive constant; they all depend on the operating temperature of cell. The output equation of the model describing the relationship of the voltage drop on two electrodes of cell and the current, SoC—the hysteresis and currents through two dynamic branches—is written as follows.

$$\begin{array}{l}{A}_{{R}_{1}{C}_{1}}=\mathrm{exp}\left(\frac{-\Delta t}{{R}_{1}{C}_{1}}\right),{A}_{{R}_{2}{C}_{2}}=\mathrm{exp}\left(\frac{-\Delta t}{{R}_{2}{C}_{2}}\right),{B}_{{R}_{1}{C}_{1}}=1-{A}_{{R}_{1}{C}_{1}},{B}_{{R}_{2}{C}_{2}}=1-{A}_{{R}_{2}{C}_{2}}\\ {A}_{h}=\mathrm{exp}\left(-\left|\frac{{\eta}_{k}{i}_{k}{\gamma}_{k}\Delta t}{Q}\right|\right);{B}_{h}=1-{A}_{h};\underset{\_}{w}={\left[\begin{array}{ccccc}{w}_{{i}_{R1,k}}& {w}_{{i}_{R2,k}}& 0& 0& {w}_{b,k}\end{array}\right]}^{T}\end{array}$$

$${v}_{k}=OCV\left({z}_{k}\right)+M{h}_{k}-{R}_{1}{i}_{{R}_{1},k}-{R}_{2}{i}_{{R}_{2},k}-{R}_{0}{i}_{k}+{\zeta}_{k}$$

In short, the state space model of cell related to the voltage noise, noise and current bias of the current through the cell is
in which, the matrices of Equation (5) are formed as follows.
with ${\zeta}_{k}$ is the voltage noise of cell.

$$\left\{\begin{array}{l}{\underset{\_}{x}}_{k+1}={A}_{k}{\underset{\_}{x}}_{k}+{B}_{k}{\underset{\_}{u}}_{k}+{\underset{\_}{w}}_{k}\\ {y}_{k}=OCV\left({z}_{k}\right)+{C}_{k}{\underset{\_}{x}}_{k}+{D}_{k}{\underset{\_}{u}}_{k}+{\zeta}_{k}\end{array}\right.$$

$$\begin{array}{l}{A}_{k}=\left[\begin{array}{ccccc}{A}_{{R}_{1}{C}_{1}}& 0& 0& 0& 0\\ 0& {A}_{{R}_{2}{C}_{2}}& 0& 0& 0\\ 0& 0& {A}_{h}& 0& 0\\ 0& 0& 0& 1& 0\\ 0& 0& 0& 0& 1\end{array}\right],{B}_{k}=\left[\begin{array}{cc}\left(1-{A}_{{R}_{1}{C}_{1}}\right)& 0\\ \left(1-{A}_{{R}_{2}{C}_{2}}\right)& 0\\ 0& \left(1-{A}_{h}\right)\\ \frac{-{\eta}_{k}\Delta t}{Q}& 0\\ 0& 0\end{array}\right]\\ C=\left[\begin{array}{ccccc}-{R}_{1}& -{R}_{2}& M& 0& 0\end{array}\right],D=\left[\begin{array}{cc}-{R}_{0}& 0\end{array}\right]\end{array}$$

Suppose that for the LiBP formed by ${N}_{s}$ cell modules connected in series, each cell module includes ${N}_{p}$ cells connected in parallel; the notations of the quantities are describe in Figure 3.

For the cell module, which has some cells with different initial SoCs connected in parallel, after a certain period of time, the SoC of the cells in the module will balance itself. Then, the cells will have the same SoC and a voltage drop on two electrodes. The model of a LiBP is converted into a model of the cell modules connected in series, as shown in Figure 3. Thus, the average SoC of the cell module is the SoC of the cells in that module after a certain period of time. Illustration of the process of self-balancing of currents through four cells, and the SoCs and voltages of cells in a cell module are shown in Figure 4 and Figure 5, respectively, in which the initial SoCs of four cells are 0.9 (90%), 0.85 (85%), 0.8 (80%) and 0.75 (75%). The internal resistances of cells ${R}_{0}$ are 0.0013 Ω, 0.0012 Ω, 0.0012 Ω and 0.0011 Ω. After a period of 200 s, the SoCs of four cells are balanced by themselves; all four cells have the same SoC and the same voltage drop on two electrodes.

We suppose that all the cells in the pack are the same kind, and are represented by a second order dynamic model with parameters $\eta ,Q,\gamma ,{M}_{0},M,{R}_{0},{R}_{1}{C}_{1},{R}_{2}{C}_{2},{R}_{1},{R}_{2}$. The relationship between open-circuit voltage (OCV) and SoC according to the working temperature of the cell has been determined experimentally [6]. Define the parameters of the LiBP as follows:

$SO{C}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$, ${R}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$ are the matrices representing the initial SoC, the resistance R_{0} of the cells in the pack, respectively.

The initial SoC (at the time $k=0$) of the cell module ${i}^{th}$ is counted as

$${\overline{z}}_{0}^{(i)}=\frac{1}{{N}_{p}}{\displaystyle \sum _{j=1}^{Np}SO{C}_{0}(i,j)},i=1,2,...,{N}_{s}$$

The internal resistance of the cell module ${i}^{th}$ is

$${\overline{R}}_{0}^{i}=\frac{1}{{\displaystyle {\sum}_{j=1}^{{N}_{p}}\frac{1}{{R}_{0}(i,j)}}}\hspace{1em}i=1,2,...,{N}_{s}$$

The capacity of the cell module ${i}^{th}$ is

$${Q}^{(i)}={\displaystyle {\sum}_{j=1}^{{N}_{p}}Q={N}_{p}Q}\hspace{1em}i=1,2,...,{N}_{s}$$

The LiBP now is modeled by ${N}_{s}$ cell modules connected in series. Normally, we need ${N}_{s}$ estimators to estimate the SoC of ${N}_{s}$ cell modules, and then average SoC of LiBP is average of the estimated SoC of ${N}_{s}$ cell modules. This method has a large calculation burden if ${N}_{s}$ is large, as the estimation algorithm is then complex, and noise is considered. In this research, by only using two estimators, the average SoC of a pack is estimated by the first estimator; the second estimator is used to estimate the SoC differences for the cell modules from the average SoC of the pack. Finally, the SoC of the cell modules is the sum of the average SoC of the pack and the SoC differences, respectively.

To estimate the average SoC of ${N}_{s}$ cell modules in LiBP, the quantities, including ${N}_{s}$ voltages on the cell modules, the operating temperature of LBP and the current through LiBP pack are measured continuously at sampled-times. Using the sigma point estimation algorithm [19,20,21], two steps are performed at each sample time $k$, as follows:

To conduct Step 1, suppose the LiBP as the equivalent cell described by the second order dynamic model. The state variables need to be estimated, including the currents through two dynamic branches ${i}_{{R}_{1}},{i}_{{R}_{2}}$, the hysteresis $h$, SoC of the equivalent cell $z$ and the bias current of current through the equivalent cell $b$.

The input of the estimation model is the current through the LiBP with bias current and measurement noise; the output is the voltage on LiBP. Define the estimated state variable vector as

$$\underset{\_}{x}={\left[\begin{array}{ccccc}{i}_{{R}_{1,k}}& {i}_{{R}_{2}}& {h}_{k}& {z}_{k}& {b}_{k}\end{array}\right]}^{T}$$

The covariance matrices of state estimation errors, system noises (noise of current, noise of current bias) and voltage noise are ${\sigma}_{\tilde{x}}$, ${\sigma}_{w}$ and ${\sigma}_{\zeta}$, respectively.

SoC Estimation Algorithm for LiBP. |

Initialize the parameters of cell Initialize the parameters of LiBP including: $SO{C}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$, ${R}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$ Initialize the covariance matrices Calculate the initial SoC of the cell modules in the LiBP ${\overline{z}}_{0}^{(i)}$ Calculate the internal resistance of the cell modules ${\overline{R}}_{0}^{i}$ Calculate the capacity of the cell module ${Q}^{(i)}$ |

For sample time k = 1 to ∞ do |

Measure the current through the LiBP Measure the voltages on the cell modules Measure the temperature Estimate the state ${\widehat{\underset{\_}{x}}}_{k}^{+}$ for equivalent cell and estimate the bias current by using the algorithm SPKF 1 |

For cell module i = 1 to ${N}_{s}$ do |

Estimate the SoC difference $\Delta {\widehat{z}}^{(i)}{}_{k}^{}$ of cell module ${i}^{th}$ by using the algorithm SPKF 2 |

End |

Calculate the SoC for all cell modules ${\widehat{z}}^{(i)}={\widehat{z}}_{k}+\Delta {\widehat{z}}^{(i)}{}_{k}^{},i=1,2...,{N}_{s}$ |

End |

The algorithm SPKF 1 and SPKF 2 are presented in the Appendix A. |

To test the SoC estimation algorithm for LiBP, in this study we use LiBP with seven cell modules connected in series; each cell module consists of nine cells connected in parallel. Cells used in the LiBP are Lithium–SAMSUNG with parameters (supplied by manufacturer): ICR18650-22P 2200 mAh, Vmax = 4.25 V, Vmin =2.75 V, nominal voltage 3.62 V. The test temperature limit is considered from −5 °C to 45 °C.

By experimental testing, the dynamic parameters of the cell are given in Table 1. Instead of forming a plot of the relationship between the OCV and SoC at many temperatures, we only form the relationship between the OCV and SoC at reference temperature 20 °C and the change amount of OCV with respect to the SoC when the temperature changes 1 °C at reference temperature 20 °C, so the relationship between OCV and SOC at any temperature can be calculated easily. The relationship between OCV and SoC at 20 °C and the change amount of OCV with respect to the SoC when the temperature changes 1 °C at reference temperature 20 °C are given in Figure 6 and Figure 7, respectively. Figure 6 shows that the relationship OCV and SoC is strong, nonlinear relationship, and the OCV–SOC characteristic curve is greatly influenced by the temperature change and has a great influence on the accuracy of battery state estimation.

The LiBP power is 480 W; the voltage at both ends of the LiBP is 24 V. The initial parameters of the LiBP assumed at 25 °C include $SO{C}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$, ${R}_{0}\in {R}^{({N}_{s}\times {N}_{p})}$(see Table A1 and Table A2 in the Appendix A).

The covariance matrices of the state vector estimation errors of the current noise and the voltage noise are listed as follows, respectively.

$${\sigma}_{\tilde{x},0}^{+}=\left[\begin{array}{ccccc}0.001& 0& 0& 0& 0\\ 0& 0.0001& 0& 0& 0\\ 0& 0& 0.01& 0& 0\\ 0& 0& 0& 0.01& 0\\ 0& 0& 0& 0& 0.01\end{array}\right],{\sigma}_{\tilde{w}}=\left[\begin{array}{cc}0.001& 0\\ 0& 0.001\end{array}\right],{\sigma}_{\overline{\zeta}}=0.001,$$

The bias current is 0.5 A $\left({b}_{k}=0.5A\right)$; the charge and discharge scenarios with current through the LiBP and the voltages measured on seven cell modules over a period of 3900 s are shown in Figure 8 and Figure 9, respectively.

In order to show the capability of describing more the cell dynamic more exactly, the SoC estimation is experimented on for the LiBP, charged and discharged; with amplitude varying suddenly (see Figure 8), the maximum charged and discharged amplitudes of current are 5 A and 23 A, respectively. We suppose that the measured current through LiPB drifts with the bias current 0.5 A. This experimental charged and discharged scenario is similar to the charged and discharged situation of LiBP using for EVs in practice. The measured voltages of seven cell modules are influenced by the noise; the varying of those voltages depends on the charged and discharged amplitude of current through LiPB, as shown in the Figure 9.

The average SoC estimations for cell modules in LiBP are shown in Figure 10; the SoC estimation errors of the cell modules are plotted in Figure 11. From the SoC estimation results, we see that after about 0.1 h, the SoC estimations of the cell modules are close to the actual average SoC of the cell modules. The SoC estimation errors for the cell modules 1–7 at the end point of the experiment are: 0.17%, 0.4%, 0.15%, 0.5%, 0.17%, 0.02% and 0.17%, respectively (see Figure 11). The SoC estimation errors of cell modules are quite small; Module 2 and Module 4 get the largest errors (0.4% and 0.5%, respectively).

Figure 12 plots the estimation of current bias of the current through the LiBP; after a period of time 0.05 h, the estimated value is distributed around the true value of 0.5 A. The error of this estimation is quite large; the largest error is approximately 0.1 A, but the mean of this error calculated over the experimental period of time is about 4%. So the estimation of current bias is acceptable in the practice.

Figure 13 depicts the changing in voltage and current through the cells of the cell Module 1. The current through the nine cells has the same varying as the current through the LiBP. The Figure 14 plots the comparison of SoC estimation errors of seven cell modules of LiBP using the first and second order dynamic models. The results show that when using the second order dynamic model of the cell, the SoC estimation of the cell modules in the LiBP is about 10 times smaller than using the first order dynamic model. The comparison result is illustrated in the Table A3.

Figure 15 is the comparison of the SoC estimation errors of the cell modules in the LiBP tested by operating temperatures: −5, 5, 15, 25, 35 and 45 °C. In general, the SoC estimation errors of the cell modules are small at the temperatures ranging from −5 to 25 °C (the SoC of cell modules is estimated more accurately). At the temperature −5 °C, the SoC estimation error is positive; this means that the SoC estimation errors will be much larger than the actual cell module average SoC, about 2%. However, the SoC estimation error of cell module is negative for temperature ranging from 35 °C to 40 °C, so the SoC estimation is much smaller than actual cell module average SoC, about 2%. This SoC estimation is a very significant for the SoC estimation for LiBP compared with methods presented in the literature [3,18].

The calculation time of the SoC estimation algorithm in this test is 0.002 s, corresponding to a sample time of T_{s} = 1 s.

This paper presents the SoC estimation method for the LiBP formed by ${N}_{s}$ cell modules connected in series; each cell module includes ${N}_{p}$ cells connected in parallel. In this research, we use the second dynamic model of cell considering the cell module voltage measuring noise, noise and current bias of the current in order to describe more exactly the nonlinear dynamics of cell for practical applications with charge and discharge amplitude varying suddenly. Based on the principle of SPKF, the SoC estimation algorithm for the cell modules in LiBP is applied, taking into account the voltage noise, noise and current bias of current through the LiBP. The algorithm was tested experimentally for LiBP consisting of seven cell modules connected in series; each cell module consisted of nine Lithium Ion cells SAMSUNG ICR18650-22P in parallel. Experimental results for the temperature ranging from −5 °C to 45 °C show that the SoC estimations for cell modules are quite accurate compared with the methods presented in the materials [3,18]. The results show that using the second order dynamic model of the cell also brings accuracy higher in SoC estimation for cell modules than using the first order dynamic model.

Chi Nguyen Van and Thuy Nguyen Vinh conceived the original idea, designed and performed experiments. Thuy Nguyen Vinh analyzed and interpreted experimental data. Chi Nguyen Van write the programming code. Chi Nguyen Van supervised this project. All authors have read and agreed to the published version of the manuscript.

This research received no external funding.

This research was supported financially by Thai Nguyen University of Technology, TNUT, Viet Nam.

The authors declare no conflict of interest.

Calculate for equivalent cell at sample time $k$

- This forms the augmented state vector at the sampling time, including the estimated states at the sample time $k-1$ ${\widehat{x}}_{k-1}^{+}$, the vector of mean values of the system noise $\overline{\underset{\_}{w}}$ and measurement noise $\overline{\zeta}$:$${\widehat{x}}_{k-1}^{a,+}={\left[{\widehat{x}}_{k-1}^{+}{}^{T},\overline{\underset{\_}{w}},\overline{\zeta}\right]}^{T}$$
- This forms the estimated covariance matrix of the state vector estimation error, including the covariance matrices of the state estimation error at time $k-1$, the noise error and the measured error, respectively.$${\sigma}_{\tilde{x},k-1}^{a,+}=diag\left({\sigma}_{\tilde{x},k-1}^{+},{\sigma}_{w},{\sigma}_{\zeta}\right)$$
- The input sigma point matrix containing $p+1$ sigma points is established as$${X}_{k-1}^{a,+}=\left\{{\widehat{x}}_{k-1}^{a,+},{\widehat{x}}_{k-1}^{a,+}+\gamma \sqrt{{\sigma}_{\tilde{x},k-1}^{a,+}},{\widehat{x}}_{k-1}^{a,+}-\gamma \sqrt{{\sigma}_{\tilde{x},k-1}^{a,+}}\right\}={\left[{X}_{k-1}^{x,+},{X}_{k-1}^{w,+},{X}_{k-1}^{v,+}\right]}^{T}$$
- Calculates state sigma point matrix by using the dynamic state Equation (5):$${X}_{k,j}^{x,-}=f\left({X}_{k-1}^{x,+},{i}_{k},{X}_{k-1}^{w,+}\right)={A}_{k}{X}_{k-1}^{x,+}+{B}_{k}{u}_{k}+{X}_{k-1}^{w,+}$$
- The priori state vector estimation is calculated as:$${\widehat{\underset{\_}{x}}}_{k}^{-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{m}}{X}_{k,j}^{x,-}$$
- Update the covariance matrices of the state vector estimation error:$${\sigma}_{\tilde{x},k}^{-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left({X}_{k,j}^{x,-}-{\widehat{\underset{\_}{x}}}_{k}^{-}\right){\left({X}_{k,j}^{x,-}-{\widehat{\underset{\_}{x}}}_{k}^{-}\right)}^{T}$$
- Calculate the output sigma point matrix using the output equation of Equation (5):$${Y}_{k}=OCV\left({\widehat{z}}_{k}\right)+{C}_{k}{X}_{k,j}^{x,-}+{D}_{k}{u}_{k}+{X}_{k-1}^{\zeta ,+}$$
- Estimate the voltage of the equivalent cell.$${\widehat{y}}_{k}={\widehat{u}}_{k}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{m}}{Y}_{k}$$
- Update the covariance matrices of estimated output voltage.$${\sigma}_{\tilde{y},k}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left({Y}_{k}-{\widehat{u}}_{k}\right){\left({Y}_{k}-{\widehat{u}}_{k}\right)}^{T}$$
- Update the covariance matrices of the state vector estimation error and output voltage estimation error:$${\sigma}_{\tilde{x},\tilde{y},k}^{-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left({X}_{k,j}^{x,-}-{\widehat{\underset{\_}{x}}}_{k}^{-}\right){\left({Y}_{k}-{\widehat{u}}_{k}\right)}^{T}$$
- Calculate the estimation gain matrix as$${L}_{k}=\frac{{\sigma}_{\tilde{x},\tilde{y},k}^{-}}{{\sigma}_{\tilde{y},k}}$$
- Update the priori estimation states by taking into account the output errors, the estimation of state vector as$${\widehat{\underset{\_}{x}}}_{k}^{+}={\widehat{\underset{\_}{x}}}_{k}^{-}+{L}_{k}\left({y}_{k}-{\widehat{y}}_{k}\right)$$
- Update the covariance matrix of the state vector estimation errors:$${\sigma}_{\tilde{x},k}^{+}={\sigma}_{\tilde{x},k}^{-}-{L}_{k}{\sigma}_{\tilde{y},k}{L}_{k}{}^{T}$$

Calculate for each cell module $i$, $i=1:{N}_{s}$ at sample time $k$

- Form the augmented state vector of cell module ${i}^{th}$, including the SoC difference $\Delta {\widehat{z}}^{(i)}{}_{k}^{}$ and mean of the SoC difference noise ${\overline{w}}_{\Delta z}^{(i)}$:$$\Delta {\widehat{z}}^{a,(i)}{}_{k-1}^{+}={\left[\Delta {\widehat{z}}^{(i)}{}_{k-1}^{+},{\overline{w}}_{\Delta z}^{(i)}\right]}^{T}$$
- Form the covariance matrix of the SoC difference estimation error:$${\sigma}_{\Delta \tilde{z},k-1}^{a,(i)+}=diag\left({\sigma}_{\Delta \tilde{z},k-1}^{(i)+},{\sigma}_{{w}_{\Delta z}^{(i)}}\right)$$
- The input sigma point matrix containing $p+1$ sigma points is established as$$\Delta {\chi}_{k-1}^{a,(i)+}=\left\{\Delta {\widehat{z}}^{a,(i)}{}_{k-1}^{+},\Delta {\widehat{z}}^{a,(i)}{}_{k-1}^{+}+\gamma \sqrt{{\sigma}_{\Delta \tilde{z},k-1}^{a,(i)+}},\Delta {\widehat{z}}^{a,(i)}{}_{k-1}^{+}-\gamma \sqrt{{\sigma}_{\Delta \tilde{z},k-1}^{a,(i)+}}\right\}={\left\{\Delta {\chi}_{k-1,j}^{\Delta z,(i)+},\Delta {\chi}_{k-1,j}^{{w}_{\Delta z}^{+}}\right\}}^{T}$$
- Calculate the state sigma point matrix.$$\Delta {\chi}_{k,j}^{\Delta z,(i)-}=f\left\{\Delta {\chi}_{k-1,j}^{\Delta z,(i)+},{u}_{k-1},\Delta {\chi}_{k-1,j}^{{w}_{\Delta z}^{+}}\right\}=\Delta {\chi}_{k-1,j}^{\Delta z,(i)+}-\left(\left({I}_{k}-{\widehat{i}}_{b,k}\right)+\Delta {\chi}_{k-1,j}^{{w}_{\Delta z}^{+}}\right)\frac{1}{3600{Q}_{}^{(i)}}$$
- Calculate the priori SoC difference estimation.$$\Delta {\widehat{z}}^{(i)}{}_{k}^{-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{m}}\Delta {\chi}_{k,j}^{\Delta z,(i)-}$$
- Update the covariance matrix of SoC difference estimation error.$${\sigma}_{\Delta \tilde{z},k}^{(i)-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left(\Delta {\chi}_{k,j}^{\Delta z,(i)-}-\Delta {\widehat{z}}^{(i)}{}_{k}^{-}\right){\left(\Delta {\chi}_{k,j}^{\Delta z,(i)-}-\Delta {\widehat{z}}^{(i)}{}_{k}^{-}\right)}^{T}$$
- Calculate the output sigma point matrix.$$\begin{array}{l}{U}_{k}^{(i)}=h\left\{\Delta {\chi}_{k,j}^{\Delta z,(i)-},\left(\left({I}_{k}-{\widehat{i}}_{b,k}\right)+\Delta {\chi}_{k-1,j}^{{w}_{\Delta z}^{+}}\right)\right\}\\ =OCV({\overline{z}}_{k}+\Delta {\chi}_{k,j}^{\Delta z,(i)-},T)-{I}_{k}\Delta {R}^{(i)}+{M}^{(i)}{h}_{k}-{R}_{1}^{(i)}{C}_{1}^{(i)}{i}_{R,1}-{R}_{2}^{(i)}{C}_{2}^{(i)}{i}_{R,2}-{\overline{R}}_{0}^{(i)}({I}_{k}-{\widehat{i}}_{b,k})\end{array}$$
- Estimate the output voltage.$${\widehat{u}}_{k}^{(i)}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{m}}{U}_{k}^{(i)}$$
- Update the covariance matrix of the output voltage estimation error.$${\sigma}_{\tilde{u},k}^{(i)}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left({U}_{k}^{(i)}-{\widehat{u}}_{k}^{(i)}\right){\left({U}_{k}^{(i)}-{\widehat{u}}_{k}^{(i)}\right)}^{T}$$
- Update the covariance matrix of SoC difference estimation error and output voltage estimation error.$${\sigma}_{\Delta \tilde{z},\tilde{u},k}^{(i)-}={\displaystyle \sum _{j=0}^{p}{\alpha}_{j}^{c}}\left(\Delta {\chi}_{k,j}^{\Delta z,(i)-}-\Delta {\widehat{z}}^{(i)}{}_{k}^{-}\right){\left({U}_{k}^{(i)}-{\widehat{u}}_{k}^{(i)}\right)}^{T}$$
- Calculate the estimation gain matrix as$${L}_{k}^{(i)}=\frac{{\sigma}_{\Delta \tilde{z},\tilde{u},k}^{(i)-}}{{\sigma}_{\tilde{u},k}^{(i)}}$$
- SoC difference estimation is calculated as$$\Delta {\widehat{z}}^{(i)}{}_{k}^{+}=\Delta {\widehat{z}}^{(i)}{}_{k}^{-}+{L}_{k}^{(i)}\left({\widehat{u}}_{k}-{\widehat{u}}_{k}^{(i)}\right)$$
- Update the covariance matrix of SoC difference estimation error.$${\sigma}_{\Delta \tilde{z},k}^{(i)+}={\sigma}_{\Delta \tilde{z},k}^{(i)-}-{L}_{k}^{(i)}{\sigma}_{\tilde{u},k}^{(i)}{L}_{k}^{{(i)}^{T}}$$

Cell1 | Cell2 | Cell3 | Cell4 | Cell5 | Cell6 | Cell7 | Cell8 | Cell9 | |
---|---|---|---|---|---|---|---|---|---|

Module 1 | 0.49 | 0.69 | 0.63 | 0.99 | 0.52 | 0.80 | 0.80 | 0.71 | 0.54 |

Module 2 | 0.78 | 0.6 | 0.98 | 0.74 | 0.64 | 0.47 | 0.71 | 0.44 | 0.80 |

Module 3 | 0.56 | 0.88 | 0.99 | 0.96 | 0.99 | 0.42 | 0.56 | 0.93 | 0.44 |

Module 4 | 0.67 | 0.99 | 0.79 | 0.83 | 0.64 | 0.77 | 0.98 | 0.60 | 0.57 |

Module 5 | 0.90 | 0.50 | 0.92 | 0.70 | 0.80 | 0.74 | 0.72 | 0.54 | 0.57 |

Module 6 | 0.52 | 0.54 | 0.64 | 0.78 | 0.94 | 0.98 | 0.42 | 0.47 | 0.90 |

Module 7 | 0.59 | 0.82 | 0.78 | 0.93 | 0.99 | 0.85 | 0.82 | 0.59 | 0.67 |

Cell1 | Cell2 | Cell3 | Cell4 | Cell5 | Cell6 | Cell7 | Cell8 | Cell9 | |
---|---|---|---|---|---|---|---|---|---|

Module 1 | 0.0013 | 0.0014 | 0.0011 | 0.0015 | 0.0010 | 0.0010 | 0.0013 | 0.0011 | 0.0012 |

Module 2 | 0.0014 | 0.0011 | 0.0013 | 0.0011 | 0.0013 | 0.0012 | 0.0011 | 0.0014 | 0.0011 |

Module 3 | 0.0014 | 0.0014 | 0.0012 | 0.0014 | 0.0014 | 0.0011 | 0.0013 | 0.0011 | 0.0015 |

Module 4 | 0.0013 | 0.0012 | 0.0012 | 0.0014 | 0.0015 | 0.0014 | 0.0013 | 0.0014 | 0.0010 |

Module 5 | 0.0011 | 0.0014 | 0.0014 | 0.0012 | 0.0010 | 0.0012 | 0.0014 | 0.0013 | 0.0014 |

Module 6 | 0.0011 | 0.0012 | 0.0013 | 0.0013 | 0.0013 | 0.0013 | 0.0012 | 0.0015 | 0.0014 |

Module 7 | 0.0011 | 0.0011 | 0.0013 | 0.0010 | 0.0012 | 0.0011 | 0.0011 | 0.0010 | 0.0014 |

Module 1 | Module 2 | Module 3 | Module 4 | Module 5 | Module 6 | Module 7 | |
---|---|---|---|---|---|---|---|

The first order dynamic model | 1% | 1% | 1% | 1% | 1.2% | 0.9% | 2% |

The second order dynamic model | 0.17 % | 0.4% | 0.15% | 0.5% | 0.17% | 0.02% | 0.17% |

- Zhou, Y.; Li, X. Overview of lithium-ion battery SOC estimation. In Proceedings of the 2015 IEEE International Conference on Information and Automation, Lijiang, China, 8–9 August 2015; pp. 2454–2459. [Google Scholar]
- Horiba, T. Lithium-Ion Battery Systems. Proc. IEEE
**2014**, 102, 939–950. [Google Scholar] [CrossRef] - Xiong, R.; He, H. Cell State-of-Charge Estimation for the Multi-cell Series-connected Battery Pack with Model bIas Correction Approach. Energy Procedia
**2014**, 61, 172–175. [Google Scholar] [CrossRef] - Ng, K.S.; 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] - Zheng, Y.; Ouyang, M.; Han, X.; Lu, L.; Li, J. Investigating the error sources of the online state of charge estimation methods for lithium-ion batteries in electric vehicles. J. Power Sources
**2018**, 377, 161–188. [Google Scholar] [CrossRef] - Thuy, N.V.; Van Chi, N. State of Charge Estimation for Lithium-Ion Battery Using Sigma-Point Kalman Filters Based on the Second Order Equivalent Circuit Model. In Lecture Notes in Networks and Systems 104, Proceedings of the International Conference on Engineering Research and Applications, ICERA 2019; Springer Nature Switzerland AG: Cham, Switzerland, 2020; pp. 664–678. [Google Scholar]
- Hu, X.; Li, S.; Peng, H. A comparative study of equivalent circuit models for Li-ion batteries. J. Power Sources
**2012**, 198, 359–367. [Google Scholar] [CrossRef] - Yazdanpour, M.; Taheri, P.; Mansouri, A.; Schweitzer, B. A circuit-based approach for electro-thermal modeling of
**lithium**-ion batteries. In Proceedings of the 2016 32nd Thermal Measurement, Modeling & Management Symposium (SEMI-THERM), San Jose, CA, USA, 14–17 March 2016; pp. 113–127. [Google Scholar] - Xu, Y.; Hu, M.; Zhou, A.; Li, Y.; Li, S.; Fu, C.; Gong, C. State of charge estimation for lithium-ion batteries based on adaptive dual Kalman filter. Appl. Math. Model.
**2020**, 77, 1255–1272. [Google Scholar] [CrossRef] - Ciortea, F.; Rusu, C.; Nemes, M.; Gatea, C. Extended Kalman Filter for state-of-charge estimation in electric vehicles battery packs. In Proceedings of the 2017 International Conference on Optimization of Electrical and Electronic Equipment (OPTIM) & 2017 Intl Aegean Conference on Electrical Machines and Power Electronics (ACEMP), Institute of Electrical and Electronics Engineers (IEEE). Brasov, Romania, 25–27 May 2017; pp. 611–616. [Google Scholar]
- Zhang, M.; Wang, K.; Zhou, Y.-T. Online State of Charge Estimation of Lithium-Ion Cells Using Particle Filter-Based Hybrid Filtering Approach. Complexity
**2020**, 2020, 1–10. [Google Scholar] [CrossRef] - Tran, N.T.; Vilathgamuwa, D.M.; Li, Y.; Farrell, T.; Choi, S.S.; Teague, J. State of charge estimation of lithium ion batteries using an extended single particle model and sigma-point Kalman filter. In Proceedings of the 2017 IEEE Southern Power Electronics Conference (SPEC), Puerto Varas, Chile, 4–7 December 2017; pp. 1–6. [Google Scholar]
- Tong, S.; Lacap, J.H.; Park, J.W. Battery state of charge estimation using a load-classifying neural network. J. Energy Storage
**2016**, 7, 236–243. [Google Scholar] [CrossRef] - Ben Sassi, H.; Errahimi, F.; Es-Sbai, N.; Alaoui, C. Comparative study of ANN/KF for on-board SOC estimation for vehicular applications. J. Energy Storage
**2019**, 25, 27. [Google Scholar] [CrossRef] - Jiani, D.; Zhitao, L.; Youyi, W.; Changyun, W. A fuzzy logic-based model for Li-ion battery with SOC and temperature effect. In Proceedings of the 11th IEEE International Conference on Control & Automation (ICCA), Taichung, Taiwan, 18–20 June 2014; pp. 1333–1338. [Google Scholar]
- Wang, B.; Liu, Z.; Li, S.; Moura, S.J.; Peng, H. State-of-Charge Estimation for Lithium-Ion Batteries Based on a Nonlinear Fractional Model. IEEE Trans. Control. Syst. Technol.
**2016**, 25, 3–11. [Google Scholar] [CrossRef] - Dai, H.; Wei, X.; Sun, Z.; Wang, J.; Gu, W. Online cell SOC estimation of Li-ion battery packs using a dual time-scale Kalman filtering for EV applications. Appl. Energy
**2012**, 95, 227–237. [Google Scholar] [CrossRef] - Zhang, Z.; Cheng, X.; Lu, Z.-Y.; Gu, D.-J. SOC Estimation of Lithium-Ion Battery Pack Considering Balancing Current. IEEE Trans. Power Electron.
**2017**, 33, 2216–2226. [Google Scholar] [CrossRef] - Van, C.N. State Estimation Based on Sigma Point Kalman Filter for Suspension System in Presence of Road Excitation Influenced by Velocity of the Car. J. Control. Sci. Eng.
**2019**, 2019, 1–16. [Google Scholar] - Van Der Merwe, R. Sigma Point Kalman Filters for Probabilistic Inference in Dynamic State-Space Models. Ph.D. Thesis, OGI School of Science & Engineering, Oregon Health & Science University, Portland, OR, USA, 2004. [Google Scholar]
- Al-Shabi, M. Sigma-Point Filters in Robotic Applications. Intell. Control. Autom.
**2015**, 6, 168–183. [Google Scholar] [CrossRef] - Tong, C.H.; Barfoot, T.D. A Comparison of the EKF, SPKF, and the Bayes Filter for Landmark-Based Localization. In Proceedings of the 2010 Canadian Conference on Computer and Robot Vision, Ottawa, ON, Canada, 31 May–2 June 2010; pp. 199–206. [Google Scholar]

−5 °C | 5 °C | 15 °C | 25 °C | 35 °C | 45 °C | |
---|---|---|---|---|---|---|

${\eta}_{k}$ | 1.0870 | 0.9803 | 1.0221 | 1.0184 | 1.0543 | 1.0399 |

Q(mAh) | 2200 | 2200 | 2200 | 2200 | 2200 | 2200 |

$\gamma $ | 250.0000 | 78.4916 | 63.6762 | 2.0749 | 170.0408 | 151.3064 |

${M}_{0}(V)$ | 0.0073 | 0.0049 | 0.0048 | 0.0018 | 0.0036 | 0.0024 |

$M(V)$ | 0.0347 | 0.0257 | 0.0188 | 0.0177 | 0.0201 | 0.0185 |

${R}_{0}(\Omega )$ | 0.0013 | 0.0013 | 0.0012 | 0.0012 | 0.0012 | 0.0011 |

${R}_{1}{C}_{1}(s)$ | 0.6124 | 1.7556 | 0.3228 | 1.4882 | 0.2997 | 0.4631 |

${R}_{2}{C}_{2}(s)$ | 3.9035 | 7.5994 | 8.1119 | 36.8543 | 5.1841 | 6.5319 |

${R}_{1}(\Omega )$ | 0.0204 | 0.0203 | 0.0201 | 0.0019 | 0.0019 | 0.0019 |

${R}_{2}(\Omega )$ | 0.0494 | 0.0376 | 0.0288 | 0.0443 | 0.0136 | 0.0134 |

© 2020 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/).