1. Introduction
As an important automotive energy storage component [
1,
2], the accurate estimation of the state of charge (SOC) and state of health (SOH) of lithium-ion batteries is related to the reliability and safety of automotive operation [
3]. The SOC can monitor the battery’s charge to avoid over-charging and over-discharging, and to avoid irreversible changes in the positive active substance structure and abnormal battery capacity attenuation. In SOC estimation, it is crucial to prevent abnormal battery capacity degradation, as temperature fluctuations in the battery may compromise the reliability of SOC estimation, potentially leading to thermal runaway risks [
4]. SOH can monitor the aging state of the battery to determine the maintenance and replacement time of the battery which can improve the safety of the battery [
5]. In this study, SOC is defined as the ratio of the current available capacity to the current actual capacity, and SOH is defined as the ratio of the current actual capacity to the initial capacity. SOC and SOH are defined as follows:
where C
n_aca indicates the capacity stored by the battery in its current state; C
n_act indicates the maximum capacity that the battery can store in its current state; C
n_ini indicates the maximum capacity that can be stored when the battery is still new.
It can be seen from Formulas (1) and (2) that the calculation of SOC and SOH both use C
n_act, indicating both correlation and difference, but both need to identify C
n_act, and the calculation of SOC requires the use of C
n_act; if SOH is known, based on the capacity of the new battery, C
n_act can be obtained. If the relationship between the two is ignored and only a single SOC or SOH estimate is made, then this will lead to a reduction in the accuracy of the estimation results [
6,
7]. Therefore, joint estimation of SOC and SOH will provide a good solution to the problem of battery state estimation. At present, there have been a lot of studies on SOC and SOH estimation, and the research directions for SOC estimation mainly focus on the table lookup method, ampere-hour integration method, data-driven method, and filter method. The table lookup method is a simple and fast method for SOC estimation based on the relationship between OCV and SOC [
8], but it requires the battery to stand for a long time and is not suitable for online applications. The ampere-hour integration method uses Coulomb counting to estimate the SOC [
9]. This method is simple and efficient, but due to the existence of initial values and cumulative errors, it will cause large estimation errors. The data-driven method [
10,
11,
12,
13] has high precision, but it needs a lot of training data, while the calculation is complex and the calculation efficiency is low, so it is not suitable for online application. Considering that as the battery SOH declines, the battery parameters will also change accordingly, Guo F et al. [
14] proposed a multi-time-scale SOC and parameter estimation method based on double extended Kalman filters (EKFs) and adjusted the parameters of the double extended Kalman filters in joint estimation by means of empirical tuning. The EKF algorithm requires substantial computational efforts for adjusting error covariances, which limits its engineering application value. In order to address the limitations related to model description bias in traditional EKF algorithms, researchers have conducted extensive research; representative examples include Shuzhi Z et al. [
15], who proposed a joint capacity and SOC estimation framework based on the adaptive extended Kalman filter (AEKF). The model parameters are obtained online via the RLS method with the forgetting factor, and then the SOC and capacity are estimated jointly by two AEKF estimators. The joint estimation algorithm can better deal with the coupling relationship between SOC and SOH estimation, improve the accuracy of two-state estimation, and result in good application prospects. However, in the process of algorithm application, the accuracy of model parameter identification was not analyzed, and a large number of experiments are still needed to obtain basic data such as those on OCV–SOC.
If the model parameters required for recursive calculation are inaccurate or the regression convergence speed is slow, fluctuations and inaccuracies in SOC state estimation will occur. Therefore, in practical engineering applications, offline measurement results obtained through hybrid power pulse test (HPPC) identification under laboratory conditions are often used [
16]. Although stable model parameter identification results have been obtained, as the SOH decreases, the stored offline identification results may no longer be applicable. Thus, during the entire life cycle of the battery, the identification of model parameters also needs to be performed using online identification methods [
17,
18]. Dai H et al. [
19] proposed a multi-time-scale extended Kalman filter, which considered the fast–slow variation characteristics of battery parameters, and carried out parameter identification on different time scales, with reliable parameter identification results and high precision. Inspired by this study, a joint estimation algorithm that can be applied online was developed to improve the state monitoring capability of a battery management system in this article. In order to obtain basic data such as those on OCV–SOC relationships, accurately identify model parameters that adapt to the fast and slow characteristics of batteries, and meet the requirements for the joint estimation of SOC and SOH, this paper establishes a multi-time-scale AEKF algorithm that combines offline parameter identification and online parameter identification for the joint estimation of SOC and SOH.
The application of joint estimation algorithms in engineering practice requires the acquisition of basic data, accurate identification of model parameters, and reasonable development of joint state estimation algorithms. The above content requires a collaborative approach to overcome the current research shortcomings such as the time-consuming measurement of OCV–SOC relationships, low accuracy of model parameter identification leading to algorithm non-convergence, and lack of updating mechanisms for dual-state joint estimation algorithms. The main contributions of this article are as follows: (1) For offline working condition data, the FFRLS algorithm was applied to identify the required basic data, including the OCV–SOC correspondence and polarization resistance R1 value. While ensuring the accuracy of the identification results, a large amount of testing time was saved. (2) During the implementation of model parameter identification and state estimation algorithms, the accuracies of multiple algorithms were gradually verified and compared with each other to obtain more accurate and practical algorithm collaboration solutions. (3) Through stepwise verification and comparative analysis of the accuracy of multiple methods, an effective and practical implementation plan for a high-precision joint state estimation algorithm was determined. The rest of this paper is as follows: In the second section, an improved SOC and SOH collaborative estimation scheme is proposed, which considers the adaptive identification of fast and slow battery characteristic model parameters, as well as the fast acquisition method of SOC–OCV basic data. In the third section, a feasibility verification method from the sub-part of the model to the whole model is proposed based on the battery simulation data. In the fourth section, the reliability of the algorithm is verified using the measured data. Finally, the main contributions are summarized in the fifth section.
In order to ensure the accuracy of SOC and SOH estimation, it is necessary to establish a more suitable battery model, which requires the identification of appropriate model parameters and can reflect the fast and slow changing characteristics of the battery. At present, there are extensive studies on battery models, and a variety of different battery models have been proposed in various of these, including the electrochemical model [
20,
21], fractional equivalent circuit model [
22,
23], and equivalent circuit model [
24,
25]. Among them, the electrochemical model and fractional equivalent circuit model are complicated; their calculation efficiency is low and the online application of them is difficult. The first-order RC model is the best among the integer-order equivalent circuit models due to its high accuracy, low complexity, and ease of computation, making it the preferred choice for the joint estimation algorithm in this paper. As shown in
Figure 1, the first-order RC ECM simulates the terminal voltage through a resistance unit and the polarization process through an RC network, and its state space equation is shown in the following equation:
where U
OCV represents the open-circuit voltage of the battery corresponding to the SOC. U
t stands for terminal voltage; U
1 stands for polarization voltage; R
0 is the ohmic internal resistance; R
1 and C
1 are polarization parameters, representing polarization resistance and polarization capacitance, respectively. I indicates the load current, which acts as an excitation on the battery model and is positive when charging and negative when discharging.
SOC is calculated via the ampere-hour integration method, which is as follows:
where SOC(0) represents the initial SOC value; C
n indicates the battery capacity.
2. The Improved Collaborative SOC and SOH Joint Estimation Scheme
In this paper, improved collaborative SOC and SOH joint estimation is realized through a multi-time-scale double adaptive extended Kalman filter (DAEKF), aiming to fully utilize the actual operational data already stored in the cloud and achieve the accurate joint estimation of SOC and SOH; the implementation process of the scheme is shown in
Figure 2. The algorithm architecture consists of three parts: the recurrent least square method with the forgetting factor (FFRLS), micro-time-scale AEKF, and macro-time-scale AEKF. The functions of each algorithm module are as follows: (1) The FFRLS algorithm module needs to be run twice for offline data processing and online real-time operation. FFRLS for offline data processing, utilizing the terminal voltage data stored in the cloud under variable current excitation, calculates and analyzes OCV and R1, and the online data processing FFRLS runs on BMS to process real-time voltage–current data and obtains R0 in real time to adapt to the fast-changing characteristic of the battery. (2) The micro-time-scale AEKF, using the battery SOC as the variable to be identified and terminal voltage as the observation, is used for the regression recursive calculation of the first-order RC equivalent circuit model of the battery. (3) The macro-time-scale AEKF uses the actual available capacity of the battery, which is C
n, as shown in Formulas (1) and (2), and the polarization capacitance, which is C1, as shown in Formula (3), with slow changing characteristics, as the variables to be identified for regression recursive calculation. The specific data processing process and calculation steps are shown in the following figure.
2.1. Offline Data Pre-Processing
The purpose of offline data pre-processing is to obtain a more accurate OCV–SOC correspondence with minimal testing costs, to reduce the difficulty of parameter identification in the later stage, and to improve the convergence speed of capacity identification results by solidifying R
1. Combined with the battery model shown in
Figure 1, this part intends to obtain recognition results for OCV and R
1 related to the sampling time through the offline FFRLS algorithm. FFRLS for offline operation performs parameter identification through the current and terminal voltage values at adjacent moments, so it is necessary to conduct Laplace transform on the battery state space equation to obtain the transfer function, as shown in the following equation:
The s operator is converted into a z operator via the backward difference method, and the transfer function after discretization is shown in the following equation:
where y is the difference between the terminal voltage and the open-circuit voltage, which is represented by y = U
t − U
ocv; ΔT indicates the sampling interval.
We can obtain the difference equation via the inverse transformation of z, and by expanding y in the difference equation to U
t − U
ocv; at last, we can obtain the following difference equation via transmutation:
The coefficients in front of each term in the difference equation are defined by the following equation:
The U
ocv analytical formula can be derived from the coefficients α
1 and α
4, and the R1 analytical formula can be derived from α
1, α
2, and α
3, as shown below:
At this point, the analytical expression of the difference equation and parameters for FFRLS calculation is obtained. Further, OCV and R
1 are calculated through the iterative process of FFRLS. The equation of the FFRLS algorithm is as follows:
where Φ
k is the data variable, θ
k is the parameter variable, and ε is the model error, which follows the Gaussian distribution of the zero mean.
The calculation process of offline FFRLS includes five steps: parameter initialization, input determination, coefficient matrix, gain and error covariance calculation, online parameter identification, and recurrence.
- (1)
Parameter initialization: θ0, P0;
- (2)
Determine the input and parameter vectors:
- (3)
Gain and error covariance calculation:
- (4)
Parameter identification:
- (5)
Recursion process:
k = k + 1. Enter the next round of calculation.
At the end of the recurrence process, the coefficient matrix of the difference equation can be obtained, and the specific values of OCV and R1 can be obtained recursively by analyzing Formula (9). In the calculation of gain and error covariance, FFRLS introduces the forgetting factor, λ, which is usually a constant less than 1, representing the weight of the past data relative to the current data, with a value of 0.998.
Taking the initial capacity as a denominator, the SOC curve calculated using Formula (4) is fitted with the identified OCV curve via RLS to obtain the OCV–SOC relationship. In the process of application, the corresponding relationship is represented as a two-dimensional table for reference. It can also be fitted with polynomials and used to find partial derivatives in EKF recursive calculation.
The polarization parameters of the battery belong to the slow changing stage and should not vary significantly with the excitation current rate. In the actual application process, when the temperature is constant, R
1 should be fixed. Therefore, for the data already stored in the cloud, the average value of R
1 at the low current of each segment is taken as the fixed value, and the calculation process is shown in the following equation:
where n is the data segment number, which can be segmented based on whether there is a zero current.
2.2. R0 Online Identification
According to Formulas (5)–(8), R
0 can also be processed by the FFRLS algorithm. However, since R0 belongs to the parameter of the battery fast change stage parameter of the battery, different battery temperatures, SOC, and SOH can all affect its value, so it is required that the processing algorithm runs online. The analytical formula can be derived from coefficients α
1 and α
3 in Formula (8), and the calculation formula is as follows:
The derivation process of FFRLS for recursive solutions of R running online is the same as that of FFRLS running offline introduced in
Section 2.1, while the forgetting factor value is also the same; both of these are 0.998.
2.3. AEKF SOC Estimation Algorithm for Micro-Time-Scale Operation
For date collected offline, since the measurement noise of voltage and current sensors and the process noise generated by modeling are unknown, it is necessary to introduce the AEKF algorithm that can adapt to the observation noise and process noise, and achieve SOC estimation at the micro-time-scale level. The implementation of the AEKF algorithm first requires writing the state space equation, and then linearizing the state transition matrix and observation matrix. The state space equation for SOC estimation is as follows:
where matrix x
k is the state variable of the system at moment k, u
k is the control input variable of the system at moment k, matrix A is the state transition matrix, matrix B is the control input matrix of the system, y
k is the output matrix of the system at moment k, which is the observed signal value of the system, C is the observation matrix, and D is the feedforward matrix. ω
k and υ
k represent the process noise and observed noise input to the system, respectively.
Based on the selected 1RC ECM and the state space equation listed in Formula (13), this paper selects the polarization voltage, U
1, and SOC as the state variables together, as shown below:
In Formula (13), the state equation related to X
k is linear, but due to the presence of OCV–SOC nonlinear terms in the observation equation of y
k, the linearization of the observation equation of y
k is necessary to enable the AEKF algorithm to perform recursive calculations. The coefficients of the linearized state equation and observation equation are as follows:
where τ represents the time constant, τ = R
1C
1.
In addition to the derivation and linearization of the above equations, the DAEKF algorithm also needs to determine the calculation time sequence. This article stipulates that in the macro-time-scale calculation of step m, the micro-time-scale estimation of step L needs to be run. After the micro-time-scale accumulation operation of step L, the macro-time-scale calculation step is updated from m to m + 1, and the micro-time scale starts from 1 again for subsequent accumulation operation. According to this definition, the micro-time-scale calculation process is as follows:
- (1)
Initialize the micro-time-scale SOC estimator: set the initial SOC estimator values:
where x
0 is the initial value of the state quantity,
is the initial value of the error covariance of the state quantity,
is the initial value of the process noise of the state estimator, and
is the initial value of the observation noise of the state estimator.
Start the micro-time-scale, and calculate step k = 1:L.
- (2)
Micro-time-scale SOC estimator time update:
A prior estimate of the state quantities is used to calculate a set of state quantities through the equivalent circuit model, as shown in Equation (16).
State error covariance is calculated using the state transition matrix and process noise, and the calculation formula is shown in Equation (17):
The prior estimate of the terminal voltage can be calculated according to the prior estimate of the state quantity, as shown in Equation (18):
- (3)
The calculation of innovation: Define innovation as the difference between the measured terminal voltage value and the prior estimated terminal voltage value, as shown in Formula (19):
where
represents measured voltage values.
- (4)
Micro-time-scale SOC estimator measurement update:
Kalman gain is determined according to the prior estimate of the state error covariance and the observed Jacobi matrix, which is an important coefficient for SOC estimation. The calculation formula is as follows:
The updates to state variables and error covariance are shown in the following equation:
where I′ is the identity matrix.
- (5)
Adaptive update Qx and Rx
The process noise and observation noise represent the error in the model calculation process and the error in the acquisition of observation values, respectively. In the actual application process, the error is in a time-varying state. The adaptive algorithm can update Qx and Rx through the innovation data from the previous time to ensure the real-time and accuracy of the noise.
The opening window length of the adaptive algorithm is defined as M_mic, and the root mean square of the innovation is calculated, as shown in Equation (22):
Then, the process noise and observation noise calculated by the adaptive algorithm are as follows:
When the micro-time-scale is k = L, the micro- and macro-time-scale steps will be updated.
So far, the micro-time-scale SOC estimation scheme has been elaborated.
2.4. Macro-Time-Scale C1 and Cn Estimation
In the macro-time-scale AEKF algorithm, this paper selects C
1 in the polarization stage and the battery capacity, C
n, that needs to be calculated as the state variables, and it also selects the terminal voltage as the observation value. The reason for selecting C
1 as the state variable in the polarization stage is that R
1 was fixed in the offline data processing stage shown in
Section 2.1. Although the value of R
1 is very close to the true value, there are still some errors. Therefore, it is necessary to recursively calculate it based on the slowly changing state variable, C
1, to compensate for the errors in R
1 and improve the accuracy of polarization voltage estimation.
For the multi-time-scale DAEKF joint estimation algorithm in this article, the micro-time-scale requires the SOC as the estimation result output to the macro-time-scale AEKF. If there is a large update to SOC state variables during the callback period of the micro-time-scale SOC estimator, it may cause fluctuations or even the non-convergence of the macro-time-scale AEKF algorithm in capacity estimation results. Therefore, this article makes the following provisions on the timing of macro-time-scale opening: during the macro-time-scale period of the first 200 steps, only micro-time-recursive calculations and SOC updates are run, and when the length of calculation is 200 steps, the joint estimation algorithm for micro- and macro-time-scales AEKF will start running. The calculation process of the macro-time-scale estimator is as follows:
Firstly, the macro-time-scale AEKF also requires the establishment of a state space equation, as shown in Formula (25):
where the observation matrix,
, is consistent with Equation (13), which is the terminal voltage calculation formula.
Then, the recursive iteration process of the Kalman filter is started, and the algorithm flow is as follows:
- (1)
Initialize the macro-time-scale parameter estimator. Set the initial value of the parameter estimator, . is the initial value of the parameter, is the initial value of the covariance of the parameter error, is the initial value of the process noise of the parameter estimator, and is the initial value of the observation noise of the parameter estimator.
Macro-time-scale parameter estimation starts, calculating step m = 1:∞.
- (2)
Macro-time-scale parameter estimator time update. Perform the calculation of parameters and parameter error covariance prior estimates:
- (3)
Macro-time-scale parameter estimator measurement update. Update the parameter estimator Kalman gain.
The equation of state and observations in Equation (13) can be expressed as the following functions:
The derivation process of Equation (27),
, is made up of a group of iterative equations, as shown in Equation (29):
The state update of the parameter estimator is calculated via the last step of the micro-time-scale under each macro-time-scale, and the error covariance is updated, as shown in the following equation:
- (4)
Adaptive update of .
The macro-time-scale adaptive algorithm is similar to the micro-time-scale, and its calculation process is as follows:
The opening window length of the adaptive algorithm is defined as M_mac, and the root mean square of the innovation is calculated, as shown in Equation (31):
Then, the process noise and observation noise are updated:
Formulas (25)~(32) represent the AEKF iteration process for the macro-time scales of C1 and Cn. Starting from the 200-step macro-time scale, each macro-time scale calculation will generate an update of the C
1 and C
n results. In order to further reduce the fluctuation of the C
n calculation results, this research used the method of averaging the most recent 40% capacity estimation results shown in Formula (33) to calculate the average of the actual available capacity of the battery. Further, the battery SOH was calculated using Equation (2).
where N is the total length of the capacity calculation results on a macro-time scale.
The actual available capacity displayed by the same battery at different temperatures may vary, but the SOH results obtained by the same battery at different temperatures should be the same. After using Formula (33) to estimate the actual available capacity of the battery, for the calculation of SOH at different temperatures, it is necessary to establish the corresponding relationship between battery capacity and temperature as shown in the following equation:
where T is the battery temperature, and the unit is °C;
,
are dimensionless constants.
So far, the offline data processing and online real-time calculation of battery OCV–SOC correspondence, ECM parameter identification, and the joint estimation algorithm of SOC and SOH based on DAEKF algorithm and its iterative process have been introduced.