A Critical Look at Coulomb Counting Approach for State of Charge Estimation in Batteries

: In this paper, we consider the problem of state-of-charge estimation for rechargeable batteries. Coulomb counting is a well-known method for estimating the state of charge, and it is regarded as accurate as long as the battery capacity and the beginning state of charge are known. The Coulomb counting approach, on the other hand, is prone to inaccuracies from a variety of sources, and the magnitude of these errors has not been explored in the literature. We formally construct and quantify the state-of-charge estimate error during Coulomb counting due to four types of error sources: (1) current measurement error; (2) current integration approximation error; (3) battery capacity uncertainty; and (4) timing oscillator error/drift. It is demonstrated that the state-of-charge error produced can be either time-cumulative or state-of-charge-proportional . Time-cumulative errors accumulate over time and have the potential to render the state-of-charge estimation utterly invalid in the long term.The proportional errors of the state of charge rise with the accumulated state of charge and reach their worst value within one charge/discharge cycle. The study presents methods for reducing time-cumulative and state-of-charge-proportional mistakes through simulation analysis. (iv) timing error. The


Introduction
Rechargeable batteries are becoming an integral part of the future energy strategy of the globe. The use of rechargeable batteries is steadily on the rise in wide-ranging applications, such as electric vehicles, household equipment, robotics, power equipment, consumer electronics, aerospace, and renewable energy storage systems. Accurate estimation of a battery's state of charge (SOC) is crucial for battery management that is safe, efficient, and reliable [1][2][3][4].
It was found that there are three different methods for the SOC estimation of the lithium-ion battery [5]: (i) The current-based method. (ii) The voltage-based method. (iii) The fusion of voltage/current-based approaches. The fusion-based approaches seek to retain the benefits of both voltage-based and current-based approaches by employing non-linear filters, such as the extended Kalman filter, in order to fuse the information obtained through the voltage and current measurements.
The voltage-based SOC estimation approach is basically a table look-up method. Battery terminals' voltage is matched with the SOC according to the OCV-SOC characterization curve [6]. In more generic terms, we have the following: voltage-measurement = f (SOC) OCV-SOC model + g(parameters, current) voltage drop (1) where the function f (·) refers to the open circuit voltage model that relates the OCV of the battery to SOC and g(·) accounts for the voltage-drop within the battery cell, due to hysteresis and relaxation effects. Challenges in voltage-based SOC estimation arise due to the fact that the functions f (·) and g(·) are usually non-linear and that there is a great amount of uncertainty as to what those functions might be [6,7]. For instance, the parameters can be modeled through electrical equivalent circuit models (ECM) [8,9] or electrochemical models [10], each of which can result in numerous reduced-order approximations. The voltage based approach suffers from the following three types of errors: (i) OCV-SOC modeling error. The OCV-SOC relationship of a battery can be approximated through various models [6]: linear model, polynomial model and combined models are a few examples. Reducing the OCV-SOC modeling error is an ongoing research problem-in [11], a new modeling approach was reported that resulted in the "worst case modeling error" of about 10 mV. It must be mentioned that the OCV modeling error is not identical in all voltage regions of the battery. (ii) Voltage-drop modeling error. Voltage-drop models account for the hysteresis and relaxation effects in the battery. Various approximations were proposed in the literature in order to represent these effects [7,12]. (iii) Voltage measurement error. Every voltage measurement system comes with errors; this translates into a SOC estimation error.
In order to reduce the effect of uncertainties in voltage-based SOC estimation, it is often suggested to rest the battery before taking the voltage measurement for SOC lookup [9]-when the current is zero for sufficient time the voltage-drop also approaches zero. However, all the other sources of errors mentioned above (OCV-SOC modeling error, hysteresis, and voltage measurement error) cannot be eliminated by resting the battery.
Coulomb counting method is the well-known term that is used for the current-based method [9]. In this method, SOC can be calculated as the ratio between the remaining Coulombs and the battery capacity that is assumed to be known. The Coulomb counting approach to SOC estimation can be approximated as follows (see Section 2 for details): SOC(k) = SOC(k − 1) + ∆ k i(k) 3600C batt (2) where SOC(k) indicates the SOC at time k, ∆ k is the sampling time, i(k) is the current through the battery at the at time k, and C batt is the battery capacity in ampere hours (Ah). The Coulomb counting method does not require offline OCV-SOC characterization [6]; however, it is susceptible to the following sources of errors:

1.
Initial SOC: This methods requires initial SOC to start with.

2.
Current measurement error: The measurement error will affect the computed SOC. 3.
Current integration error: The Coulomb counting method uses a very simplified approximation to integration, which will result in errors.

4.
Uncertainty in the knowledge of battery capacity [13]: Battery capacity changes due to temperature, age, etc. [14,15]. The uncertainty in battery capacity will affect the SOC computed by the Coulomb counting method. 5.
Timing oscillator error: Any error in the timing oscillator will affect the computed SOC.
The fusion-based approach seeks to retain the best features of both voltage and currentbased approaches. This is achieved by creating the following state-space model: z v (k) = f (SOC(k)) OCV-SOC model + g(parameters, i(k)) voltage drop +n z (k) (4) where (3) is the process model that is derived from the Coulomb counting Equations (2), (4) is the measurement model that is is derived from the voltage measurement Equation (1), n s (k) is the process noise, z v (k) is the measured voltage across the battery terminals, f (SOC(k)) is the OCV characterization function [6] that represents the battery voltage as a function of SOC, g(parameters, i(k)) is the voltage drop due to impedance and hysteresis within the battery, and n z (k) is the measurement noise corresponding to the model (4). The goal from the above state-space model is to recursively estimate the SOC, given the voltage and current measurements.
The state-space model described in (3) and (4) is non-linear, due to the OCV-SOC model and the different approximate representations for voltage-drop models [7]. If the models are known, a non-linear filter, such as the extended Kalman filter [16], can yield a near-accurate estimate of SOC in real time. The filter selection is based on the following model assumptions: (I) Kalman filter. Here, the following assumptions need to be met. The state-space model is known and linear, i.e., the functions f (·) and g(·) in (4) are linear in terms of SOC, and the 'parameter' and the current i(k) in (4) are known with negligible uncertainty in them. The process and measurement noises, n s (k) and n v (k), respectively, are i.i.d. Gaussian with known mean and variance. (II) Extended/unscented Kalman filter. Here, only the linearity assumption is relaxed, i.e., the functions f (·) and g(·) in (4) can be non-linear in terms of SOC. All other assumptions for the Kalman filter need to be met, i.e., the model parameters and the noise statistics need to be perfectly known and the process and measurement noises need to be i.i.d. Gaussian with known mean and variance. (III) Particle filter. Compared to the Kalman filter assumptions, the particle filter allows to relax both linear and Gaussian assumptions. Here, the f (·) and g(·) can be non-linear, and both process and measurement noise statistics can be non-Gaussian. It needs to be re-emphasized that, similar to the cases in (I) and (II) above, the models f (·) and g(·) and the parameters of the noise statistics need to be perfectly known.
It is important to note that the recursive filters discussed above all assume that the model, which consists of the functions f (·), g(·) and the parameters of the noise statistics, is perfectly known. However, we discussed several ways earlier in this section in which the known-model assumptions can be violated. Indeed, the "known model" assumptions can be violated through any of the following ten ways: (a) Five sources of error in defining the process model (3), namely, the initial SOC error, current measurement error, current integration error, battery capacity error, and timing oscillator error. (b) Three sources of error in defining the measurement model (4), namely, the OCV-SOC modeling error, voltage-drop modeling and its parameter estimation error, and voltage measurement error. The focus of the present paper is to develop detailed insights about the error sources (a) and (c), above. In a separate work [17], we discuss the noise sources (b) and (d) in detail.

Background
The classical estimation theory [16] states that when the linear-Gaussian conditions and the known model assumptions (stated under (I) in Section 1) are met, the SOC estimate will be efficient, i.e., the variance of the SOC estimation error will be equal to that of the posterior Cramér-Rao lower bound (PCRLB), which is proved to be the theoretical bound; under non-Bayesian conditions, this limit is known just as the Cramér-Rao lower bound (CRLB), that is, the PCRLB or CRLB can be used as a gold standard on performance. In this regard, some prior works in the literature [18][19][20] derived the CRLB as a measure of performance evaluation. These approaches were developed to estimate the ECM parameters of the battery; the ECM parameters are involved in the measurement model for the SOC in (1). In addition to the use in SOC estimation, ECM parameter estimation has other important applications in a battery management system. The literature review suggests that there are several model-based SOC estimation methods that exist, which are already explored by different researchers [21][22][23].
Several other approaches attempted to theoretically derive the error bound on SOC estimation separately and jointly with ECM parameter identification. In [24], a RLSbased parameter identification technique with forgetting factor was presented in which a sinusoidal current excitation made of two sinusoid component was used. According to the results, the CRLB of resistance decrease with the increase of frequencies and thus the large frequency components are preferable for higher accuracy in parameter estimation; similar observations were reported in [25]. The influence of voltage noise, current amplitude and frequency on parameter identification was illustrated in [26], where a sinusoidal excitation current was used. Here, the CRLB of the battery equivalent circuit model was derived using Laplace transform; the authors found no influence of the frequency of the excitation signal on the single-parameter identification of ohmic resistance and reported that reducing the voltage measurement noise and increasing current amplitude improves the identification accuracy. A posterior CRLB was developed to quantify the accuracy for EKF-based ECM parameter identification in which a second order battery ECM was adopted in [27]. The CRLB was determined numerically with the help of sinusoidal current excitation. It showed that the CRLB of the ohmic resistance estimation decreases with the increase of current amplitude and frequency as well. Unlike [27], the CRLB was derived in analytic expression in discrete time and Laplace transform in [28] in which a (known) sinusoidal current input was considered. A non-linear least-square based electrode parameter (e.g., electrode capacity) identification method was presented in [18] in which only the terminal voltage was considered to contain the measurement noise. This CRLB was derived and used to quantify the error bound of the estimator to determine the uncertainty of the parameter estimation. The parameter estimates were interpreted with the help of analytically derived confidence levels. Here, the noise was assumed to be Gaussian white noise with standard deviation 10 mV in the demonstrations. In [19], the battery SOC estimation error was derived theoretically as a function of sensor noises; the proposed approach considers measurement noise in both the current and voltage. The effect of different components involved in SOC estimation were demonstrated, using a parameter sensitivity analysis in [29], and the effect of bias and noise were reported in [30] as well.
The five sources of error in Coulomb counting have been recognized in the literature and some remedies were proposed. In [31], the initial SOC was modeled as a function of the terminal voltage, temperature and the relaxation time. The authors in [32] proposed the use of neural networks to gain a better estimate of the initial SOC. In [33], a data fusion approach was proposed, where a H-infinity filter was used to minimize the error in the initial SOC estimate. In the battery fuel gauge evaluation approach proposed in [15], the uncertainty in initial SOC error was taken into account and the OCV lookup method [6,34] was introduced as a performance metric. It was pointed out in [35] that the accuracy of the OCV lookup method might be affected with battery age. The effect of current integration error was also recognized in the literature and remedies were proposed: in [32,36], a model-based approach was proposed to reduce current integration error; in [37], it was proposed to reset Coulomb counting when the present SOC is known when the battery is fully charged/discharged, where the "fully-charged" and "fully-empty" conditions were declared, based on the measured voltage across battery terminals; here, the authors propose a way to minimize the error due to the voltage-only-based declaration of these two conditions. Many articles recognize the imperfect knowledge of battery capacity and ways to estimate them: a neural-network-based approach to battery capacity estimation was proposed in [32]; an approach based on the charge/discharge currents and the estimated SOC for battery capacity estimation was proposed in [38]; the authors in [37] presented an idea of battery capacity estimation when SOC of battery is 100% or 0%, which can be known easily when the terminal voltage reaches the max./min. voltage, respectively; in [13], a state-space model was introduced to track battery capacity where measurements can be incorporated using multiple means, including when the battery is at rest. None of the existing works explored the effect of timing oscillator error in the estimated SOC.
In summary, the importance of theoretical performance derivation and analysis is recognized in the literature, particularly in the above-detailed publications. Considering the nature of the complexity of the real-world measurement model, the existing literature represents only a small fraction of what needs to be done for a complete understanding of the battery SOC estimation problem. For example, even though the effect of some of the five sources of Coulomb counting error (summarized earlier in this section) were noted in the literature, it was not fully incorporated into the fusion-based SOC tracking approaches. In other word, the process noise n s (k) in (3) was not accurately defined in the literature. Table 1 summarizes how the process noise is defined in some notable works in the literature.
Setting arbitrary values to the process noise will have the following adverse effect on the filter outcome: • Too-small process noise: When the process noise is smaller than the reality, the filter will compute the weights such that the measurements are ignored. • Too-large process noise: When the process noise is larger than the reality, the variance of the filtered estimates will be high.Consequently, the benefits of using a filter will be lost.
Based on Table 1, it is clear that there is a knowledge gap about the process noise in the recursive-filtering approach to SOC tracking. The focus of this paper is to derive accurate models for SOC tracking; in particular, we focus on the process model only. Similar discussions about one of the possible measurement models can be found in [17]. Model validation strategies and analyses using practical data are left for future discussion. Adaptive unscented Kalman filter "zero-mean Gaussian white sequence"; "in practice, the mean and covariance of process noise is frequently unknown or incorrect" [45] (page 4610) Extended Kalman filter "The EKF assumes knowledge of the measurement noise statistics. Moreover, any uncertainty in the system's model will degrade the estimator's performance" [46] (page 10) Correntropy unscented Kalman filter "CUKF assumes that the process noise covariance and measurement noise are known. They are, however, in real time in nature and may not be obtained in advance in practice. As a result, they should be kept up to date with changes in time based on prior information." Table 1. Cont.

Publication Filtering Method
Definition of Process Noise [47] (page 166,660) Adaptive weighting Cubature particle filter "w k ∼ N (0, Q k )" where Q k is the covariance matrix. "In the process of practical application, the statistical characteristics of the process noise and measurement noise of the system are highly random and vulnerable to external environmental factors." [48] (page 8614) Extended Kalman filter "Model bias is one of the existing inefficiency of the model in representation of real physical systems because of the supposition and simplifications." [49] (pages 5, 8) Adaptive square-root sigma-point Kalman filter "w k refers to process noise, which represents unknown disturbances that affect the state of the system"; "usually, covariance matrices are constant parameters determined offline before the estimation process begins. In practice, the characteristics of noises vary depending on the choice of sensors and the operating conditions."

Summary of Contributions
A large portion of the existing work related to battery SOC estimation in the literature lack theoretical validation. Almost all the work that employ some form of theoretical validation are summarized in Section 1.1-the number of papers in this section is insignificant compared to the number of publication in SOC estimation in the past year alone. This indicates the need to focus more on theoretical performance analyses and to understand where the remaining challenges lie in battery SOC estimation.
In this paper, we developed a mathematical model to theoretically compute the accumulated SOC error as a result of current measurement error, current integration approximation, battery capacity uncertainty, and timing oscillator error. These four sources of error are identified in [50]. In this paper, we provided the formulas for exact statistical error parameters (mean and standard deviation) that can be used to improve all existing SOC estimation methods. As such, the contributions of this paper are summarized as follows: • Exact computation of Coulomb counting error. With realistic numerical examples, we demonstrate the errors and their severity during Coulomb counting. Further, we derive mathematical formulas to determine these errors such that the statistical confidence in the SOC estimates can be explicitly stated. • Five different error sources in Coulomb counting are analyzed. We derive the exact standard deviation and mean error (with time), due to all five possible sources of errors during Coulomb counting: current measurement error, current integration error, battery capacity uncertainty, charge/discharge efficiency uncertainty, and timing oscillator error. It is demonstrated that the resulting error will fall into one of the following two categories: time-proportional errors and SOC-proportional errors.

•
Time proportional errors increase indefinitely. We demonstrate that the standard deviation of the time-proportional error approaches infinity as the number of samples reaches infinity. • State of charge proportional errors reach worst case within one cycle. It is shown that the errors due to battery capacity uncertainty and timing oscillator drifts reach their peak values within one discharge/charge cycle. In addition, the standard deviation of these errors vary with the accumulated SOC. The proposed exact model can be used to improve the SOC estimation by incorporating them in state-space models, e.g., the proposed model can be used to improve the extended Kalman filter-based SOC estimation techniques [3].
• Accurate state-space models for real-time state-of-charge estimation. The models were presented in a way that their applicability in state-space models is explicit. The proposed models can be used to improve the accuracy of virtually all online filtering approaches, i.e., those based on extended Kalman filter, unscented Kalman filter, particle filter, etc., that were employed for real-time SOC estimation.
The effect of the initial SOC error will remain as a bias in the Coulomb counting process and as such, it does not require any further analysis in this paper. Some initial versions of the derivations presented in this paper were reported in [51]; the present paper expands all derivations presented [50] toward a generalized state-space model.
It must be noted that all the contributions listed above will translate into an accurate process noise model in the state-space model for recursive SOC tracking. It will be shown later in this paper that the process noise variance is a significantly time-varying quantity-something never considered in the literature before. Further, even though Coulomb counting is considered an outdated approach to SOC estimation, it is still widely used in practical implementations [14,15,52]. For example, whenever the fusion based approaches encounter failures, due to unexpected measurements and errors, etc., the battery management systems are usually programmed to fall back to the Coulomb counting method as an alternative. Hence, the paper is written in a way that quantifies the error in computed SOC from Coulomb counting. Later, we discuss how the findings in this paper will be used to derive an accurate model for voltage-current fusion-based SOC tracking, using recursive filters.

Organization of the Paper
The remainder of this paper is organized as follows: Section 2 formally introduces Coulomb counting and identifies the four different error sources. The accumulated error in SOC due to current measurement error, current integration approximation, battery capacity uncertainty, and timing oscillator drift, are derived and analyzed in Sections 3.1, 3.2, 3.3 and 3.5, respectively. A summary of individual uncertainties and their effect on the counted Coulombs is presented in Section 4. In Section 5, some practical ways are discussed as to how individual effects can be combined in the process model of recursive filter implementation for SOC tracking. Section 6 deals with the numerical analysis of the effect of current measurement error, current integration error and battery capacity uncertainty. Finally, the paper is concluded in Section 7.

Problem Definition
The Coulomb counting Equation is [8] where η is the Coulomb counting efficiency defined as follows: t denotes the unit of time in seconds, i(t) is the current in amperes (A) through the battery at time t, s(0) denotes SOC at time instant t = 0, s(t) shows the SOC at time interval t, and C batt denotes the battery capacity in ampere hours (Ah). A discretized version of the Coulomb counting equation is given as follows: where s(k) denotes the SOC at time instant t(k), and i(τ) shows the measured current at time instant τ. Approximation is done using the rectangular (backward difference) method for the integration in (7) as follows: where ∆ k = t(k) − t(k − 1), the Coulomb counting equation, is further simplified as follows: [8,9] The Coulomb counting Equation (9) suffers from the following sources of errors: 1.
Measurement error in the current i(k).

2.
Error because of the approximation used for the integration in (8).

3.
Unreliability in the battery capacity knowledge C batt .

4.
Uncertainty in the knowledge of the Coulomb counting efficiency η.

5.
Measurement error in sampling time ∆.
In the next four sections of this paper, we provide detailed mathematical discussions about these four types of errors.

Effect of Current Measurement Error
The error in measured current z i (k) can is modeled as follows: where i(k) shows the exact current in battery and n i (k) denotes the measurement error in the current, which is supposed to be zero mean with standard deviation as σ i , i.e., the following: By substituting the measured current (10) in (9) the Coulomb counting equation is rewritten as follows: Let us assume the following: Now, the SOC at time instant k = 1, 2, . . . can be presents as follows: Considering n consecutive samples, the SOC at time k = n is as follows: It can be noticed that the change in SOC can be decomposed into charging Coulombs and discharging SOC as follows: where where the logical quantity [i(k) > 0] is defined as follows: and the logical quantity [i(k) > 0] is defined as follows: Similarly, the error in the computed computed SOC can be split into two terms corresponding to charging and discharging, i.e., as follows: where It must be noted that the current measurement noise n i (k) ∼ N (0, σ 2 i ) has the same characteristics during charging and discharging. Now, it is justified that the SOC estimation error w i (n) has the following characteristics: where n c is the number of present charging current samples and n d is the number of present discharging current samples that satisfy the following: It is seen that as n → ∞, the noise variance of the estimated SOC error also tends toward infinity. Let us write the SOC noise due to current measurement error in a simplified form as follows: where the ratio between the measurement noise standard deviation and battery capacity (in Ah), denoted in this paper as the current measurement noise coefficient (which has a unit of h −1 ), is defined as follows: It must be noted that although the SOC s(n) is defined within [0, 1], SOC is usually displayed in percentage. As such, the standard deviation of the SOC error in (27) is given as a percentage as follows: Table 2 presents the standard deviation (s.d.) in SOC error because of the measurement error in the current at different sampling intervals. Here, it is assumed that the battery capacity is C batt = 1.5 Ah and the current measurement error standard deviation is σ i = 10 mA. The SOC error presented in Table 2 is computed assuming zero uncertainties in all the other sources of error (integration, capacity, and timing oscillator) and the initial SOC s(0).
The variance of the SOC error (29) because of the current measurement error keeps increasing with time. As such, we denote this as a time-cumulative error. For time-cumulative errors, the standard deviation of the error keeps increasing with time-if it is not reset, it will completely corrupt the estimated SOC. A possible approach that can be used for reducing the time-cumulative error is to reset the Coulomb count to zero once during a process. Considering that the reset value of SOC also comes with errors (which is not considered in this paper) it is important to select an instant where the uncertainty in the reset SOC is smaller than the uncertainty derived in (29).

Effect of Approximating Current Integration
The Coulomb counting method, as described in the preceding section, uses a basic first-order (rectangular) approximation to approximate the integration of current over time (see (8)). Figure 1 shows a generic rectangular approximation to integration. For this method of approximation, the integration error δ I (k) can be represented mathematically as follows: The behavior of integration error δ I (k) is a more important area of interest. It can be observed that, for rectangular approximation, the error is proportional to the sampling duration ∆ [53], i.e., the following: Further, the integration error is proportional to the difference in the adjacent samples of measured current, i.e., the following: (32) is a time varying quantity, we can approximately write the following: where σ L is the standard deviation of the load (or charging) current (e.g., if the current is constant, then σ L = 0 and so is the integration error). Furthermore, when the amplitude of the current i(k) varies, the sign of the error can be positive and negative-see Figure 1 for an illustration of this. Using this observation, we can write the following: This means that we can assume integration error to be due to rectangular approximation as the zero mean, considering the large number of samples.
Based on the discussion so far, the integration error has the following (approximate) properties: where σ 2 I denotes the variance of current integration error From (31) and (33), we can write the following: where κ is a constant, ∆ is the sampling time, and σ L is the standard deviation of the load current. Figure 2 shows two different load current profiles from practical applications. It supports the assumption made in (32) that the current difference [i(k) − i(k − 1)] indeed is the zero mean. On following the similar approach of Section 3.1, the computed SOC can be written in recursive form as follows: Integ.Error (37) where the integration error is incorporated based on (30). SOC at time instant k = 0, 1, 2 . . . can be written as follows: The computed SOC at time instant k = n can be written as follows: where w I (n) represents the SOC computation error due to approximation in integration. Similar to (55)-(57), the SOC error w I (n) can be decomposed, corresponding to charging and discharging, as follows: where The SOC error possesses the following characteristics: Then, the standard deviation can be written as follows: where the integration error coefficient is defined as follows: Considering that the SOC s(n) is defined within [0, 1], the standard deviation of the SOC in (43) ranges between σ s,I (n) ∈ [0, 1]. Usually, SOC is displayed in percentage.
As such, the standard deviation of the SOC error in (44) can be displayed in percentage as follows: Now, to simplify the above expression, some realistic assumptions need to be made for further processes. Based on the data shown in Figure 2, we have the following: Tables 3 and 4 show the standard deviation of the computed SOC error due to the current integration error at different sampling intervals for longer periods. These two tables are made based on the values shown in (47) and by assuming κ = 1.

Effect of the Uncertainty in Battery Capacity
The capacity of a battery refers to the number of Coulombs that can be charged into (or discharged from) it. The capacity of a battery degrades with time [54], and the rate at which it degrades is determined by the battery's calendar life as well as the battery's environmental and usage trends over a lengthy period of time [55]. As a result, the true value of the battery capacity C batt is unknown. To estimate the battery SOC, usually a measure of the battery capacity, denoted as C batt , is employed. Such a capacity measurement is not exact, and it has the following relationship to the genuine battery capacity: where C ∆ shows the uncertainty in the prior knowledge of the true capacity of the battery C true . It was shown in [13] that uncertainty in battery capacity can be considered as the zero-mean Gaussian distribution, which can be represented as follows: where σ batt is the standard deviation of the capacity estimation error. The first order Taylor series approximation of a function f (x) around a point x 0 is given by the following: using the above Taylor series approximation and the relationship (48), the inverse capacity can be approximated as follows: With the above approximation to the inverse capacity, let us re-write the Coulomb counting equation as follows: Now, SOC can be written for time instant k = 0, 1, 2, . . . as follows: The computed SOC at time instant k = n can be written as follows: where w C (n) represents SOC error due to the uncertainty in battery capacity. Similar to (55)-(57), w C (n) above can be decomposed into the following two terms: where Now, w C (n) becomes the following: Now, due to the uncertainty in prior knowledge of the battery capacity, the SOC error can be written as follows: where the dimensionless capacity uncertainty coefficient is defined as follows:

Effect of the Uncertainty in Charging Efficiency
Let us assume the uncertainty in charging efficiency as follows: In summary, we may write the following: Now, the measured current (10) needs to substitute in (9) and revise the Coulomb counting equation as follows: The computed SOC at time instant k = n can be written as follows: where the SOC error w η (n) can be expressed as the following: where are defined as the charging uncertainty coefficient and the discharging uncertainty coefficient, respectively. Let us model these two coefficients as ρ η c ∼ N (0, σ 2 η c ) and ρ η d ∼ N (0, σ 2 η d ). With this assumption, the SOC error w η (n) will possess the following characteristics:

Effect of the Uncertainty in Timing Oscillator
In this method, we have the following: where ∆ represents a random parameter for timing oscillator error. It can behave like bias, which can be considered constant for a longer period of time. The timing error coefficient can be defined as follows: Considering the assumption that the timing oscillator is off by 3 minutes in one month, then, for such a scenario, the constant ρ ∆ can be written as follows: Considering (71), the Coulomb counting Equation (9) can be re-written as follows: The simplification of SOC estimation error can be performed as follows: According to the following assumption that SOC at time step t = 0, it can state the following: Therefore, the SOC variation can be shown as follows: The SOC error w ∆ is a deterministic quantity for a given battery, provided that ρ ∆ is known. However, a realistic assumption is that the knowledge of ρ ∆ is only probabilistic. Let us assume that ρ ∆ ∼ N (0, σ 2 ∆ ). In the following circumstance, the characteristics exhibited by the SOC error w ∆ can be shown as follows: with the assumption that ρ ∆ is a too-small number; see (73). Due to the time oscillator error, the error in SOC can be assumed to be negligible.

Summary of Individual Errors
This study presents a critical look at the Coulomb counting method that is employed to estimate the state of charge of a battery. The Coulomb counting approach computes the present SOC as follows: where i(t) is the instantaneous current through the battery and C batt is the battery capacity in ampere hours, that is, the present SOC is the summation of the initial SOC and the change in SOC, computed through the above integration. The SOC can be approximately computed in a recursive manner as follows: where at time step k, SOC can be represented by s(k), i(k) denotes the measured current at time step k, and ∆ represents the sampling time in seconds. The SOC at time n is the summation of the initial SOC s(0) and the accumulated SOC s CC from time n = 0 until n.
In this paper, we showed that the above (discrete) recursive approximation to computing SOC suffers from four sources of error: current measurement error, current integration error, battery capacity uncertainty and the timing oscillator error. Particularly, we computed the exact amount of the resulting SOC uncertainty as a result of the above four types of errors. Those results are as follows:

1.
Current measurement error: At time instant n, the computed SOC can be stated as if the current measurement error is zero-mean with standard deviation σ i .
where s(0) is the initial SOC and s CC (n) is the accumulated SOC from the start at n = 0. The SOC error w i (n) is shown to be zero mean with standard deviation (see (25)) It should be noted that, due to the current measurement noise, the variance of the Coulomb counting error is accumulative with time. As the time increases, i.e., n → ∞, the standard deviation of SOC error also increases.

2.
Current integration error: With the consideration that approximation is done for the integration of current using the rectangular method, it can be shown that resulting approximation error is zero mean with standard deviation σ I . As a result, at time instant n the computed SOC can be written as follows: where it can be shown that SOC error w I (n) has zero mean and standard deviation as follows: Again, it must be noted that, due to the current measurement noise, the variance of the Coulomb counting error is accumulative with time.

3.
Uncertainty in the knowledge of battery capacity: With the consideration that uncertainty in the battery capacity has zero mean with standard deviation σ 2 batt , the SOC at time instant n can be derived as follows: where w C (n) represents SOC error as follows: where ρ C is defined as the capacity uncertainty coefficient. It should be noted that error in capacity due to uncertainty is not accumulative with time; rather, it is proportional to the accumulated SOC s CC (n) ∈ [0, 1].

4.
Charging efficiency error: The charging and discharging efficiencies are denoted as η c and η d , respectively. The uncertainties in charging and discharging efficiencies are denoted as η c∆ and η d∆ , respectively. At time step n, the SOC error can be written as follows: Similar to w C , w η (n) does not accumulate with time; rather, it accumulates with the accumulated Coulombs.

5.
Timing oscillator error: In the timing oscillator, considering the error of ρ ∆ (ratio of clocked time vs. true time), the SOC at time instant n can be shown as follows: where w ∆ (n) denotes the SOC error, which is the deterministic value as follows: Similar to the error due to capacity uncertainty, w ∆ (n) is not accumulative with time and it is proportional to the accumulated SOC. It can be shown that the realistic value of η is a too-small number. For example, a timing oscillator which is leading or lagging by three minutes in a month has η = 69 × 10 −6 . Therefore, the weightage of the timing oscillator error in the SOC estimation is very minimal.
In summary, the resulting four types of errors can be grouped into two categories: time-accumulative and SOC-proportional. The SOC errors due to current measurement error and integration approximation fall under the category of time-accumulative errors. The SOC errors due to the uncertainty in battery capacity and timing oscillator error fall under the category of SOC-proportional errors. Next, we briefly discuss the nature of these errors and possible ways to mitigate them.

Mitigating Time-Accumulative Errors
It must be stressed that the best way to mitigate Coulomb counting errors is to employ a state-space filter, such as the Kalman filter, with correctly derived model parameters as briefly discussed in Section 5. However, practical battery management systems are implemented through complex state diagrams [15], where at some stages, Coulomb counting is the best way to compute the SOC. Some strategies discussed below can be useful when the SOC is computed, based on Coulomb counting only.
The following strategies can be looked at to reduce time-accumulative errors.
• Over sampling. It can be noted that both σ s,i (n) and σ s,I (n), in (80) and (81), respectively, are proportional to ∆ √ n, where ∆ and n are related as follows: where T is the total time duration. Now, both σ s,i (n) and σ s,I (n) can be written as follows: Now, one must realize that the integration error coefficient ρ I reduces with oversampling, i.e., as ∆ decreases so does ρ I . However, the current measurement noise coefficient is unaffected by the sampling time. The conclusion is that both σ s,i (n) and σ s,I (n) reduce with higher sampling rate-however, σ s,I (n) reduces at a higher rate compared to σ s,i (n) with oversampling. • Reinitialization. Time-accumulative errors increase with time. The growth of error can be reduced down by re-initializing the SOC.

Mitigating SOC-Proportional Errors
Intermittent re-initialization-within a single charge-discharge cycle-will help to minimize this error. However, in most practical cases, there may not be many opportunities (a rested battery) for frequent resetting within a single cycle. The knowledge of uncertainty in the battery capacity σ batt will be very useful in SOC error management. For example, if it is known that σ batt is significantly high, then the SOC can be computed solely based on the voltage approach.
Finally, it must be emphasized that the focus of this paper is exclusively on the Coulomb counting approach. As such, we did not delve into other types of approaches that are shown to be useful in improving SOC estimates, such as voltage/current based approaches through the use of nonlinear filters [3,40]. The results reported in this paper, such as the standard deviation of the Coulomb counting error for various scenarios, will help to improve the voltage/current based SOC estimations as well.

Combined Effect and the State-Space Model Derivation
So far, the Coulomb counting uncertainty is computed only based on individual sources of errors. In this section, we discuss how the combined effect due to all sources of error can be approximated, using a naive combination approach. Exact derivation of the combined effect can be quite lengthy, due to the non-linear relationships involved-this is left for future works.
Under the naive combination approach, at time instant n SOC can be written as follows: where w(n) = w i (n) + w I (n) + w C (n) + w η (n) + w ∆ (n) Under the above naive assumption, the following can be shown: With the combined noise derived above, now we are ready to redefine the state-space model (3) and (4).
Based on the detailed derived about the Coulomb counting error, the process model (3) can be written as follows: where n s (k) is the process noise that has zero-mean and variance, given by (90) when n is set to 1. (4) can be written in detail as follows:

Based on the notations introduced in [7], the measurement Equation in
where V • (s(k)) is the open circuit voltage model, a(k) T b approximates the voltage drop in the relaxation elements of the battery, b is the parameter vector of the relaxation elements, and n z (k) is the measurement noise.

Effect of Current Measurement Error
The objective in this section is to validate-using the Monte Carlo simulation approachthe standard deviation of the SOC error, due to the measurement error in the current that was derived in (29). For this experiment, errors from all the other possible sources of uncertainties (current integration error, battery capacity uncertainty, and timing oscillator error as well as initial SOC error) are assumed to be zero. In order to do this, a special current profile, shown in Figure 3, is created. For this profile, the amount of Coulombs can be perfectly computed, using geometry. Once the Coulombs are computed, the true SOC can be computed by making use of the knowledge of the true battery capacity and other noise-free quantities. The following procedure details the Monte Carlo experiment:

1.
Generate a perfectly integrable current profile, similar to the one shown in Figure 3. The generated current profile denotes i(k) in (10).
• First 40 s of the true current profile generated for the experiment is shown in Figure 4.

2.
Compute the true SOC at time k, s true (k), using the geometric approach, illustrated in Figure 3, for the entire duration of the profile, i.e., for k = 1, . . . , n where n denotes the number of samples in the entire current profile.

3.
Set m = 1, where m denotes the index of the Monte Carlo run.

4.
Generate current measurement noise n i (k) as zero-mean Gaussian noise with standard deviation σ i = 10 mA. Using this, generate the measured current profile z i (k) = i(k) + n i (k).
• Figure 4 shows the true current profile i(k) along with the measured current profile z i (k) for a duration of 40 s.

5.
Compute the (noisy) SOC, s m (k) using the traditional Coulomb counting equation given in (65), i.e., the following: where the subscript m denotes the m th Monte Carlo run.
• Figure 5 shows the true SOC s true (k) and the computed noisy SOC s m (k). The top plot (a) shows the SOC at the start of the current profile, and the bottom plot (b) shows the SOC toward the end of applying 3.5 h of the load profile.

6.
If m = M, where M denotes the maximum number of Monte Carlo runs, go to step (g); otherwise, set m ← m + 1 and go to step (d).

7.
End of simulation (all the data generated during the above steps need to be stored for analysis).
After M = 1000 Monte Carlo runs, the standard deviation of the SOC error due to current measurement error is computed as follows: Figure 6 shows the standard deviation of the SOC error computed using the theoretical Formula (29) and the standard deviation of the SOC error computed using the Monte Carlo method detailed in (92). As expected, the theoretical derivation matches the SOC error standard deviation obtained through 1000 Monte Carlo simulations. . Generic illustration to computing the true amount of Coulombs. Computing true Coulombs is challenging. Here, we assume the true current to take the above pattern; under this assumption,    Simulation Formula Figure 6. Standard deviation of the SOC error due to measurement error in current. Simulated value is plotted in comparison with the theoretical value derived in (29) shown against time that corresponds to n.

Effect of Current Integration Error
The objective in this section is to validate the standard deviation of the SOC error due to integration that we derived in (44). For this experiment, errors from all the other possible sources of uncertainties (current measurement error, battery capacity error, timing oscillator error as well as initial SOC error) are assumed to be zero. In order to do this, similar to the previous analysis, a special current profile shown in Figure 7 is made up of constant current signals of different amplitudes. For this profile, the amount of Coulombs can be perfectly computed using geometry similar to the example illustrated in Figure 3. Once the Coulombs are computed, the true SOC can be computed by making use of the knowledge of the true battery capacity. The following procedure details the Monte Carlo experiment to validate the standard deviation of the SOC error due to current integration error:

1.
Generate a perfectly integrable current, where the generated current allows one to perfectly compute k+1 k i(k)dk shown in (30). -First 18 s of the noiseless current profile i(k) is shown in red in Figure 7. Note that the true current profile is the downsampled version-this emulates the fact that the discretely measured current is always a downsampled version, and it will never be the same as the real current (shown in blue). First four minutes of the current profile along with the true SOC (assuming initial SOC =1) is shown in Figure 8.

2.
Let the true battery capacity be C true = 1.5 Ah.

3.
Assuming the knowledge of the true capacity, compute the true SOC at time k, s true (k), using the geometric approach illustrated in Figure 3 for the entire duration of the profile, i.e., for k = 1, . . . , n where n denotes the number of samples in the entire current profile. - The second plot in Figure 8 shows the true SOC.

4.
Set m = 1, where m denotes the index of the Monte Carlo run.

5.
Compute the (noisy) SOC s m (k), using the traditional Coulomb counting equation given in (65), i.e., the following: where i(k) is the 'measured current' indicated by red lines in Figure 7, and the subscript m denotes the mth Monte Carlo run. 6.
If m = M, where M denotes the maximum number of Monte Carlo runs, go to step (g); otherwise, set m ← m + 1 and go to step (e). 7.
End of simulation (all the data generated during the above steps need to be stored for analysis).
After M = 1000 Monte Carlo runs, the standard deviation of the SOC error due to current measurement error is computed as follows: Figure 9 shows the standard deviations of error computed through the theoretical approach, σ s,I (n) in (46), and through the Monte Carlo simulation approach,σ s,I (k) (93). The constant κ for the theoretical approach in (46) is found to be κ = 0.88 through empirical means (i.e., different values for κ were used until the theoretical curve in red aligned well with the simulation curve in blue). It must be noted that κ will be different for different current profiles.  Perfectly integrable current profile. The blue curve shows a perfectly integrable current that is made of rectangular pulses of different amplitude; it can be integrated using the geometric approach detailed in Figure 3. The measured current, shown in red, is a downsampled version of the true current profile-this emulates the way in which discrete measurement systems measure the voltage/current in BMS. First four minutes of the true current profile and the corresponding true SOC that is computed using the geometric approach detailed in Figure 3. Only 4 min of profiles are shown; the true profile lasted for 4 h (see Figure 9).

Effect of Battery Capacity Uncertainty
The objective in this section is to validate the standard deviation of the SOC error due to the battery capacity uncertainty that we derived in (59) using the Monte Carlo simulation approach. For this experiment, errors from all the other possible sources of uncertainties (current measurement error, current integration error, timing oscillator error as well as initial SOC error) are assumed to be zero. In order to do this, similar to the previous analysis, a special current profile that is shown in Figure 10 is created. The current profile in Figure 10 is made of low frequency (constant current) signals of different amplitudes. For this profile, the amount of Coulombs can be perfectly computed using geometry similar to the example illustrated in Figure 3. Once the Coulombs are computed, the true SOC can be computed by making use of the knowledge of the true battery capacity. The following procedure is followed to perform the Monte Carlo experiment to validate the standard deviation of the SOC error, due to uncertainty in battery capacity:

1.
Generate a perfectly integrable current where the generated current profile denotes i(k) in (10). - The entire true current profile generated for the experiment is shown at the top plot Figure 10.

2.
Let the true battery capacity be C true = 1.5 Ah.

3.
Assuming the knowledge of the true capacity, compute the true SOC at time k, s true (k), using the geometric approach illustrated Figure 3 for the entire duration of the profile, i.e., for k = 1, . . . , n where n denotes the number of samples in the entire current profile. - The second plot in Figure 10 shows the accumulated Coulombs s CC (n). From this, the true SOC can be computed as s true (n) = s(0) + s CC (n).

4.
Set m = 1, where m denotes the index of the Monte Carlo run.

5.
Assuming a capacity estimation error s.d. of σ batt = 0.1 Ah, use the capacity uncertainty model of (48) to compute the estimated battery capacity C batt = C true + C ∆ where it is a zero mean random number with standard deviation σ batt . - Figure 11 shows all the C batt values generated for m = 1, . . . , M in the form of a histogram. 6.
Compute the (noisy) SOC s m (k), using the traditional Coulomb counting equation given in (65), i.e., the following: where the subscript m denotes the m th Monte-Carlo run.
- Figure 12 shows the true SOC s true (k) and the computed noisy SOC s m (k) for different Monte Carlo runs. 7.
If m = M, where M denotes the maximum number of Monte Carlo runs, go to step (h); otherwise, set m ← m + 1 and go to step (e). 8.
End of simulation (all the data generated during the above steps need to be stored for analysis).
After M = 1000 Monte Carlo runs, the standard deviation of the SOC error due to current measurement error is computed as follows: Figure 13 shows the SOC error standard deviation obtained through the theoretical Equation (59) as well as the Monte Carlo simulation approach summarized through (94). It can be noticed that the theoretical value and the simulated values slightly differ-this can be attributed to the approximation made in (51) in order to derive the theoretical value.   Figure 11. The histogram of C batt generated during 1000 Monte Carlo simulations. This graph shows that the battery capacity error that we use in our Monte Carlo runs is reasonable. Figure 12. SOC error due to battery capacity uncertainty. This figure shows the difference between the true SOC and the SOC with battery capacity uncertainty for different simulations. The true SOC is computed using the true battery capacity of C true = 1.5 Ah; each Monte Carlo run assumes a different battery C batt that is distributed N(C true , σ 2 batt ). Figure 11 shows all the C batt during different runs. Std. deviaiton of SOC error (%) Simulation Theory Figure 13. The standard deviation of SOC error due to uncertainty in battery capacity. The red curve is the theoretical value of the s.d. σ s,C (k) derived in (59); the blue curve showsσ s,C (k), the s.d. obtained through the Monte Carlo simulation as shown in (94). Due to the approximation made in (51), the theoretical and simulated values slightly differ.

Conclusions and Discussion
In this paper, we developed an in-depth mathematical analysis of the Coulomb counting method for state-of-charge estimation in rechargeable batteries. In particular, we derived the exact statistical values of the state-of-charge error as a result of the following: (i) current measurement error, (ii) current integration error, (iii) battery capacity uncertainty, and (iv) timing oscillator error. The results revealed that the SOC error because of the current measurement and current integration error grows with time (time-proportional errors), whereas the SOC error due to the uncertainty in the capacity of the battery and timing oscillator error are proportional to the accumulated state of charge (SOC-proportional errors). The time proportional errors increase indefinitely with time and may result in significant errors in the long run, e.g., satellites that operate for decades. The SOC-proportional errors reach their peak within one cycle; hence, the SOC estimates should be accompanied with standard deviation of the estimation error. The models presented in this paper will be useful to improve the overall state-of-charge estimations in the majority of existing approaches; in particular, the statistics developed in this paper define the process model for Kalman filter-based approaches to SOC estimation.

Conflicts of Interest:
The authors declare no conflict of interes.

Abbreviations
The following abbreviations are used in this manuscript: Std. deviation of w I (n) (43) σ s,C (n) Std. deviation of w C (n) (59) σ s,η (n) Std. deviation of w η (n) (70) σ s,∆ (n) Std. deviation of w ∆ (n) (79) σ s (n) Std. deviation of w(n) (90) w i (n) SOC error due to current measurement error (16) w I (n) SOC error due to current integration error (39) w C (n) SOC error due to battery capacity uncertainty(54) w η (n) SOC error due to the uncertainty in c/d efficiency (66) w ∆ (n) SOC error due to timing oscillator uncertainty (75) w(n) SOC error due combined uncertainties (87) z i (k) Measured current at time k (10) z v (k) Measured voltage at time k (91)