1 Introduction

With the growth of renewable energy development, the need to use rechargeable batteries as energy storage systems is increasing day by day. Lead-acid batteries are one of the common types of batteries in these systems (Dhundhara et al. 2018). Today, lithium batteries are a very suitable alternative to lead-acid batteries in energy storage systems (ESSs) because of their advantages over acid batteries (2022). A longer life span, better depth of discharge, constant output voltage, less weight, and less volume are among these advantages. One of the most important challenges when working with lithium-ion batteries is the precise estimation of their SoC because the SoC, as the main function, affects many other functions in the battery management systems (BMS).

For this reason, SoC estimation using different methods has been an attractive topic for researchers in current years. Since the battery SoC is related to the chemical processes inside the battery, this parameter is not measurable directly by any sensor. For this purpose, it is necessary to use appropriate estimators (Wang et al. 2021; Cui et al. 2022a; Chen et al. 2021).

The impedance measurement method (Meng et al. 2017) and ampere-hour counting (Liu et al. 2019) approach are the most popular approaches to estimating the SoC. They are very simple and have a very low cost compared to other methods. The accuracy of these methods is much lower than others. They are also very sensitive to environmental conditions.

Kalman filter is a recursive mathematical method for the estimation of the parameters of a system with specific and accurate state space dynamics (Shrivastava et al. 2019). One of the advantages of this filter is the ability of the state estimation by considering noise in the system dynamics or measurement. In other words, this filter can estimate the state variables of the model despite the presence of measurement and process noise. For this purpose, for SoC estimation in lithium-ion batteries, one of the conventional techniques is to use the Kalman filter (Sun et al. 2011). The standard Kalman filter (Yu et al. 2015) can be considered a suitable approach to estimate the SoC using the linear dynamics of the battery. Still, since the battery has nonlinear dynamics, the nonlinear types of KF, such as the Extended KF (EKF) (Lee et al. 2007; Jiang et al. 2021) and the Unscented KF (UKF) (Sun et al. 2011; Lian et al. 2022), are suitable options. EKF has a little error in estimating the state of charge because of the linearization in its algorithm, and UKF has a heavier computation load. One of the disadvantages of Kalman filters is that a precise dynamic model of the batteries is required in these filters, so the uncertainties that arise due to the inaccuracy in identifying the battery model and the changes in the environmental conditions of the laboratory test decrease the precision of the estimation.

In order to resolve the problem of model uncertainties in batteries, robust estimators are very suitable options. Sliding mode estimators (Chen et al. 2022; Wang et al. 2022) are the most commonly used observers for SoC estimations. Sliding-based filters have a chattering phenomenon in their performance, reducing the estimation accuracy. To tackle this problem, adaptive types of sliding mode observers (Liao and Chen 2022) are used. For this purpose, intersection methods such as fuzzy systems (Cui et al. 2022b) and neural networks (Cui et al. 2022b) are used to adapt the main filter to reduce the chattering. Besides, these robust filters are not able for SoC estimation in the presence of measurement noises.

Intelligent systems and artificial intelligence (Cui et al. 2022a), including neural networks (Fan et al. 2022), are other practical approaches to estimating the SoC of lithium-ion batteries. In addition, fuzzy systems (Yang et al. 2022) are also used to estimate the charge level directly or as an additional method. One of the disadvantages of fuzzy systems is that they alone do not have good accuracy, and to increase their accuracy. There is a need for optimization. In addition, we need reliable and sufficient knowledge to set rules in fuzzy systems. Recently, data-based methods (Khaleghi et al. 2022) such as machine learning (Jafari et al. 2022), deep learning (Tian et al. 2022), and reinforcement learning (Lv et al. 2022) are also used for SoC estimation. But the main disadvantage of these approaches, along with neural networks, is the need for a complete and reliable data set to train these intelligent systems. Meng et al. (2019) and Shrivastava et al. (2022, 2023) completely cover the technological advancement of lithium-ion battery states estimation methods for electric vehicle applications and co-estimation of lithium-ion battery state of charge, the energy state, the power state, maximum available energy, and maximum available capacity.

In this paper, a robust nonlinear Hꝏ filter is utilized for SoC estimation. The principal objective of designing this estimator is to reduce the effects of disturbances in measurements and model uncertainties on the estimation output. On the other hand, by solving an optimal LMI problem, the optimal parameters for this estimator are always extracted to optimize its performance. Therefore, the main novelties of this paper are presented below.

  • As it is clear from the literature review, the proposed robust methods in battery SOC estimation have many disadvantages. For example, the methods on the basis of the robust Kalman filter can estimate the uncertainty to some extent, but the process of adjusting their covariance matrices is time-consuming. In addition, in practical applications, there may be color noise that causes the algorithm to diverge. On the other hand, methods based on sliding mode have chattering. Although these methods are combined with fuzzy systems or neural networks to remove chattering, their training process is time-consuming. To solve these problems, in this article, a robust method based on reducing the disturbance level is presented, which can effectively diminish the impacts of disturbances and uncertainties on the estimation error. In addition, unlike other methods, the proposed method has few calculations and is easily implemented.

  • The observer design problem becomes an LMI feasibility problem. By solving this problem, the best values for the estimator parameters are obtained.

2 Battery modeling

An important issue in SoC estimation is selecting an accurate model for the battery cell. For industrial applications, especially EV applications, the equivalent circuit model (ECM) utilized here is a commonly used choice for battery modeling. Like Spagnol et al. (2011), this article uses an ECM for the battery modeling.

In Fig. 1, Cn represents both the battery’s nominal capacity and the total energy stored inside. I stands for battery discharge, while Vt stands for the terminal voltage. The battery voltage or battery charge estimate, which ranges from 0 to 100%, is indicated by the VOC-dependent voltage source.η presents the Coulomb coefficient, which is chosen to be as much as 1 in Eq. 1. By combining Fig. 1 and the Kirchhoff voltage law, we get

$$V = V_{oc} (Soc) - V_{p1} - V_{p2} - IR_{in} + \Delta$$
(1)

where Vpe and Vpc indicate the electrochemical and concentration polarization potentials across Cpe and Cpc, Δuncertain, Δf2, Δf3, and Δf4 are model errors added to characteristics of the circuit in order to monitor circuit performance in the case of an error. The SoC is derived, polarized, and also the resulting relationship is gained:

$$S\dot{o}C = - (\frac{I}{C}) + \Delta f_{2}$$
(2)
$$\dot{V}_{p1} = - \frac{{V_{p1} }}{{R_{p1} C_{p1} }} + \frac{I}{{C_{p1} }} + \Delta f_{3}$$
(3)
$$\dot{V}_{p2} = - \frac{{V_{pc} }}{{R_{p2} C_{p2} }} + \frac{I}{{C_{p2} }} + \Delta f_{4}$$
(4)
Fig.1
figure 1

Battery model

Figure 2 demonstrates that the Voc-SoC curve is nonlinear, but taking into account the red dots signed on the fig, Voc is able to be defined as a linear function of SoC in the determined areas, and next,

$$V_{oc} (Soc) = kSoc + \Upsilon$$
(5)

in which v and k have variations in different SoCs. Now, if the rate of discharge flow is supposed to be constant, the aforementioned equations are able to be presented like so:

$$\dot{V} = - k(\frac{I}{C}) + \frac{{V_{pe} }}{{R_{p1} C_{p1} }} - \frac{I}{{C_{p1} }} + \frac{{V_{pc} }}{{R_{p2} C_{p2} }} - \frac{I}{{C_{p2} }} + \Delta f_{1}$$
(6)
Fig. 2
figure 2

OCV-SoC curve of Li-battery

By resolving Eq. 2 in terms of current (I) and placing it in Eq. 3, Eqs. 3 to 6 are recomputed like, which is present as follows, and the battery state space model is obtained:

$$\begin{aligned} &\dot{V} = - n_{1} V + n_{1} V_{oc} (SoC) - n_{3} V_{p1} - n_{4} V_{p2} - m_{1} I + \Delta \\ &\dot{S}oC = n_{2} V_{t} - n_{2} V_{oc} (SoC) + n_{2} V_{p1} + n_{2} V_{p2} + \Delta f_{2} \\ &\dot{V}_{p1} - n_{4} V_{p1} + m_{2} I + \Delta f_{3} \\ &\dot{V}_{p2} - n_{3} V_{p2} + m_{3} I + \Delta f_{4} \end{aligned}$$
(7)

In these equations, the coefficients are described as follows:

n1 = (1/Rp1Cp1) + (1/Rp2Cp2);

n2 = (1/RinC);

n3 = (1/Rp2Cp2);

n4 = (1/Rp1Cp1);

m1 = (k/C) + (Rin/Rp1Cp1) + (1/Cp1) + (Rin/Rp2Cp2) (1/Cp2);

m2 = (1/Cp1).

If we regard the outputs as y (t) and the circuit inputs as u (t), the state space equation is gained as

$$\dot{x}(t) = Ax(t) + Bu(t) + \Delta f(x,u,t)$$
(8)
$$y(t) = Cx(t)$$
(9)

These are the values for matrices X, A, B, and C:

$$\begin{gathered} {\text{A = }}\left[ {\begin{array}{*{20}c} {{\text{ - n}}_{{1}} } & {n_{{1}} } & {{\text{ - n}}_{{3}} } & {{\text{ - n}}_{{4}} } \\ {n_{{2}} } & {{\text{ - n}}_{{2}} } & {n_{{2}} } & {n_{{2}} } \\ {0} & {0} & {{\text{ - n}}_{{4}} } & {0} \\ {0} & {0} & {0} & {{\text{ - n}}_{{3}} } \\ \end{array} } \right]\,\,\,\,{\text{B = }}\left| {\begin{array}{*{20}c} {{\text{ - m}}_{{1}} } \\ {0} \\ {m_{{2}} } \\ {m_{{3}} } \\ \end{array} } \right| \hfill \\ C = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ \end{array} } \right] \hfill \\ x(t) = \left[ {\begin{array}{*{20}c} {V_{t} } & {V_{oc} (SoC)} & {V_{p1} } & {V_{p2} } \\ \end{array} } \right]^{T} \hfill \\ y(t) = Cx(t) \hfill \\ \end{gathered}$$
(10)

In the modeling of the battery, the ECM parameters are considered to be fixed, and the nonlinear OCV-SOC curve, shown in Fig. 2, is linearized to build up Eq. (10).

In addition, Δf (x, u, t) is an unknown function that presents uncertainties of the matched model, including the parameter value inaccuracies and linearizing error for Fig. 2, and it is able to be considered that

$$\Delta f(x,u,t) = \Gamma \xi (x,t)$$
(11)

In which \(\Gamma\) denotes the uncertainties input matrix. In addition, \(\xi\) (x,t) is an unknown but limited function:

$$\left| {\xi (x,t)} \right| \le \psi \,\,\,\,\nabla x \in R^{4} ,\,t \ge 0$$
(12)

As a result, the battery complete model can be expressed like

$$\dot{x}(t) = AX(t) + Bu(t) + \Gamma \xi (x,t)$$
(13)

To study more details of the battery modeling method, refer to Chen et al. (2022). The parameters in ECM are detectable through experiments. In this regard, Fig. 3 depicts an experimental test setup which has been structured. The components of this test bench are described as follows. A 2.4 Ah LFPO4 battery has been tested. Table 1 lists a number of the key features of the battery. A programmable resistant load is used for battery discharging. A DSP is utilized for justifying the load value when the battery is discharging. An internal A/D converter is utilized for the voltage and current measuring. An RS232 serial port is utilized for the connection.

Fig. 3
figure 3

Test bench

Table 1 Important characteristics of the battery

On the basis of the methods presented in Meng et al. (2023), the battery model parameters are extracted. Table 1 shows these parameters with their values (Table 2).

Table 2 Battery model parameters

The best technique to confirm the battery model identification is to compare the voltage from the simulated battery model with its actual measured value. This comparison is shown in Fig. 4. This figure shows that the recognized model has a terminal voltage error of less than 0.04 V, demonstrating that the identification accuracy is acceptable.

Fig. 4
figure 4

Verification of the model identification

3 Proposed observer formulation

The below dynamic model is considered for the system:

$$\begin{gathered} \dot{x} = Ax + Bu + f(x) + Ew \hfill \\ y = Cx \hfill \\ \end{gathered}$$
(14)

in which \(x \in R^{{n_{x} }}\), \(u \in R^{{n_{u} }}\), and \(y \in R^{{n_{z} }}\) are the system state, the system input, and the system output, respectively. It is considered that the model uncertainty is a local Lipschitz function, which is given as \(f(x)\) in relations. The bounded disturbance is contained in \(w \in R^{{n_{w} }}\) a function considered an unknown input.

A Luenberger observer is suggested to estimate SoC as

$$\begin{gathered} \dot{\hat{x}} = A\hat{x} + Bu + f(\hat{x}) + L(y - \hat{y}) \hfill \\ \hat{y} = C\hat{x} \hfill \\ \end{gathered}$$
(15)

in which \(\hat{x}\) and \(\hat{y}\) are x and y estimations. In addition, \(e = x - \hat{x}\) is the estimation error that is presented as

$$\begin{gathered} \dot{e} = (A - LC)e + \tilde{f}(x) + Ew \hfill \\ \tilde{f}(x) = f(x) - f(\hat{x}) \hfill \\ \end{gathered}$$
(16)

Regarding the Lipschitz property \(f(x)\), we will have

$$\left\| {f(x) - \hat{f}(x)} \right\| \le \alpha \left\| {F(x - \hat{x})} \right\|$$
(17)

The below lemmas will be useful to obtain the theorem.

Lemma 1

For real matrices \(H,\,\,F\) and \(\varepsilon > 0\):

$$H^{T} F + F^{T} H \le \varepsilon H^{T} H + \varepsilon^{ - 1} F^{T} F$$
(18)

In this paper, the main objective is minimizing the disturbance influence in the estimation error for the suggested observer so that the \(L_{2}\) norm from disturbance to the estimation error of the observer is limited by \(\gamma\) the following form:

$$\int\limits_{0}^{\infty } {e^{T} e \le \gamma^{2} \int\limits_{0}^{\infty } {w^{T} w} }$$
(19)

where \(\gamma\) denotes disturbance attenuation level.

Theorem 1 assumes the system (1). If there exist matrices \(P > 0\) \(Y\) and scalar \(\mu > 0\) in a way that the below optimization be feasible:

$$\begin{gathered} \mathop {\min }\limits_{P,\,Y,\,\mu } \,\,\,\gamma \left( {\begin{array}{*{20}c} {(A^{T} P - C^{T} Y^{T} + PA - YC + \frac{1}{{\sigma_{\max } (F)}}\mu \alpha F^{2} F + \alpha \sigma_{\max } (F)P + I} & {PE} \\ * & { - \gamma^{2} I} \\ \end{array} } \right) < 0 \hfill \\ P \le \mu I \hfill \\ \end{gathered}$$
(20)

Then, a robust observer formed as (3) with \(L = P^{ - 1} Y\) exists in a way that \(L_{2}\) the norm from disturbance to the observer estimation error is limited by a minimum value \(\gamma\).

Proof

By assuming the candidate Lyapunov function and stability condition as follows, we will have

$$V(e) = e^{T} Pe,\,\,\,P > 0$$
(21)
$$\dot{V}(e) \le - e^{T} e + \gamma w^{T} w$$
(22)

The derivative \(V(e)\) can be computed in the following form:

$$\begin{aligned} \dot{V}(e)& = \dot{e}^{T} Pe + e^{T} P\dot{e} = ((A - LC)e \hfill \\ &\quad + \tilde{f}(x) + Ew)^{T} Pe + e^{T} P((A - LC)e \hfill \\ & \quad + \tilde{f}(x) + Ew) = e^{T} ((A - LC)^{T} P + P(A - LC))e \hfill \\ & \quad + \tilde{f}(x)Pe + e^{T} P\tilde{f}(x) + w^{T} E^{T} Pe + e^{T} PEw \hfill \\ \end{aligned}$$
(23)

Substituting (23) into (22), we will have

$$\begin{aligned} & e^{T} ((A - LC)^{T} P + P(A - LC))e + \tilde{f}(x)^{T} Pe + e^{T} P\tilde{f}(x)\hfill \\ & \quad + w^{T} E^{T} Pe + e^{T} PEw + e^{T} e - \gamma w^{T} w \le 0 \end{aligned}$$
(24)

Using Lemma 1 (17) and considering \(P \le \mu I\), we get

$$\tilde{f}(x)^{T} Pe + e^{T} P\tilde{f}(x) \le \varepsilon \tilde{f}(x)^{T} P\tilde{f}(x) + \varepsilon^{ - 1} e^{T} Pe \le \varepsilon \mu \alpha^{2} e^{T} F^{T} Fe + \varepsilon^{ - 1} e^{T} Pe$$
(25)

Substituting (25) into (24), we will have

$$e^{T} ((A - LC)^{T} P + P(A - LC))e + \varepsilon \mu \alpha^{2} e^{T} F^{T} Fe + \varepsilon^{ - 1} e^{T} Pe + w^{T} E^{T} Pe + e^{T} PEw + e^{T} e - \gamma w^{T} w \le 0$$
(26)

(26) is rewritten as follows:

$$\left( {\begin{array}{*{20}c} e \\ w \\ \end{array} } \right)^{T} \left( {\begin{array}{*{20}c} {(A^{T} P - C^{T} L^{T} P + PA - PLC + \varepsilon \mu \alpha^{2} F^{T} F + \varepsilon^{ - 1} P + I} & {PE} \\ * & { - \gamma^{2} I} \\ \end{array} } \right)\left( {\begin{array}{*{20}c} e \\ w \\ \end{array} } \right) < 0$$
(27)

It is concluded that if (28) holds, (27) holds:

$$\left( {\begin{array}{*{20}c} {(A^{T} P - C^{T} L^{T} P + PA - PLC + \varepsilon \mu \alpha^{2} F^{T} F + \varepsilon^{ - 1} P + I} & {PE} \\ * & { - \gamma^{2} I} \\ \end{array} } \right) < 0$$
(28)

Using the change of variable \(Y = PL\), we have

$$\left( {\begin{array}{*{20}c} {(A^{T} P - C^{T} Y^{T} + PA - YC + \varepsilon \mu \alpha^{2} F^{2} F + \varepsilon^{ - 1} P + I} & {PE} \\ * & { - \gamma^{2} I} \\ \end{array} } \right) < 0$$
(29)

According to (25), we have

$$\tilde{f}(x)Pe + e^{T} P\tilde{f}(x) \le \varepsilon \tilde{f}(x)^{T} P\tilde{f}(x) + \varepsilon^{ - 1} e^{T} Pe \le \varepsilon \mu e^{T} \alpha^{2} F^{T} Fe + \varepsilon^{ - 1} e^{T} Pe \le e^{T} (\varepsilon \mu \alpha^{2} F^{T} F + \varepsilon^{ - 1} \mu I)e \le e^{T} (\varepsilon \mu \alpha^{2} \lambda_{\max } (F^{T} F) + \varepsilon^{ - 1} \mu )e$$
(30)

The optimal value of (30) can be computed as follows:

$$\begin{aligned} f(\varepsilon ) & = \varepsilon \mu \alpha^{2} \lambda_{\max } (F^{T} F) + \varepsilon^{ - 1} \mu = \varepsilon \mu \alpha^{2} \sigma_{\max }^{2} (F) + \varepsilon^{ - 1} \mu \hfill \\ & \Rightarrow f^{\prime}(\varepsilon ) = \mu \alpha^{2} \sigma_{\max }^{2} (F) - \varepsilon^{ - 2} \mu = 0 \hfill \\ & \Rightarrow \varepsilon_{opt} = \frac{1}{{\alpha \sigma_{\max } (F)}} \hfill \\ \end{aligned}$$
(31)

By substituting (31) into (29), we have

$$\left( {\begin{array}{*{20}c} {(A^{T} P - C^{T} Y^{T} + PA - YC + \frac{1}{{\sigma_{\max } (F)}}\mu \alpha F^{2} F + \alpha \sigma_{\max } (F)P + I} & {PE} \\ * & { - \gamma^{2} I} \\ \end{array} } \right) < 0$$
(32)

(32) confirms (20), and the proof of Theorem 1 is completed.

Remark 1

The necessary state to (32) be solvable is that (33) must be negative definite:

$$\Phi = A^{T} P - C^{T} Y^{T} + PA - YC + \frac{1}{{\sigma_{\max } (F)}}\mu \alpha F^{2} F + \alpha \sigma_{\max } (F)P + I$$
(33)

That, in turn, means that \(A - LC\) must be stable and \(\frac{1}{{\sigma_{\max } (F)}}\mu \alpha F^{2} F + \alpha \sigma_{\max } (F)P + I\) should be as small as possible. The necessary condition for \(A - LC\) to be stable is that \(A - LC\) should be detectable.

Remark 2

Excluding \(\alpha\) and F, other parameters are computed by resolving the suggested conditions by LMI constraints (20). \(\alpha\) and F must have small values achieving negative definite \(\Phi\). A Lipschitz matrix will be suggested instead of the utilization of a Lipschitz fixed value in (17), resulting in a problem that has lower conservatism.

4 Results and discussion

4.1 Simulation results

For validation of the suggested approach, a complete series of simulations have been performed in MATLAB version 2020 software, and the results are presented in this section. In these simulations, a nonlinear dynamic model has been used, as presented in the second section. The desired computer system to perform these simulations has hardware specifications as follows. Intel® Core ™ i7-3537U CPU at 2.00 GHz processor and 12 GB of memory. In these simulations, the current battery model input is in the form of a pulse current with a magnification of 5 amps, a period of 500 s and a bandwidth of 30%.

In practical applications in lithium battery management systems, accurate estimation of battery charge level can be used in charge control of battery packs in high-scale applications. However, due to the nonlinear relationship among open circuit voltage and charge level, it is difficult to use charge level estimation and design proper charge control. Shrivastava et al. (2022) have presented a new and practical method to control the charging of lithium batteries. In this article, the charge level of the battery is estimated by the Kalman filter, and it is used to control the charge of the batteries using the optimal MPC method. The method presented in this article to estimate the battery charge level can also be used in battery charge control methods like the method presented in this reference.

Figure 5 shows the output voltage estimation as one of the state variables next to its actual value. As it is clear from this figure, the suggested estimator can estimate the output voltage with acceptable accuracy and an overshoot of less than 0.5 v. In addition, the proposed method has a high estimation speed to reach convergence in less than 8 s.

Fig. 5
figure 5

Terminal voltage estimation and its error

Figure 6 also shows the estimation of the battery SoC. This figure also confirms the previous figure in a way. In other words, the proposed estimator has been able for SoC estimation with an acceptable accuracy of 0.3% better than the Ah-counting method. In the second part of this figure, it is also clear that the estimation error using the suggested approach is less than 0.3% of the Ah-counting approach. In addition, the suggested approach for SoC estimation has an acceptable speed and converges in less than 7 s.

Fig. 6
figure 6

SoC estimation and its error

In these simulations, instead of using a real battery, a simulated battery model has always been used. Therefore, the estimated voltage for two RC loops in the circuit model of the battery is shown in Figs. 7 and 8. In these figures, the estimated voltages and their correct value, which is extracted from the simulated battery model, are compared. As it is clear from this figure, the suggested approach has very high accuracy and has been able to estimate these voltages with an overshoot of fewer than 2e-3 V.

Fig. 7
figure 7

Vp1 estimation

Fig. 8
figure 8

Vp2 estimation

4.2 Software-in-the-loop (SIL) results

For validation of the suggested approach efficiency using practical data according to Fig. 9, a series of laboratory tests have been performed. According to this procedure, the voltage and current data measured in practical tests were applied to the simulated model of the suggested approach and the results were extracted. The performance outcomes of the suggested approach are as well compared with the Ah-counting method in Fig. 9. As it is clear from this figure, the suggested approach can estimate the battery charge level with an accuracy of 0.25% compared to the Ah-counting method. Besides, the convergence speed of the suggested approach is also very acceptable compared to the Ah-counting method, so this method converged in less than 6 s.

Fig. 9
figure 9

SIL for SoC estimation

5 Conclusion

For solving the defects in Kalman filters as well as filters based on sliding mode, this paper presented a robust Hꝏ filter for SoC estimation in lithium-ion batteries. This filter can minimize the effects of measurement disturbances and model uncertainties on the estimation output. In other words, this estimator does not have the weakness of Kalman filters in being unable to cope with model uncertainty, nor do sliding filters have the problem of a chattering phenomenon. During the design of this filter, this optimal LMI problem has been used to extract the parameters of the filter in their most optimal state and bring the estimation performance to the best possible state. Using the proposed method, the effect of model uncertainties and disturbances on the estimation output has been reduced. Moreover, the design of the estimator has been converted into an optimal LMI problem to extract the best values for the estimator parameters to increase its performance. The outcomes indicated that the proposed method could provide better accuracy than the ampere-hour method by 0.25% and reduce the speed of convergence to the real value by 6 s.

Simulation and practical results confirm the effectiveness of this estimator for the SoC estimation.