A method for determining a state of charge (SOC) or state of health (SOH) of a battery system includes performing a first step. The first step includes determining a set of initial values for parameters, coefficients, and derivatives based upon linear functional relationships. A result is computed based on the determination. After execution of the first step, intermediate functions are calculated based on the result. The parameters are updated based on the intermediate functions. An open circuit voltage V.sub.OC that has a functional relationship with a voltage-based SOC (SOC.sub.V) is determined based on the updated parameters. The SOC.sub.V is extracted by inverting an expression of V.sub.O(SOC.sub.V). A current based SOC (SOC.sub.C) is calculated. A weight for weighting the SOC.sub.C and the SOC.sub.V is calculated. A SOC is calculated based on the weight. V.sub.O is a battery voltage.
This application is a divisional application and claims the benefit of the priority of prior application Ser. No. 10/368,869, filed Feb. 18, 2003, entitled "Method and Apparatus for Generalized Recursive Least-Squares Processing for Battery State of Charge and State of Health."