# Patent

## Title
Method for estimating states and parameters of an electrochemical cell

## Abstract

A method of estimating a state of charge (SOC) and a state of health (SOH) of an electrochemical cell (EC) includes modeling the EC with a linear equation, measuring a terminal current of the EC, measuring a terminal voltage of the EC and measuring a temperature of the EC. The linear equation is processed through a time-varying state and parameter estimator based on the terminal current, the terminal voltage and the temperature to determine states and parameters of the EC.

## Background
FIELD OF THE INVENTION
The present invention relates to electrochemical power sources, and more particularly to determining states and parameters of an electrochemical power source.
BACKGROUND OF THE INVENTION
Electrical power sources, such as batteries or fuel cells, are made up of an array of electrochemical cells. The state of charge (SOC) of the electrochemical cell (EC) indicates the amount of usable energy stored within the EC at a given time. It is analogous to the amount of fuel in a fuel tank. In order to improve EC life and overall EC performance, the EC must be maintained at an optimal SOC. The state of health (SOH) of an EC indicates the physical condition of the EC. The SOH is based on observing particular EC parameters to determine the extent of unobservable, internal damage or degradation.
An EC can be considered a system that has current and heat flow as inputs and responses of voltage and temperature. The voltage response of the EC to current stimulation is described using a combination of voltages and a current source. These voltages include an equilibrium potential, voltage resulting from hysteresis effects, voltage resulting from ohmic resistance drops, and voltage resulting from dynamics in the EC, or double-layer voltage. Each of these voltages can be described by either an algebraic function, a differential equation or a convolution integral. The current source is indicative of a self-discharge current of the EC.
During use, resistance, equilibrium potential, voltage resulting from hysteresis effects, voltage resulting from ohmic resistance drops, double-layer voltage, and self-discharge current are not directly measurable. These values influence the SOC and the parameters that indicate the SOH of the EC. Because they are not directly measurable, it is often difficult to accurately determine the SOC and SOH of the EC. Therefore, it is difficult to maintain the EC at an optimal SOC or to determine when the SOH has degraded to a point where EC performance is significantly effected.
SUMMARY OF THE INVENTION
Accordingly, the present invention provides a method of estimating a state of charge (SOC) and a state of health (SOH) of an electrochemical cell (EC). The method includes modeling the EC with a linear equation, measuring a terminal current of the EC, measuring a terminal voltage of the EC and measuring a temperature of the EC. The linear equation is processed through a time-varying state and parameter estimator based on the terminal current, the terminal voltage and the temperature to determine states and parameters of the EC.
In one feature, the states include the SOC and ohmic resistance of the EC.
In another feature, the parameters include a variable, a charge variable and a discharge variable of the EC. The SOH is determined based on the variable, the charge variable and the discharge variable.
In another feature, the linear equation is a process model that models changes in the states and parameters of the EC based on current.
In another feature, the method further includes determining synthesized inputs based on the terminal current, the terminal voltage and the temperature. Processing is further based on the synthesized inputs.
In still another feature, the step of processing the linear equation includes predicting current states based on prior states and predicting current error of the states based on prior errors of the states. Current state gains are determined based on the current error of the states and the current states are updated based on the prior states and the current state gains to provide the states of the EC. The states include the SOC and ohmic resistance of the EC. The state errors are continuously updated.
In yet another feature, the step of processing the linear equation includes predicting current parameters based on prior parameters and predicting current error of the parameters based on prior errors of the parameters. Current parameter gains are determined based on the current error of the parameters and the current parameters are updated based on the prior parameters and the current parameter gains to provide the parameters of the EC. The parameters include a variable, a charge variable and a discharge variable of the EC, the parameter errors are continuously updated.
Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
FIG. 1 is a functional block diagram of a system including a power source, a load powered by the battery and a generator to recharge the power source;
FIG. 2 is a schematic diagram of the power source;
FIG. 3 is a graph illustrating state of charge (SOC) versus open-circuit voltage (OCV) for an exemplary lead-acid (Pba) electrochemical cell;
FIG. 4 is a signal flow diagram of an electrochemical cell state and parameter estimator according to the present invention;
FIG. 5 is a flowchart illustrating the electrochemical cell state and parameter estimation control according to the present invention;
FIG. 6 is a flowchart illustrating processing of synthesis functions for the electrochemical cell state and parameter estimation control of FIG. 4;
FIG. 7 is a flowchart illustrating state estimation for the electrochemical cell state and parameter estimation control of FIG. 4; and
FIG. 8 is a flowchart illustrating parameter estimation for the electrochemical cell state and parameter estimation control of FIG. 4.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The following description of the preferred embodiment is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements.
Referring now to FIG. 1, a system 10 includes a regenerative power source 12 that is discharged as it powers a load 14. The power source 12 is made up of an array of electrochemical cells (EC's) (not shown). The EC's are selectively recharged by a generator 16. Operation of the generator is controlled by a controller 18. Sensors 20 communicate with the EC's and generate a terminal voltage signal (Vt), a terminal current signal (It) and a temperature signal (T). The controller 18 processes the signals according to the estimator control of the present invention to estimate states and parameters of the EC's. The controller 18 signals the generator 16 to operate based on the estimates.
Although the system 10 is a generic power system, it is indicative of a vehicle power system. In such a case, the power source 12 powers loads such as headlamps, heaters, power seats, windows, and the like. The vehicle's engine drives the generator 16 (i.e. alternator), to produce recharging current.
Referring now to FIG. 2, the power source is schematically modeled in terms of an equilibrium potential or open-circuit voltage (Vo), a voltage resulting from hysteresis effects (Vhyst), a voltage resulting from ohmic resistance drops (Vohmic), a voltage resulting from dynamics in the battery or double-layer voltage (Vdl) and a self-discharge current (ISD). Vo can be determined based on Vdl and Vhyst. Vdl and Vhyst are determined using an open loop model. These voltages are subtracted from a measurable terminal voltage (Vt) to determine V. Knowing Vo is sufficient to estimate the SOC of the battery given a function that maps Vo to SOC. An empirical fit of the SOC to Vo for an exemplary power source is shown in FIG. 3. The exemplary power source of FIG. 3 is a PbA battery. Although the power source model of FIG. 2 does not include all of the existing behaviors, testing and experience has shown that this model is sufficient for SOC estimation, power control and diagnostics for automotive applications.
The present invention provides a general state and parameter estimator to estimate the SOC and SOH of an EC. The SOC and SOH estimates are used to operate and/or diagnose the EC or array of EC's. The estimator is a Kalman Filter (KF)-based state and parameter estimator. A standard Kalman Filter (KF) combines the concept of recursive least squares estimation with a state space model and noise model to optimally estimate a system characteristic. The KF estimates the characteristic of the system based on a linear model of the system. The linear model of the system includes a linear dynamic model, a description of the covariance of the errors in the system dynamics, and a description of the covariance of the errors in system measurements. The linear model is expressed in state space form as:

xk+1=Akxk+Bkuk+wk (Process Model); and

yk=Fkxk+Gkuk+rk (Measurement Model)

where:

    
    
        xk is the state vector (i.e. what is to be estimated);
        yk is the measurement vector (known);
        uk is the deterministic input to the battery (known);
        wk is the process noise (i.e. random inputs into the system);
        rk is the measurement noise (i.e. random noise that affects measurements); and
        Ak, Bk, Fk, Gk are the system matrices (known).
    
    


The KF estimates the characteristic by using a form of feedback control. In short, the KF estimates the characteristic at some time and then obtains feedback in the form of noisy measurements. The KF equations fall into two groups: time update equations (predictor) and measurement equations (corrector). The time update equations project the current characteristic and error covariance estimates to obtain estimates for the next time step. The measurement update equations incorporate new measurements into the estimates to obtain an improved or updated estimate.
The KF-based estimator of the present invention introduces a mechanism that propagates state and parameter estimates (x and p, respectively) based on EC dynamics. The estimator propagates the estimate error covariance based on EC dynamics and knowledge of how noise affects the EC. The EC is a non-linear system. However, the KF-based state and parameter estimator simplifies the system by either linearizing non-linearities or removing them. Further, the KF-based state and parameter estimator accounts for time varying parameters to more quickly improve estimate errors. The controller processes the KF-based state and parameter estimator and controls other components of the system 10 in response to the state and parameter estimates.
The state estimates generally include SOC, ohmic resistance (Ro) and double layer voltage (Vdl). As used herein, the acronym VRV indicates the state estimates. The parameter estimates include a variable (f), a charge variable (bcharge) and a discharge variable (bdischarge). As used herein, the acronym fbb indicates the parameter estimates. The variables f, bcharge and bdischarge are based on the dynamic impedance (Zdyn) of the EC. Zdyn is based on the resistance (Rct), double layer capacitance (Cdl) and time constant (T).
As used herein, the notation k indicates the present iteration of time. The notation k|k indicates the present iteration evaluated using information presently available (i.e. updating or correcting). The notation k|k−1 indicates the present iteration evaluated using past (stored) information (i.e. estimating). Additionally, the notation z−N, more specifically z−1, indicates a unit delay.
In general, the ECSP estimator includes six processing models: a synthesis model, a state prediction model, a parameter prediction model, a measurement model, an estimate correction model and an error propagation model. The notation (^) indicates variables determined using the measurement model. Initially, Vt, It and T are measured for the EC. These values are processed through the synthesis model to provide an input vector usyn. The input vector is provided as:




  
    u
    syn
  
  =
  
    [
    
      
        
          
            V
            t
          
        
      
      
        
          
            I
            k
          
        
      
      
        
          
            I
            
              charge
              ,
              k
            
          
        
      
      
        
          
            I
            
              discharge
              ,
              k
            
          
        
      
      
        
          T
        
      
    
    ]
  




where:

I=It−fSD(Qsoc,k|k,T)

Icharge=max(0,I)

Idischarge=min(0,I)

The measurement model is provided as:



  
    
      
        V
        ^
      
      t
    
    =
    
      
        
          f
          QtoV
        
        ⁡
        
          (
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            ,
            T
          
          )
        
      
      +
      
        
          I
          1000
        
        ·
        
          R
          
            o
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      +
      
        V
        
          dl
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
    
  




  
    
      
        V
        ^
      
      dl
    
    =
    
      
        
          f
          
            k
            ❘
            
              k
              -
              1
            
          
        
        ·
        
          (
          
            
              
                V
                ^
              
              
                dl
                ,
                
                  k
                  ❘
                  k
                
              
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
      +
      
        
          b
          
            c
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        ·
        
          (
          
            
              I
              c
            
            1000
          
          )
        
      
      +
      
        
          b
          
            d
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        ⁡
        
          (
          
            
              
                I
                d
              
              1000
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
    
  




  
    
      y
      ^
    
    =
    
      [
      
        
          
            
              
                V
                ^
              
              t
            
          
        
        
          
            
              
                V
                ^
              
              dl
            
          
        
      
      ]
    
  



The state prediction model propagates (predicts) the estimated state and parameter values (xk,ρk) and the covariance (P) of the respective estimate errors based on prior information. The state prediction model is provided as:

ηCE=fchargeff(QSOC,k|k,T)




  
    
      Q
      
        SOC
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        Q
        
          SOC
          ,
          
            k
            ❘
            k
          
        
      
      +
      
        
          (
          
            
              
                η
                CE
              
              ·
              
                I
                c
              
            
            +
            
              I
              d
            
          
          )
        
        ·
        
          1
          3600
        
      
    
  




  
    
      V
      
        dl
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        
          f
          
            k
            ❘
            k
          
        
        ·
        
          V
          
            dl
            ,
            
              k
              ❘
              k
            
          
        
      
      +
      
        
          b
          
            c
            ,
            
              k
              ❘
              k
            
          
        
        ·
        
          
            I
            c
          
          1000
        
      
      +
      
        
          b
          
            d
            ,
            
              k
              ❘
              k
            
          
        
        ·
        
          
            I
            d
          
          1000
        
      
    
  




  
    
      x
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  



The parameter prediction model is provided as:

Ro,k|k−1=Ro,k|k

fk|k−1=fk|k

bc,k|k−1=bc,k|k

bd,k|k−1=bd,k|k 





  
    ρ
    
      k
      ❘
      
        k
        -
        1
      
    
  
  =
  
    [
    
      
        
          
            R
            
              o
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            f
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      
        
          
            b
            
              c
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            b
            
              d
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




The next measurement is obtained and the estimator updates (corrects) the predicted xk and ρk based on the current measurements. The predicted covariance (P) of the respective estimate errors is updated based on the measurements. The order of these operations can vary.
The estimator implements the following relationships and matrices for state estimation:



  
    
      A
      VRV
    
    =
    
      [
      
        
          
            1
          
          
            0
          
          
            0
          
        
        
          
            0
          
          
            1
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            
              x
              
                fbb
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  




  
    
      B
      VRV
    
    =
    
      [
      
        
          
            0
          
          
            
              
                f
                
                  charg
                  ⁢
                  
                    
                  
                  ⁢
                  eff
                
              
              ⁡
              
                (
                
                  
                    Q
                    
                      soc
                      ,
                      
                        k
                        -
                        1
                      
                    
                  
                  ,
                  
                    T
                    k
                  
                  ,
                  
                    I
                    k
                  
                
                )
              
            
          
          
            1
          
        
        
          
            0
          
          
            
              
                x
                
                  fbb
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              /
              1000
            
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            
              
                x
                
                  fbb
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              /
              1000
            
          
        
      
      ]
    
  




  
    
      C
      VRV
    
    =
    
      [
      
        
          
            f
            
              V
              /
              Q
            
          
          ⁡
          
            (
            
              
                Q
                
                  SOC
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
              ,
              
                T
                k
              
            
            )
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              I
              k
            
            ⁢
            
              
            
          
          1000
        
        ⁢
        
          
        
        ⁢
        1
      
      ]
    
  



QVRV=fQVRV(QSOC,k|k,T,I)

RVRV=fRVRV(I)

The state estimate correction model includes a state gain matrix (KVRV) based on the state error covariance (PVRV,k|k−1), the matrix CVRV and RVRV. KVRV is calculated according to the following equation:




  
    K
    VRV
  
  =
  
    
      P
      
        VRV
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    ·
    
      C
      VRV
      t
    
    ·
    
      
        (
        
          
            
              C
              VRV
            
            ·
            
              P
              
                VRV
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            ·
            
              C
              VRV
              t
            
          
          +
          
            R
            VRV
          
        
        )
      
      
        -
        1
      
    
  




A previously stored state estimate (xk|k−1) is updated to determine a present state estimate (xk|k). The current state estimate is determined based on xk|k−1, KVRV and an a posteriori error (eVRV). The error is defined as the difference between the actual Vt and the terminal voltage based on the measurement ({circumflex over (V)}t). The present state estimate is determined according to the following equation:

xVRV,k|k=xVRV,k|k−1+KVRV·eVRV

The state estimate is propagated based on the present state estimate according to the following equation:

xVRV,k+1|k=AVRV·xVRV,k|k+BVRV·uVRV

The state estimate error covariance (PVRV) is propagated based on the updated state estimate error covariance PVRV,k according to the following equation:




  
    P
    
      VRV
      ,
      
        
          k
          +
          1
        
        ❘
        k
      
    
  
  =
  
    
      
        A
        VRV
      
      ·
      
        P
        
          VRV
          ,
          
            k
            ❘
            k
          
        
      
      ·
      
        A
        VRV
        t
      
    
    +
    
      Q
      VRV
    
  




To summarize state estimation, the estimator inputs include: Vt,k, It,k, Tk, ρfbb,k|k−1, xVRV,k|k−1 and PVRV,k|k−1. The values Vt,k, It,k and Tk are directly measured from the EC. The values xVRV,k|k−1 and PVRV,k|k−1 are previously determined and retrieved from memory. The estimator outputs include: xVRV,k+1|k, PVRV,k+1|k, xVRV,k|k and PVRV,k|k. The values xVRV,k+1|k and PVRV,k+1|k are stored in memory for use during the next iteration. The value xVRV,K|k defines the estimated SOC, ohmic resistance (Ro) and double layer voltage (Vdl). These values are used to operate the system and/or diagnose the EC.
The estimator implements the following relationships and matrices for parameter estimation:

Vdl,k|k=xVRV,k|k

Vdl,k−1|k−1=xVRV,k−1|k−1

yfbb,k=Vdl,k|k

fk−1=ρfbb,k−1|k−1




  
    
      C
      fbb
    
    =
    
      [
      
        
          V
          
            dl
            ,
            
              
                k
                -
                1
              
              ❘
              
                k
                -
                1
              
            
          
        
        ⁢
        
          
            I
            
              c
              ,
              
                k
                -
                1
              
            
          
          1000
        
        ⁢
        
          
        
        ⁢
        
          
            I
            
              d
              ,
              
                k
                -
                1
              
            
          
          1000
        
      
      ]
    
  




  
    
      Q
      fbb
    
    =
    
      
        f
        
          fbb
          ⁢
          
            
          
          ⁢
          _
          ⁢
          
            
          
          ⁢
          Q
        
      
      ⁡
      
        (
        ...
        )
      
    
  




  
    
      R
      fbb
    
    =
    
      
        (
        
          1
          +
          
            f
            
              k
              -
              1
            
          
        
        )
      
      ·
      
        P
        
          VRV
          ,
          
            k
            ❘
            k
          
        
      
    
  



To estimate ρfbb, the estimate correction model includes a parameter gain matrix (Kfbb) based on the parameter error covariance (Pfbb,k|k−1), the matrix Cfbb and Rfbb. Kfbb is calculated according to the following equation:




  
    K
    fbb
  
  =
  
    
      P
      
        fbb
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    ·
    
      C
      fbb
      t
    
    ·
    
      
        (
        
          
            C
            fbb
          
          ⁣
          
            
              ·
              
                P
                
                  fbbk
                  ❘
                  
                    k
                    -
                    1
                  
                
              
              ·
              
                C
                fbb
                t
              
            
            +
            
              R
              fbb
            
          
        
        )
      
      
        -
        1
      
    
  




A previously stored parameter estimate (ρk|k−1) is updated to determine a current parameter estimate (ρk|k). The current parameter estimate is determined based on ρk|k−1, Kfbb and an a posteriori error (efbb,k). The error is defined as the difference between the actual Vdl and the {circumflex over (V)}dl, which is based on the measurement. The current parameter estimate is determined according to the following equation:

ρfbb,k|kρfbb,k|k−1+Kfbb·efbb

The parameter estimate error covariance (Pfbb) is propagated according to the following equation:




  
    P
    
      fbb
      ,
      
        
          k
          +
          1
        
        ❘
        k
      
    
  
  =
  
    
      
        A
        fbb
      
      ·
      
        P
        
          fbb
          ,
          
            k
            ❘
            k
          
        
      
      ·
      
        A
        fbb
        t
      
    
    +
    
      Q
      fbb
    
  




The parameter estimate is propagated based on the present state estimate according to the following equation:

ρfbb,k+1|k=Afbb·ρfbb,k|k+Bfbb·ufbb

To summarize parameter estimation, the estimator inputs include: It,k, Tk, ρfbb,k|k−1, xVRV,k|k, xVRV,k−1|k−1, PVRV,k|k, xfbb,k|k−1 and Pfbb,k|k−1. The values It,k and Tk are directly measured from the EC. The values ρfbb,k|k−1, xVRV,k|k−1 and PVRV,k|k−1 are previously determined and retrieved from memory. The estimator outputs include: ρfbb,k+1|k, Pfbb,k+1|k, ρfbb,k|k and Pfbb,k|k. The values ρfbb,k+1|k and Pfbb,k+1|k are stored in memory for use during the next iteration. The value ρfbb,k|k defines the estimated ohmic resistance (Ro), f, bcharge and bdischarge. These values are used to operate the system and/or diagnose the EC.
Referring now to FIG. 4, a signal flow for the general EC state and parameter (ECSP) estimator will be described. Voltage (V), current (I) and temperature (T) are measured for the EC at 100. At 102, the V, I and T signals are processed through the synthesis functions by the controller 18. As described above, the synthesis functions produce the input vector signal (usyn). The input vector signal (usyn) is processed in the various models and functions of the ECSP estimator.
The input vector signal is processed through the state predictor model to produce a state estimate signal (xk|k−1) at 104. The state estimate signal is stored in a buffer at 106 for later processing. At 108, the parameter predictor model processes the input vector signal to produce a parameter estimate signal (ρk|k−1). The parameter estimate signal is stored in a buffer at 110 for later processing. The input vector signal is processed through the error predictor model at 112 to produce an error estimate signal (Pk|k−1). The error estimate signal is stored in a buffer for later processing at 114.
The state and parameter estimate signals (xk|k−1, ρk|k−1) are pushed from their respective buffers to the measurement model at 116. The input signal (usyn) and corrected state, parameter and error signals (xk|k, ρk|k, Pk|k, respectively) are processed in the measurement model with the estimated state and parameter estimate signals (xk|k−1, ρk|k−1). The measurement model produces a voltage signal (y).
At 118, the voltage signal (y) is processed through the correction function with the input signal (usyn), the state and parameter estimate signals (xk|k−1, ρk|k−1) and the error estimate signal (Pk|k−1). The correction function produces the corrected state signal (xk|k), the corrected parameter signal (ρk|k), and a corrected error signal (Pk|k). The corrected state signal is processed with the input signal through the state predictor model to produce the state estimate signal. The corrected parameter signal is processed with the input signal through the parameter predictor model to produce the parameter estimate signal. The corrected error signal is processed with the input signal through the error predictor model to produce the error estimate signal.
Referring now to FIG. 5, the ECSP estimator control will be described in detail. In step 500, control determines whether the system is on. If so, control continues in step 502. If not, control loops back. Control determines initial values for xVRV, ρfbb, PVRV and Pfbb in step 502. Initial values for the power source states and parameters are pre-programmed in memory. Certain assumptions are required to determine these initial values. The initial values are selected to minimize the error between the actual states and the assumed states to enable quicker error reduction. Assumptions are also required for the measurement and process noises. In step 504, control sets a counter (k) equal to 1.
In step 506, the voltage(Vt), current (It) and temperature (T) are measured. In step 508, control processes the measurements with the synthesis functions to produce the input signal. This is described in further detail with reference to FIG. 6. Control determines the corrected state estimates and the corrected parameter estimates in steps 510 and 512, respectively. Calculation of the corrected state estimates and the corrected parameter estimates is described in more detail with reference to FIGS. 7 and 8, respectively.
In step 514, control operates and/or diagnoses the system based on the corrected state and parameter estimates. In step 516, control determines whether the system is off. If not, control increments the counter in step 518 and loops back to step 506. If so, control ends.
Referring now to FIG. 6, control determines the input signal (usyn) based on the measurements Vt, It and T in step 600. In particular, control determines I, Ic and Id. As described above, the input signal (usyn) is a vector including Vt, I, Ic, Id and T.
Referring now to FIG. 7, the process to determine the state estimate will be described. In step 700, control loads the matrices used to determine the VRV state estimate. These matrices are shown above. Control calculates the state gain matrix (KVRV) in step 702. In step 704, control estimates the current state estimate (xVRV,k|k−1) based on prior information. In step 706, control estimates the current error covariance estimate (PVRV,k|k−1) based on prior information. In step 706, control updates the stored state estimate (xVRV,k|k). In step 710, control updates the stored error covariance estimate (PVRV,k|k). In step 712, control stores the updated estimates xVRV,k|k and PVRV,k|k.
Referring now to FIG. 8, the process to determine the parameter estimate will be described. In step 800, control loads the matrices used to determine the parameter estimate (fbb). These matrices include are described above. Control calculates the parameter gain matrix (Kfbb) in step 802. In step 804, control estimates the current parameter estimate (ρfbb,k|k−1) based on prior information. In step 806, control estimates the current error covariance estimate (Pfbb,k|k−1) based on prior information. In step 810, control updates the stored parameter estimate (ρfbb,k|k). In step 810, control updates the stored error covariance estimate (Pfbb,k|k). In step 812, control stores the updated estimates ρfbb,k|k and Pfbb,k|k.
In sum, the ECSP estimator process Vt,k, It,k and T through the various models to provide estimate stats and parameter outputs.
The state outputs are provided as:




  
    x
    
      VRV
      ,
      
        
          k
          +
          1
        
        ❘
        k
      
    
  
  =
  
    [
    
      
        
          
            Q
            SOC
          
        
      
      
        
          R
        
      
      
        
          
            V
            dl
          
        
      
    
    ]
  




The parameter outputs are provided as:





  
    ρ
    
      jbb
      ,
      
        
          k
          +
          1
        
        ❘
        k
      
    
  
  =
  
    [
    
      
        
          f
        
      
      
        
          
            b
            
              o
              ,
              charge
            
          
        
      
      
        
          
            b
            
              o
              ,
              discharge
            
          
        
      
    
    ]
  




The state and parameter outputs are used to operate and diagnose the power source.

The present invention further provides variants of the general ECSP estimator described in detail above. The estimator variants described herein operate using the same logic as described in FIGS. 5 through 8. However, the relationships and matrices that power the variants vary based on the particular design goal of each.
A first variant is directed toward symmetric or asymmetric impedance batteries. The first variant uses a general characterization of the EC, introduces hysteresis effects and uses multiple independent descriptions of estimate errors. The first variant estimator can be used on either symmetric or asymmetric impedance EC's with only calibration changes. The use of characterization data to improve estimator performance with little additional processing. The characterization data includes the rate of change on R, f and b with respect to state variables such as Q and T. Exemplary characterization data includes: dR/DQ, dR/dT, df/dQ, df/dT, db/dQ and db/dT.
The first variant inputs are provided as:




  
    u
    syn
  
  =
  
    [
    
      
        
          
            
            ⁢
            I
          
        
      
      
        
          
            I
            charge
          
        
      
      
        
          
            
            ⁢
            
              I
              discharge
            
          
        
      
    
    ]
  




ysyn=[Vt]

where the synthesis model provides:

I=It−ISD(Qsoc,k|k,T)

Ie=max(I,0)

Id=min(I,0)

The equations of the state prediction model for the first estimator variant are provided as:

ηCE=fchargeeff(QSOC,k|k,T)

r=fr(QSOC,k|k,T)

fo=ff(QSOC,k|k,T)

bo=fb(QSOC,k|k,T)





  
    Q
    
      SOC
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      Q
      
        SOC
        ,
        
          k
          ❘
          k
        
      
    
    +
    
      
        (
        
          
            
              η
              CE
            
            ·
            
              I
              c
            
          
          +
          
            I
            d
          
        
        )
      
      ·
      
        1
        3600
      
    
  




QH,k|k−1=β(Ic·ηCE+Id)·[QH,max(QSOC,k|k,T)−sign(I)·QH,k|k]




  
    
      V
      
        dl
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        
          (
          
            
              f
              
                offset
                ,
                
                  k
                  ❘
                  k
                
              
            
            +
            
              f
              o
            
          
          )
        
        ·
        
          V
          
            dl
            ,
            
              k
              ❘
              k
            
          
        
      
      +
      
        
          (
          
            
              b
              
                offset
                ,
                
                  k
                  ❘
                  k
                
              
            
            +
            
              b
              o
            
          
          )
        
        ·
        
          (
          
            
              
                I
                c
              
              1000
            
            +
            
              r
              ·
              
                
                  I
                  d
                
                1000
              
            
          
          )
        
      
    
  




  
    
      x
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              Q
              
                H
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  



The equations of the parameter prediction model for the first estimator variant are provided as:

dRdQ=fdRdt(QSOC,k|k ,T)

dRdT=fdRdt(QSOC,k|k,T)





  
    R
    
      offset
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      R
      
        offset
        ,
        
          k
          ❘
          k
        
      
    
    +
    
      dRdQ
      ·
      
        (
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  k
                
              
            
            ·
            
              (
              
                1
                -
                
                  z
                  
                    -
                    1
                  
                
              
              )
            
          
          Ts
        
        )
      
    
    +
    
      dRdT
      ·
      
        (
        
          
            T
            ·
            
              (
              
                1
                -
                
                  z
                  
                    -
                    1
                  
                
              
              )
            
          
          Ts
        
        )
      
    
  




dfdQ=fdfdt(QSOC,k|k,T)

dfdT=fdfdT(QSOC,k|k,T)





  
    f
    
      offset
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      f
      
        offset
        ,
        
          k
          ❘
          k
        
      
    
    +
    
      dfdQ
      ·
      
        (
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  k
                
              
            
            ·
            
              (
              
                1
                -
                
                  z
                  
                    -
                    1
                  
                
              
              )
            
          
          Ts
        
        )
      
    
    +
    
      dfdT
      ·
      
        (
        
          
            T
            ·
            
              (
              
                1
                -
                
                  z
                  
                    -
                    1
                  
                
              
              )
            
          
          Ts
        
        )
      
    
  




dbdQ=fdfdt(QSOC,k|k,T)

dbdT=fdfdT(QSOC,k|k,T)




  
    
      b
      
        offset
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        b
        
          offset
          ,
          
            k
            ❘
            k
          
        
      
      +
      
        dbdQ
        ·
        
          (
          
            
              
                Q
                
                  SOC
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
              ·
              
                (
                
                  1
                  -
                  
                    z
                    
                      -
                      1
                    
                  
                
                )
              
            
            Ts
          
          )
        
      
      +
      
        dbdT
        ·
        
          (
          
            
              T
              ·
              
                (
                
                  1
                  -
                  
                    z
                    
                      -
                      1
                    
                  
                
                )
              
            
            Ts
          
          )
        
      
    
  




  
    
      ρ
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      [
      
        
          
            
              R
              
                offset
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              f
              
                offset
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              b
              
                offset
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  



The equations of the measurement model for the first estimator variant are provided as:

Ro=fRo(QSOC,k|k,T)





  
    V
    ^
  
  =
  
    
      
        f
        QtoV
      
      ⁡
      
        (
        
          
            Q
            
              SOC
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
          ,
          T
        
        )
      
    
    +
    
      
        I
        1000
      
      ·
      
        (
        
          
            R
            o
          
          +
          
            R
            
              offset
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
        )
      
    
    +
    
      V
      
        dl
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    +
    
      
        f
        
          
            Q
            H
          
          ⁢
          
            toV
            H
          
        
      
      ⁡
      
        (
        
          
            Q
            
              SOC
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
          ,
          
            Q
            
              H
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
        )
      
    
  




r=fr(QSOC,k|k,T)

fo=f71(QSOC,k|k,T)

bo=fb(QSOC,k|k,T)




  
    
      
        V
        ^
      
      dl
    
    =
    
      
        
          (
          
            
              f
              o
            
            +
            
              f
              
                offset
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
          )
        
        ·
        
          (
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  k
                
              
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
      +
      
        
          (
          
            
              b
              o
            
            +
            
              b
              
                offset
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
          )
        
        ·
        
          (
          
            
              
                
                  I
                  c
                
                1000
              
              ·
              
                z
                
                  -
                  1
                
              
            
            +
            
              r
              ·
              
                
                  I
                  d
                
                1000
              
              ·
              
                z
                
                  -
                  1
                
              
            
          
          )
        
      
    
  




  
    
      y
      ^
    
    =
    
      [
      
        
      
      ⁢
      
        
          
            
              
                V
                ^
              
              t
            
          
        
        
          
            
              
                V
                ^
              
              dl
            
          
        
      
      ]
    
  



The equations of the estimate correction model for the first estimator variant are provided as:

CVRV=└fcVdQ(QSOC,k|k−1,T)+fdRdQ(QSOC,k|k−1,T)·IIIfdVdQH(QSOC,k|k−1,T)┘

RVRV=fRVRV(I)





  
    x
    
      VRV
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    [
    
      
        
          
            Q
            
              SOC
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            R
            
              offset
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            V
            
              dl
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            Q
            
              H
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




eVRV=Vt−{circumflex over (V)}t 





  
    
      
        
          K
          VRV
        
        =
        
        ⁢
        
          
            P
            
              VRV
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
          ·
          
            C
            VRV
            t
          
          ·
          
            
              (
              
                
                  
                    C
                    VRV
                  
                  ·
                  
                    P
                    
                      VRV
                      ,
                      
                        k
                        ❘
                        
                          k
                          -
                          1
                        
                      
                    
                  
                  ·
                  
                    C
                    VRV
                    t
                  
                
                +
                
                  R
                  VRV
                
              
              )
            
            
              -
              1
            
          
        
      
    
  
  
    
      
        
          x
          
            VRV
            ,
            
              k
              ❘
              k
            
          
        
        =
        
        ⁢
        
          
            [
            
              
                
                  
                    Q
                    
                      SOC
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
              
                
                  
                    R
                    
                      offset
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
              
                
                  
                    V
                    
                      dl
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
              
                
                  
                    Q
                    
                      H
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
            
            ]
          
          =
          
            
              x
              
                VRV
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            +
            
              
                K
                VRV
              
              ·
              
                e
                VRV
              
            
          
        
      
    
  




PVRV,k|k=(1−KVRV·CVRV)·PVRV,k|k−1

r=fr(QSOC,k|k,T)

Cfbb=[Vdl,k|k·z−1(Ic·z−1+(r·Id)·z−1)]

fo=ff(QSOC,k|k,T)

Rfbb=(1+fo+fplus)·PVRV,k|k





  
    x
    
      fbb
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    [
    
      
        
          
            f
            
              offset
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            b
            
              offset
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




efbb=Vdl,k|k−{circumflex over (V)}dl 





  
    
      
        
          K
          fbb
        
        =
        
        ⁢
        
          
            P
            
              fbb
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
          ·
          
            C
            fbb
            t
          
          ·
          
            
              (
              
                
                  
                    C
                    fbb
                  
                  ·
                  
                    P
                    
                      fbb
                      ,
                      
                        k
                        ❘
                        
                          k
                          -
                          1
                        
                      
                    
                  
                  ·
                  
                    C
                    fbb
                    t
                  
                
                +
                
                  R
                  fbb
                
              
              )
            
            
              -
              1
            
          
        
      
    
  
  
    
      
        
          x
          
            fbb
            ,
            
              k
              ❘
              k
            
          
        
        =
        
        ⁢
        
          
            [
            
              
                
                  
                    f
                    
                      offset
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
              
                
                  
                    b
                    
                      offset
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
              
            
            ]
          
          =
          
            
              x
              
                fbb
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            +
            
              
                K
                fbb
              
              ·
              
                e
                fbb
              
            
          
        
      
    
  




Pfbb,k|k=(1−Kfbb·Cfbb)·Pfbb,k|k−1

The equations of the error propagation model for the first estimator variant are provided as:

fo=ff(QSOC,k|k,T)





  
    A
    VRV
  
  =
  
    [
    
      
        
          1
        
        
          0
        
        
          0
        
        
          0
        
      
      
        
          0
        
        
          1
        
        
          0
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          
            (
            
              
                f
                o
              
              +
              
                f
                
                  offset
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
            
            )
          
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          0
        
        
          1
        
      
    
    ]
  




QVRV=fQVRV(QSOC,k|k, T,I)

Qfbb=fQfbb(QSOC,k|k,T,I)





  
    P
    
      VRV
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      
        A
        VRV
      
      ·
      
        P
        
          VRV
          ,
          
            k
            ❘
            k
          
        
      
      ·
      
        A
        VRV
        t
      
    
    +
    
      Q
      VRV
    
  




Pfbb,k|k−1=Pfbb,k|k+Qfbb

Pk|k−1={PVRV,k|k−1,Pfbb,k|k−1}

The outputs of the second variant are provided as:



  
    
      x
      
        k
        ❘
        k
      
    
    =
    
      [
      
        
          
            
              Q
              SOC
            
          
        
        
          
            
              V
              dl
            
          
        
        
          
            
              Q
              H
            
          
        
      
      ]
    
  




  
    
      ρ
      
        k
        ❘
        k
      
    
    =
    
      [
      
        
          
            
              R
              offset
            
          
        
        
          
            
              f
              offset
            
          
        
        
          
            
              b
              offset
            
          
        
      
      ]
    
  




  
    
      P
      
        k
        ❘
        k
      
    
    =
    
      {
      
        
          P
          VRV
        
        ,
        
          P
          fbb
        
      
      }
    
  



A second variant learns the impulse response of the linearized system to learn the impedance of the system. The second variant uses a finite impulse response and ordinary differential equation parameters to adapt to the power source characteristics using a single, unified description of the estimate errors (i.e. single matrix). The impulse response is learned as a set of discrete values that are spaced in time. The difference between the predicted output and the measured output is used to drive updates to the learned impulse response.
The input vector of the second variant is provided as:




  
    u
    syn
  
  =
  
    [
    
      
        
          
            V
            t
          
        
      
      
        
          I
        
      
      
        
          
            I
            c
          
        
      
      
        
          
            I
            d
          
        
      
      
        
          T
        
      
    
    ]
  




where:

I=It−ISD(Qsoc,k|k,T)

Ic,inst=max(I,0)

Id,inst=min(I,0)

Ic=[Ic,instIc,inst·z−1Ic,inst·−2. . . ]t

Id=[Id,instId,inst·z−1Id,inst·z−2. . . ]t

The equations of the state prediction model for the second estimator variant are provided as:

ηCE=fchargeeff(QSOC,k|k,T)

r=fr(QSOC,k|k,T)

fo=ff(QSOC,k|k,T)

bo=fb(QSOC,k|k,T)





  
    Q
    
      SOC
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      Q
      
        SOC
        ,
        
          k
          ❘
          k
        
      
    
    +
    
      
        (
        
          
            
              η
              CE
            
            ·
            
              I
              c
            
          
          +
          
            I
            d
          
        
        )
      
      ·
      
        1
        3600
      
    
  




QH,k|k−1=β(Ic·ηCE+Id)·[QH,max(QSOC,k|k,T)−sign(I)·QH,k|k]





  
    
      
        
          V
          
            dl
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        =
        
        ⁢
        
          
            
              (
              
                f
                o
              
              )
            
            ·
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  k
                
              
            
          
          +
          
            
              (
              
                b
                o
              
              )
            
            ·
            
              (
              
                
                  
                    I
                    c
                  
                  1000
                
                +
                
                  r
                  ·
                  
                    
                      I
                      d
                    
                    1000
                  
                
              
              )
            
            ·
            
              z
              
                -
                n
              
            
          
        
      
    
  
  
    
      
        
          x
          
            k
            ❘
            
              k
              -
              1
            
          
        
        =
        
        ⁢
        
          [
          
            
              
                
                  Q
                  
                    SOC
                    ,
                    
                      k
                      ❘
                      
                        k
                        -
                        1
                      
                    
                  
                
              
            
            
              
                
                  V
                  
                    dl
                    ,
                    
                      k
                      ❘
                      
                        k
                        -
                        1
                      
                    
                  
                
              
            
            
              
                
                  Q
                  
                    H
                    ,
                    
                      k
                      ❘
                      
                        k
                        -
                        1
                      
                    
                  
                
              
            
          
          ]
        
      
    
  




The equations of the parameter prediction model for the second estimator variant are provided as:

Zc,k|k−1=Zc,k|k

Zd,k|k−1=Zd,k|k





  
    ρ
    
      k
      ❘
      
        k
        -
        1
      
    
  
  =
  
    [
    
      
        
          
            Z
            
              c
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            Z
            
              d
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




The equations of the measurement model for the second estimator variant are provided as:



  
    
      
        V
        ^
      
      t
    
    =
    
      
        
          f
          QtoV
        
        ⁡
        
          (
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            ,
            T
          
          )
        
      
      +
      
        Q
        H
      
      +
      
        
          I
          c
          t
        
        ·
        
          Z
          
            c
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      +
      
        
          I
          d
          t
        
        ·
        
          Z
          
            d
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      +
      
        V
        dyn
      
    
  




  
    
      y
      ^
    
    =
    
      [
      
        
          V
          ^
        
        t
      
      ]
    
  



The equations of the estimate correction model for the second estimator variant are provided as:



  
    C
    =
    
      [
      
        
          
            
              
                f
                dVdQ
              
              ⁡
              
                (
                
                  
                    Q
                    
                      SOC
                      ,
                      
                        k
                        ❘
                        
                          k
                          -
                          1
                        
                      
                      ,
                    
                  
                  ⁢
                  T
                
                )
              
            
          
          
            
              
                f
                
                  dVdQ
                  H
                
              
              ⁡
              
                (
                
                  
                    Q
                    
                      SOC
                      ,
                      
                        k
                        ❘
                        
                          k
                          -
                          1
                        
                      
                      ,
                    
                  
                  ⁢
                  T
                
                )
              
            
          
          
            1
          
          
            
              I
              c
              t
            
          
          
            
              I
              d
              t
            
          
        
      
      ]
    
  




  
    R
    =
    
      
        f
        R
      
      ⁡
      
        (
        I
        )
      
    
  




  
    
      x
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              Q
              
                H
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              V
              
                dyn
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              Z
              
                c
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              Z
              
                d
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  



e=Vt−{circumflex over (V)}t

K=Pk|k−1·Ct·(C·Pk|k−1·Ct+R)−1 





  
    x
    
      k
      ❘
      k
    
  
  =
  
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              R
              
                offset
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              Q
              
                H
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
      
      ]
    
    =
    
      
        x
        
          k
          ❘
          
            k
            -
            1
          
        
      
      +
      
        K
        ·
        e
      
    
  




Pk|k=(1−K−C)·Pk|k−1

The equations of the error propagation model for the second estimator variant are provided as:

Q=fQ(QSOC,k|k,T,I)




  
    A
    =
    
      [
      
        
          
            1
          
          
            0
          
          
            0
          
          
            0
          
          
            0
          
        
        
          
            0
          
          
            
              f
              o
            
          
          
            0
          
          
            0
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            1
          
          
            0
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            0
          
          
            1
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            0
          
          
            0
          
          
            1
          
        
      
      ]
    
  




  
    
      P
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      
        A
        ·
        
          P
          
            k
            ❘
            k
          
        
        ·
        
          A
          t
        
      
      +
      Q
    
  



The output of the second variant is provided as:

xk|k=└QSOC,k|k┘





  
    ρ
    
      k
      ❘
      k
    
  
  =
  
    [
    
      
        
          
            Z
            
              c
              ,
              
                k
                ❘
                k
              
            
          
        
      
      
        
          
            Z
            
              d
              ,
              
                k
                ❘
                k
              
            
          
        
      
    
    ]
  




A third variant is directed toward simple impedance estimation. In cases such as diagnostics (e.g. diagnosing weak EC's) or determining the characteristics of chemical reactions occurring within an EC (e.g. interface characteristics of a fuel cell), it is only necessary to learn the resistance and voltage dynamics of the EC. The third variant achieves this using a known open-circuit voltage (Vo).
The input vector of the third variant is provided as:




  
    u
    syn
  
  =
  
    [
    
      
        
          
            V
            t
          
        
      
      
        
          I
        
      
      
        
          
            I
            c
          
        
      
      
        
          
            I
            d
          
        
      
      
        
          T
        
      
    
    ]
  




where:

I=It−ISD(QSOC,k|k,T)

Ic=max(I,0)

Id=min(I,0)

The equations of the state prediction model for the third estimator variant are provided as:

r=fr(QSOC,k|k ,T)





  
    V
    
      dl
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      
        (
        
          f
          
            k
            ❘
            k
          
        
        )
      
      ·
      
        V
        
          dl
          ,
          
            k
            ❘
            k
          
        
      
    
    +
    
      
        (
        
          b
          
            k
            ❘
            k
          
        
        )
      
      ·
      
        (
        
          
            
              I
              c
            
            1000
          
          +
          
            r
            ·
            
              
                I
                d
              
              1000
            
          
        
        )
      
    
  




xk|k−1=[Vdl,k|k−1]

The equations of the parameter prediction model for the third estimator variant are provided as:

Ro,k|k−1=Ro,k|k

fk|k−1fk|k

bk|k−1=bk|k 





  
    ρ
    
      k
      ❘
      
        k
        -
        1
      
    
  
  =
  
    [
    
      
        
          
            R
            
              o
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            f
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      
        
          
            b
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
    
    ]
  




The equations of the measurement model for the third estimator variant are provided as:




  
    
      V
      ^
    
    t
  
  =
  
    
      V
      o
    
    +
    
      
        I
        1000
      
      ·
      
        R
        
          o
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
    
    +
    
      V
      
        dl
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
  




r=fr(QSOC,k|k,T)





  
    
      
        
          
            V
            ^
          
          dl
        
        =
        
        ⁢
        
          
            
              f
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
            ·
            
              (
              
                
                  V
                  
                    
                      dl
                      .
                      k
                    
                    ❘
                    k
                  
                
                ·
                
                  z
                  
                    -
                    1
                  
                
              
              )
            
          
          +
          
            
              b
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
            ·
            
              (
              
                
                  
                    
                      I
                      c
                    
                    1000
                  
                  ·
                  
                    z
                    
                      -
                      1
                    
                  
                
                +
                
                  
                    (
                    
                      r
                      ·
                      
                        
                          I
                          d
                        
                        1000
                      
                    
                    )
                  
                  ·
                  
                    z
                    
                      -
                      1
                    
                  
                
              
              )
            
          
        
      
    
  
  
    
      
        
          y
          ^
        
        =
        
        ⁢
        
          [
          
            
              
                
                  
                    V
                    ^
                  
                  t
                
              
            
            
              
                
                  
                    V
                    ^
                  
                  dl
                
              
            
          
          ]
        
      
    
  




The equations of the estimate correction model for the third estimator variant are provided as:

CVRV=[I 1]

RVRV=fRVRV(I)





  
    x
    
      VRV
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    [
    
      
        
          
            R
            
              o
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            V
            
              dl
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




eVRV=Vt−{circumflex over (V)}t 




  
    
      K
      VRV
    
    =
    
      
        P
        
          VRV
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
      ·
      
        C
        VRV
        t
      
      ·
      
        
          (
          
            
              
                C
                VRV
              
              ·
              
                P
                
                  VRV
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              ·
              
                C
                VRV
                t
              
            
            +
            
              R
              VRV
            
          
          )
        
        
          -
          1
        
      
    
  




  
    
      x
      
        VRV
        ,
        
          k
          ❘
          k
        
      
    
    =
    
      
        [
        
          
            
              
                R
                
                  o
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
            
          
          
            
              
                V
                
                  dl
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
            
          
        
        ]
      
      =
      
        
          x
          
            VRV
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        +
        
          
            K
            VRV
          
          ·
          
            e
            VRV
          
        
      
    
  



PVRV,k|k=(1−KVRV·CVRV)·PVRV,k|k−1

r=fr(QSOC,k|k,T)

Cfbb=[Vdl,k|k·z−1(Ic·z−1+(r·Id)·z−1)]

Rfbb=(1+fk|k)·PVRV,k|k





  
    x
    
      fbb
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    [
    
      
        
          
            f
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      
        
          
            b
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
    
    ]
  




efbb=Vdl,k|k−Vdl 




  
    
      K
      fbb
    
    =
    
      
        P
        
          fbb
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
      ·
      
        C
        fbb
        t
      
      ·
      
        
          (
          
            
              
                C
                fbb
              
              ·
              
                P
                
                  fbb
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              ·
              
                C
                fbb
                t
              
            
            +
            
              R
              fbb
            
          
          )
        
        
          -
          1
        
      
    
  




  
    
      x
      
        fbb
        ,
        
          k
          ❘
          k
        
      
    
    =
    
      
        [
        
          
            
              
                f
                
                  k
                  ❘
                  k
                
              
            
          
          
            
              
                b
                
                  k
                  ❘
                  k
                
              
            
          
        
        ]
      
      =
      
        
          x
          
            fbb
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        +
        
          
            K
            fbb
          
          ·
          
            e
            fbb
          
        
      
    
  



Pfbb,k|k=(1−Kfbb·Cfbb)·Pfbb,k|k−1

The equations of the error propagation model for the third estimator variant are provided as:




  
    A
    VRV
  
  =
  
    [
    
      
        
          1
        
        
          0
        
      
      
        
          0
        
        
          
            f
            
              k
              ❘
              k
            
          
        
      
    
    ]
  




QVRV=fQVRV(QSOC,k|k,T,I)

Qfbb=fQfbb(QSOC,k|k,T,I)

PVRV,k|k−1=AVRV·PVRV,k|k·At+QVRV

Pfbb,k|k−1=Pfbb,k|k+Qfbb

Pk|k−1={PVRV,k|k−1,Pfbb,k|k−1}

The output of the third variant is provided as:



  
    
      x
      
        k
        ❘
        k
      
    
    =
    
      ⌊
      
        V
        
          dl
          ,
          
            k
            ❘
            k
          
        
      
      ⌋
    
  




  
    
      ρ
      
        k
        ❘
        k
      
    
    =
    
      [
      
        
          
            
              R
              
                o
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              f
              
                k
                ❘
                k
              
            
          
        
        
          
            
              b
              
                k
                ❘
                k
              
            
          
        
      
      ]
    
  




  
    
      P
      
        k
        ❘
        k
      
    
    =
    
      {
      
        
          P
          
            VRV
            ,
            
              k
              ❘
              k
            
          
        
        ,
        
          P
          
            fbb
            ,
            
              k
              ❘
              k
            
          
        
      
      }
    
  



EC's are significantly affected by temperature and interact with any heat exchange system by generating and absorbing heat during reactions. A fourth variant provides a way to include thermodynamics and heat transfer to estimate the temperature of the reaction.
The input vector of the fourth variant is provided as:




  
    u
    syn
  
  =
  
    [
    
      
        
          
            V
            t
          
        
      
      
        
          I
        
      
      
        
          
            I
            c
          
        
      
      
        
          
            I
            d
          
        
      
      
        
          
            T
            
              cell
              ,
              meas
            
          
        
      
      
        
          
            T
            coolant
          
        
      
    
    ]
  




where:

I=It−ISD(QSOC,k|k,Tcell)

Ic=max(I,0)

Id=min(I,0)

The equations of the state prediction model for the fourth estimator variant are provided as:

ηCE=fchargeeff(QSOC,k|k,Tcell,k|k)




  
    
      Q
      
        SOC
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        Q
        
          SOC
          ,
          
            k
            ❘
            k
          
        
      
      +
      
        
          (
          
            
              
                η
                CE
              
              ·
              
                I
                c
              
            
            +
            
              I
              d
            
          
          )
        
        ·
        
          1
          3600
        
      
    
  




  
    
      V
      
        dl
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        
          f
          
            k
            ❘
            k
          
        
        ·
        
          V
          
            dl
            ,
            
              k
              ❘
              k
            
          
        
      
      +
      
        
          b
          
            c
            ,
            
              k
              ❘
              k
            
          
        
        ·
        
          
            I
            c
          
          1000
        
      
      +
      
        
          b
          
            d
            ,
            
              k
              ❘
              k
            
          
        
        ·
        
          
            I
            d
          
          1000
        
      
    
  




  
    
      T
      
        cell
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      
        T
        
          cell
          ,
          
            k
            ❘
            k
          
        
      
      +
      
        
          
            
              I
              t
            
            ·
            
              (
              
                
                  V
                  t
                
                -
                
                  V
                  o
                
                +
                
                  
                    
                      T
                      ·
                      Δ
                    
                    ⁢
                    
                      
                    
                    ⁢
                    S
                  
                  nF
                
              
              )
            
          
          +
          
            (
            
              
                hA
                
                  eff
                  ,
                  cell
                
              
              ·
              
                (
                
                  
                    -
                    
                      T
                      coolant
                    
                  
                  +
                  
                    T
                    
                      cell
                      ,
                      
                        k
                        ❘
                        k
                      
                    
                  
                
                )
              
            
            )
          
        
        
          mC
          
            p
            ,
            cell
          
        
      
    
  




  
    
      
        x
        ^
      
      
        k
        ❘
        
          k
          -
          1
        
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              T
              
                cell
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  



The equations of the parameter prediction model for the fourth estimator variant are provided as:

Ro,k|k−1=Ro,k|k

fk|k−1=fk|k

bc,k|k−1=bc,k|k

bd,k|k−1=bd,k|k





  
    ρ
    
      k
      ❘
      
        k
        -
        1
      
    
  
  =
  
    [
    
      
        
          
            R
            
              o
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            f
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      
        
          
            b
            
              c
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
      
        
          
            b
            
              d
              ,
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
      
    
    ]
  




The equations of the measurement model for the fourth estimator variant are provided as:



  
    
      
        V
        ^
      
      t
    
    =
    
      
        
          f
          QtoV
        
        ⁡
        
          (
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            ,
            T
          
          )
        
      
      +
      
        
          I
          1000
        
        ·
        
          R
          
            o
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
      
      +
      
        V
        
          dl
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
    
  




  
    
      
        V
        ^
      
      dl
    
    =
    
      
        
          f
          
            k
            ❘
            
              k
              -
              1
            
          
        
        ·
        
          (
          
            
              
                V
                ^
              
              dl
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
      +
      
        
          b
          
            c
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        ·
        
          (
          
            
              
                I
                c
              
              1000
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
      +
      
        
          b
          
            d
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        ·
        
          (
          
            
              
                I
                d
              
              1000
            
            ·
            
              z
              
                -
                1
              
            
          
          )
        
      
    
  



{circumflex over (T)}cell=Tcell,k|k−1





  
    y
    ^
  
  =
  
    [
    
      
        
          
            
              V
              ^
            
            t
          
        
      
      
        
          
            
              V
              ^
            
            dl
          
        
      
      
        
          
            
              V
              ^
            
            cell
          
        
      
    
    ]
  




The equations of the estimate correction model for the fourth estimator variant are provided as:




  
    C
    VRV
  
  =
  
    [
    
      
        
          
            
              f
              dVdQ
            
            ⁡
            
              (
              
                
                  Q
                  
                    SOC
                    ,
                    
                      k
                      ❘
                      
                        k
                        -
                        1
                      
                    
                  
                
                ,
                T
              
              )
            
          
        
        
          I
        
        
          1
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          0
        
        
          1
        
      
    
    ]
  




Cfbb=[Vdl,k|k·z−1Id·z−1]

RVRVf=RVRV(I)

Rfbb=(1+fk|k)·PVRV,k|k




  
    
      x
      
        VRV
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              R
              
                o
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              T
              
                cell
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  




  
    
      ρ
      
        fbb
        ,
        
          k
          ❘
          
            k
            -
            1
          
        
      
    
    =
    
      [
      
        
          
            
              f
              
                k
                ❘
                
                  k
                  -
                  1
                
              
            
          
        
        
          
            
              b
              
                c
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
        
          
            
              b
              
                d
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
          
        
      
      ]
    
  




  
    
      e
      VRV
    
    =
    
      
        [
        
          
            
              
                V
                t
              
            
          
          
            
              
                T
                
                  cell
                  ,
                  meas
                
              
            
          
        
        ]
      
      -
      
        [
        
          
            
              
                
                  V
                  ^
                
                t
              
            
          
          
            
              
                
                  T
                  ^
                
                cell
              
            
          
        
        ]
      
    
  




  
    
      
        
          
            K
            VRV
          
          =
          
            
              P
              
                VRV
                ,
                
                  k
                  ❘
                  
                    k
                    -
                    1
                  
                
              
            
            ·
            
              C
              VRV
              t
            
            ·
            
              
                (
                
                  
                    
                      C
                      VRV
                    
                    ·
                    
                      P
                      
                        VRV
                        ,
                        
                          k
                          ❘
                          
                            k
                            -
                            1
                          
                        
                      
                    
                    ·
                    
                      C
                      VRV
                      t
                    
                  
                  +
                  
                    R
                    VRV
                  
                
                )
              
              
                -
                1
              
            
          
        
      
    
    
      
        
          
            x
            
              VRV
              ,
              
                k
                ❘
                k
              
            
          
          =
          
            
              [
              
                
                  
                    
                      Q
                      
                        SOC
                        ,
                        
                          k
                          ❘
                          k
                        
                      
                    
                  
                
                
                  
                    
                      R
                      
                        o
                        ,
                        
                          k
                          ❘
                          k
                        
                      
                    
                  
                
                
                  
                    
                      V
                      
                        dl
                        ,
                        
                          k
                          ❘
                          k
                        
                      
                    
                  
                
                
                  
                    
                      T
                      
                        cell
                        ,
                        
                          k
                          ❘
                          k
                        
                      
                    
                  
                
              
              ]
            
            =
            
              
                x
                
                  VRV
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              +
              
                
                  K
                  VRV
                
                ·
                
                  e
                  VRV
                
              
            
          
        
      
    
  



PVRV,k|k=(I−KVRV·CVRV)·PVRV,k|k−1

efbb=Vdl,k|k−{circumflex over (V)}dl 




  
    
      K
      fbb
    
    =
    
      
        P
        
          fbb
          ,
          
            k
            ❘
            
              k
              -
              1
            
          
        
      
      ·
      
        C
        fbb
        t
      
      ·
      
        
          (
          
            
              
                C
                fbb
              
              ·
              
                P
                
                  fbb
                  ,
                  
                    k
                    ❘
                    
                      k
                      -
                      1
                    
                  
                
              
              ·
              
                C
                fbb
                t
              
            
            +
            
              R
              fbb
            
          
          )
        
        
          -
          1
        
      
    
  




  
    
      ρ
      
        fbb
        ,
        
          k
          ❘
          k
        
      
    
    =
    
      
        [
        
          
            
              
                f
                
                  k
                  |
                  k
                
              
            
          
          
            
              
                b
                
                  c
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
            
          
          
            
              
                b
                
                  d
                  ,
                  
                    k
                    ❘
                    k
                  
                
              
            
          
        
        ]
      
      =
      
        
          ρ
          
            fbb
            ,
            
              k
              ❘
              
                k
                -
                1
              
            
          
        
        +
        
          
            K
            fbb
          
          ·
          
            e
            fbb
          
        
      
    
  



Pfbb,k|k=(I−Kfbb·Cfbb)·Pfbb,k|k−1

The equations of the error propagation model for the fourth estimator variant are provided as:




  
    A
    VRV
  
  =
  
    [
    
      
        
          1
        
        
          0
        
        
          0
        
        
          0
        
      
      
        
          0
        
        
          1
        
        
          0
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          
            f
            
              k
              ❘
              k
            
          
        
        
          0
        
      
      
        
          0
        
        
          0
        
        
          0
        
        
          
            (
            
              1
              +
              
                
                  hA
                  
                    eff
                    ,
                    cell
                  
                
                
                  mC
                  
                    p
                    ,
                    cell
                  
                
              
            
            )
          
        
      
    
    ]
  




QVRV=fQVRV(QSOC,k|k,T,I)

Qfbb−fQfbb(QSOC,k|k,T,I)





  
    P
    
      VRV
      ,
      
        k
        ❘
        
          k
          -
          1
        
      
    
  
  =
  
    
      
        A
        VRV
      
      ·
      
        P
        
          VRV
          ,
          
            k
            |
            k
          
        
      
      ·
      
        A
        VRV
        t
      
    
    +
    
      Q
      VRV
    
  




Pfbb,k|k−1=Pfbb,k|k+Qfbb

Pk|k−1={PVRV,k|k−1,Pfbb,k|k−1}

The output of the fourth variant is provided as:



  
    
      x
      
        k
        |
        k
      
    
    =
    
      [
      
        
          
            
              Q
              
                SOC
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              V
              
                dl
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              T
              cell
            
          
        
      
      ]
    
  




  
    
      ρ
      
        k
        ❘
        k
      
    
    =
    
      [
      
        
          
            
              R
              
                o
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              f
              
                k
                |
                k
              
            
          
        
        
          
            
              b
              
                c
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
        
          
            
              b
              
                d
                ,
                
                  k
                  ❘
                  k
                
              
            
          
        
      
      ]
    
  




  
    
      P
      
        k
        |
        k
      
    
    =
    
      {
      
        
          P
          
            VRV
            ,
            
              k
              ❘
              k
            
          
        
        ,
        
          P
          
            fbb
            ,
            
              k
              |
              k
            
          
        
      
      }
    
  



It is also anticipated that an array of ECSP estimators can be used to estimate multiple EC's in an array of EC's (e.g. battery). In another instance, a single estimator can operate using the average, minimum or maximum measurements of an array of EC's. In still another instance, a combination of estimators is used either chained together or working on different averages. For example, one estimator can operate on the average voltage of an array of EC's and estimate the average open circuit voltage (Vo) of the array. The average Vo is then used by a bank of estimators (e.g. third variant type) that determine impedance for the individual EC's. In yet another instance, a single estimator is fed by multiple estimators. In a fuel cell, for example, multiple estimators estimate the Vo of a individual EC's making up the fuel cell based on temperature. The Vo values are processed by an impedance estimator to determine properties of the chemical reactions within the fuel cell.
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.

## Claims

1. A method of estimating a state of charge (SOC) and a state of health (SOH) of an electrochemical cell (EC), comprising:
modeling said EC with a state prediction model and a parameter prediction model;
measuring a terminal current of said EC;
measuring a terminal voltage of said EC;
measuring a temperature of said EC; and
processing said state prediction model and said parameter prediction model through a time-varying state and parameter estimator based on said terminal current, said terminal voltage and said temperature to determine states and parameters of said EC, wherein said parameters include charge and discharge variables.

2. The method of claim 1 wherein said states include said SOC and ohmic resistance of said EC.

3. The method of claim 1 further comprising determining said SOH based on said charge variable and said discharge variable.

4. The method of claim 1 wherein said state prediction model and said parameter prediction model are process models that model changes in states and parameters of said EC based on current.

5. The method of claim 1 further comprising determining synthesized inputs based on said terminal current, said terminal voltage and said temperature wherein said processing is further based on said synthesized inputs.

6. The method of claim 1 wherein said step of processing said state prediction model and said parameter prediction model comprises:
predicting current states based on prior states;
predicting current error of said states based on prior errors of said states;
determining current state gains based on said current error of said states; and
updating said current states based on said prior states and said current state gains to provide said states of said EC.

7. The method of claim 6 wherein said states include said SOC and ohmic resistance of said EC.

8. The method of claim 6 wherein said state errors are continuously updated.

9. The method of claim 1 wherein said step of processing said state prediction model and said parameter prediction model comprises:
predicting current parameters based on prior parameters;
predicting current error of said parameters based on prior errors of said parameters;
determining current parameter gains based on said current error of said parameters; and
updating said current parameters based on said prior parameters and said current parameter gains to provide said parameters of said EC.

10. The method of claim 9 wherein said parameter errors are continuously updated.

11. A method of estimating states and parameters of an electrochemical cell (EC), comprising:
modeling said EC with a state prediction model and a parameter prediction model;
measuring a terminal current of said EC;
measuring a terminal voltage of said EC;
measuring a temperature of said EC;
determining initial states and initial parameters; and
processing said state prediction model and said parameter prediction model through a Kalman filter (KF)-based state and parameter estimator based on said terminal current, said terminal voltage, said temperature, said initial states and said initial parameters to determine said states and said parameters, wherein said parameters include charge and discharge variables.

12. The method of claim 11 wherein said states include a state of charge (SOC) and ohmic resistance of said EC.

13. The method of claim 11 further comprising determining a state of health (SOH) based on said charge variable and said discharge variable.

14. The method of claim 11 wherein said state prediction model and said parameter prediction model are process models that model changes in said states and parameters of said EC based on current.

15. The method of claim 11 further comprising determining synthesized inputs based on said terminal current, said terminal voltage and said temperature wherein said processing is further based on said synthesized inputs.

16. The method of claim 11 wherein said step of processing said state prediction model and said parameter prediction model comprises:
predicting current states based on prior states;
predicting current error of said states based on prior errors of said states;
determining current state gains based on said current error of said states; and
updating said current states based on said prior states and said current state gains to provide said states of said EC.

17. The method of claim 16 wherein said states include a state of charge (SOC) and ohmic resistance of said EC.

18. The method of claim 16 wherein said state errors are continuously updated.

19. The method of claim 11 wherein said step of processing said state prediction model and said parameter prediction model comprises:
predicting current parameters based on prior parameters;
predicting current error of said parameters based on prior errors of said parameters;
determining current parameter gains based on said current error of said parameters; and
updating said current parameters based on said prior parameters and said current parameter gains to provide said parameters of said EC.

20. The method of claim 19 wherein said parameter errors are continuously updated.

21. The method of claim 11 wherein said initial states and parameters are determined based on minimizing an initial error between said initial states and parameters and actual states and parameters.

22. A method of estimating states and parameters of an electrochemical cell (EC), comprising:
modeling said EC with a state prediction model and a parameter prediction model based on characterization data of said EC;
measuring a terminal current of said EC;
measuring a terminal voltage of said EC;
measuring a temperature of said EC; and
processing said linear equation through a Kalman filter (KF)-based state and parameter estimator based on said terminal current, said terminal voltage, said temperature to determine said states and said parameters, wherein said parameters include charge and discharge variables.

23. The method of claim 22 wherein said characterization data includes the rate of change of a parameter based on a state.