SoC Estimation for Lithium-ion Batteries : Review and Future Challenges

Energy storage emerged as a top concern for the modern cities, and the choice of the lithium-ion chemistry battery technology as an effective solution for storage applications proved to be a highly efficient option. State of charge (SoC) represents the available battery capacity and is one of the most important states that need to be monitored to optimize the performance and extend the lifetime of batteries. This review summarizes the methods for SoC estimation for lithium-ion batteries (LiBs). The SoC estimation methods are presented focusing on the description of the techniques and the elaboration of their weaknesses for the use in on-line battery management systems (BMS) applications. SoC estimation is a challenging task hindered by considerable changes in battery characteristics over its lifetime due to aging and to the distinct nonlinear behavior. This has led scholars to propose different methods that clearly raised the challenge of establishing a relationship between the accuracy and robustness of the methods, and their low complexity to be implemented. This paper publishes an exhaustive review of the works presented during the last five years, where the tendency of the estimation techniques has been oriented toward a mixture of probabilistic techniques and some artificial intelligence.


Introduction
Two main industrial applications require high technology systems in energy storage: smart grids and electric vehicles (EVs) [1].LiBs look likely to replace lead acid batteries (PbAB) and become the preferred power supply for EVs due to their advantages of large capacity, long cycle life, and no memory [2].However, LiBs require special handling to avoid deterioration of battery performance and prevent situations that could result in severe damage or explosions.So, LiBs technology requires careful monitoring and regulation.The SoC is one of the most important states to be tracked in a battery to optimize the performance and extend the lifetime of batteries [3].SoC is defined as the rate of the available capacity to its maximum capacity when a battery is completely charged, and describes the remaining percentage of battery capacity.The monitoring and regulation of the states of batteries are done by a BMS that uses a battery analytical model and consists of hardware and software for battery management.It includes, among others, algorithms to determine the battery's more critical states.For EV applications, batteries must not only deliver a certain amount of energy to the drive train during operation but also provide power in different road situations.For this reason, it is essential to know the maximum power that can be delivered to and from the battery by charging or discharging, respectively, with SoC being needed for making decisions concerning the operation.
Batteries' operation can be modeled to find and monitor their states, mainly the SoC.The literature reports different approaches [4].Most of those approaches simultaneously use a model of the battery with an algorithm to estimate the SoC [5][6][7], while a few others use separate methods [8,9].It is important to consider that neither models nor methods are able to fulfill the performance required by demanding applications [10].Therefore, the selection of the appropriate algorithm is up to the designer.To this aim, this paper presents a review of the main proposals in the literature in recent years for SoC estimation.This review can help the designer with choosing the most convenient approach.
This paragraph has as its main goal to show the most recent reviews of SoC estimation.A chapter of a book reported in [11] includes a brief review of SoC estimation techniques.Although this is a 2017 publication, its bibliographical revision for SoC techniques only includes 27 references to websites, journals, transactions, and conference proceedings that were published between 1998 and 2013.A review of SoC estimation for LiBs in electric and hybrid electric vehicles (HEVs) was published in [4].While 59% of the references cited in this journal correspond to approaches for SoC estimation, the remaining papers refer to the estimation of other states of the battery.The focus of [4] was to present the strengths and weaknesses of the approaches rather than to describe their respective techniques in detail, and of all the references concerning SoC, just 20% correspond to 2013 studies, and 15% to 2012 studies.The remaining 65% of references date to 2011 or earlier.For EVs and HEVs, the trend is now towards the design of intelligent BMS, which involves research into intelligent-adaptive SoC estimation methods [12].This is because it has been shown that, to get the best results for building a perfect lifetime calendar of the battery, a mix of adaptive systems should be used [13].In [4], just 18% of SoC-related references correspond to adaptive systems such as fuzzy logic, artificial neural networks, ANN, fuzzy based neural networks, and support vector machines.On the other hand, [4] has not mentioned references to other techniques that have been applied in the last five years related to the use of evolutionary computing such as genetic algorithms and other hybrid methods [10].In the same way, [14] presents a SoC estimation review for LiBs with only 80 references, 78% of which are from 2013 and earlier.The SoC estimation review presented in [14] is inaccurate when it presents the "Internal Resistant Method" as one of the conventional SoC estimation techniques since this is not now used for SoC estimation due to the difficulty of monitoring the resistance because it changes slightly with a wide range of SoC [15].The work presented in [14] does not give an explanation of the methodologies proper for each method and in the classification marked "other techniques", all the mentioned references are from 2013 or earlier.The SoC estimation review presented in [16] makes a list of the techniques used until 2014 to estimate SoC, but it is limited to listing techniques; although it cites 81 references, it does not describe methodologies or indicate advantages or disadvantages.Recently, an overview of online implementable SoC estimation methods for LiBs was published in [17].It only considers those techniques that can be implemented online and is limited to presenting the basic concepts related to Coulomb counting, open circuit voltage, and impedance spectroscopy.Also, it concentrates only on listing model-based methods.The current trend of using artificial intelligence in SoC estimation is only quoted by mentioning artificial neural network-based methods.The research developed in [17] is an overview based on 54 references that briefly describe just five of the SoC estimation methods.
Due to the trend in SoC estimation techniques before 2013 presented in [4], and due to the fact that the trend over the last five years has been towards the inclusion of some probabilistic techniques or artificial intelligence to improve the performance of estimation algorithms, this paper presents an exhaustive review of the SoC estimation methods published since 2013 and gives a description of each of those methods according to a general classification, presenting the main drawbacks.The descriptions of the SoC estimation methods, which may be complex for a designer who is starting out in the field of LiBs states estimation, are presented in a complete but simple way with original diagrams of this review.
According to the searches done in the databases IEEE Xplore digital Library and Science Direct Elsevier's platform, with the search criterion "state of charge estimation in batteries" since 2013, 433 and Electronics 2017, 6, 102 3 of 33 270 publications, respectively, have appeared in this field.This review considered only those that present techniques applicable to LiBs and also emphasize SoC estimation methodologies.On the other hand, those references that were limited to using a SoC estimation methodology originally presented in another publication, without contributions, were discarded.So, SoC estimation classification methods in this review are based on 145 references published in the last five years; 57% of those cited references correspond to journals and transactions, 39% to conferences, and the remaining 4% to other sources like magazines, books, theses, and proceedings.The paper is organized as follows: In Section 2 some important definitions related to battery terminology are explained.Section 3 presents an overview of battery modeling techniques.Section 4 is dedicated to presenting the technique used for each method and its classification.Finally, Sections 5 and 6 are dedicated to a discussion of future challenges, and conclusions, respectively.

Battery Management Systems (BMS)
A BMS is a device that is built with hardware and software that control the operational conditions of the battery to prolong its life, guaranteeing its safety and providing an accurate estimation of the different states of the battery for the energy management modules.To meet this, a BMS has several features to control and monitor the states of the battery at different battery cell, battery module, and battery pack levels [1].
The capability of a battery to store energy decreases over its lifetime.State of health (SoH) is an indicator of this deterioration.The remaining useful life (RUL) is the remaining time or number of load cycles until the battery reaches its end of life (EoL).A BMS must be not only a protection circuit but also a thorough and accurate device that can predict the SoC, SoH, RUL, capacity, and available power, to increase the efficiency and the safety of the battery.By continuously measuring current, voltage, and temperature in batteries, the aforementioned parameters can be estimated.The estimation of the SoC is key in a BMS, but its online and accurate estimation remains a challenge due to strong nonlinear and complex electrochemical reactions in the battery and because battery characteristics change with aging [18].
The literature reports many different approaches to designing a BMS depending on the functionalities desired for the specific application, but most of them focus on a certain function of BMS, such as SoC estimation [10,[19][20][21][22], or the balancing process [23][24][25][26][27][28].Few studies present research concerning BMS from a global perspective like in [29], which displays an entire BMS design adopting a distributed structure to reach better scalability and portability.As mentioned, for EVs and HEVs the trend is now towards the design of intelligent BMS ,which involves research areas in artificial intelligence applied for the battery state estimation [12].A predictive and adaptive BMS based on models is especially important for large battery packs for applications such as EVs and grid integration [30][31][32][33].In the work presented in [34], a BMS is designed based on a seventh-order, single particle battery model with electrolyte diffusion and temperature-dependent parameters that take advantage of the response variations of the Li ion cell with temperature, but focus their efforts on SoC estimation.

Battery Modeling
A battery model is used to study the relationship between the external characteristics and the internal states of a battery by establishing a mathematical model.In order to use methods for SoC estimation, first a cell model in a discrete-time state-space form is needed [35]: where x k ∈ R n is the system state vector at discrete-time index k.The vector u k ∈ R p is the measured exogenous system input and a known/deterministic input to the system at time k.w k ∈ R n is the unmeasured stochastic "process noise" that affects the system state.The system output is y k ∈ R m and is obtained by a linear combination of states and inputs, plus v k ∈ R m , which models the measurement noise and affects the measurement of the system output in a memory-less way, but does not affect the system state.If the requirements of the model need to consider the nonlinear components of the system, the model can be expressed as: These models (Equations ( 1)-( 4)) update its own state and output values based on its input.Equations ( 1) and ( 3) are called the "system equation" and capture the evolving system dynamics.System stability, dynamic controllability, and sensitivity to disturbance may all be determined from these two equations.Equations ( 2) and ( 4) are called the "measurement equation," while the matrices describe the dynamics of the system and are possibly time-varying depending on the particular battery model technique used.The functions f (x k , u k ) and g(x k , u k ) also describe the dynamics of the system and are nonlinear functions specified by the particular battery model technique used.Every particular battery model technique prescribes estimating parameters that may not be directly measured.Equations ( 1) and ( 2) are illustrated in the block diagram of Figure 1, and for the nonlinear case, Equations ( 3) and ( 4) are illustrated in the block diagram of Figure 2. does not affect the system state.If the requirements of the model need to consider the nonlinear components of the system, the model can be expressed as: These models (Equations ( 1)-( 4)) update its own state and output values based on its input.Equations ( 1) and ( 3) are called the "system equation" and capture the evolving system dynamics.System stability, dynamic controllability, and sensitivity to disturbance may all be determined from these two equations.Equations ( 2) and ( 4) are called the "measurement equation," while the matrices ∈ , ∈ , ∈ and ∈ , describe the dynamics of the system and are possibly time-varying depending on the particular battery model technique used.The functions ( , ) and ( , ) also describe the dynamics of the system and are nonlinear functions specified by the particular battery model technique used.Every particular battery model technique prescribes estimating parameters that may not be directly measured.Equations ( 1) and ( 2) are illustrated in the block diagram of Figure 1, and for the nonlinear case, Equations ( 3) and ( 4) are illustrated in the block diagram of Figure 2. Commonly used battery cell model techniques that fit Equations ( 1)-( 4) are mainly electrochemical and electric circuit models.Electrochemical models are suitable for predicting quantities at both the macroscopic and microscopic level, but these models have high computational complexity, presenting difficulties in obtaining parameters, and the equations can only be solved using specialist software [36].The equivalent electric circuit model (ECM) based on external dynamic characteristics can simulate the working characteristics of different kinds of batteries, thereby avoiding detailed calculations of internal electrochemical processes.This review shows that ECM is commonly used as a base for SoC estimation, mainly the resistance-capacitance (RC) network-based ECM, which consists of voltage sources, resistors, and capacitors to form a circuit network.ECM and electrochemical models (EChM) will be examined in detail in Section 4.2.1.

Dk
As hundreds of single cells are connected in parallel and series to compose a battery pack and provide energy that can meet the requirements of an application like a smart grid or EV, a whole battery pack model is required.The similarity principle cannot be simply implemented from a single cell to the battery pack because of cell inconsistencies and mechanical integrity influences [37].If cell inconsistencies are considered, describing every individual cell with its unique ECM and parameters  does not affect the system state.If the requirements of the model need to consider the nonlinear components of the system, the model can be expressed as: These models (Equations ( 1)-( 4)) update its own state and output values based on its input.Equations ( 1) and ( 3) are called the "system equation" and capture the evolving system dynamics.System stability, dynamic controllability, and sensitivity to disturbance may all be determined from these two equations.Equations ( 2) and ( 4) are called the "measurement equation," while the matrices ∈ , ∈ , ∈ and ∈ , describe the dynamics of the system and are possibly time-varying depending on the particular battery model technique used.The functions ( , ) and ( , ) also describe the dynamics of the system and are nonlinear functions specified by the particular battery model technique used.Every particular battery model technique prescribes estimating parameters that may not be directly measured.Equations ( 1) and ( 2) are illustrated in the block diagram of Figure 1, and for the nonlinear case, Equations ( 3) and ( 4) are illustrated in the block diagram of Figure 2. Commonly used battery cell model techniques that fit Equations ( 1)-( 4) are mainly electrochemical and electric circuit models.Electrochemical models are suitable for predicting quantities at both the macroscopic and microscopic level, but these models have high computational complexity, presenting difficulties in obtaining parameters, and the equations can only be solved using specialist software [36].The equivalent electric circuit model (ECM) based on external dynamic characteristics can simulate the working characteristics of different kinds of batteries, thereby avoiding detailed calculations of internal electrochemical processes.This review shows that ECM is commonly used as a base for SoC estimation, mainly the resistance-capacitance (RC) network-based ECM, which consists of voltage sources, resistors, and capacitors to form a circuit network.ECM and electrochemical models (EChM) will be examined in detail in Section 4.2.1.

Dk
As hundreds of single cells are connected in parallel and series to compose a battery pack and provide energy that can meet the requirements of an application like a smart grid or EV, a whole battery pack model is required.The similarity principle cannot be simply implemented from a single cell to the battery pack because of cell inconsistencies and mechanical integrity influences [37].If cell inconsistencies are considered, describing every individual cell with its unique ECM and parameters Commonly used battery cell model techniques that fit Equations ( 1)-( 4) are mainly electrochemical and electric circuit models.Electrochemical models are suitable for predicting quantities at both the macroscopic and microscopic level, but these models have high computational complexity, presenting difficulties in obtaining parameters, and the equations can only be solved using specialist software [36].The equivalent electric circuit model (ECM) based on external dynamic characteristics can simulate the working characteristics of different kinds of batteries, thereby avoiding detailed calculations of internal electrochemical processes.This review shows that ECM is commonly used as a base for SoC estimation, mainly the resistance-capacitance (RC) network-based ECM, which consists of voltage sources, resistors, and capacitors to form a circuit network.ECM and electrochemical models (EChM) will be examined in detail in Section 4.2.1.
As hundreds of single cells are connected in parallel and series to compose a battery pack and provide energy that can meet the requirements of an application like a smart grid or EV, a whole battery pack model is required.The similarity principle cannot be simply implemented from a single cell to the battery pack because of cell inconsistencies and mechanical integrity influences [37].If cell inconsistencies are considered, describing every individual cell with its unique ECM and parameters is desirable.However, it takes time to experiment on every individual cell to fit a precise ECM, and a complete model for a large number of cells would become quite complex.The approach presented in [37] uses a Thevenin ECM for every single cell in an array of more than 90 series-connected cells, and this model is used to identify the internal resistance of each cell.Similarly, in [38] a Thevenin model that uses two different branches (for charge and discharge) is connected in series n times to represent n cells in a series-connected battery pack.Russu et al. in [38] present the model equations for n cells, and these equations are included as a single system by using Equations ( 1) and ( 2)

Methods for SoC Estimation
SoC represents the available battery capacity that can be withdrawn from the battery and is used to prevent its over-discharge or over-charge as well as to operate the battery in such a manner that aging effects are reduced.SoC estimation has drawn the attention of many researchers, and many different methods have been proposed [18].To make a classification of the methods is not an easy task because most approaches point to the combination of two or more methods and the inclusion of different heuristic or deterministic mathematical tools.This review will show that it is common to find a mix of both open circuit voltage (OCV) and coulomb counting (CC) methods.It is common for these combinations to involve a variety of improvements in the initial and online SoC estimation since methods applied separately can suffer from some inaccuracies.For example, [8] combined the algorithm OCV method, a full charge detector/dynamic load observer, and, as the key function, the CC method with robust extended Kalman filter algorithm (REKF).These combinations make it harder to sort out each approach into a specific method classification.However, based on the classification made in [4], and from the published literature on this topic in the last five years, this review proposes two categories (direct and indirect methods), and several subcategories that summarize trends in SoC estimation.Figure 3 displays a summary of these categories with their main drawbacks.

MAIN DRAWBACKS
Its application is very limited within the online estimation and control framework.Parameters for EChMs are not provided by manufacturers and require extensive investigation, so, there is a trade-off in battery modeling between accuracy and computational complexity.It could be innacurate as the model parameters vary widely with electrode chemistry, electrolyte, packaging, and time, and the cells in battery packs are generally heterogeneous with respect to this parameters and temperature.As the model is a set of partial differential equations of multi parameters, the solving process is very cumbersome.
The model parameters can only be parameterized accurately for new batteries in the laboratory, but this approach is costly, time consuming, and commonly not practical to obtain all parameters.It does not fully describe the electrochemical processes of the battery and can´t consider the inaccuracies.The number of circuit elements considered implies a trade-off between accuracy and computational complexity.
The technique is not suitable for online testing since the battery requires to have long time resting to reach balance and to get the OCV.The method is not practical due to the requirement of measuring OCV which means SoC estimation is not available while the battery is charging or discharging.OCV is also not accurate due to the flat region that exists in the mid-SoC region curve.
It demands heavy computation, and has delay in optimzation response time.Fine tuning of parameters is required to get effective results.Because GA is solving binary variable so in conversion binary into number, can skip the optimal point.Handling this problem is important for the resolution needed in the voltage sensors, and require big dimension of binary bit and it increases the time response of the algorithm in online applications.
As direct open-loop SoC estimation is implemented, it leads to inaccuracies.A significant amount of training data are needed, and a lot of computations are required.The vector machine for a new battery cannot be accurate for an aged battery.Because of the open-loop character of this approach, Its adaption to the aging state of the battery is not possible.The large amounts of training data required limited its widespread application.
It needs more neurons to increase the accuracy, which limits its implementation on real-life models.For EV applications the technique is not suitable due to its intensive computing and lengthy learning process.ANN needs to be trained before it can be used, so, can be used for only some specific application and the ANN trained for a new battery cannot be accurate for an aged battery.Because of the open-loop character of this approach, on-line training of the ANN and, therefore, its adaption to the aging state of the battery is not possible.On-line training requires high computational effort and brings various potential problems, such as overfitting.
The computational cost is high, and as a clear battery characteristic rule is needed, and the battery parameters significantly change over the battery lifetime for LiBs, the SoC estimation can be not accurate enough.If the proposed SoC estimation is based on static battery characteristics, therefore, this approach is practically inapplicable for LiBs in EVs.The aging of the battery cannot be considered.This method cannot estimate the initial value, so the initial SoC must be known, and has an accumulative error.As it is an open loop estimation system, small errors will accumulate with time due to the integration term, being a source of significant inaccuracy.Several factors affect its accuracy, such as battery age, discharge rate, and sensor precision.The algorithms suffer from high complexity, high computational cost, and instability.The method involves complex matrix operations that can lead to numerical instabilities and make hard the algorithm implementation on an ordinary, low-cost microcontroller.KF methods are highly dependent on the battery model and sensor precisión, and they have limitations such as linearization accuracy and filter stability from Jacobian matrices.The performance of the KF variants is dependent on prior knowledge of the model and measurement noise covariance, such that any inaccuracy in the system modeling and noise covariance may degrade the performance of these filters, causing poor convergence or slow adaptation.KF is degraded when there are considerable uncertainties about the model structure, physical parameters, level of noise, and initial conditions.

COULOMB
For a better performance, it needs the system and observation noise satisfy the Gaussian distribution and the model parameters are accurate.So, its accurate application is limited.The algorithm suffers from high complexity, high computational cost and instability, and the accuracy depends on the accuracy of the battery model.RLS has heavy computation and unstable operation if the forgetting factor value is not appropriate.
Essentially, it has the same disadvantages than the KF based SoC estimation techniques.Also, nonlinear constraints such as saturation are not well-handled, and aging, hysteresis and temperature effects could deviate the accuracy of the model.

PARTICLE SWARM OPTIMIZATION (PSO)
A large number of parameter need huge effort to tune them properly, and a lot of computations are required.The main PSO drawback is the need of maintaining feasibility of solutions.Typically this issue is solved by including penalty terms in the objective function, but it increases the complexity.It is easy to fall into local optimum in high-dimensional space and has a low convergence rate in the iterative process.
This estimation method is suitable only for identical charging conditions.So, it is not suitable for EVs that could be charged inconsistently with different current.Due to high temperature influence, this method can only be made in high frequency range.

Direct Methods
Direct SoC estimation methods use and measure physical battery properties such as voltage, current, and temperature, and then, by using an equation or relationship, the SoC can be estimated.

Direct Methods
Direct SoC estimation methods use and measure physical battery properties such as voltage, current, and temperature, and then, by using an equation or relationship, the SoC can be estimated.

Coulomb Counting Estimation (CC)
CC has been standardized in the industry as an SoC estimation method [39].At present, the CC method (also known as the ampere-hour balancing method), is the most used method for SoC estimation since it is the most accurate technique for short-term calculations.The CC method defines SoC as [8]: where SoC(t 0 ) is the initial SoC, C n the nominal capacity, and I bat is the charging/discharging current.CC is a simple method, but has problems such as an initial value error and accumulated errors, so it is necessary to take into account the following issues: The measurement of battery current can contain measurement errors and abundant measurement noise.Errors due to noise and the wide range in sensors' resolution or rounding lead to accumulated errors and Equation (5) will gradually lose precision, so supporting algorithms are necessary.The initial SoC may not be known in practice and to define the SoC of a battery is only feasible when the battery system is in thermodynamic equilibrium [40].CC is calculated by charge and discharge current time integral, and it is necessary to know the initial SoC value.If not known, this is usually assumed.This method is unable to eliminate cumulative error and is sensitive to the initial SoC value.If the initial SoC value is inaccurate, it will affect all estimates and error will accumulate during the whole estimation process.Despite being widely used in recent years, CC is not a method that is usually used as a sole tool for estimating SoC but is commonly used in combination with other techniques.A few publications, like [41], use the CC technique as the only tool to calculate the SoC.This work uses CC as a unique method for the SoC estimation since it incorporates a procedure that allows an on-line adaptive parameter estimation of a source-dependent ECM like will be described in Section 4.2.1.

Open Circuit Voltage-Based Estimation (OCV)
SoC estimation methods commonly impose a characterization of the OCV curve (mainly through a polynomial or a look-up table), as they use either a direct OCV curve inversion method (if the application permits cell steady state voltage measurement), or a cell model-based methods [42].Making voltage measurements to determine the SoC for the cell allows us to define the relation: In the OCV method, the cell's voltage is continuously measured, and the corresponding SoC is obtained from a table.The method has inherent difficulties in practical applications: the sensors need high resolution to measure voltage accurately, and sufficient time is required for equilibrium.The OCV method can be very accurate, but as it needs a rest time to estimate the SoC, it cannot be used in real time.Also, the OCV-SoC relationship differs among cells and, therefore results in unacceptable error.However, the OCV method is used to calibrate the CC method expressed in Equation (5) [40], in combination with noise-filtering and other adaptive techniques, as is described in Section 4.2.2.
To understand why the OCV-SoC curve cannot be used directly to estimate SoC, we must analyze Figure 4, which was obtained from the experimental data.This figure displays 10 curves obtained under different C-rates charging processes for a LiNiCoMnO 2 battery.In the figure, it can be seen that, as the amount of charging current increases in each cycle, the curve shifts upward.This behavior gives to the charging process the following features: (1) When the battery receives a large amount of current, the charging process reaches the upper limit voltage faster than when it receives less current; (2) At the same open OCV, the battery has different SoC values depending on the amount of current it is receiving, with SoC values being larger when the charging process is developed under small values of current.If the behavior of the discharging process were presented, opposite features to the charging process could be seen.This OCV curve is fairly flat over the operational SoC range.Thus, even the smallest error in the OCV obtained from a battery model can lead to divergence of SoC from the actual value.To compensate for the mentioned shortcomings, the OCV method has to be mixed with other approaches.In [40,43] the SoC has been estimated by inferring the remaining cell voltage from an OCV using the OCV-SoC curve and Equation (6).
Electronics 2017, 6, 102 8 of 32 be mixed with other approaches.In [40,43] the SoC has been estimated by inferring the remaining cell voltage from an OCV using the OCV-SoC curve and Equation ( 6).The changes of the OCV curve of each cell due to battery aging and performance degradation distort the estimation technique if nothing is done to adjust the curve.Therefore, OCV-SoC curve correction is required and in [42,44] it is implemented by comparing the capacity error with the CC and look-up table methods or by polynomial parametrization for the OCV curve.The OCV method compensates for both parameter and temperature variations in SoC estimation method presented in [20].In [20] the OCV-SoC characteristic is represented by a controlled sources circuit, where a voltage-controlled source bridges SoC to OCV.
OCV is a common tool for supporting other methods.For example, in [45] a discontinuous discharging method to establish OCV-SoC characterization is used to calculate the internal resistance of the model battery and, in combination with an ECM and an extended Kalman observer, estimates the SoC.In [46,47], it is also used for determining the parameters of an ECM of a cell.The curve is used as part of the circuit model in [48][49][50] to consider the hysteresis phenomenon, which shows a difference in the equilibrium OCV between the charge and discharge processes of batteries.

Impedance Measurement-Based Estimation
An impedance measurement system is obtained from sinusoidal excitations at different excitation frequencies in which both voltage and current are recorded, and their complex quotient is computed as the cell impedance.The impedance spectroscopy of a battery cell can be approximated with two circles on the Nyquist plane [51].In recent years, methods based on electrochemical impedance spectroscopy (EIS) have found application for accurate analysis of occurring electrochemical processes and diagnosis of LiBs, as the cell chemistry has a strong effect on the curve of the impedance spectrum [52,53].An experimental lifetime model that can predict the internal resistance increase at various temperatures and SoC levels was developed and parameterized in [54].
In [52] the battery model is established using a simple ECM whose parameters are determined by the impedance measured data, presented as a Nyquist plot.The measured impedance (at frequencies between 100 mHz and 100 Khz) is decomposed with the help of a phase angle in a real part (x axis) and an imaginary part (y axis), which are plotted against each other.Once the parameters of the model are known, the SoC can be estimated.A similar process is developed in [55] for finding the internal resistance growth model of the LiB cell.As this method needs a sinusoidal source, it is The changes of the OCV curve of each cell due to battery aging and performance degradation distort the estimation technique if nothing is done to adjust the curve.Therefore, OCV-SoC curve correction is required and in [42,44] it is implemented by comparing the capacity error with the CC and look-up table methods or by polynomial parametrization for the OCV curve.The OCV method compensates for both parameter and temperature variations in SoC estimation method presented in [20].In [20] the OCV-SoC characteristic is represented by a controlled sources circuit, where a voltage-controlled source bridges SoC to OCV.
OCV is a common tool for supporting other methods.For example, in [45] a discontinuous discharging method to establish OCV-SoC characterization is used to calculate the internal resistance of the model battery and, in combination with an ECM and an extended Kalman observer, estimates the SoC.In [46,47], it is also used for determining the parameters of an ECM of a cell.The curve is used as part of the circuit model in [48][49][50] to consider the hysteresis phenomenon, which shows a difference in the equilibrium OCV between the charge and discharge processes of batteries.

Impedance Measurement-Based Estimation
An impedance measurement system is obtained from sinusoidal excitations at different excitation frequencies in which both voltage and current are recorded, and their complex quotient is computed as the cell impedance.The impedance spectroscopy of a battery cell can be approximated with two circles on the Nyquist plane [51].In recent years, methods based on electrochemical impedance spectroscopy (EIS) have found application for accurate analysis of occurring electrochemical processes and diagnosis of LiBs, as the cell chemistry has a strong effect on the curve of the impedance spectrum [52,53].An experimental lifetime model that can predict the internal resistance increase at various temperatures and SoC levels was developed and parameterized in [54].
In [52] the battery model is established using a simple ECM whose parameters are determined by the impedance measured data, presented as a Nyquist plot.The measured impedance (at frequencies between 100 mHz and 100 Khz) is decomposed with the help of a phase angle in a real part (x axis) and an imaginary part (y axis), which are plotted against each other.Once the parameters of the model are known, the SoC can be estimated.A similar process is developed in [55] for finding the internal resistance growth model of the LiB cell.As this method needs a sinusoidal source, it is not suitable for online applications.The research developed in [56] uses an approach of the EIS for the online estimation of a LiB by decomposing the impulse signal used for getting the impulse response of the circuit model into the corresponding Fourier series factors.With this different frequencies sinusoidal signal, an online spectral analysis is made to obtain the impedance.The works presented in [57,58] introduce an EIS approach where the Nyquist plot impedance spectra is divided into high, mid, and low frequency sections.This division allows us to simplify the ECM parameter estimation and then, by using OCV correction and a fractional Kalman filter, estimate SoC.

Indirect Methods
These methods propose connecting the measured battery signals (voltage, current, and temperature) with the battery SoC employing a battery model.A high-fidelity battery model is required to capture the characteristics of the real-life battery and predict its behavior under a wide variety of conditions.In a BMS algorithm, using the signals as model inputs, the model can be used to calculate the SoC and other states of the battery.

Model-Based Estimation Methods
Model-based estimation techniques have become more common as they surmount the disadvantages of the direct estimation methods.Model-based methods deploy a battery model with advanced algorithms to estimate the states of a battery from its measured parameters such as voltage, current, and temperature.Although there are different approaches presented in the literature for estimating SoC directly using a battery model, this section just reviews electrical and electrochemical models because they are the base for most of the other methods of battery modeling.For example, the model technique displayed in [59] presents the so-called fractional order impedance model, which is inferred by mixing EIS technique and a first-order equivalent circuit model that will be described in the following.To estimate the SoC of a LiB, [59] deduces a fractional order Kalman filter and establishes a battery model that cannot be classified into the next two categories, but it is based on the two techniques presented here. (

1) Electrical Circuit Model-Based Estimation (ECM)
There are three different ECMs of a LiB widely adopted because of their excellent dynamic performance, described in [36].The first is known as the Thevenin model and is a first-order RC model that consists of a nonlinear voltage source V OCV as a function of SoC, a capacitor to model polarization capacitance and diffusion effects within the battery, C P1 , a diffusion resistance, R P1 , an internal resistance, R t , a charge/discharge current, I b , and a battery terminal voltage, V t .The second model adds a capacitor in series with the voltage source V OCV to characterize the capacity of store charge of the battery and to describe the changes in the OCV over time.This review calls this second model the first-order ECM.Similarly, the third one is obtained by adding in series an RC network (a parallel R P2 /C P2 ) to simulate concentration and electrochemical polarizations.This review calls this model the second-order ECM. Figure 5 shows the second-order ECM.
An increase in the number of parallel RC networks can enhance the accuracy of dynamic battery response prediction.However, the coupling of SoC and time constants with cycle number and temperature leads to high prediction errors for estimating the SoC [60].In [36], the discretization equations of each of the three mentioned models are presented and used in combination with an extended Kalman filter (EKF) and the CC estimation method to estimate the SoC.Wang et al. in [36] show that the second-order ECM is the most accurate and has the best dynamic performance, but is also the most complex of these three models.The work presented in [61] makes a comparison between continuous-time and discrete-time equations of the second-order ECM and concludes that discrete-time identification methods are less robust due to undesired sensitivity issues in transformation of discrete domain parameters.The parameters of the second-order ECM can be calculated with different datasets depending on the scenario where the model is going to be used, like in [62].
There are three different ECMs of a LiB widely adopted because of their excellent dynamic performance, described in [36].The first is known as the Thevenin model and is a first-order RC model that consists of a nonlinear voltage source as a function of SoC, a capacitor to model polarization capacitance and diffusion effects within the battery, , a diffusion resistance, , an internal resistance, , a charge/discharge current, , and a battery terminal voltage, .The second model adds a capacitor in series with the voltage source to characterize the capacity of store charge of the battery and to describe the changes in the OCV over time.This review calls this second model the first-order ECM.Similarly, the third one is obtained by adding in series an RC network (a parallel ⁄ ) to simulate concentration and electrochemical polarizations.This review calls this model the second-order ECM. Figure 5 shows the second-order ECM.By employing a simple ECM, like the Thevenin ECM, the SoC can be directly calculated by the transformation of the model equations [38,[63][64][65].The advantage of this approach is its simplicity, which enables easy implementation on a low-cost target microcontroller.In [5], The Thevenin model and second-order ECM were used for SoC estimation and compared with three other enhanced ECMs.The difference between these models is the way the SoC equations are calculated.In this approach, the equation model considers an SoC surf based on electrochemical analysis rather than the average SoC (Equation ( 5)), to reflect the real-time particle surface concentration.This approach shows better performance in a low SoC range compared with the one that uses the average SoC for the ECM.
A fourth typical ECM originally proposed in [66] is presented in [6].This model is quite accurate and could significantly increase the battery's nonlinear dynamic behavior identification.The model is shown in Figure 6.The OCV-SoC behavior of the battery is modeled by a self-discharge resistance R d , a battery storage capacitor C C , and a current-dependent current source.Likewise, the voltage-current characteristics are modeled as a second-order ECM but replacing the voltage source with a voltage-dependent voltage source to relate SoC to OCV.This ECM and the voltage-current dynamic mathematical equations are presented in [6], where V P1 and V P2 are the state variables, I b is the input, and V t is the output.In [10], by using this ECM, a procedure is developed that performs a real-time comparison between measured and calculated values of the battery voltage, while a PI-based observer is used to provide the SoC actual values.The second-order model has also been used in [60] for predicting SoC over a complete drive cycle in EV applications, but it uses a three time-constant model for modeling the transient behavior of the terminal voltage.For this reason, it uses a third RC network in series with the existing two.This ECM has been used as a part of the electrochemical model presented in [67].
Electronics 2017, 6, 102 10 of 32 An increase in the number of parallel RC networks can enhance the accuracy of dynamic battery response prediction.However, the coupling of SoC and time constants with cycle number and temperature leads to high prediction errors for estimating the SoC [60].In [36], the discretization equations of each of the three mentioned models are presented and used in combination with an extended Kalman filter (EKF) and the CC estimation method to estimate the SoC.Wang et al. in [36] show that the second-order ECM is the most accurate and has the best dynamic performance, but is also the most complex of these three models.The work presented in [61] makes a comparison between continuous-time and discrete-time equations of the second-order ECM and concludes that discretetime identification methods are less robust due to undesired sensitivity issues in transformation of discrete domain parameters.The parameters of the second-order ECM can be calculated with different datasets depending on the scenario where the model is going to be used, like in [62].
By employing a simple ECM, like the Thevenin ECM, the SoC can be directly calculated by the transformation of the model equations [38,[63][64][65].The advantage of this approach is its simplicity, which enables easy implementation on a low-cost target microcontroller.In [5], The Thevenin model and second-order ECM were used for SoC estimation and compared with three other enhanced ECMs.The difference between these models is the way the SoC equations are calculated.In this approach, the equation model considers an SoCsurf based on electrochemical analysis rather than the average SoC (Equation ( 5)), to reflect the real-time particle surface concentration.This approach shows better performance in a low SoC range compared with the one that uses the average SoC for the ECM.
A fourth typical ECM originally proposed in [66] is presented in [6].This model is quite accurate and could significantly increase the battery's nonlinear dynamic behavior identification.The model is shown in Figure 6.The OCV-SoC behavior of the battery is modeled by a self-discharge resistance , a battery storage capacitor , and a current-dependent current source.Likewise, the voltagecurrent characteristics are modeled as a second-order ECM but replacing the voltage source with a voltage-dependent voltage source to relate SoC to OCV.This ECM and the voltage-current dynamic mathematical equations are presented in [6], where and are the state variables, is the input, and is the output.In [10], by using this ECM, a procedure is developed that performs a realtime comparison between measured and calculated values of the battery voltage, while a PI-based observer is used to provide the SoC actual values.The second-order model has also been used in [60] for predicting SoC over a complete drive cycle in EV applications, but it uses a three time-constant model for modeling the transient behavior of the terminal voltage.For this reason, it uses a third RC network in series with the existing two.This ECM has been used as a part of the electrochemical model presented in [67].
In practical, all the parameterization values of the resistances and capacitors depend on the particular operating point of the battery, so they are vary with time, temperature, power demand, SoC, and SoH.In the four mentioned models, the battery SoC is directly incorporated into the model using its relationship with the battery OCV.If the scope of the model is to simulate dynamics slower than 1 s, it is possible to use an ECM like the described Thevenin model [51].A possible variation is not to incorporate the battery SoC in the equations, but to estimate the battery OCV using the model In practical, all the parameterization values of the resistances and capacitors depend on the particular operating point of the battery, so they are vary with time, temperature, power demand, SoC, and SoH.In the four mentioned models, the battery SoC is directly incorporated into the model using its relationship with the battery OCV.If the scope of the model is to simulate dynamics slower than 1 s, it is possible to use an ECM like the described Thevenin model [51].A possible variation is not to incorporate the battery SoC in the equations, but to estimate the battery OCV using the model and then use another technique to estimate the SoC from the OCV, like the approach presented in [68,69].In [68] an improved Thevenin model that includes the hysteresis phenomenon in its equations is used for obtaining the voltage of the cell and then, by using Equation ( 5) and a multiple model Kalman filter (KF) in one case, and an autovariance least squares technique in the other, estimates the SoC.In [70], a Thevenin ECM is used to obtain the OCV and then, a linear fitting of a portion of the OCV-SoC curve is used to obtain the SoC.A similar process is followed in [71] to obtain the SoC, but this approach uses a simple ECM that considers just a voltage source and an internal resistance.
SoC estimation methods mix the second-order ECM of a LiB with other techniques such as an improved KF, like in [72,73], or with a kinetic model capable of predicting the circuit characteristics and the nonlinear effects under dynamic loads accurately, like in [74,75] (in these approaches, SoC estimation is replaced with the state of energy, SoE, calculation).However, it was not used in SoC estimation directly; the second-order ECM is coupled with a thermal model by heat generation equations in [76].As this model gives accurate predictions of the temperature distribution through the cell surface and the voltage behavior under various operating conditions, it could be used in enhanced SoC estimation procedures.
By using second-order ECM plus an EKF and Equation ( 5), the approach presented in [7] can estimate the SoC and shows that it does not rely on the initial SoC and is immune to parameter errors.The approach displayed in [77] uses the second-order ECM presented in [7] to obtain the voltage circuit using the SoC and current as inputs.Then, another partial least squares battery-based model is used to estimate the same circuit voltage.Both calculations are compared with the terminal voltage of reference and the algorithm selects the model whose output has the minimum difference compared to the measured terminal voltage.This algorithm uses model free adaptive control to calculate ∆I, utilizing the terminal voltage errors; with this enhanced value, the algorithm calculates the SoC correction.Despite the mixed algorithm making the estimation process simple and effective, it increases the computational burden and the fusion mechanism, and the proposed methods with limited samples under various conditions still need further research [77].In [78] a second-order ECM equation whose parameters are dependent on SoC, or deep of discharge (DoD), charging or discharge rate, and temperature, is used to estimate the SoC, and three different optimization techniques are used to estimate the parameters of the ECM and the feasibility of these techniques are evaluated by the accuracy of the predicted model and the rate of convergence in prediction.
Another ECM different than the conventional four mentioned is presented in [79].In this approach, the architecture and components of the proposed circuit model capture the diffusion characteristics and the resulting overpotential by way of segment-wise diffusion modeling and based on the chemical mass transport mechanism.An approach that considers a second-order ECM as a base to add a thermal generation and thermal transfer equations is presented in [80] for real-time SoC estimation.In [80], electrical and thermal equations are coupled into a single model, and then an EKF is used for SoC estimation.
(2) Electrochemical Model-Based Estimation (EChM) Electrochemical models (EChMs) use the equations that describe physicochemical phenomena like diffusion, intercalation, and electrochemical kinetics occurring in a battery.The definition of these equations involves a specialized knowledge of electrochemistry, hence their exploitation in the field of electrical and electronics engineering is not common.These models are typically computationally challenging owing to a system of coupled time-varying partial differential equations.They are known to be computationally prohibitive, and thus their employment in BMS is hard.For example, a simple EChM like that presented in [81] involves six nonlinear partial differential equations that need a numerical solution.This complexity not only prevents the implementation of monitoring algorithms on low-cost target microcontrollers but also reduces the number of model parameters that can be adapted on-line to the present states of the battery [82].For this reason, such models are best suited for optimization of the physical and material design aspects of internal electrodes and electrolytes [60].The review presented in [83] is a brief updated literature revision of approaches using electrochemical models to estimate different states in batteries.
Several publications propose EChMs that could be used for SoC and other battery states estimation but do not present the SoC estimation process [67,[83][84][85][86][87].For example, [84] presents the full equation descriptions and model algorithm of an EChM based on the absolute nodal coordinate formulation approach, and also a brief model order reduction techniques review for EChMs.Most methods that use EChMs develop reduced-order models and use an estimator.The work developed in [88] fully describes a reduced order EChM.The model reduction and observer design process are intimately intertwined; simpler models ease estimation design at the expense of fidelity.Moura et al. in [83] present a state estimation scheme for a reduced EChM by deriving a single-particle model (SPM) with electrolyte.Tran et al. in [87] present equations of a three-parameter SPM and their Matlab simulation.
The approaches presented in [89][90][91][92] specifically develop EChMs for SoC estimation.Zou et al. in [89] propose a model composed of four submodels that capture the electrochemical, thermal, electrical, and aging dynamics in a set of partial differential equations.As one of the outputs of the full model is the SoC, it can be directly estimated by solving the system equations.Barlett et al. in [90] present a reduced-order electrochemical model for different Li ion chemistries that are used in dual-nonlinear observers (KF, fixed interval Kalman smoother and particle filter), to estimate the cell SoC and loss of cyclable lithium over time.The research presented in [91] described an EChM where a set of discretized equations are used to estimate the SoC directly, and then SoC is compared with an approach where the EChM is written as a linearly spatially interconnected system.Here, by exploiting the resulting semi-separable structure, the method uses an EKF to optimize the calculations for the SoC estimation.The technique presented in [88] introduces EChM parameters estimation by a noninvasive optimization strategy at any state of battery life.This technique is used in [92] for SoC estimation.
The advantage of EChMs is that they inherently include the dependence of the battery behavior on SoC and temperature, while electrical models must store their parameters as look-up tables for various SoC and temperature combinations.The disadvantage of EChMs is their high complexity.As has been stated, the parameter values of a battery model vary with temperature, so SoC estimation values directly depend on battery thermal behavior.Excessive temperature can greatly accelerate the battery aging process, and even cause a fire or explosion in the battery pack in severe cases.On the other hand, the battery electrical properties, such as usable capacity, internal resistance, and power delivery ability, all depend on the battery's internal temperature [80].The battery's internal temperature can reach critical a lot quicker than the surface temperature.Thus, the surface temperature measurement alone might be not sufficient to ensure safe battery operation.This is why, for enhanced security and more accurate SoC estimation, the parameter values of the ECMs should be continually updated.This can be achieved with the adaptive methods described below.In EChMs, since they include temperature as one of their variables, this may not be necessary.
Most of the battery degradation literature consists of empirical-based studies with results extracted from experimental tests in laboratories [93].Ahmadian et al. in [93] present the most prominent degradation models and the effects of degradation factors on LiBs' performance.Bashash et al. in [94] state that there is an exponential relation between calendar aging and SoC.This relationship shows that battery internal resistance increases as SoC increases.Thus, battery degradation increases if it is kept at high SoCs.Also, the average SoC maintained during battery cycling has an influence on the degradation rate, and a higher average SoC leads to faster degradation [93].So, storing a battery at full charge may be considered misuse.As the aging of batteries is reflected directly in the model parameters, the parameter values of the models should be continually updated, and the adaptive SoC methods described below can be used try to reach this condition.

Adaptive Filter-Based Estimation Methods
Adaptive techniques combine the direct and model-based methods, and are adaptive and self-designing systems that can automatically adjust to changing systems.Adaptive systems usually use feedback to change the current output according to the varying input [13].
(1) Kalman Filter-Based Estimation KF theory can be applied by viewing each cell in the battery pack as a dynamic system whose inputs include the current and temperature of the cell and whose output is the terminal voltage.The way KF is used for SoC estimation is based on the explanation of the technique in [95].As the parameters of Equations ( 1) and ( 2) depend on the cell model used, the idea is to include the desired unknown quantities into state vector x k and the KF will automatically compute the best estimate of its present values.In this case, SoC has to be included as a state in the vector x k .For deriving the filter equations, w k and v k are assumed to be mutually uncorrelated white Gaussian random processes, with zero mean and covariance matrices is the statistical expectation operator, and T is the matrix transpose.The KF problem is then: Use the observed data {u 0 , u 1 , . . ., u k } and {y 0 , y 1 , . . ., y k } to find the minimum mean squared error while at the same time estimating xk of the state x k .So, with w k and v k , and an observable system modeled, solve: xk = arg min E[(x k − x) T (x k − x)|u 0 , u 1 , . . ., u k , y 0 , y 1, . . ., y k ] ; with x ∈ R n .
KF gives a set of computationally efficient recursive relationships that involve both an estimate of the state itself, and also the covariance matrix Σ x,k = E[ x k x T k ] of the state estimate error x k = x k − xk .A covariance matrix of the error, Σ x,k , with large singular values indicates a high level of uncertainty in the state estimate, and one with small singular values indicates confidence in the estimate.The KF algorithm is depicted in Figure 7.The algorithm is initialized with the best available information on the state and error covariance: . Usually these quantities are not known, so initialization can be performed in an ad hoc manner, and the KF will quickly converge to the actual values as it runs.Later, the KF repeatedly performs two steps at each measurement interval: (1) It predicts the value of the present state, system output, and error covariance: xk , ŷk , Σ − x,k , respectively.These values are predicted by propagating the system input through the system model dynamics (Equation ( 2)), assuming the expected process noise w k of zero: (2) Using a measurement of the physical system output, it corrects the state estimate and error covariance to x+ k and Σ + x,k : It can be seen in these equations that the error between the output measurement y k and the output estimation ŷk is weighted by Kalman gain vector L k , which is defined as The covariance correction step is x,k .The covariance matrix indicates the uncertainty of the state estimate, and it always decreases due to the new information provided by the measurement.The uncertainty value of SoC is reduced by the KF algorithm because the recursive equations are repeatedly evaluated during system operation [96].Recently, the EKF has attracted increasing attention and become one of the most commonly used methods to estimate the battery SoC even when the initial SoC is unknown [97].KF is the optimum state estimator for linear systems.If the system is nonlinear, a linearization process can be used at every time step to approximate the nonlinear system with a linear time varying (LTV) system.This LTV system is then utilized in the KF, resulting in an EKF on the real nonlinear system.Using a nonlinear model such as that presented in Equations ( 3) and ( 4), and taking into account the same considerations for w k and v k , at each time step, f (x k , u k ) and g(x k , u k ) are linearized by a first-order Taylor-series expansion.Assuming that f (x k , u k ) and g(x k , u k ) are differentiable at all operating points (x k , u k ): Combining these two equations with Equations ( 3) and ( 4), the linearized equations that describe the real system state as a function of itself (known inputs u k and xk , and the unmeasurable noise inputs w k and v k ), we have: With this linearization, the EKF iterative algorithm is similar to that presented for the KF and is described in Figure 8.
Electronics 2017, 6, 102 14 of 32 Recently, the EKF has attracted increasing attention and become one of the most commonly used methods to estimate the battery SoC even when the initial SoC is unknown [97].KF is the optimum state estimator for linear systems.If the system is nonlinear, a linearization process can be used at every time step to approximate the nonlinear system with a linear time varying (LTV) system.This LTV system is then utilized in the KF, resulting in an EKF on the real nonlinear system.Using a nonlinear model such as that presented in Equations ( 3) and ( 4), and taking into account the same considerations for and , at each time step, ( , ) and ( , ) are linearized by a first-order Taylor-series expansion.Assuming that ( , ) and ( , ) are differentiable at all operating points ( , ): ( , ) ≈ ( .With this linearization, the EKF iterative algorithm is similar to that presented for the KF and is described in Figure 8.The linearization process made in EKF uses the first-or second-order terms of the Taylor series expansion to approximate a nonlinear model, which degrades the SOC estimation accuracy.To overcome this, instead of local linearization, the unscented Kalman filter (UKF) captures the statistical distribution characteristics of a nonlinear system according to a series of sigma points [98].The UKF based on unscented transform not only does not require the calculation of a Jacobian matrix but has a higher order of accuracy in the noise statistics estimation than the EKF, such as the mean and error covariance of the state vector of the battery system [97].Figure 9 shows the UKF algorithm.The sigma points and weighted coefficients calculations, as well as the covariance matrix of the error factors included in the Kalman gain, can be seen in [98,99].The linearization process made in EKF uses the first-or second-order terms of the Taylor series expansion to approximate a nonlinear model, which degrades the SOC estimation accuracy.To overcome this, instead of local linearization, the unscented Kalman filter (UKF) captures the statistical distribution characteristics of a nonlinear system according to a series of sigma points [98].The UKF based on unscented transform not only does not require the calculation of a Jacobian matrix but has a higher order of accuracy in the noise statistics estimation than the EKF, such as the mean and error covariance of the state vector of the battery system [97].Figure 9 shows the UKF algorithm.The sigma points and weighted coefficients calculations, as well as the covariance matrix of the error factors included in the Kalman gain, can be seen in [98,99].The linearization process made in EKF uses the first-or second-order terms of the Taylor series expansion to approximate a nonlinear model, which degrades the SOC estimation accuracy.To overcome this, instead of local linearization, the unscented Kalman filter (UKF) captures the statistical distribution characteristics of a nonlinear system according to a series of sigma points [98].The UKF based on unscented transform not only does not require the calculation of a Jacobian matrix but has a higher order of accuracy in the noise statistics estimation than the EKF, such as the mean and error covariance of the state vector of the battery system [97].Figure 9 shows the UKF algorithm.The sigma points and weighted coefficients calculations, as well as the covariance matrix of the error factors included in the Kalman gain, can be seen in [98,99].In [100] a KF is introduced to extract an OCV value in a noisy environment, and then to estimate SoC based on the OCV-SoC mapping.As the KF has the observability of the system as a requirement, a virtual-measurement-based method can be implemented to account for a local loss of observability, like is presented in [91].This approach uses the iterative process of the KF described in Figure 8 for estimating not only SoC but also other battery parameters, like the KF implemented in [96] estimates both SoC and SoH.It is common to find a combination of CC or OCV methods with the KF method to estimate SoC value, as is presented in [58,101].

Calculate
Some good examples of how to apply and run an EKF algorithm (as depicted in Figure 9) for SoC estimation are presented in [7,21,91,102].Due to the electrochemical and thermal models of the batteries being highly nonlinear, EKF is used for estimating its parameters, followed by SoC [45,80,90].The EKF method is also used in combination with CC and/or OCV, as proposed in [11,45,50,103].The works presented in [47,68,104] use a multiple model approach that uses a bank of EKFs to estimate the SoC of the battery.Each filter represents a particular operational condition of the battery, and is used to enhance the accuracy of the SoC EKF estimation by accounting for the unknown measurement noise covariance.Additionally, any errors in the model can also be compensated for by an increase in the measurement noise covariance.The state estimate is provided through a sum of each filter's estimate weighted by the likelihood of the unknown elements conditioned on the measurement sequence.
KF and EKF work well when the system model and noise statistics are known a priori.Wrong assumptions or changes during operation may lead to a degradation of filter estimates.Fleischer et al. in [8] implement an REKF, which is more robust to uncertainties in the system equation, in the measurement equation, and in the noise covariances.It also provides the estimation error bounds dynamically.This approach uses the same algorithm depicted in Figure 8 but adds a tuning parameter that guarantees that the relation between process/measurement noise and estimation error is lower than this parameter value.Fleischer et al. in [8] use a state space linear circuit model where the output is the OCV, and the SoC is one of the state variables.An improvement to the measurement noise due to a harsh electromagnetic environment, like the present in EVs, is to add a wavelet transform matrix (WTM) that can analyze and denoise the nonstationary current and voltage signals.Zhang et al. in [9] developed a SoC estimation approach that uses this improvement in the measurement noise treatment and, by correcting the covariance matrix error in the depicted EKF, builds an adaptive EKF (AEKF) that can reduce the estimation error when the measurements are passed through WTM.
Another common improvement to the KF algorithm for finding SoC is UKF, which is used in [97,105].In [105], the equations of an ECM with two RC branches are written in the form of Equations ( 4) and ( 5).Here, an adaptive adjustment of the noise covariances is implemented using a technique of covariance matching to estimate the noise statistics in this iterative process adaptively; see the estimation process presented in Figure .It allows for obtaining better accuracy both in battery model parameters estimation and in the battery SoC estimation.This method is known as adaptive UKF (AUKF) and is employed here for online model parameter identification of the ECM at each sampling time.Subsequently, based on the updated model parameters, SoC estimation is conducted using the AUKF method.Since the temperature variation affects the performance of the battery, it is important to compensate for temperature effects to improve the model's predictive capability and SoC estimation.UKF is implemented in [98] to estimate SoC using a modification of ECM (a resistance and a capacitor correction factor), to include the impact of different current rates and SoC on the battery internal resistance, and the impact of different temperatures and current rates on the battery capacity.To deal with the variation of battery parameters due to temperature changes [106,107], we propose a SoC estimation approach and online parameter updating using a dual square root UKF based on unit spherical unscented transform.A relatively simple modification to the depicted UKF is the double UKF algorithm used in [72].It introduces the use of two UKF filters that work together to calculate the real value of SoC and ohmic resistance to obtain a final SoH value.
(2) Recursive Least Squares-Based Estimation (RLS) The least squares method calculates system parameter values that minimize the least squares error between the measured output signal and the estimated output signal by assuming that the system is disturbed by white noise.The recursive least squares (RLS) method is used in adaptive filters to find the filter coefficients that allow for obtaining the minimum square of the error signal (defined as the difference between the desired signal and the signal produced at the output of the filter).The RLS algorithm makes this process recursively and updates its estimated parameter values by incorporating new information from every sampling time.RLS with a single fixed forgetting factor is a parameter identification method that is described in Figure 10.In this figure, e k is the output estimation error, P k is the covariance matrix of the parameter estimates, λ is the forgetting factor, and K k is the RLS gain.The forgetting factor allows the algorithm to tune its parameters to a time-varying system.The tuning speed depends on the asymptotic memory length N, which means that information is forgotten with a time constant of N sample intervals [108]: λ = 1 − 1 N .When all information is preserved, the memory length N = ∞, which means λ = 1.When information dies away with a time constant of one sampling interval, the forgetting factor becomes 0. The least squares method calculates system parameter values that minimize the least squares error between the measured output signal and the estimated output signal by assuming that the system is disturbed by white noise.The recursive least squares (RLS) method is used in adaptive filters to find the filter coefficients that allow for obtaining the minimum square of the error signal (defined as the difference between the desired signal and the signal produced at the output of the filter).The RLS algorithm makes this process recursively and updates its estimated parameter values by incorporating new information from every sampling time.RLS with a single fixed forgetting factor is a parameter identification method that is described in Figure 10.In this figure , is the output estimation error, is the covariance matrix of the parameter estimates, is the forgetting factor, and is the RLS gain.The forgetting factor allows the algorithm to tune its parameters to a timevarying system.The tuning speed depends on the asymptotic memory length , which means that information is forgotten with a time constant of sample intervals [108]: = 1 − 1 .When all information is preserved, the memory length = ∞, which means = 1.When information dies away with a time constant of one sampling interval, the forgetting factor becomes 0. The approach presented in [109], seeking to solve the problems related to model accuracy, sensor precision, data saturation, and heavy computation in the EKF-based methods [110], uses the RLS method to improve an adaptive EKF to estimate online the SoC and the battery model parameters.Also, a RLS for estimating the circuit parameters was used in [111], [112].A RLS filter is employed in [112] to dynamically estimate in real time the parameters of a Thevenin ECM.Next, the model parameters are used to estimate the battery's OCV and hence its SoC via the fading KF.Shen et al. in [111]   The approach presented in [109], seeking to solve the problems related to model accuracy, sensor precision, data saturation, and heavy computation in the EKF-based methods [110], uses the RLS method to improve an adaptive EKF to estimate online the SoC and the battery model parameters.Also, a RLS for estimating the circuit parameters was used in [111,112].A RLS filter is employed in [112] to dynamically estimate in real time the parameters of a Thevenin ECM.Next, the model parameters are used to estimate the battery's OCV and hence its SoC via the fading KF.Shen et al. in [111] use a single forgetting factor RLS like that presented in Figure to obtain the second-order ECM parameters and an EKF for the final SoC estimation procedure.Rozaqi and Rijanto in [108] present multiple fixed forgetting factors RLS, where OCV and internal resistance of a Thevenin ECM are used as the main parameters to be estimated by the algorithm, and then to estimate SoC.Lotfi et al. in [82] use an observer-based reduced-order EChM to estimate SoC by using an RLS with exponential forgetting parameter identification routine to compensate for the reduced-order model uncertainties.In [82], an RLS algorithm was coupled with a Luenberger-like observer for the estimation of the states of the model.
(3) H Infinity-Based Estimation (H∞) H infinity (H∞) theory is a powerful tool to restrict the effect of exogenous disturbances on output.The H∞-based method is to guarantee that the norm from the system and measurement noises to the SoC estimation error are less than a given attenuation level, which can still ensure SoC estimation accuracy in the worst cases [113].The H∞ filter is robust in the presence of parameter uncertainties and modeling errors [114], and its general procedure is displayed in Figure 11.

INITIALIZATION
For k=0, set: In Figure , is the state vector of the model, is the output, and represents the SoC. is the covariance matrix, is the constraint boundary, and is a user-defined positive definite matrix that will affect the gain matrix.Also is a user-defined matrix.and are the covariances of the process noise and measurement noise , respectively.Xiong et al. in [114] present a time-saving method to obtain the OCV-SoC relationship through any existing current and voltage measurements by using the H∞ filter in the absence of the time-intensive OCV test.Here, the parameters and OCV of a Thevenin ECM are obtained by using the procedure depicted in Figure, and OCV-SoC relationships are extracted from standardized characterization tests.Then, the method obtains the SoC using another H∞ filter and considering a linearized state space model like that depicted in Figure 2, and establishing the relationship , = , .
In the SoC estimation process, the variation of the model parameter under different aging levels and operation conditions is a critical issue that is addressed by using a dual H∞ filter in [115].This strategy uses a first H∞ filter to overcome the drawback of its sensitivity to their initial noise information, and the second part of the filter is an adaptive H∞ filter that employs a covariance matching approach to estimate SoC.H∞ provides the most consistent estimates concerning different uncertainties, compared with EKF and UKF [116].However, the variability of the estimation errors is larger for batteries with a strong correlation between SoC and OCV.Fridholm et al. in [116] describe the H∞ technique by using a Thevenin ECM in two different battery chemistries.Yu et al. in [117] use the H∞ procedure to trace the parameters online according to the working conditions, and utilizes an UKF for the final SoC estimation.The strategy presented in [118] displays the H∞ technique at both cell and pack levels.Lin et al. in [119] propose a multi-model probability fusion SoC estimation using H-infinity algorithm.Here, the H∞ technique is employed to develop online SoC estimators for the In Figure, θ k is the state vector of the model, y k is the output, and z k represents the SoC.P is the covariance matrix, δ is the constraint boundary, and S is a user-defined positive definite matrix that will affect the gain matrix.Also L is a user-defined matrix.Q and R are the covariances of the process noise w k and measurement noise v k , respectively.Xiong et al. in [114] present a time-saving method to obtain the OCV-SoC relationship through any existing current and voltage measurements by using the H∞ filter in the absence of the time-intensive OCV test.Here, the parameters and OCV of a Thevenin ECM are obtained by using the procedure depicted in Figure, and OCV-SoC relationships are extracted from standardized characterization tests.Then, the method obtains the SoC using another H∞ filter and considering a linearized state space model like that depicted in Figure 2, and establishing the relationship z s,k = L s,k x k .
In the SoC estimation process, the variation of the model parameter under different aging levels and operation conditions is a critical issue that is addressed by using a dual H∞ filter in [115].This strategy uses a first H∞ filter to overcome the drawback of its sensitivity to their initial noise information, and the second part of the filter is an adaptive H∞ filter that employs a covariance matching approach to estimate SoC.H∞ provides the most consistent estimates concerning different uncertainties, compared with EKF and UKF [116].However, the variability of the estimation errors is larger for batteries with a strong correlation between SoC and OCV.Fridholm et al. in [116] describe the H∞ technique by using a Thevenin ECM in two different battery chemistries.Yu et al. in [117] use the H∞ procedure to trace the parameters online according to the working conditions, and utilizes an UKF for the final SoC estimation.The strategy presented in [118] displays the H∞ technique at both cell and pack levels.Lin et al. in [119] propose a multi-model probability fusion SoC estimation using H-infinity algorithm.Here, the H∞ technique is employed to develop online SoC estimators for the Thevenin, second-, and third-order ECMs.Another battery model like the electromotive force model presented in [113] is used, combined with the H∞ algorithm, to estimate SoC.

Adaptive Artificial-Intelligence-Based Techniques Estimation
A short (13 references) review of adaptive techniques including the KF, Artificial Neural Networks (ANNs), and Fuzzy Logic (FL) systems was presented [13].
(1) Fuzzy-Logic-Based Estimation (FL) FL is a problem-solving methodology that simplifies all the noisy, vague, ambiguous, and imprecise input data by using objective rules to find the real value of the input.The operating principle of a FL technique can be structured into four simple stages [13]: (1) Fuzzification: in this stage the measured system values are converted into linguistic fuzzy sets, and classified into membership functions.Fuzzy sets specify the degree of belonging to each logical set; (2) Fuzzy rule base: a fuzzy rule base is designed using professional experience and system operating method; (3) Inference Engine: through this stage all the fuzzy rules are transformed into fuzzy linguistic outputs; (4) Defuzzification: translates the linguistic fuzzy rules into analog output values.
FL systems can generalize any system using cycle number estimation because in some of the battery tests it will be easier to describe the state of the battery (High, Low) rather than getting a precise number.The approach presented in [120] uses a fuzzy rule-based system to compute the nonlinear gain of a KF that estimates SoC, and a Genetic Algorithm (GA) is used to evolve the definition of the rule base.In [121] a Thevenin ECM in a weighted combination with the CC method is adopted by the fuzzy logic control scheme to obtain a static SoC estimation.Then the dynamic battery SoC is precisely estimated on the basis of static SoC using an ANN.
Fuzzy technique can be used to model a battery with high accuracy and consider the degradation process in the model [122].This model could be used for other approaches to the SoC estimation process or to improve the performance of other SoC estimation techniques like in [123], which presents an improved fuzzy adaptive KF method, or like in [102], where a fuzzy controller is applied to online adjust the measurement noise variance.Cheng et al. in [102] designed a fuzzy self-adjusting controller where, according to fuzzy inference rules, the error covariance matrix elements of KF are adjusted online and in real time for every step of the KF iterations.In [124], the polarization resistance of the battery model is modeled using fuzzy rules that are a function of both SoC and the current.Despite the fact that this approach does not directly use the FL technique for the SoC estimation process, the model presented can be adapted to this task.Similarly, [125] uses FL by fuzzy self-tuning algorithms to update the model parameters of a second-order ECM that is used with an adaptive UKF to obtain SoC values.Hametner and Jakubek in [126] present a SoC estimation technique based on a purely data-driven model and a nonlinear fuzzy observer that uses KF theory for each local linear state space model.Then, the technique uses linear combinations of the local filters to derive a global filter and estimate SoC.
A dew publications directly calculate SoC from FL [127,128].Zheng et al. in [128] estimate SoC and cell capacities by comparing cell voltages at the beginning and end of charging.This approach calls the technique the "FL Dissipative Cell Equalization" algorithm.Sheng and Xiao in [127] use a least squares support vector machine by applying fuzzy inference and nonlinear correlation measurement.This allows an improvement in the SoC estimation process due to the effects of the samples with low confidence being reduced.
(2) Artificial Neural Networks-Based Estimation (ANN) ANN relies on an input layer and output layer consisting of neurons that contain system-specific normalized input and output information.The mathematical junction between the input and the output layer is realized by a hidden layer and its neurons, where the neurons are interconnected as in Figure 12.Every neuron except the inputs consist of a sum of the products of the output O pred of the neurons in the predecessor layer and a particular weight W pred,actual between the neurons of the predecessor and the actual layer [129]: ϕ actual = ∑ l i=1 (O pred * W pred,actual ).Those cumulated outputs and weights ϕ actual are arguments for a sigmoidal activation function sig(ϕ actual ) to determine an output O actual for every neuron in the actual layer: O actual = sig (ϕ actual ) = 1 1+e −ϕ actual .Those outputs are further distributed to the successor neurons in the next layer, whether a hidden or an output layer.There are two basic architectures of ANNs: feed-forward networks and feedback (recurrent) networks.Meanwhile, there are three main training scenarios for ANNs: supervised, unsupervised, and hybrid.A feed-forward neural network (FFNN) has no feedback and the input signals propagate through the network forward from the input layer to output layer.In the back propagation neural network model (BPNN) feedback and learning take place during the propagation of input patterns from the input neurons to the output neurons.The outputs are compared with the desired target values, and error is produced.Then the weights are adapted to minimize the error.The initial values of weights are assumed to be zero, and the weight between the actual neuron and the output of the predecessor neuron is defined as , .The weight adaptation equation is given by [130]: ) ∆ , ( ) , where 0 < < 1 ; = 1 2 * ∑( − ) ; = 1 … ; and is the expected output.In [129] a BPNN was used for the SoC determination based on frequency domain data.Here, the real and imaginary parts of the measured impedance, plus the frequency of each measurement are used as X1, X2, and X3 inputs of a three-input BPNN like that presented in Figure .The corresponding output layer provides with its neurons the dedicated SoC classes corresponding to the SoC specific impedance spectra.The neuron with the determined SoC will remain after execution with the binary value one, and all the others will remain with the value zero.Two different architectures of BPNN are used for calculating SoC in [131].Unlike these traditional BPNNs, [132] does not take into account the equivalent inner resistance of the battery and makes a single improvement to the weight adjustment algorithm of its BPNN that can significantly reduce the SoC estimation error.In [133] a simple radial basis ANN is used just to identify the ECM parameters and then, using SoC as one of the state-space variables and employing EKF, SoC is estimated.In [133] the inputs of the ANN are SoC and the current and voltage measured, and the output is the OCV.A similar strategy is used in [43,[134][135][136], where, after modeling the battery system by an ANN model and a state space model as presented in Section 3, SoC is calculated using a dual EKF or other adaptive filter-based estimator.Wang et al. in [137]   There are two basic architectures of ANNs: feed-forward networks and feedback (recurrent) networks.Meanwhile, there are three main training scenarios for ANNs: supervised, unsupervised, and hybrid.A feed-forward neural network (FFNN) has no feedback and the input signals propagate through the network forward from the input layer to output layer.In the back propagation neural network model (BPNN) feedback and learning take place during the propagation of input patterns from the input neurons to the output neurons.The outputs are compared with the desired target values, and error is produced.Then the weights are adapted to minimize the error.The initial values of weights are assumed to be zero, and the weight between the actual neuron and the output of the predecessor neuron is defined as W pred,actual .The weight adaptation equation is given by [130]: W pre,ac (t n−1 ) ∆W pre,ac (t n−1 ), where 0 < α < 1; E = 1 2 * ∑ (y i − O actual ) 2 ; i = 1 . . .n; and y i is the expected output.
In [129] a BPNN was used for the SoC determination based on frequency domain data.Here, the real and imaginary parts of the measured impedance, plus the frequency of each measurement are used as X1, X2, and X3 inputs of a three-input BPNN like that presented in Figure .The corresponding output layer provides with its neurons the dedicated SoC classes {c i } corresponding to the SoC specific impedance spectra.The neuron with the determined SoC will remain after execution with the binary value one, and all the others will remain with the value zero.Two different architectures of BPNN are used for calculating SoC in [131].Unlike these traditional BPNNs, [132] does not take into account the equivalent inner resistance of the battery and makes a single improvement to the weight adjustment algorithm of its BPNN that can significantly reduce the SoC estimation error.In [133] a simple radial basis ANN is used just to identify the ECM parameters and then, using SoC as one of the state-space variables and employing EKF, SoC is estimated.In [133] the inputs of the ANN are SoC and the current and voltage measured, and the output is the OCV.A similar strategy is used in [43,[134][135][136], where, after modeling the battery system by an ANN model and a state space model as presented in Section 3, SoC is calculated using a dual EKF or other adaptive filter-based estimator.Wang et al. in [137] use a four-input, one-output BPNN.Its only output is SoC estimation in an EV.The four inputs are the current at times [k] and [k − 1], and the voltage at times [k] and [k − 1].This method uses an extensive dataset of charging and discharging experimental LiB voltage and current, obtained at different standardized driving conditions, and trains the network offline.The approach reports that the inclusion of previous time points allows the ANN to better understand the relation of current and voltage drops to SoC.Other approaches can estimate online the battery SoC directly from an ANN [6,[138][139][140][141][142].In [138] the inputs for a topology like in Figure are separated depending on the behaviors of a battery while charging, idling, and discharging.Yan and Wang in [142] utilize a simple two-input, one-output, and one hidden layer BPNN structure.Yan and Wang in [142] used as inputs the current and terminal voltage of the battery, and SoC as the output variable.
The main disadvantage of ANN is that it needs more neurons to increase the accuracy, which limits its implementation in real-life models.In addition, each ANN needs to be trained before it can be used and numerous iterations may be required to train it.For this reason, the trained ANN can be used for only one specific application.For example, in a HEV, the input conditions are always changing and simulating these inputs will be hard.On the other hand, ANN is not effective in extrapolation, which limits its ability to calculate the remaining charge time of a battery [13].
(3) Fuzzy-Based Neural Network Estimation In general, two types of fuzzy-based neural networks are used in the literature for the estimation of SoC: the adaptive neuro-fuzzy inference system (ANFIS) and the local linear model tree [8].In all cases, direct open-loop SoC estimation is implemented.ANFIS combines the advantages of fuzzy systems and adaptive networks in one hybrid intelligent paradigm.The flexibility and subjectivity of fuzzy inference systems, when added to the optimization strength and learning capability of adaptive networks, give ANFIS its remarkable power of modeling, approximation, nonlinear mapping, and pattern recognition.ANFIS can be used to model cell characteristics [143], to online correct other SoC estimation techniques for reaching high accuracy [144], or to directly obtain the SoC estimated value [145].
An offline model for power systems applications using ANFIS is developed in [143] for SoC estimation in LiBs.In this publication, based on the manufacturer data on LiBs, the ANFIS battery model is trained offline and developed to yield the cell SoC at any given temperature and OCV within the training range.The cell SoC is estimated while the battery is at rest, and the CC approach is adopted at the cell level.The fact that the ANFIS model is based on the data supplied by manufacturer makes this approach inefficient due to most of the manufacturers not supplying battery data.On the other hand, to take into account the cell degradation, it is required to add a mechanism that guarantees accurate SoC estimation over time.Dai et al. in [144] utilize a KF to estimate the SoC by using a second-order ECM.Then, the ANFIS method is used to correct the SoC obtained by KF.Here, the ANFIS technique is comprised of two steps: the first step is the acquirement of the fuzzy inference system knowledge base based on ANFIS using the experimental data offline, and the next step is the online correction of the pack's SoC estimation results.Dai et al. in [144] present the elaboration of the building, training, and optimizing of the ANFIS model.In [145] a Thevenin ECM is used to obtain the OCV.This output voltage is used as an input of an ANFIS system whose output is the SoC.Despite the tests being performed with a NiMH battery, they are applicable to other chemistries.
Another ANFIS application is presented in [8].It uses a combination of several algorithms to determine the battery state variables.In this approach, among other SoC boundary estimation methods, a robust EKF is implemented for recalibration of the CC method.Then, the method uses ANFIS to estimate the state of available power.Since ANFIS is known to suffer from the curse of dimensionality, the large number of inputs is likely to hinder the estimation performance.Extensive experimentation is sometimes required to obtain the ANFIS training dataset [143].The approach of ANFIS estimation is basically the same as that of the direct SoC estimation using ANNs and, therefore, has the same disadvantages.
(4) Genetic Algorithm-Based Estimation (GA) Genetic Algorithm (GA) is an optimization technique where the variables of interest of the system to be optimized are characterized in the form of strings called chromosomes.In SoC estimation applications, the chromosome is a vector that has as elements the parameters of the battery model used.SoC can be an element of this vector.The algorithm is initiated by creating a random set of chromosomes in the search space followed by an iterative process of selection, crossover, and mutation to find the optimal solution, as depicted in Figure 13.The stop criterion is defined by an objective function that minimizes the error between the voltages defined in the chromosome and the actual measured voltage.This criterion selects the best population in each iteration.GA is used as an optimization technique to estimate different states of the battery.The approaches presented in [59,146] use a GA to identify time constant and other parameters of the battery model (fractional order and EIS-based model [59], and Thevenin ECM [146]).Despite these proposals utilizing a UKF-based SoC and EKF-based SoC estimation, respectively, the model parameter estimation using the GA is crucial, and accounts for the high accuracy of the methods.In [5], a classic GA was used to identify the parameters of five different ECMs and, thus, estimate the SoC.In [78] a GA is used as one of the optimization techniques to estimate the second-order ECM equation parameters that are dependent on SoC, and so to estimate the SoC.The objective of this optimization process was to find the values of polynomial coefficients of parameters equations, which produce a OCV-SoC characteristic that best fits the characteristic curve obtained from the manufacturer's battery data.As the model fitness function is defined as the absolute of the difference between model output and catalog values at each sample point, the absence of battery data supplied by the manufacturer may cause this method to be unsuitable for many applications.Rozaqi and Rijanto in [108] apply a RLS algorithm for battery SoC estimation by using a Thevenin ECM of a LiB.Here OCV and the internal resistance are the parameters to be estimated, and the optimum values of RLS are determined using a GA.

Apply mutation in the population SOLUTION
Several variations in GA applications for SoC estimation processes can be found in the literature.One of them is just to use the algorithm to identify the initial SoC, like the procedure presented in [147].This approach uses a Thevenin ECM, and SoC estimation is finally made by a modified OCV method.Yan and Wang in [142] use a GA for optimizing the weights and thresholds of a one hidden layer BPNN that has SoC as the only output.In [112], OCV is calculated based on a Thevenin ECM, and then, by using it, SoC is estimated through a fading KF where the fading factors that optimize the KF are calculated by the means of a GA.GA is used as an optimization technique to estimate different states of the battery.The approaches presented in [59,146] use a GA to identify time constant and other parameters of the battery model (fractional order and EIS-based model [59], and Thevenin ECM [146]).Despite these proposals utilizing a UKF-based SoC and EKF-based SoC estimation, respectively, the model parameter estimation using the GA is crucial, and accounts for the high accuracy of the methods.In [5], a classic GA was used to identify the parameters of five different ECMs and, thus, estimate the SoC.In [78] a GA is used as one of the optimization techniques to estimate the second-order ECM equation parameters that are dependent on SoC, and so to estimate the SoC.The objective of this optimization process was to find the values of polynomial coefficients of parameters equations, which produce a OCV-SoC characteristic that best fits the characteristic curve obtained from the manufacturer's battery data.As the model fitness function is defined as the absolute of the difference between model output and catalog values at each sample point, the absence of battery data supplied by the manufacturer may cause this method to be unsuitable for many applications.Rozaqi and Rijanto in [108] apply a RLS algorithm for battery SoC estimation by using a Thevenin ECM of a LiB.Here OCV and the internal resistance are the parameters to be estimated, and the optimum values of RLS are determined using a GA.
Several variations in GA applications for SoC estimation processes can be found in the literature.One of them is just to use the algorithm to identify the initial SoC, like the procedure presented in [147].This approach uses a Thevenin ECM, and SoC estimation is finally made by a modified OCV method.Yan and Wang in [142] use a GA for optimizing the weights and thresholds of a one hidden layer BPNN that has SoC as the only output.In [112], OCV is calculated based on a Thevenin ECM, and then, by using it, SoC is estimated through a fading KF where the fading factors that optimize the KF are calculated by the means of a GA.The algorithm consists of a population of particles randomly initialized in the search space.Initially, it produces a random population and then generates the next population based on an objective function.In this process, the PSO algorithm is similar to GA, but PSO does not need reproduction or mutation to produce the next generation.Thus, PSO is faster at finding solutions than GA [148].The initiated population works collectively through velocity: rand.(g b − x t i ); and position: x t+1 i = x t i + v t+1 i ; to find the optimal solution [78].In these equations, w is the inertia weight factor, c j is an acceleration coefficient, rand is a random number between 0 and 1, v t i is the velocity of particle i at iteration t, and x t i is the current position of particle i at iteration t.Each particle moves iteratively in the solution space with movement depending on global best position (g b ) of the swarm and its personal best solution (p b i ).
In SoC estimation applications the process of iterative update of the position of the particles is continued until the stop criterion is met, and this criterion is given by an objective function that evaluates the relation OCV-SoC in a direct or indirect way like in [78,149], where a PSO method is used to determine the unknown parameters of a second-order ECM to obtain the OCV.Then these approaches estimate SoC using a lookup table.In [150], instead of a lookup table, the CC method is used for estimating SoC.Ismail and Toha in [148] develop the same process but uses a Thevenin ECM.Huachun et al. in [151] calculated the parameters of a Thevenin ECM using a PSO algorithm and, by using a technique called second-order sliding mode observer, estimated SoC.The approach presented in [152] uses the PSO algorithm to estimate the second-order ECM parameters, but SoC is calculated using two different methods: EKF and the smooth variable structure filter (SVSF).The approach presented in [153] uses a version of the second-order ECM where the voltage source is replaced by a SoC-dependent capacitance and an RC parallel network is added as a third time constant.The values of all intrinsic parameters of this ECM are estimated using a PSO algorithm, and instead of assuming any predefined nonlinear relationships between intrinsic parameters and SoC, the PSO algorithm takes the response of all intrinsic parameters, as well as SoC, into account in the parameter estimation without treating SoC as an independent variable.Antón et al. in [154] present a statistical learning technique for SoC estimation called multivariate adaptive regression splines (MARS), whose optimal parameters are calculated using PSO.

Other Estimation Techniques
The methods presented abovecan suffer from one or several drawbacks like sensor drifts and precision, modeling mismatches and lack of model accuracy, data saturation, heavy computation, or specific input information requirements.These aspects are key factors that influence the accuracy of the SoC estimation method, so the authors are still working on innovative proposals to overcome those error sources in the SoC estimation process.Although some approaches do not fit into any of the previously presented categories, it is important to list some of those new proposals in this review.
Statistical learning theory addresses the problem of finding a predictive function based on data.The goal is to learn a general rule that maps input variables to outputs.In [154], the MARS statistical learning method was applied to estimate the SoC of a high-capacity battery cell for a simple data profile (constant-current constant-voltage charge, and constant-current discharge) and a limited range of SoC.The fact that MARS parameters are difficult to estimate generates some limitations in the technique.Another statistical approach is presented in [155], which uses a particle filter (PF) or sequential Monte Carlo (SMC) method for SoC estimation of a LiB battery pack for an EV.SMC is a set of genetic-type particle Monte Carlo methodology to solve filtering problems arising from signal processing and Bayesian statistical inference.The filtering problem consists of estimating the internal states in dynamical systems when partial observations are made; random perturbations are present in the sensors as well as in the dynamical system.This proposal utilizes both Gaussian and non-Gaussian distributed noise models.PF utilizes particles (weighted random samples) to approximate the posterior distribution sampled by the Monte Carlo method.
Afshari et al. in [152] use a second-order ECM and a smooth variable structure filter (SVSF) to estimate the SoC.The SVSF benefits from the robustness of variable structure systems in which it is guaranteed that the measurement error (innovation sequence) remains norm-bounded.The stability and convergence of the SVSF method are proven in this publication.The filter is formulated in a predictor-corrector form, and its corrective gain is designed to force the states to remain within a subspace of true states.This paper shows that this filter is robust to a wider range of modeling inaccuracies and parametric uncertainties.SVSF is implemented to alleviate the effects of different factors on SoC estimation like inaccuracies in modeling a cell, deviations of a battery's parameters from their nominal values due to aging, unpredictable temperature variations, and measurement and environmental noises.The publication states that the SVSF method is more robust to modeling and for parametric uncertainties, and demonstrates the superiority of the SVSF over the EKF for SoC estimation under uncertain conditions.
Huanchun et al. in [151] propose an approach based on second-order sliding mode observer (SMO) for battery SoC estimation.The PSO technique is utilized to estimate the Thevenin ECM parameters.The estimation technique has a robust tracking capability in SoC estimation with high accuracy for both known and unknown initial SoC, and showed that SoC could be determined with high accuracy based on only the measurements of the battery voltage and current.
Tang et al. in [110] present a multi-gain Luenberger-based (MGL) observer that is robust to modeling inaccuracy and sensor drifts to estimate SoC.The gains of the observer are switched by a classifier, which categorizes the errors between the real voltage measurement and model output into different groups.Correspondingly, different observing strategies are designed for different groups for better SoC estimation robustness and accuracy.

Technical Challenges in the SoC Estimation Process
The factors affecting battery SoC are many and complicated.Scholars have proposed many methods to estimate SoC, but these still do not guarantee accuracy and practicability.There are two overall challenges in this field: (1) To enhance the SoC estimation accuracy, robustness, and effectiveness without increasing the complexity of the models and estimation procedures; (2) To simplify the complexity of the estimation process, and therefore facilitate its implementation in low-cost hardware.The solutions for the two challenges are closely related and cannot be disconnected from each other.The goal is to find a trade-off in the SoC estimation procedures between accuracy and computational complexity in compliance with the motto "simple is better."To achieve this, it is necessary to propose strategies to nullify or minimize sources of error in the SoC estimation methodologies.
In this review, the main SoC estimation error sources are: (1) Zero-mean sensing noise is inevitable in practical cases for both current and voltage sensors; (2) Battery modeling error or inaccuracies in the models; (3) The parameters that are assumed such as covariance and noise type, initial SoC, and search spaces in optimization processes; (4) Other unknown error sources that may have been caused by some unknown reasons or the combination of errors noted above.For example, the drifting of the current sensor can cause a large SoC estimation error in the current integral method after a long period of error accumulation; however, the influence is negligible when the time is short.Now the two main mentioned challenges become more specific: To deal with the probabilistic tendency to model the sensing noise with models closer to the real pehonomena; to find less complex and more accurate battery models that include aging and thermal behavior; to define methodologies to establish initial values; and to identify and characterize other possible error sources.The last three can be solved by overcoming the drawbacks of the battery modeling by including the battery strong nonlinearity, time-varying features, and temperature effects on the behavior.The principal concern in the thermal control of LiBs is the considerable temperature rise that happens during charging and discharging, which may cause thermal runaway.Therefore, understanding the discharge behavior of a lithium ion battery is very important as well as using correction factors in the models according to temperature variations, or other approaches that guarantee the inclusion of thermal restrictions and also variations of thermal and electric behaviors between cells within a battery pack.A fully efficient battery model can quantitatively characterize battery nonlinearities such as open-circuit voltage, internal resistance, and transient voltage response.Such a model enables designers to gain a thorough understanding of battery behaviors under different operating situations and will allow accurate battery performance prediction and the optimization not only of the safe control of the battery but also the extension of its useful life thanks to the optimum management of all its capacity.This kind of model would simplify and optimize the design of the BMS.The information contained in the current i and voltage v variables are related to microscopic behavior within each battery cell, and they embrace all the internal dynamics of a battery.This review proposes that at a given instant k, i k , and v k are the result of the performance of all the internal chemistry of the battery under conditions such as aging, temperature, hysteresis, self-discharge, rates of charge and discharge, and even noise present in the battery as a system (except the noise of the DAQ systems).The challenge is to take these data, extract the information, and build a system free from the constraints and limitations presented by existing methods.

Conclusions
This paper critically reviews SoC estimation methodologies presented by scholars in the last five years, presenting the fundamentals and main drawbacks of each method.The approaches that have not been extensively used during recent years have not been cited here.From the review of the different approaches, it can be concluded that the hardest part of obtaining a battery SoC estimation is to build a model that reflects the reality inside the battery, including the impact of temperature dependencies on internal resistance and capacity fading.It can also be concluded that the accuracy of SoC estimation may be affected by factors such as modeling imperfections, parametric uncertainties, sensor inaccuracies, and measurement noise.There are also some other factors that affect the battery performance (and therefore, the estimation method), including self-discharging, aging effects, imbalance between cells, capacity fade, and temperature effects.No matter the method, there must always be a trade-off in battery modeling between accuracy and computational complexity.The literature shows that the aging of LiBs is influenced by temperature, time, SoC, cycle number, charge rate, and depth of discharge.Also, the SoC estimation accuracy is affected by the inclusion or not of these parameters into the battery models.Those SoC estimation techniques that continuously update the model parameters can address the aging phenomenon.The review shows that the temperature makes model parameters vary.So the inclusion of thermal behavior in the model used for SoC estimation is needed for better SoC estimation accuracy.
For real-time EV application, the model has to be as simple as possible, keeping the accuracy of SoC estimation within a reasonable range.ECM is regarded as the most appropriate for online estimation and, based on this type of model the adaptive filter-based and artificial-intelligence-based approaches are presented to estimate the SoC with high precision.However, the lack of physical-chemical explanation for the microscopic movements in the battery is the main drawback of this model.Meanwhile, the electrochemical model, which could illustrate the charge transfer between two electrodes and reveal the electrochemical mechanism, is reported as too complicated to be used for online calculation.From the review, it is clear that adaptive filter-based algorithms are more suitable for EV applications, and those based on artificial intelligence are not suitable for this application due to its intensive computing and/or offline learning process requirements.For solving the optimization problem in filter-based techniques, the trend is to use artificial-intelligence-based optimization techniques because of their simplicity, flexibility, derivation-free mechanism, and local optima avoidance.
As the battery modeling is a fundamental process to establish an accurate SoC estimation algorithm, and due to the battery modeling methods proposed by literature not being accurate enough under specific conditions and having several restrictions on aging assessment to continually update the models, it is necessary to perform more research in this field.The building of practical battery and the application of the adaptive control technology, the expert system theories, and artificial intelligence in the modeling process are required.It is important to consider that none of the reviewed methods is entirely efficient and reliable, and although it may be complete and accurate for an application under certain conditions, it may be inaccurate for others.Therefore, the selection of the appropriate algorithm is up to the designer, mainly depending on his or her knowledge of the addressed application.To this aim, the information provided earlier can help with choosing the most convenient approach.

Figure 3 .
Figure 3. Summary of methods for the SoC estimation and main disadvantages.

Figure 3 .
Figure 3. Summary of methods for the SoC estimation and main disadvantages.

Figure 4 .
Figure 4. OCV vs. SoC during the charge process at different current values.

Figure 4 .
Figure 4. OCV vs. SoC during the charge process at different current values.
use a single forgetting factor RLS like that presented in Figure to obtain the second-order ECM parameters and an EKF for the final SoC estimation procedure.Rozaqi and Rijanto in [108] present multiple fixed forgetting factors RLS, where OCV and internal resistance of a Thevenin ECM are used

Figure 12 .
Figure 12.Topology structure of ANN model.
use a four-input, one-output BPNN.Its only output is SoC estimation in an EV.The four inputs are the current at times [k] and [k − 1], and the voltage at times [k] and [k − 1].This

Figure 12 .
Figure 12.Topology structure of ANN model.

( 5 )
Particle Swarm Optimization Algorithm-Based Estimation (PSO) Particle swarm optimization (PSO) is a swarm intelligence-based meta-heuristic optimization technique inspired by intelligent movement depicted by the population of different species.The algorithm consists of a population of particles randomly initialized in the search space.Initially, it produces a random population and then generates the next population based on an objective

( 5 )
Particle Swarm Optimization Algorithm-Based Estimation (PSO) Particle swarm optimization (PSO) is a swarm intelligence-based meta-heuristic optimization technique inspired by intelligent movement depicted by the population of different species.

COUNTING ESTIMATION (CC) OPEN CIRCUIT VOLTAGE ESTIMATION (OCV) ELECTROCHEMI CAL IMPEDANCE SPECTROSCOPY (EIS) DIRECT METHODS INDIRECT METHODS ADAPTIVE FILTER-BASED METHODOLOGIES H INFINITY BASED ESTIMATION (H∞) RECURSIVE LEAST SQUARE BASED ESTIMATION (RLS) KALMAN FILTERS BASED ESTIMATION (KF, EKF, UKF,AEKF)
[96]covariance correction step is , = ( − ) , .The covariance matrix indicates the uncertainty of the state estimate, and it always decreases due to the new information provided by the measurement.The uncertainty value of SoC is reduced by the KF algorithm because the recursive equations are repeatedly evaluated during system operation[96].