<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">769818</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2021.769818</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Estimation of Lithium-Ion Battery SOC Model Based on AGA-FOUKF Algorithm</article-title>
<alt-title alt-title-type="left-running-head">Fang et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">State Estimation of Lithium-Ion Battery</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Fang</surname>
<given-names>Chao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="fn" rid="fn1">
<sup>&#x2020;</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1361523/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Jin</surname>
<given-names>Zhiyang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="fn" rid="fn1">
<sup>&#x2020;</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Wu</surname>
<given-names>Jingjin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1468328/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Liu</surname>
<given-names>Chenguang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1522050/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>Mechanical and Electrical Engineering College, Hainan University, <addr-line>Hainan</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>School of Robotics, Xi&#x2019;an Jiaotong-Liverpool University, <addr-line>Jiangsu</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1180620/overview">Xianming Ye</ext-link>, University of Pretoria, South Africa</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1466837/overview">Jiangwei Shen</ext-link>, Kunming University of Science and Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1033448/overview">Huan Xi</ext-link>, Xi&#x2019;an Jiaotong University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jingjin Wu, <email>jingjin.wu@hainanu.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Process and Energy Systems Engineering, a section of the journal Frontiers in Energy Research</p>
</fn>
<fn fn-type="equal" id="fn1">
<label>
<sup>&#x2020;</sup>
</label>
<p>These authors have contributed equally to this work and share first authorship</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>11</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>9</volume>
<elocation-id>769818</elocation-id>
<history>
<date date-type="received">
<day>02</day>
<month>09</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>18</day>
<month>10</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Fang, Jin, Wu and Liu.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Fang, Jin, Wu and Liu</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>Aiming at the state estimation error caused by inaccurate battery model parameter estimation, a model-based state of charge (SOC) estimation method of lithium-ion battery is proposed. This method is derived from parameter identification using an adaptive genetic algorithm (AGA) and state estimation using fractional-order unscented Kalman filter (FOUKF). First, the fractional-order model is proposed to simulate the characteristics of lithium-ion batteries. Second, to tackle the problem of fixed values of probabilities of crossover and mutation in the genetic algorithm (GA) in model parameter identification, an AGA has been proposed. Then, the FOUKF method is used to assess battery SOC. For the data redundancy problem caused by the fractional-order algorithm, a time window is set to enhance the computational efficiency of the fractional-order operator. Finally, the experimental results show that the developed AGA-FOUKF algorithm can increase the correctness of SOC estimation.</p>
</abstract>
<kwd-group>
<kwd>lithium-ion battery</kwd>
<kwd>fractional-order model</kwd>
<kwd>fractional order unscented kalman filter</kwd>
<kwd>state of charge</kwd>
<kwd>adaptive genetic algorithm</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>Lithium (Li)&#x2013;ion batteries are an essential energy source for new energy electric vehicles, and the precise estimation of state of charge (SOC) can effectively estimate the vehicle&#x2019;s mileage (<xref ref-type="bibr" rid="B17">Shen et&#x20;al., 2019</xref>). The accurate estimation of Li battery SOC is very vital for the battery management system (BMS) (<xref ref-type="bibr" rid="B24">Wang et&#x20;al., 2021</xref>). Nevertheless, it is challenge to accurately estimate the battery SOC accurately, as the battery is a highly irregular system, and the model parameters, such as SOC, temperature, and battery aging degree, will change with time (<xref ref-type="bibr" rid="B21">Tian et&#x20;al., 2017</xref>).</p>
<p>In order to address this problem, researchers have been presented many SOC estimation methods, including the ampere-hour (Ah) counting (<xref ref-type="bibr" rid="B1">Cano et&#x20;al., 2018</xref>), open-circuit voltage (OCV) method (<xref ref-type="bibr" rid="B3">Chen et&#x20;al., 2019</xref>), Kalman filter (<xref ref-type="bibr" rid="B18">Shrivastava et&#x20;al., 2019</xref>), extended Kalman filter (EKF) (<xref ref-type="bibr" rid="B4">Guo et&#x20;al., 2019</xref>), nonlinear observers (<xref ref-type="bibr" rid="B30">Zhu et&#x20;al., 2017</xref>), neural network (<xref ref-type="bibr" rid="B6">He et&#x20;al., 2014</xref>; <xref ref-type="bibr" rid="B8">Li et&#x20;al., 2019</xref>), and so on. However, each method and technology have their own advantages and limitations. The Ah counting and the OCV method are easy to implement, but the Ah counting will produce cumulative errors and decrease the veracity of SOC estimation. The OCV of the battery needs to stand for a long time to obtain it exactly. To solve the shortcomings of traditional algorithms, Plett adopted EKF to assess the battery SOC (<xref ref-type="bibr" rid="B15">Plett, 2004</xref>). Nonetheless, the EKF algorithm adopted Taylor&#x2019;s first-order formula to linearize the nonlinear system, ignoring higher-order terms, which will reduce the estimation authenticity of the nonlinear battery system. Therefore, researchers have been proposed the unscented Kalman filter (UKF) algorithm (<xref ref-type="bibr" rid="B5">He et&#x20;al., 2013</xref>). compares the SOC estimation results of EKF and UKF, demonstrating that the UKF algorithm has a faster convergence speed and higher verity. <xref ref-type="bibr" rid="B11">Meng et&#x20;al. (2016)</xref> proposed an accurate Li battery SOC estimation algorithm based on adaptive UKF and least-squares (LS) support vector machine. Key to the success of the algorithm is its ability to correctly estimate the battery SOC. <xref ref-type="bibr" rid="B20">Sun et&#x20;al. (2018)</xref> proposed an SOC evaluation algorithm based on adaptive correntropy UKF, which can precisely estimate the actual measurement data in the case of non-Gaussian system noise. The above proves that UKF has higher estimation accuracy than&#x20;EKF.</p>
<p>In recent years, model-based estimation methods are commonly used in battery SOC estimation. Because of its simplicity, the equivalent circuit model has been widely used in battery SOC estimation (<xref ref-type="bibr" rid="B23">Wang et&#x20;al., 2018</xref>). <xref ref-type="bibr" rid="B7">Hu et&#x20;al. (2012)</xref> compares and discusses some integer-order models and studies the effectiveness of these models through comprehensive evaluation. Notwithstanding, because of the fractional nature of capacitors, the integer-order model will produce errors when describing the internal conditions of the battery. Specifically, the low-order model has a small amount of calculation but low accuracy, and the high-order model has a higher accuracy but a large amount of calculation. <xref ref-type="bibr" rid="B9">Liu et&#x20;al. (2016)</xref> proposed a fractional-order model (FOM) based on the Partnership for a New Generation of Vehicle model and compared it with the integer-order model (iom). <xref ref-type="bibr" rid="B26">Xu et&#x20;al. (2013)</xref> established a battery equivalent circuit model based on electrochemical impedance spectroscopy (EIS) technology and realized the SOC estimation of the battery, but the EIS model also has the disadvantage of a large amount of calculation. The key to the equivalent circuit model&#x2019;s success is closely related to the identification of the model parameters (<xref ref-type="bibr" rid="B24">Wang et&#x20;al., 2021</xref>). For the identification of nonlinear system parameters, some algorithms have been presented to identify parameters in the equivalent circuit, including the LS method (<xref ref-type="bibr" rid="B2">Chen et&#x20;al., 2017</xref>), particle swarm optimization algorithm (<xref ref-type="bibr" rid="B29">Zhou et&#x20;al., 2021</xref>; <xref ref-type="bibr" rid="B22">Wang et&#x20;al., 2015</xref>), and genetic algorithm (GA) (<xref ref-type="bibr" rid="B31">Zhu et&#x20;al., 2019</xref>). <xref ref-type="bibr" rid="B2">Chen et&#x20;al. (2017)</xref> utilized the LS method to assess the model parameters and achieved the effect of model identification. Compared with the LS method, the GA method has many advantages, including searching from the string set, covering a large area, being conducive to global optimization, and being easier to implement. The model parameters are identified using a GA and experimental data of dynamic driving cycles (<xref ref-type="bibr" rid="B12">Mu et&#x20;al., 2017</xref>). <xref ref-type="bibr" rid="B14">Pizarro-Carmona et&#x20;al. (2021)</xref> put forward an identification method of Li-ion battery model based on GA. The results show that the identification results based on the GA can accurately represent the highly dynamic characteristics of Li-ion batteries, although the GA has the disadvantage of fixed probabilities of crossover and mutation. Specifically, both good individuals and inferior individuals have undergone the exact probabilities of crossover and mutation operations, which affect the efficiency of the algorithm to a certain extent. To sum up, the primary contributions of this article are made as follows: 1) Based on fractional calculus theory, an FOM is put forward. 2) Aiming at the optimization problem of the equivalent circuit model parameter identification, to overcome the disadvantage that simple GA and some improved GA have fixed values of probabilities of crossover and mutation, the adaptive genetic algorithm (AGA) is proposed to identify model parameters, and the concept of fractional-order is applied to the AGA, so as to improve the accuracy and speed of model identification. At the same time, it is compared with the results of integer-order LS method and fractional-order GA identification. 3) In addition, this article used pulse experimental data to identify the order and parameters in the model through AGA, instead of the individually identified order in references (<xref ref-type="bibr" rid="B26">Xu et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B22">Wang et&#x20;al., 2015</xref>), so that the parameters can more fully show the features of the battery. 4) Based on fractional calculus theory, the UKF algorithm is used to estimate the battery SOC, and the time window is set to enhance the computational efficiency of fractional-order operator. 5) Compared with LSM-UKF based on iom and GA&#x2013;fractional-order UKF (FOUKF) based on FOM, it reveals the feasibility and superiority of AGA-FOUKF.</p>
<p>The rest of this article is organized as follows: In <italic>Battery Modeling</italic>, a battery model is described. In <italic>SOC Estimation Method</italic>, an FOUKF technique is presented to estimate the battery SOC. The model parameters are identified in <italic>Model Parameter Identification</italic>. Validation and Discussion is the verification and discussion process is given. Finally, conclusions are given in the last section.</p>
</sec>
<sec id="s2">
<title>Battery Modeling</title>
<p>The equivalent circuit model can describe the relationship between the external characteristics and internal parameters of the battery. The establishment of a precise model is the basis for SOC appraisement, and the correctness of the equivalent circuit model will directly affect the precision of SOC evaluation. This section studies the second-order RC model based on the fractional-order theory.</p>
<sec id="s2-1">
<title>Fractional Calculus</title>
<p>With the development of computing power, many researchers have provided theories and methods for studying the theory of&#x20;fractional calculus theory. As fractional-order theory can&#x20;more faultlessly and honestly describe physical systems than integer-order theory, fractional calculus is widely used to&#x20;deal with problems in engineering practice, such as&#x20;electronics, bioengineering, and robotics (<xref ref-type="bibr" rid="B10">Liu et&#x20;al., 2018</xref>), (<xref ref-type="bibr" rid="B16">Richard, 2010</xref>). Fractional calculus is defined as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mi>D</mml:mi>
</mml:mstyle>
<mml:mtext>t</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mprescripts/>
<mml:mi>a</mml:mi>
<mml:none/>
</mml:mmultiscripts>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>&#x3b1;</italic> is the fractional-order; <italic>a</italic> and <italic>t</italic> are the upper and lower limits of calculus, respectively. Fractional calculus has three methods: Riemann-Liouville definition, Caputo definition, and Gr&#xfc;nwald-Letnikov (GL) definitions (<xref ref-type="bibr" rid="B27">Yang et&#x20;al., 2020</xref>). GL calculus <xref ref-type="disp-formula" rid="e2">Eq. 2</xref> is as follows:<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mi>D</mml:mi>
</mml:mstyle>
<mml:mtext>t</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mprescripts/>
<mml:mi>a</mml:mi>
<mml:none/>
</mml:mmultiscripts>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>lim</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <italic>h</italic> is the sampling interval. The factors <inline-formula id="inf1">
<mml:math id="m3">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>&#x3b1;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>j</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> can be determined by<disp-formula id="equ1">
<mml:math id="m5">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>It should be noted that the result of fractional calculus at a specific time is related to the information of the past time and has memory, although considering all the past states will increase the amount of BMS calculations. Hence, pursuant to the principle of short memory, the past state is shortened to avoid the computational burden and alleviate the problems caused by it. Hence, <xref ref-type="disp-formula" rid="e3">Eq. 3</xref> can be rewritten as:<disp-formula id="e3">
<mml:math id="m6">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mi>D</mml:mi>
</mml:mstyle>
<mml:mtext>t</mml:mtext>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mprescripts/>
<mml:mi>a</mml:mi>
<mml:none/>
</mml:mmultiscripts>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>lim</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <italic>L</italic> is the memory length.</p>
</sec>
<sec id="s2-2">
<title>Definition of Fractional Capacitance</title>
<p>Studies have shown that the capacitors have fractional-order characteristics (<xref ref-type="bibr" rid="B25">Westerlund and Ekstam, 1994</xref>). Therefore, an FOM is established to more veraciously approximate the actual variable characteristics of the Li-ion battery more accurately. The fractional capacitance is defined as follows:<disp-formula id="e4">
<mml:math id="m7">
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtext>j</mml:mtext>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf3">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the capacitance.</p>
</sec>
<sec id="s2-3">
<title>Fractional-Order Model</title>
<p>The structure of the FOM is illustrated in <xref ref-type="fig" rid="F1">Figure&#x20;1</xref>. <italic>E</italic> is the OCV source, <italic>U</italic> is the terminal voltage, and <italic>R</italic>
<sub>0</sub> is the ohmic resistance. The fractional capacitance is used to replace the integer-order capacitance to describe the impedance created by the internal polarization influence and concentration polarization effect. The state-space <xref ref-type="disp-formula" rid="e5">Eq. 5</xref> can be gained as follows:<disp-formula id="e5">
<mml:math id="m9">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msup>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mi>I</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>E</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>The structure of the fractional second-order RC model.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g001.tif"/>
</fig>
<p>Generally, SOC is obtained by Ah counting method, which is usually expressed as follows:<disp-formula id="e6">
<mml:math id="m10">
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:munderover>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>t</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <inline-formula id="inf4">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the rated capacity of the battery. <inline-formula id="inf5">
<mml:math id="m12">
<mml:mi>&#x3b7;</mml:mi>
</mml:math>
</inline-formula> is the Coulombic efficiency. By the definition of GL, combining <xref ref-type="disp-formula" rid="e5">Eqs 5</xref>, <xref ref-type="disp-formula" rid="e6">6</xref>, the discrete FOM is acquired as follows:<disp-formula id="e7">
<mml:math id="m13">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(7)</label>
</disp-formula>where <inline-formula id="inf6">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mtext>k</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf7">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mtext>k</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mtext>k</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf8">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mtext>k</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,0</mml:mn>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf9">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mtext>k</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is state vector. <inline-formula id="inf10">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mtext>k</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf11">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mtext>k</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the system process and observation noise, respectively.</p>
<p>The association between OCV and SOC can be fitted through a polynomial fitting formula. In this article, the sixth-order polynomial formula is adopted, and OCV can be expressed as a function including SOC:<disp-formula id="e8">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mtext>OCV</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mtext>SOC</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>5</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mtext>SOC</mml:mtext>
</mml:mrow>
<mml:mn>6</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf12">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>i</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a fixed value that represents the coefficient of the polynomial equation.</p>
</sec>
</sec>
<sec id="s3">
<title>SOC Estimation Method</title>
<p>The FOM can more precisely describe the internal state of the battery since the existence of the fractional order. Even so, the traditional UKF becomes inapplicable under the FOM. Therefore, it is necessary to make specific improvements to the traditional UKF. The UKF method is developed for the FOUKF for solve the FOM, and the detailed process of FOUKF is introduced.</p>
<sec id="s3-1">
<title>System Description</title>
<p>For irregular discrete-time systems, the state and observation <xref ref-type="disp-formula" rid="e9">Eq. 9</xref> can be expressed as:<disp-formula id="e9">
<mml:math id="m22">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf13">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf14">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the system state and the measured terminal voltage, respectively. <italic>f</italic>(.) and <italic>g</italic>(.) are the irregular process function and the observation function, respectively. The <inline-formula id="inf15">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the system input value. <italic>Q</italic> is the variance of the process noise, and <italic>R</italic> is the variance of the observation noise (<xref ref-type="bibr" rid="B13">Peng et&#x20;al., 2018</xref>).</p>
</sec>
<sec id="s3-2">
<title>Fractional-Order Unscented Kalman Filter</title>
<p>The UKF algorithm abandons the traditional approach of linearizing nonlinear functions and adopts Kalman linear filtering framework. Unscented transform is applied to deal with the nonlinear transfer problem of mean and covariance (<xref ref-type="bibr" rid="B28">Zhang et&#x20;al., 2015</xref>). Compared with the UKF, the FOUKF has no intrinsic distinction apart from the initial estimation process of the states. The implementation process of the FOUKF method is as follows:</p>
<p>
<statement>
<p>Step 1Initialization: the state vector and the state error covariance matrix.<disp-formula id="e10">
<mml:math id="m26">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf16">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the initial system parameter, and <inline-formula id="inf17">
<mml:math id="m28">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is its estimate value. <inline-formula id="inf18">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the error covariance matrix.</p>
</statement>
</p>
<p>
<statement>
<p>Step 2For <italic>k</italic>&#x20;&#x3d; 1, 2, &#x2026; , calculate:</p>
<p>
<italic>A priori</italic> estimate update.<list list-type="simple">
<list-item>
<p>1) Calculate 2<italic>j</italic>&#x2b;1 Sigma points</p>
</list-item>
</list>
<disp-formula id="e11">
<mml:math id="m30">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where <italic>j</italic> refers to the dimension of the state; <inline-formula id="inf19">
<mml:math id="m31">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a proportional parameter. This article takes <italic>&#x3b1;</italic> &#x3d; 0.01, <italic>k</italic>&#x20;&#x3d; 0, <inline-formula id="inf20">
<mml:math id="m32">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>2) Calculate the weight</p>
</list-item>
</list>
<disp-formula id="e12">
<mml:math id="m33">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>3) Status estimation time update:</p>
</list-item>
</list>
<disp-formula id="e13">
<mml:math id="m34">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>4) Time update of covariance matrix:</p>
</list-item>
</list>
<disp-formula id="e14">
<mml:math id="m35">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>Measurement update.<list list-type="simple">
<list-item>
<p>1) Convert the sigma point to the measurement estimated point:</p>
</list-item>
</list>
<disp-formula id="e15">
<mml:math id="m36">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>2) Calculate the average of the measurement estimates:</p>
</list-item>
</list>
<disp-formula id="e16">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mtext>k</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>3) Calculate the covariance and Kalman gain:</p>
</list-item>
</list>
<disp-formula id="e17">
<mml:math id="m38">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>Posterior estimate update.<list list-type="simple">
<list-item>
<p>1) Update status and covariance:</p>
</list-item>
</list>
<disp-formula id="e19">
<mml:math id="m40">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#x2227;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
</statement>
</p>
<p>
<statement>
<p>Step 3Skip to Step 2, <italic>k</italic>&#x20;&#x3d; <italic>k</italic>&#x20;&#x2b;&#x20;1</p>
<p>The battery current and voltage measured by the CT-4008 battery test platform are transmitted to the algorithm for&#x20;estimation. The flowchart of the algorithm is shown in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>.</p>
</statement>
</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Flowchart of the entire algorithm.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g002.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>Model Parameter Identification</title>
<p>Before the battery states were estimated, the parameters of the battery model must first be obtained. The exactitude of battery SOC estimation depends strongly on the precise model parameter identification. As the BMS cannot directly measure battery parameters, it is necessary to identify and calculate unknown parameters to obtain equivalent circuit model information. In this section, an AGA is used to identify the fractional order and other parameters in the model simultaneously. Moreover, it is compared with the identification result of the LS method based on the IOM and the GA identification result based on the&#x20;FOM.</p>
<sec id="s4-1">
<title>Test for the Model Parameter Identification</title>
<p>The battery test platform based on CT-4008 can be used to verify the effectiveness of this method. The composition of the bench is shown in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>. It comports a test system CT-4008, fixtures, a host, and test objects. The measuring current precision of the equipment is &#xb1;0.05% full scale (FS), the voltage precision is &#xb1;0.05% FS, the temperature range is 040&#xb0;C, and the sampling frequency is 10&#xa0;Hz. The test object in this article is Panasonic NCR18650B, with a nominal capacity of 3.4&#xa0;Ah, a nominal voltage of 3.7&#xa0;V, a charge cutoff voltage of 4.2&#xa0;V, and a discharge cutoff voltage of 2.5&#xa0;V. The corresponding performance parameters are shown in <xref ref-type="table" rid="T1">Table&#x20;1</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>The configuration of the test&#x20;bench.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g003.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Parameters of the battery.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Nominal capacity</th>
<th align="center">3.4Ah</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Nominal voltage</td>
<td align="center">3.7&#xa0;V</td>
</tr>
<tr>
<td align="left">Charging cutoff voltage</td>
<td align="center">4.2&#xa0;V</td>
</tr>
<tr>
<td align="left">Discharging cutoff voltage</td>
<td align="center">2.5&#xa0;V</td>
</tr>
<tr>
<td align="left">Operation temperature</td>
<td align="center">&#x223c;10&#x2013;45&#xb0;C (charging); &#x223c;&#x2212;20&#x2013;60&#xb0;C (discharging); &#x223c;&#x2212;10&#x2013;45&#xb0;C(storage)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The general method to identify model parameters is the battery pulse characterization experiment. The pulse test process is as follows: First, fully charge the battery and let it stand for 3,600&#xa0;s, and then, release a discharge pulse with a pulse current of 1&#xb0;C. Continue the pulse discharge for 180&#xa0;s to reduce the SOC value of the battery by approximately 0.05. Let the battery standstill fully. In the experiment, set the battery standing time to be 3,600&#xa0;s. Repeat the above steps until the voltage reaches the set voltage, as shown in <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>The part of the pulse characteristic&#x20;curve.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g004.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>Parameter Identification Based on AGA</title>
<p>In comparison with the LS method, the superiority of the GA is that the optimal solution can be obtained only by determining the value of the goal function, despite the disadvantage that GA has fixed values of probabilities of crossover and mutation. Therefore, an AGA is presented to identify the parameters of the battery&#x20;model.</p>
<sec id="s4-2-1">
<title>Crossover and Mutation</title>
<p>In the initial population, select a part of the parent individuals who can be used for mating and performing the chromosome crossover operation. Specifically, it refers to the process of selecting two of these individuals to mate with each other and exchanging some of their chromosomes with each other in a certain way to form two new individuals. In this article, a single-point crossover is selected in AGA. In this kind of crossover, only one crossover point is randomly set in the individual coding string, and the chromosomes are divided into two parts in this kind of crossover. The left and right sides of the offspring chromosomes are derived from the parent chromosomes, respectively.</p>
<p>The new individuals were formed after the crossover operation; there is a certain probability that gene variation will occur in this process. As the selection operation, this operation is based on probability. This probability becomes the mutation probability (<inline-formula id="inf21">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>). For each bit of each offspring in the cross-offspring set, generate a random number <italic>r</italic> belonging to [0,1]. If <italic>r</italic>&#x20;&#x2264; <inline-formula id="inf22">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and then the bit is inverted; otherwise, the bit remains unchanged. For binary, 1 becomes 0, and 0 becomes&#x20;1.</p>
</sec>
<sec id="s4-2-2">
<title>Probabilities of Crossover and Mutation</title>
<p>In the application of the GA, the reasonable probability of crossover (<inline-formula id="inf23">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) (0.5&#x2013;1.0) and the smaller <inline-formula id="inf24">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (0.001&#x2013;0.05) are usually used. However, the <inline-formula id="inf25">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf26">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> homologous to the&#x20;individual should be different, Considering that those good individuals should be retained as much as possible, and <inline-formula id="inf27">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf28">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> should be small at this time. The poor individuals should undergo crossover and mutation to produce new individuals. At this time, the <inline-formula id="inf29">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf30">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> should be more prominent. Based on the various problems of the standard genetic algorithm, Srinivas and Patnaik proposed an AGA in&#x20;1994 (<xref ref-type="bibr" rid="B19">Srinivas and Patnaik, 2002</xref>), the <inline-formula id="inf31">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf32">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> as per the&#x20;fitness of the individual through the following <xref ref-type="disp-formula" rid="e21">Eqs 20</xref>, <xref ref-type="disp-formula" rid="e22">21</xref>:<disp-formula id="e20">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>ave</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>ave</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>ave</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where <italic>k</italic>
<sub>1</sub>, <italic>k</italic>
<sub>2</sub>, <italic>k</italic>
<sub>3</sub>, and <italic>k</italic>
<sub>4</sub> are all less than 1. <inline-formula id="inf33">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf34">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>ave</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the&#x20;best and average fitness values in the population, respectively. For the highest fitness individuals with the largest fitness, the <inline-formula id="inf35">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf36">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are 0, as shown in <xref ref-type="disp-formula" rid="e20">Eqs 20</xref>, <xref ref-type="disp-formula" rid="e21">21</xref>. The best individual is continuously copied to the next generation and circulates with the selection mechanism. This mechanism may cause the best individual to grow exponentially in the population, which will cause premature convergence. A default mutation probability value (0.005) is introduced for each individual in AGA to overcome this problem.</p>
</sec>
<sec id="s4-2-3">
<title>Fitness Function</title>
<p>In the GA, the function that measures each chromosome introduced to reflect the adaptability of the chromosome is called the fitness function. The fitness value of an individual is calculated using a fitness function, and the optimal solution is searched according to the fitness value. The objective function is defined as:<disp-formula id="e22">
<mml:math id="m59">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>where <inline-formula id="inf37">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf38">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mtext>b</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are measured output voltage and model output voltage; <italic>M</italic> is the number of groups. The value of <italic>M</italic> determines the size of the search range. The fitness can be expressed as follows:<disp-formula id="e23">
<mml:math id="m62">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>where <inline-formula id="inf39">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum value of the sum of squared differences between the measured output <inline-formula id="inf40">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the model output <inline-formula id="inf41">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mtext>b</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <italic>N</italic> is the population number.</p>
<p>By applying the above genetic operator and fitness function to find the optimal value, the AGA flowchart is shown in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>1) The initial population is generated randomly as the initial value of the parameter.</p>
</list-item>
<list-item>
<p>2) The initial value generated in the first step is encoded and converted into the corresponding binary code, representing the individual&#x20;gene.</p>
</list-item>
<list-item>
<p>3) The current population is crossed, and some gene fragments (the binary code of the exchange part) are exchanged, and the&#x20;new individuals produced after the exchange are the offspring.</p>
</list-item>
<list-item>
<p>4) Simulate the mutation behavior in the biological evolution process, and randomly generate mutations in the genes of the offspring. This step aims to prevent the identified parameters from falling into the local optimal solution&#x20;range.</p>
</list-item>
<list-item>
<p>5) The value of offspring can be obtained by decoding the offspring after hybridization and variation.</p>
</list-item>
<list-item>
<p>6) Substitute the decoded offspring in Step 5 input into the fitness function to determine whether the individual meets the set requirements. If there was an individual that meets the set conditions, the most eligible individual was used as the model identification parameter; if the set conditions were not met, the offspring produced in the fifth step would be selected by elites (the closer the individual is to the set conditions, the greater the probability of being retained), so as to generate a new population, and then loop the second to sixth steps &#x201c;Operate to simulate the next round of biological evolution,&#x201d; until there is an individual that meets the adaptability conditions, or the number of reproduction algebra exceeds the set&#x20;algebra.</p>
</list-item>
</list>
</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Schematic diagram of the AGA.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g005.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s5">
<title>Validation and Discussion</title>
<p>To prove the effectiveness of AGA identification results, it is compared with the LS method based on IOM and the GA based on FOM. In addition, to prove the effectiveness of the AGA-FOUKF algorithm, comparing the parameter identification and SOC estimation results under distinct methods and models, it is verified that the established AGA-FOUKF algorithm can improve the prediction authenticity.</p>
<sec id="s5-1">
<title>Results of Model Parameter Identification</title>
<p>Data simulation was performed using the MATLAB R2018 software. The AGA was run by setting the initial population size at 200, the initial value of adaptive <inline-formula id="inf42">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> at 0.5, and the initial value of adaptive <inline-formula id="inf43">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> at 0.05. The end condition is set as the terminal voltage error is less than 0.008&#xa0;V. AGA can improve the convergence of GA. The optimal solution of the FOM parameters is given in <xref ref-type="table" rid="T2">Table&#x20;2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Model parameter identification results.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf44">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf45">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf46">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf47">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf48">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf49">
<mml:math id="m73">
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf50">
<mml:math id="m74">
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">58.87&#xa0;m&#x3a9;</td>
<td align="char" char=".">20.68&#xa0;m&#x3a9;</td>
<td align="char" char=".">33.67&#xa0;m&#x3a9;</td>
<td align="char" char=".">1,395.60&#xa0;kF</td>
<td align="char" char=".">275,604.71&#xa0;kF</td>
<td align="char" char=".">0.9232</td>
<td align="char" char=".">0.9895</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To certify the accuracy of AGA identification, the battery terminal voltage estimated based on the AGA identification result is compared with the measured data. At the same time, it is compared with the LS method based on the IOM and the GA based on the FOM. The comparison of the results is shown in <xref ref-type="fig" rid="F6">Figure&#x20;6A</xref>. In <xref ref-type="fig" rid="F6">Figure&#x20;6B</xref>, it can be seen that the model voltage estimated by the AGA identification result better follows the measured terminal voltage of the battery. The error between the model voltage and the measured voltage is basically within 0.01&#xa0;V. When the discharge pulse appears and ends, the load current changes sharply. Because of the modeling error, it will be a short-time error spike. But the error will gradually converge over time. In addition, the AGA obviously suppresses this phenomenon better than the other two algorithms.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Model identification results. <bold>(A)</bold> Comparison of measured values and model predictions. <bold>(B)</bold> Terminal voltage&#x20;curve.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g006.tif"/>
</fig>
<p>In <xref ref-type="table" rid="T3">Table&#x20;3</xref>, the terminal voltage estimation of the AGA identification based on the fractional second-order RC model is more accurate. The root mean square error (RMSE) of the terminal voltage identified by AGA and GA based on the fractional second-order RC model is 0.68 and 0.78%, respectively. The RMSE of the terminal voltage estimated by the LS method based on the integer second-order RC model is 0.10%. To certify the stability and robustness of the terminal voltage estimation, the average error is used as an indicator. The average error of terminal voltage estimation of LS method, GA, and AGA is 0.58, 0.56, and 0.48%, respectively. It can be seen that the AGA improves the precision of the&#x20;model.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Statistical data of identification methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Method</th>
<th align="left">Model</th>
<th align="center">
<italic>V</italic>_error_mean</th>
<th align="center">RMSE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">LS</td>
<td align="left">IOM</td>
<td align="char" char=".">0.0058</td>
<td align="char" char=".">0.0100</td>
</tr>
<tr>
<td align="left">GA</td>
<td align="left">FOM</td>
<td align="char" char=".">0.0056</td>
<td align="char" char=".">0.0078</td>
</tr>
<tr>
<td align="left">AGA</td>
<td align="left">FOM</td>
<td align="char" char=".">0.0048</td>
<td align="char" char=".">0.0068</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-2">
<title>SOC Estimation Results</title>
<sec id="s5-2-1">
<title>SOC Estimation Under the Discharging Process of OCV Test</title>
<p>To certify the validity of the AGA-FOUKF, the data of the pulse test discharge process is used, and the current and SOC curve are shown in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. In this article, the SOC initial value error of 0.2 is artificially introduced. It means that there is an error in the initial SOC value. From the topical enlargement of <xref ref-type="fig" rid="F8">Figure&#x20;8A</xref>, it is clear that the SOC prediction results of AGA-FOUKF and GA-FOUKF are similar, which also appears in the model parameter identification results. After the AGA-FOUKF converges, the SOC prediction error can be restrained within 2%, as shown in <xref ref-type="fig" rid="F8">Figure&#x20;8B</xref>. It can be seen from the partially enlarged view of <xref ref-type="fig" rid="F8">Figure&#x20;8C</xref> that the predicted terminal voltage can track the measured value well after the three methods converge. The AGA-FOUKF algorithm shows a better convergence effect, as shown in <xref ref-type="fig" rid="F8">Figure&#x20;8D</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Current and SOC curves of pulse test. <bold>(A)</bold> Current curve and <bold>(B)</bold> SOC&#x20;curve.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Under the charging procedure of the pulse test, the SOC estimation and the terminal voltage estimation are compared. <bold>(A)</bold> SOC estimation result; <bold>(B)</bold> the errors of SOC estimation; <bold>(C)</bold> terminal voltage estimation result; <bold>(D)</bold> the errors of terminal voltage.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g008.tif"/>
</fig>
<p>It can be seen from <xref ref-type="table" rid="T4">Table&#x20;4</xref> that the estimation of the AGA-FOUKF algorithm based on the FOM is more accurate. The RMSE of SOC and terminal voltage estimated by AGA-FOUKF based on the FOM are 0.82 and 0.47%, respectively. The RMSE of SOC and terminal voltage estimated by GA-FOUKF based on the FOM are 0.87 and 0.59%, respectively. The SOC and terminal voltage RMSE estimated by the UKF algorithm based on the IOM are 1.57 and 0.75%, respectively. The average error of SOC estimation of LSM-UKF algorithm, GA-FOUKF algorithm, and AGA-FOUKF algorithm is 1.17, 0.71, and 0.64%, respectively. The estimation results show that the overall performance of the FOM and battery SOC estimation has been improved.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Statistics of estimated SOC and terminal voltage under pulse&#x20;cycle.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="left">Method</th>
<th colspan="2" align="center">SOC</th>
<th align="center">Terminal voltage</th>
</tr>
<tr>
<th align="center">RMSE (%)</th>
<th align="center">Mean error (%)</th>
<th align="center">RMSE (V)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">UKF</td>
<td align="char" char=".">1.57</td>
<td align="char" char=".">1.17</td>
<td align="char" char=".">0.0075</td>
</tr>
<tr>
<td align="left">GA-FOUKF</td>
<td align="char" char=".">0.87</td>
<td align="char" char=".">0.71</td>
<td align="char" char=".">0.0059</td>
</tr>
<tr>
<td align="left">AGA-FOUKF</td>
<td align="char" char=".">0.82</td>
<td align="char" char=".">0.64</td>
<td align="char" char=".">0.0047</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-2-2">
<title>SOC Estimation Under the Dynamic Discharge Experiment</title>
<p>In order to certify the dynamic characteristic of AGA-FOUKF, the dynamic pulse status is used. The current and SOC curve are shown in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>. The results under dynamic discharge experiment are given as <xref ref-type="fig" rid="F10">Figure&#x20;10</xref>. The dynamic discharge experiment results of the three methods are shown in <xref ref-type="table" rid="T5">Table&#x20;5</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Current and SOC curves of dynamic experiment. <bold>(A)</bold> Current curve and <bold>(B)</bold> SOC&#x20;curve.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g009.tif"/>
</fig>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>The results of dynamic discharge experiment. <bold>(A)</bold> SOC estimation result; <bold>(B)</bold> the errors of SOC estimation; <bold>(C)</bold> terminal voltage estimation result; <bold>(D)</bold> the errors of terminal voltage.</p>
</caption>
<graphic xlink:href="fenrg-09-769818-g010.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Statistics of estimated SOC and terminal voltage under dynamic experiment.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="left">Method</th>
<th colspan="2" align="center">SOC</th>
<th align="center">Terminal voltage</th>
</tr>
<tr>
<th align="center">RMSE (%)</th>
<th align="center">Mean error (%)</th>
<th align="center">RMSE (V)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">UKF</td>
<td align="char" char=".">1.86</td>
<td align="char" char=".">1.67</td>
<td align="char" char=".">0.0100</td>
</tr>
<tr>
<td align="left">GA-FOUKF</td>
<td align="char" char=".">1.11</td>
<td align="char" char=".">0.90</td>
<td align="char" char=".">0.0071</td>
</tr>
<tr>
<td align="left">AGA-FOUKF</td>
<td align="char" char=".">0.94</td>
<td align="char" char=".">0.65</td>
<td align="char" char=".">0.0068</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec sec-type="conclusion" id="s6">
<title>Conclusion</title>
<p>The SOC prediction of Li-ion batteries is an indispensable and vital part of BMS. In this article, considering the fractional-order nature of capacitors, an FOM is established. To overcome the disadvantage that GA has fixed values of probabilities of crossover and mutation, the AGA is proposed to distinguish the FOM parameters, and its FOM parameter identification performance is better than the other two methods. In addition, taking 18650&#x20;Li-ion batteries as the test object, the method of combining AGA and FOUKF is applied to estimate battery SOC. Using the experimental data of the CT-4008 battery test platform for simulation, under pulse conditions, the RMSE of the battery SOC and terminal voltage estimated by AGA-FOUKF are within 1 and 0.7%, respectively. The average error of AGA identification based on the FOM is less than 0.7%. The performance of the above method is verified by simulation.</p>
</sec>
</body>
<back>
<sec id="s7">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will&#x20;be&#x20;made available by the authors, without undue reservation.</p>
</sec>
<sec id="s8">
<title>Author Contributions</title>
<p>Full-paper design, JW, ZJ, and CF; writing-review and editing, CF, ZJ, and JW; funding acquisition, ZJ and JW; software, ZJ, and CF; formal analysis, ZJ, CF, and JW; data curation, CL; writing&#x2014;original draft preparation, CF, and JW; supervision, JW; All authors have read and agreed to the published version of the manuscript.</p>
</sec>
<sec id="s9">
<title>Funding</title>
<p>This work is supported by the scientific research fund of Hainan University (No. kyqd(ZR)1934), Application research project of Henan Transportation Department (No. 2016-2-5), Innovative scientific research project of Hainan Province (No. Hys2020-77) and Research project of Hainan Research Institute of China Engineering Science and technology development strategy (No. 19-HN-XZ-08).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cano</surname>
<given-names>Z. P.</given-names>
</name>
<name>
<surname>Banham</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hintennach</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Fowler</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Batteries and Fuel Cells for Emerging Electric Vehicle Markets</article-title>. <source>Nat. Energ.</source> <volume>3</volume> (<issue>4</issue>), <fpage>279</fpage>&#x2013;<lpage>289</lpage>. <pub-id pub-id-type="doi">10.1038/s41560-018-0108-1</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A New State of Charge Estimation Algorithm for Lithium-Ion Batteries Based on the Fractional Unscented Kalman Filter</article-title>. <source>Energies</source> <volume>10</volume> (<issue>9</issue>), <fpage>1313</fpage>. <pub-id pub-id-type="doi">10.3390/en10091313</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A Time-Efficient and Accurate Open Circuit Voltage Estimation Method for Lithium-Ion Batteries</article-title>. <source>Energies</source> <volume>12</volume> (<issue>9</issue>), <fpage>1803</fpage>. <pub-id pub-id-type="doi">10.3390/en12091803</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Lithium-Ion Battery SOC Estimation and Hardware-In-The-Loop Simulation Based on EKF</article-title>. <source>Energ. Proced.</source> <volume>158</volume>, <fpage>2599</fpage>&#x2013;<lpage>2604</lpage>. <pub-id pub-id-type="doi">10.1016/j.egypro.2019.02.009</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Qin</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Shui</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Comparison Study on the Battery SoC Estimation with EKF and UKF Algorithms</article-title>. <source>Energies</source> <volume>6</volume> (<issue>10</issue>), <fpage>5088</fpage>&#x2013;<lpage>5100</lpage>. <pub-id pub-id-type="doi">10.3390/en6105088</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Williard</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Pecht</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>State of Charge Estimation for Li-Ion Batteries Using Neural Network Modeling and Unscented Kalman Filter-Based Error Cancellation</article-title>. <source>Int. J.&#x20;Electr. Power Energ. Syst.</source> <volume>62</volume>, <fpage>783</fpage>&#x2013;<lpage>791</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2014.04.059</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A Comparative Study of Equivalent Circuit Models for Li-Ion Batteries</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>198</volume>, <fpage>359</fpage>&#x2013;<lpage>367</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2011.10.013</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Remaining Useful Life Prediction for Lithium-Ion Batteries Based on a Hybrid Model Combining the Long Short-Term Memory and Elman Neural Networks</article-title>. <source>J.&#x20;Energ. Storage</source> <volume>21</volume>, <fpage>510</fpage>&#x2013;<lpage>518</lpage>. <pub-id pub-id-type="doi">10.1016/j.est.2018.12.011</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A New Method of Modeling and State of Charge Estimation of the Battery</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>320</volume>, <fpage>1</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2016.03.112</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Adaptive Fuzzy Control for a Class of Unknown Fractional-Order Neural Networks Subject to Input Nonlinearities and Dead-Zones</article-title>. <source>Inf. Sci.</source> <volume>454-455</volume>, <fpage>30</fpage>&#x2013;<lpage>45</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2018.04.069</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Meng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Lithium Polymer Battery State-Of-Charge Estimation Based on Adaptive Unscented Kalman Filter and Support Vector Machine</article-title>. <source>IEEE Trans. Power Elect.</source> <volume>31</volume> (<issue>3</issue>), <fpage>2226</fpage>&#x2013;<lpage>2238</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2015.2439578</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A Novel Fractional Order Model Based State-Of-Charge Estimation Method for Lithium-Ion Battery</article-title>. <source>Appl. Energ.</source> <volume>207</volume>, <fpage>384</fpage>&#x2013;<lpage>393</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2017.07.003</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yinjiao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hongbing</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Pecht</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An Adaptive State of Charge Estimation Approach for Lithium-Ion Series-Connected Battery System</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>392</volume>, <fpage>48</fpage>&#x2013;<lpage>59</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2018.04.101</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pizarro-Carmona</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Castano-Solis</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>GA-based Approach to Optimize an Equivalent Electric Circuit Model of a Li-Ion Battery-Pack</article-title>. <source>Expert Syst. Appl.</source> <volume>172</volume> (<issue>8</issue>), <fpage>114647</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2021.114647</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Plett</surname>
<given-names>G. L.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Extended Kalman Filtering for Battery Management Systems of LiPB-Based HEV Battery Packs</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>134</volume> (<issue>2</issue>), <fpage>277</fpage>&#x2013;<lpage>292</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2004.02.033</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Richard</surname>
<given-names>L. M.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Fractional Calculus Models of Complex Dynamics in Biological Tissues</article-title>. <source>Comput. Math. Appl.</source> <volume>59</volume>, <fpage>1586</fpage>&#x2013;<lpage>1593</lpage>. <pub-id pub-id-type="doi">10.1016/j.camwa.2009.08.039</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shen</surname>
<given-names>J.-N.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>J.-J.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.-J.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Z.-F.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Accurate State of Charge Estimation with Model Mismatch for Li-Ion Batteries: A Joint Moving Horizon Estimation Approach</article-title>. <source>IEEE Trans. Power Elect.</source> <volume>34</volume> (<issue>5</issue>), <fpage>4329</fpage>&#x2013;<lpage>4342</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2018.2861730</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shrivastava</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Soon</surname>
<given-names>T. K.</given-names>
</name>
<name>
<surname>Idris</surname>
<given-names>M. Y. I. B.</given-names>
</name>
<name>
<surname>Mekhilef</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Overview of Model-Based Online State-Of-Charge Estimation Using Kalman Filter Family Forlithium-Ion Batteries</article-title>. <source>Renew. Sust. Energ. Rev.</source> <volume>113</volume>, <fpage>109233</fpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2019.06.040</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Srinivas</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Patnaik</surname>
<given-names>L. M.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms</article-title>. <source>IEEE Trans. Syst. Man, Cybernetics, C.</source> <volume>24</volume> (<issue>4</issue>), <fpage>656</fpage>&#x2013;<lpage>667</lpage>. <pub-id pub-id-type="doi">10.1109/21.286385</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Adaptive Unscented Kalman Filter with Correntropy Loss for Robust State of Charge Estimation of Lithium-Ion Battery</article-title>. <source>Energies</source> <volume>11</volume> (<issue>11</issue>), <fpage>3123</fpage>. <pub-id pub-id-type="doi">10.3390/en11113123</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tian</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Tian</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>State of Charge Estimation of Lithium-Ion Batteries Using an Optimal Adaptive Gain Nonlinear Observer</article-title>. <source>Electrochimica Acta</source> <volume>225</volume>, <fpage>225</fpage>&#x2013;<lpage>234</lpage>. <pub-id pub-id-type="doi">10.1016/j.electacta.2016.12.119</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S. E.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Fractional-order Modeling and Parameter Identification for Lithium-Ion Batteries</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>293</volume>, <fpage>151</fpage>&#x2013;<lpage>161</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2015.05.059</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>On-line Battery State-Of-Charge Estimation Based on an Integrated Estimator</article-title>. <source>Appl. Energ.</source> <volume>185</volume>, <fpage>2026</fpage>&#x2013;<lpage>2032</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2015.09.015</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhen</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Ball</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Review on Online State of Charge and State of Health Estimation for Lithium-Ion Batteries in Electric Vehicles</article-title>. <source>Energ. Rep.</source> <volume>7</volume>, <fpage>5141</fpage>&#x2013;<lpage>5164</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2021.08.113</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Westerlund</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Ekstam</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>1994</year>). <source>Capacitor Theory</source>. <publisher-name>Dielectrics &#x26; Electrical Insulation IEEE Transactions on</publisher-name>, <fpage>827</fpage>&#x2013;<lpage>839</lpage>. <pub-id pub-id-type="doi">10.1109/94.326654</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Mi</surname>
<given-names>J.&#x20;C.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>A New Method to Estimate the State of Charge of Lithium-Ion Batteries Based on the Battery Impedance Model</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>233</volume>, <fpage>277</fpage>&#x2013;<lpage>284</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2013.01.094</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>State-of-health Estimation of Lithium-Ion Battery Based on Fractional Impedance Model and Interval Capacity</article-title>. <source>Int. J.&#x20;Electr. Power Energ. Syst.</source> <volume>119</volume>, <fpage>105883</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2020.105883</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Adaptive Unscented Kalman Filter Based State of Energy and Power Capability Estimation Approach for Lithium-Ion Battery</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>289</volume>, <fpage>50</fpage>&#x2013;<lpage>62</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2015.04.148</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hua</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Adaptive Model Parameter Identification for Lithium-Ion Batteries Based on Improved Coupling Hybrid Adaptive Particle Swarm Optimization- Simulated Annealing Method</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>482</volume>, <fpage>228951</fpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2020.228951</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>M. L.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>R.-S.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>G.-D.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>State of Charge Estimation for Lithium-Ion Battery Based on Nonlinear Observer: An H&#x221e; Method</article-title>. <source>Energies</source> <volume>10</volume> (<issue>5</issue>), <fpage>679</fpage>. <pub-id pub-id-type="doi">10.3390/en10050679</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A State of Charge Estimation Method for Lithium-Ion Batteries Based on Fractional Order Adaptive Extended Kalman Filter</article-title>. <source>Energy</source> <volume>187</volume>, <fpage>1255</fpage>&#x2013;<lpage>1272</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.115880</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>