A method and system for estimating state of charge (SOC) of a battery pack
The method transforms floating-point values into integer digits within the EKF framework for accurate SoC estimation, addressing precision loss in BMS systems and enhancing estimation accuracy.
Patent Information
- Application Number
- PCT/IN2025/050949
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-27
- Filing Date
- 2025-06-27
- Publication Date
- 2026-01-02
AI Technical Summary
Existing methods for estimating State of Charge (SoC) of battery packs, such as the Extended Kalman Filter (EKF), face challenges due to recursive precision loss of fractional digits when implemented in Battery Management Systems (BMS) that only compute integer digits, leading to inaccurate SoC estimation.
A method and system that utilize a trained model to format and amplify floating-point values into integer digits, applying an Extended Kalman Filter (EKF) with predefined rules to maintain precision, ensuring accurate SoC estimation by transforming variables into fixed-point computations.
The system minimizes accuracy loss and reduces memory requirements while maintaining processing speed by using integer scale transformation, enabling precise SoC estimation in battery packs.
Smart Images

Figure IN2025050949_02012026_PF_FP_ABST
Abstract
Description
A METHOD AND SYSTEM FOR ESTIMATING STATE OF CHARGE (SOC) OF A BATTERY PACKCROSS-REFERENCE TO RELATED DISCLOSUREThis application claims priority to the Indian Patent Application No. 202441049234, titled "A METHOD AND SYSTEM FOR ESTIMATING STATE OF CHARGE (SOC) OF A BATTERY PACK", filed with the Indian Patent Office on June 27, 2024, the entire contents of which are incorporated herein by reference.FIELD OF THE INVENTION
[0001] The present disclosure relates to lithium-ion battery pack, more particularly relates to a system and method for estimating State of Charge (SoC) of a battery pack.BACKGROUND OF THE INVENTION
[0002] For battery packs, the State of Charge (SoC) is a quantity that represents the ratio of available battery capacity to its folly charged capacity. Estimating the SoC of the battery pack is complicated. Moreover, accurate SoC estimation is essential for optimizing the performance and lifespan of battery packs in various applications, including electric vehicles, renewable energy systems, consumer electronics, and more. Different estimation methods and techniques like Open Circuit Voltage (OCV), coulomb counting method, voltage-based methods, temperature and aging compensation, calibration and validation method are there but, none of the methods provide accurate SoC estimation.
[0003] An Extended Kalman Filter (EKF) method is used to estimate the SoC of the battery pack. The EKF method for estimating SoC offers a flexible and powerful approach for accurately estimating the state of charge of battery packs, taking into account the nonlinear dynamics and uncertainties inherent in battery systems. The complexity of EKF based SoC requires high precision for decimal value and significant fractional digits.
[0004] Therefore, in applications of battery SoC computation, embedding the EKF based SoC estimation method has been very challenging by virtue of the recursive precision loss of fractional digits, specially, when a Battery Management System (BMS) can only compute integer digits, removing the fractional bits while performing matrix operations. The present invention proposes a method to compute the EKF based SoC estimation in the BMS, where it takes input and output variables in the form of integers as well as conducts complex mathematical and matrix internal calculations as only integer values. With the aim on the same, the present invention discloses a method and system for estimating the SoC of the battery pack.BRIEF SUMMARY OF THE INVENTION
[0005] One or more embodiments of the present disclosure provide a system and a method for estimating State of Charge (SoC) of a battery pack.
[0006] In one aspect of the present invention, a method for estimating State of Charge (SoC) of a battery pack is disclosed. The method includes the step of receiving, at one or more processors, information corresponding to the battery pack from one or more sources. The method includes the step of retrieving, by the one or more processors, the data pertaining to a plurality of parameters and a plurality of values corresponding to the plurality of parameters from the received information. The method includes the step of generating, by the one or more processors, a trained model based on the retrieved data pertaining to the plurality of parameters and the plurality of values. The method includes the step of estimating, by the one or more processors, the SoC of the battery pack by utilizing the generated trained model.
[0007] In one embodiment, the step of estimating the SoC of the battery pack by utilizing the generated trained model includes the steps of formatting the plurality of values corresponding to the plurality of parameters based on a variable integer transformation rule.
[0008] In one embodiment, the step of estimating the SoC of the battery pack by utilizing the generated trained model includes the steps of determining an initial floating point for the formatted plurality of values and an integer digit resolution for the determined initial floating point.
[0009] In one embodiment, the step of estimating the SoC of the battery pack by utilizing the model framework, as described in the detailed flowchart includes the step of amplifying the initial floating point and the integer digit resolution to achieve a compatible fixed point variable computation based on one or more predefined rules. In one embodiment, the one or more predefined rules includes at least one of a covariance integer transform initialization and a SOC state vector integer transform initialization.
[0010] In one embodiment, the step of estimating the SoC of the battery pack by utilizing the generated trained model includes the step of applying an iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
[0011] In another embodiment, the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution includes the steps of applying an Extended Kalman’s Filter (EKF) to the plurality of parameters.
[0012] In yet another embodiment, the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution includes the steps of determining at least one of a SoC state vector and a state covariance matrix in an integer form as a representation of fixed-point variable, for the plurality of parameters for which the EKF is applied. In one embodiment, the SoC state vector in the integer form pertains to one or more SoCs corresponding to the plurality of parameters.
[0013] In yet another embodiment, the state covariance matrix in the integer form pertains to at least one of, one or more variance values corresponding to the SoC state vector and one or more error values corresponding to the one or more variances values pertaining to the SoC state vector.
[0014] In yet another embodiment, the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution includes the steps of determining a precision factor for the plurality of parameters for which the EKF is applied, based on application of one or more convergence criteria to theat least one determined the SoC state vector and the state covariance matrix in the integer form for the plurality of parameters.
[0015] In yet another embodiment, if the precision factor is false and repeating the step of applying an iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
[0016] In yet another embodiment, the plurality of parameters pertains to each of an Open Circuit Voltage (OCV) value, a SoC value at OCV, a current value, capacity of the battery pack, an Ohmic resistance value, an impedance value, and a Depth of Discharge (DoD) value.
[0017] In yet another embodiment, the variable integer transformation rule pertains to at least one of a parameter integer transform initialization and a co -efficient integer transform initialization.
[0018] In another aspect of the present invention, a system for estimating State of Charge (SoC) of a battery pack is disclosed. The system includes a receiving unit. The receiving unit is configured to receive information corresponding to the battery pack from one or more sources. The system includes a retrieving unit. The retrieving unit is configured to retrieve the data pertaining to a plurality of parameters and a plurality of values corresponding to the plurality of parameters from the received information. The system includes a generating unit. The generating unit is configured to generate a trained model based on the retrieved data pertaining to the plurality of parameters and the plurality of values. The system includes an estimation unit. The estimation unit is configured to estimate the SoC of the battery pack by utilizing the generated trained model.
[0019] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe theinventive subject matter, resort to the claims being necessary to determine such inventive subject matter.BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0021] FIG. 1 is an exemplary block diagram of an environment for estimating State of Charge (SoC) of a battery pack, according to various embodiments of the present invention;
[0022] FIG. 2 is a schematic representation of lithium-ion cell model, according to various embodiments of the present invention;
[0023] FIG. 3 is a schematic representation of the present system of FIG. 2 for estimating SoC of the battery pack, according to various embodiments of the present invention;
[0024] FIG. 4 shows a flow chart of a method for transformation of EKF floating point to integer fixed point computation, according to various embodiments of the present invention; and
[0025] FIG. 5 shows a flow diagram of a method for estimating SoC of the battery pack, according to various embodiments of the present invention.
[0026] The foregoing shall be more apparent from the following detailed description of the invention.DETAILED DESCRIPTION OF THE INVENTION
[0027] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0028] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0029] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0030] Referring to FIG. 1, FIG. 1 illustrates an exemplary block diagram of an environment 100 for estimating State of Charge (SoC) of a battery pack 102, according to various embodiments of the present invention. The environment 100 includes the battery pack 102, a server 104, a network 106 and a system 108. The system 108 is configured to estimate the SoC of the battery pack 102. In one embodiment, the SoC represents the ratio of available battery capacity to its fully charged capacity. In one embodiment, the battery pack 102 includes an Open Circuit Voltage (OCV), an Ohmic resistance, a voltage unit, a current unit, an impedance and a set of number of identical batteries or cells. The number of identicalbatteries or cells are configured in a series, parallel or a mixture of both to deliver the desired voltage, capacity, or power density.
[0031] The environment 100 further includes the server 104 communicably coupled to the battery pack 102. The server 104 may include by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise, a defense facility, or any other facility that provides content.
[0032] The network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0033] The network 106 also includes, by the way of example but not limitation, one or more wireless interfaces / protocols such as, for example, 802.11 (Wi-Fi), 802.15 (including Bluetooth™), 802.16 (Wi-Max), 802.22, Cellular standards such as CDMA, CDMA2000, WCDMA, Radio Frequency (e.g., RFID), Infrared, laser, Near Field Magnetics, etc.
[0034] The environment further includes the system 108 communicably coupled to the server 104 and the battery pack 102 via the network 106. The system 108 is configured to estimate the SoC of the battery pack 102 via the network 106. Further, the system 108 is adapted to be embedded within the server 104 or embedded as the individual entity. However, for the purpose of description, the system 108 is described as an integral part of the server 104, without deviating from the scope of the present disclosure.
[0035] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0036] Referring to FIG. 2, FIG. 2 illustrates a circuit representation of lithium-ion cell model, according to various embodiments of the present invention. As per the illustrated embodiment, the lithium-ion cell model represents one unit cell of the battery pack 102.The SoC represents the ratio of available battery capacity to its fully charged capacity. The lithium- ion cell model includes a plurality of parameters. The plurality of parameters is an Open Circuit Voltage (OCV), a current value, an Ohmic resistance, an impedance value as representation of dynamic diffusion resistances of the lithium-ion battery and one or more sensors. The one or more sensors includes a current sensor, a voltage sensor, a resistor sensor, and an impedance sensor.
[0037] In one embodiment, the dynamic diffusion resistances of the lithium-ion battery include one or more combinations of a Resistor and a Capacitor in parallel connection. The one or more combinations of the Resistor and the Capacitor in parallel connection includes a first Resistor-Capacitor (RiCi), a second Resistor-Capacitor (R2C2). In one embodiment, a Voltage (Vi) is at the first R1C1 and the Voltage (V2) is at the second R2C2. The one or more sensors collect the data pertaining to the plurality of parameters, i.e. the OCV values, an ohmic resistance value, the SoC value at OCV, the capacity of the battery pack 102 and the Resistor - Capacitor pair are extracted as a function of SOC and its variation through a set of standard experiments that includes a low current (Cby20, Cby30) test and a Hybrid Pulse Power Characterization test, respectively. The data of the plurality of parameters are embedded within the model framework as part of a Battery Management System (BMS).
[0038] The experimental test for the plurality of parameters is dependent on the targeted Depth of Discharge (DOD). The DoD is the voltage range for the charging and discharging of the battery or cell.
[0039] In one embodiment, to estimate the SoC of the battery pack 102, the extended Kalman filter (EKF) method is used. The EKF method estimates the SoC of the battery pack 102 and provides an accurate result. The EKF method is used to linearize a nonlinear system for an optimal estimation. The EKF method involves expanding the nonlinear system with aTaylor series, omitting the higher order terms, approximating the nonlinear system with primary terms, and then using the EKF method for SoC state estimation.
[0040] The plurality of parameters is often computed as fractional variables in the EKF method. Since, the variables of the battery pack 102 in the EKF method are iteratively computed and the range of number of fractional significant digits is of higher orders for accurate matrix computation. Therefore, for accurate measurement of SoC using the EKF method, the variables and the parameters are computed with high fractional precision, sometimes requiring more than 10 fractional significant digits.
[0041] Referring to FIG. 3 and FIG. 4, FIG. 3 illustrates a schematic representation of the present system 108 of FIG. 1 for estimating SoC of the battery pack 102, according to various embodiments of the present invention, and FIG. 4 shows a flow chart of a method 400 for transformation of EKF floating point to integer fixed point computation, according to various embodiments of the present invention.
[0042] Referring to FIG.3, the system 108 includes one or more processors 302, a memory 304, an Input Output (I / O) interface unit 306, a display unit 308, an input device 310 and a database 320. The one or more processors 302, hereinafter referred to as the processor 302 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and / or any devices that manipulate signals based on operational instructions. As per the illustrated embodiment, the system 108 includes one processor 302. However, it is to be noted that the system 108 may include multiple processors as per the requirement and without deviating from the scope of the present disclosure. Among other capabilities, the processor 302 is configured to fetch and execute computer-readable instructions stored in the memory 304.
[0043] In one embodiment, the memory 304 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 304 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like. In an embodiment, the I / O user interface 306 includes a variety ofinterfaces, for example, interfaces for data input and output devices, referred to as Input / Output (I / O) devices, storage devices, and the like. The I / O user interface 306 facilitates communication of the system 108. In one embodiment, the I / O user interface 306 provides a communication pathway for one or more components of the system 108.
[0044] The I / O interface unit 306 may include functionality similar to at least a portion of functionality implemented by one or more computer system interfaces such as those described herein and / or generally known to one having ordinary skill in the art. The I / O interface unit 306 may be rendered on the display unit 308, implemented using LCD display technology, OLED display technology, and / or other types of conventional display technology. The display unit 308 is integrated within the system 108 or connected externally. Further the request may be configured to receive requests, queries, or information from the user by using the input device 310. The input device 310 may include, but not limited to, keyboard, buttons, scroll wheels, cursors, touchscreen sensors, audio command interfaces, magnetic strip reader, optical scanner, etc.
[0045] The system 108 further comprises the database 320. The database 320 is communicably connected to the processor 302, and the memory 304. The database 320 is configured to store and retrieve the data. Further, the processor 302, in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 302. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 302 may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for processor 302 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 304 may store instructions that, when executed by the processing resource, implement the processor 302. In such examples, the system 108 may comprise the memory 304 storing the instructions and the processing resource to execute the instructions, or the memory 304 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 302 may be implemented by electronic circuitry.
[0046] In order for the system 108 to estimate the SoC of the battery pack 102, the processor 302 includes a receiving unit 312, a retrieving unit 314, a generating unit 316, and an estimating unit 318 communicably coupled to each other for estimating the SoC of the battery pack 102.
[0047] The receiving unit 312 of the processor 302 is communicably connected to the battery pack 102, via the server 104. Accordingly, the receiving unit 312 is configured to receive information corresponding to the battery pack 102 from one or more sources. In one embodiment, the one or more sources include, but not limited to, one or more sensors. The one or more sensors are used to sense the data pertaining to the plurality of parameters of the battery pack 102. In one embodiment, the one or more sensors includes, for example, a voltage sensor, a current sensor, an ohmic sensor and an impedance sensor. In one embodiment, the received information includes the plurality of parameters pertaining to the sensed data collected from the one or more sources. Furthermore, the receiving unit 312 is configured to transmit the received information from the one or more sources to the retrieving unit 314.
[0048] On receipt of the received information, the retrieving unit 314 is configured to retrieve the data pertaining to the plurality of parameters and the plurality of values corresponding to the plurality of parameters. In one embodiment, the plurality of parameters pertains to each of the OCV values, the ohmic resistance value, the SoC value at OCV, the capacity of the battery pack 102 and the Resistor-Capacitor pair are extracted as a function of the SOC and its variation through the set of standard experiments that includes the low current (Cby20, Cby30) test and the Hybrid Pulse Power Characterization test, respectively. The data of the plurality of parameters are embedded within the model framework as part of the BMS.
[0049] The experimental test for the plurality of parameters is dependent on the targeted Depth of Discharge (DOD). The DoD is the voltage range for charging and discharging of the battery pack 102 or cell. In one embodiment, the DOD refers to the percentage of the battery pack 102 that has been discharged relative to the overall capacity of the battery pack 102. Furthermore, the retrieving unit 314 is configured to transmit the retrieved data of the plurality of parameters and the plurality of values to the generating unit 316.
[0050] On receipt of the retrieved data of the plurality of parameters and the plurality of values, the generating unit 316 is configured to generate a trained virtual model based on theretrieved data of the plurality of parameters and the plurality of values of the battery pack 102. In one embodiment, the generating unit 316 embodies / represents the virtual model of the battery pack 102. The virtual model of the battery pack refers to a simulation of the behavior, characteristics, and performance of the battery pack 102 within a digital environment. The virtual model is typically created using binary equations, a set of rules, and data derived from experiments and observations. The virtual model is designed to simulate the plurality of values corresponding to the battery pack 102 within the BMS. In one embodiment, the virtual model is trained and validated through a sequence of simulations based on the experimental data obtained from the battery pack 102 to ensure consistency in performance for the plurality of inputs / outputs and enhance modeling process by implementing a variable integer transformation rule.
[0051] In one embodiment, upon training and validating the virtual model, in such a scenario, the trained model is stored in the server 104. The modeling technique involves an overall process design, incorporating binary operations and data blocks within the simulation platforms that include at least of, but not limited to MATLAB / Simulink, and Dymola simulation tools. Furthermore, the model framework and a process layout are thereby integrated within the processor-supported language through a code generation process, also a sub task of the generating unit 316. The compatible languages for code generation may include C, C#, C++. The generated code is subsequently embedded within the processor 302 for execution. Furthermore, the generating unit 316 is configured to transmit the trained model to the estimating unit 318.
[0052] On receipt of the generated trained model, the estimating unit 318 is configured to estimate the SoC of the battery pack 102. The estimating unit 318 is configured to format the retrieved plurality of the values corresponding to the plurality of parameters based on the variable integer transformation rule. In one embodiment, the variable integer transformation rule pertains to at least one of, a parameter integer transform initialization and a co-efficient integer transform initialization and parameter co-variance integer transform initialization. In one embodiment, the format of the retrieved plurality of the values denotes transforming the values as per the variable integer transformation rule. Furthermore, the estimating unit 318 is configured to determine an initial floating point for the formatted plurality of values. For example, the initial floating point co-efficient includes, but not limited to, A and B.
[0053] Upon determining the floating points values of A and B, the estimating unit 318 is configured to further determine an integer digit resolution for the determined initial floating points. For example, the integer digit resolution for the determined initial floating points includes, at least one of the floating point co-efficient A and B. In one embodiment, the integer digit resolution refers to scaling up the integer digit resolution of the floating point co-efficient A and B by orders 10xOand 10xl, respectively. In one embodiment, the integer digit resolution refers to scaling up the integer digit resolution of floating-point process noise by orders.
[0054] Upon determining the integer digit resolution for the determined initial floating points, the estimating unit 318 is configured to amplify the determined initial floating points and the determined integer digit resolution based on one or more predefined rules. The one or more predefined rules includes at least one of the state covariance integer transform initialization and the state vector integer transform initialization. In one embodiment, the state covariance integer transform initialization is performed by magnify the resolution of initial float point guess of <rx(0)+by order 10x2.
[0055] In another embodiment, the state vector integer transform initialization is performed by magnify the resolution of initial float point guess of X(0)+by order 10x3. In one embodiment, xO, xl, x2 and x3 are initialized order magnifications.
[0056] Upon amplifying the determined initial floating points and the determined integer digit resolution, the estimating unit 318 is configured to apply an iterative SoC computation rule to the plurality of parameters. The iterative SoC computation rule is based on the amplified initial floating point and the integer digit resolution.
[0057] Upon receiving the amplified initial floating point and the integer digit resolution, the estimating unit 318 is configured to apply an Extended Kalman’s Filter (EKF) to the plurality of parameters.
[0058] Upon applying the EKF method to the plurality of parameters, the estimating unit 318 is configured to determine at least one of a SoC state vector and a state covariance matrix in an integer form for the plurality of parameters. In one embodiment, the state covariance matrix is in the integer form pertains to at least one of, one or more variance values. The oneor more variance values are corresponding to the SoC state vector and one or more error values corresponding to the one or more variances values pertaining to the SoC state vector.
[0059] A scale balancing task is done to determine the resolution to which the fractional numbers of floating-point variable are transformed to be part of the integer digits for the corresponding fixed point transformed variable. The transformation process is defined as the Variable Integer Transformation method.
[0060] In one embodiment, the state vector function prediction equation is.f (0 fixedpoint) Equation 1xO is the initialization order magnification.xl is the initialization order magnification.the initialization order magnification.The known 10x3defines the scale magnification of initial and the recursive state vector function. The 10egets estimated by balancing the three bracketed ratios in Equation 3.
[0061] Further, the 10 x4 is the new order scale up for the state function prediction over corresponding floating point’s value from the equation 4.
[0062] In one embodiment, the state covariance prediction equation is.[B]fixedpointProcessNoiseCovariance) Equation 8Order of ox(E)fixedpoint~ gets magnified such that
[0063] The known 10x2defines the scale magnification of initial and recursive state covariance vector. The 10^ gets estimated by balancing the three bracketed ratios in the Equation 3.
[0064] Further, the 10 x2 is the new order scale up for the state covariance function prediction over corresponding floating point’s value from the equation 6.
[0065] Upon determining at least one of the state vectors and the state covariance matrix, the estimating unit 318 is configured to determine a precision factor for the plurality of parameters. The precision factor is determined based on application of one or more convergence criteria to ensure the data bit value overflow protection, no scaled fixed point integer value which surpasses the Int64 bit limit of the order 1019, to the at least one determined the SoC state vector and the state covariance matrix in the integer form. The convergence criteria are means to ensure that the time recursive change in the trained / tuned fixed point model computed SOC is in similar trajectory to the time recursive change in the floating-point SOC output, which in its raw form is an input reference data input for the floating-point model.
[0066] The simulation data on the floating-point model serves as the input reference data for optimizing the variable scaling orders and parameters of the fixed-point implementation of the Extended Kalman Filter (EKF) model. Further, the floating-point simulation data serves as a reference point and training data input for the fixed-point model.
[0067] In one embodiment, the one or more convergence criteria includes the [step SoC change]fix - [step SoC change]fioat <tolerance and the overflow protection is the output scale of fixed point integer covariance matrices is less than 1019. The 1019is referred herein as an overflow protection. The overflow protection is defined for considering an approximate order for the maximum scientific resolution of the Int64 bit in a microprocessor.
[0068] In one embodiment, the state vectors in the integer form pertain to one or more state vectors corresponding to the plurality of parameters. The one or more state vectors are the SoC, the first Voltage (Vi) at a first Resistor-Capacitor (R1C1) pair and the second Voltage (V2) at a second Resistor-Capacitor (R2C2) pair.
[0069] In one embodiment, the output function prediction equation is.V(i)“ = Vocv(i - 1) * 100 - IR(i - 1) * I(i) Equation 11IR(i Equation 12Order of V(i) gets magnified such that
[0070] This is a constant scale magnification adopted for the Open Circuit Voltage data fed to the model. The OCV data for the fixed point is embedded in the microprocessor code in the scale of millivolt so as to ensure the voltage resolution is descent during a typical flat curve of the OCV profile of a lithium-ion battery.
[0071] In one embodiment, similar to the OCV, voltage and current measurements by the one or more sensors are kept in milli Volt and milli Ampere respectively. is the order scale up for the cellterminal voltage over corresponding floating points value.
[0072] The Vocv is the cell open circuit voltage estimated using a 10 percent SoC interval look-up table. The unit of Vocv is of the same order of the voltage measurement.
[0073] Ro is the cell ohmic resistance for a two RC equivalent circuit.
[0074] is the dynamic diffusion resistances of the first RiCi pair forthe cell.
[0075] R2is the dynamic diffusion resistances of the second R2C2 pairfor the cell.
[0076] In one embodiment upon determining the initial floating point of R0, Rr* IRQ - 1) fioatpointisestimated in thegenerating unit 316 using the Equation 12. The integer digit resolution refers to scaling up the integer digit resolution of floating-point Impedance IR(i — 1) fixedpoint by orders 10mwhich helps compute IR(i — 1) fixedPoint ■ This dynamic resistance is the effective function of ohmic resistance and the diffusion resistances through R0, RC1 and RC2 pairs. In the same embodiment, the scale of magnification for the same is based on the degree of resolution that seems feasible after conducting the Hybrid Pulse Power Characterization test and is subjective to a list of factors such as the accuracy of measurement equipment, the resolution of time by the test logging equipment and the method used for the optimization for finding the R0, RC 1 and RC2 pairs. Various optimization techniques including but not limited to Lease Square Regression, Genetic Algorithm, and Support Vector Machine can be used for determining the plurality of RC parameters. The scale value of m is critical in determining the accuracy withwhich the fixed point EKF would predict the cell voltage, which subsequently has an impact on the accuracy in predicting the state vector. For the case of conceptual understanding, to define as Equation 13
[0077] Knowing the magnification factor value of 10m, the equation 13 can be used to determine the value of g.
[0078] In one embodiment, the output covariance equation is. oy(i) = ([C(i — l)]2* ox(i)“ + Measurment Noise) Equation 14 and the EKF gain estimation equation is
[0079] In one embodiment, no direct scale modification is conducted on oy(i)and L(i), as these are intermediatory outputs of sigma, noise and the state derivate parameter (C) as shown below.
[0080] In one embodiment, the state function estimation equation update is. (i)fixedpointEquation 16Where X_compensationfixedpoint(i) = (L_fixedpoint *[Vmeasure_fixedpoint(i)* 10h-V(i)']), that is a function of computed gain factor and the error between the predicted voltage and the actual voltage measurement, where V(i) is the cell terminal voltage prediction function as described in Equationl 1. The value of 10his determined by bringing the voltage measurement in mV to the scale magnification of the fixed-point voltage prediction function.
[0081] In one embodiment, the value of 101is determined to keep the scale magnification from the floating point to the fixed point balanced for the variable [X_Compensation(i) ]fixed pointwith respect to the scale magnification for}~ 10x4. This essentially means that the integer scaletransform output for the State Prediction Vector (refer Equation 7) is also embodied by the integer magnification to the state compensation variable. This ratio for the previous step state vector X (i)-fixed pointis a known entity for the above process and therefore the Equation 17 determines the scale of the balancing order variable 101, using the values of ratio and 10x4.
[0082] In one embodiment the updated state estimation vector X(i)fixedpoint+needs to be scaled back to the starting scale of 10x3. In the same embodiment thereby Equations 16 and 17 can be used to determine the value of order scaling down variable 107, hence [ 10x4* 107~ 10x3].
[0083] In one embodiment, the state covariance crx(i)+is updated to: on 18Where,Where ogainthe output co-variance is vector of the gain factor L(i) and is formulated as
[0084] In another embodiment similar to the method of determining factorslO1and 10^ using state vector estimation update balance equations 16 and 17, the order variables 10kand 101can be determined using the state co-variance estimation updated equations 18 and 19. The scaling down of the state co-variance to the original scale of 10x2is done through the equation
[0085] In one embodiment, the state covariance matrix in the integer form pertains to at least one of, one or more variance values corresponding to the SoC state vector and one or more error values corresponding to the one or more variances values pertaining to the SoC state vector.
[0086] In one embodiment, the estimating unit 318 is configured to follow the convergence criteria and the overflow protection. In one embodiment, if the convergence criteria and the overflow protection are false, the estimating unit 318 is configured to repeat the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution. Further, the convergence criteria are false, the estimating unit 318 is configured to update the integer decimal precisions by updating the input variable orders. Further, the estimating unit 318 is configured to increase the integer precision by updating the input orders.
[0087] In another embodiment, if the convergence criteria and the overflow protection are true, the estimating unit 318 is configured to repeat the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution. Further, the estimating unit 318 is configured to hold up the integer orders for all further iterations. By doing so, the system 108 minimizes accuracy loss by using the integer scale transformation method, reduces memory space requirement and increases processing speed of the system 108.
[0088] Referring to FIG. 5, FIG. 5 illustrates a flow chart of the method 500 for estimating the SoC of the battery pack 102, according to various embodiments of the present invention. The method 500 is adapted to estimate the SoC of the battery pack 102. For the purpose of description, the method 500 is described with the embodiments as illustrated in FIG. 1 and should nowhere be construed as limiting the scope of the present disclosure.
[0089] At step 501, the method 500 includes the step of receiving the information from the receiving unit 312. The receiving unit 312 is configured to receive information corresponding to the battery pack 102 from the one or more sources. In one embodiment, the one or more sources can be one or more sensors. The one or more sensors are used to sense the data pertaining to the parameters of the battery pack 102. In one embodiment, the one or more sensors includes for example the voltage sensor, the current sensor, the ohmic sensor and the impedance sensor. In one embodiment, the received information includes the plurality of parameters pertaining to the sensed data collected from the one or more sources. The receiving unit 312 is configured to transmit the received information from the one or more sources to the retrieving unit 314.
[0090] At step 502, the method 500 includes the step of retrieving the data pertaining to the plurality of parameters and the plurality of values from the retrieving unit 314. In one embodiment, the plurality of parameters pertains to each of the Open Circuit Voltage (OCV), the current, the capacity of the battery pack 102, the Ohmic resistance, the dynamic diffusion resistances of the battery, and the DoD of the battery packl02. In one embodiment, the DOD denotes the percentage of the battery pack 102 that has been discharged relative to the overall capacity of the battery pack 102. In one embodiment, the plurality of values corresponding to the plurality of parameters pertains to the OCV value, the SoC value at the OCV, the current value, the capacity of the battery pack 102, the Ohmic resistance value, the dynamic diffusion resistances value of the battery, and the DoD value. Furthermore, the retrieving unit 314 is configured to transmit the retrieved data of the plurality of parameters and the plurality of values to the generating unit 316.
[0091] At step 503, the method 500 includes the step of generating the trained model by the generating unit 316. The trained model is generated based on the retrieved data pertaining to the plurality of parameters and the plurality of values of the battery pack 102. In oneembodiment, the trained model is generated by using the model framework. The model framework is configured to perform a working floating model and then adjust the decimal precision for training. If the convergence criteria are false, then the scale precision is changed for better fitting. Furthermore, the generating unit 316 is configured to transmit the trained model to the estimating unit 318.
[0092] At step 504, the method 500 includes the step of estimating the SoC of the battery pack by the estimating unit 318. The estimating unit 318 is configured to format the retrieved plurality of the values corresponding to the plurality of parameters based on the variable integer transformation rule. In one embodiment, the variable integer transformation rule pertains to at least one of the parameter integers transform initialization and the co-efficient integer transform initialization. Furthermore, the estimating unit 318 is configured to determine the initial floating point for the formatted plurality of values. For example, the initial floating points be A and B.
[0093] Upon determining the initial floating points as A and B, the estimating unit 318 is configured to further determine an integer digit resolution for the determined initial floating points. For example, the integer digit resolution for the determined initial floating points be the floating point co-efficient A and B. In one embodiment, the integer digit resolution refers to scaling up the integer digit resolution of floating point co-efficient A and B by orders 10xOand 10xl.
[0094] Upon determining the integer digit resolution for the determined initial floating points, the estimating unit 318 is configured to amplify the determined initial floating points and the determined integer digit resolution based on one or more predefined rules. The one or more predefined rules includes at least one of a state covariance integer transform initialization and a state vector integer transform initialization. In one embodiment, initialization for state covariance integer transformed by magnify the resolution of initial float point guess of ox(0)+by order 10x2.
[0095] In one embodiment, initialization for the state vector integer transformed by magnify the resolution of initial float point guess of X(i)+by order 10x3. In one embodiment, xO, xl, x2 and x3 are initialized order magnifications.
[0096] Upon amplifying the determined initial floating points and the determined integer digit resolution, the estimating unit 318 is configured to apply an iterative SoC computation rule to the plurality of parameters. The iterative SoC computation rule is based on the amplified initial floating point and the integer digit resolution.
[0097] Upon receiving the amplified initial floating point and the integer digit resolution, the estimating unit 318 is configured to apply an Extended Kalman’s Filter (EKF) to the plurality of parameters.
[0098] Upon applying the EKF to the plurality of parameters, the estimating unit 318 is configured to determine at least one of the state vectors and the state covariance matrix in an integer form for the plurality of parameters. In one embodiment, the state covariance matrix is in the integer form pertains to at least one of, one or more variance values. The one or more variance values are corresponding to the SoC state vector and one or more error values corresponding to the one or more variances values pertaining to the SoC state vector.
[0099] Upon determining at least one of the state vectors and the state covariance matrix, the estimating unit 318 is configured to determine the precision factor for the plurality of parameters. The precision factor is determined based on application of one or more convergence criteria to the at least one determined the SoC state vector and the state covariance matrix in the integer form. In one embodiment, if the precision factor is false, the estimating unit 318 is configured to repeat the step of applying the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
[0100] In one embodiment, the state vectors in the integer form pertain to one or more state vectors corresponding to the plurality of parameters. The one or more state vectors are the SoC, voltage at first Resistor-Capacitor (RC) pair and voltage at second RC pair.
[0101] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG. 1-5) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, theboundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0102] The present disclosure incorporates technical advancement by providing an integer scale transformation method. This integer scale transformation method allows the feedback loop and recursive computations to minimize accuracy loss. The present invention utilizes a low cost BMS and provides capability to use advanced Kalman filter based SoC method without losing precision in SoC computation. The present invention minimizes accuracy loss by using the integer scale transformation method, reduces memory space requirement and increases processing speed.
[0103] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.REFERENCE NUMERALS
[0104] Environment - 100;
[0105] Battery Pack- 102;
[0106] Server- 104;
[0107] Network - 106;
[0108] System-108;
[0109] Processor(s) -302;
[0110] Memory- 304;
[0111] Input / Output (I / O) user interface-306;
[0112] Display unit- 308;
[0113] Input device-310;
[0114] Receiving unit - 312;
[0115] Retrieving unit-314;
[0116] Generating unit-316;
[0117] Estimating unit- 318;
[0118] Database-320.
Claims
CLAIMSWe claim:
1. A method (400) for estimating State of Charge (SoC) of a battery pack (102), the method (400) comprises the steps of: receiving, at one or more processors (302), information corresponding to the battery pack (102) from one or more sources; retrieving, by the one or more processors (302), the data pertaining to a plurality of parameters and a plurality of values corresponding to the plurality of parameters from the received information; generating, by the one or more processors (302), a trained model based on the retrieved data pertaining to the plurality of parameters and the plurality of values; and estimating, by the one or more processors (302), the SoC of the battery pack (102) by utilizing the generated trained model.
2. The method (400) as claimed in claim 1 , wherein the step of estimating the SoC of the battery pack (102) by utilizing the generated trained model, includes the steps of: formatting, by the one or more processors (302), the plurality of values corresponding to the plurality of parameters based on a variable integer transformation rule; determining, by the one or more processors (302), an initial floating point for the formatted plurality of values; determining, by the one or more processors (302), an integer digit resolution for the determined initial floating point; amplifying, by the one or more processors (302), the initial floating point and the integer digit resolution based on one or more predefined rules; and applying, by the one or more processors (302), an iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
3. The method (400) as claimed in claim 2, wherein the step of, applying, the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution, includes the steps of:applying, by the one or more processors (302), an Extended Kalman’s Filter (EKF) to the plurality of parameters; determining, by the one or more processors (302), at least one of, a SoC state vector and a state covariance matrix in an integer form as a representation of fixed- point variable, for the plurality of parameters for which the EKF is applied; determining, by the one or more processors (302), a precision factor for the plurality of parameters for which the EKF is applied, based on application of one or more convergence criteria to the at least one determined the SoC state vector and the in the integer form for the plurality of parameters.
4. The method (400) as claimed in claim 3, wherein in response to determining, that the precision factor is false, repeating, the step of, applying, an iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
5. The method (400) as claimed in claim 1, wherein the plurality of parameters pertains to each of an Open Circuit Voltage (OCV) value, a SoC value at OCV, a current value, capacity of the battery pack (102), an Ohmic resistance value, an impedance value, and a Depth of Discharge (DoD) value.
6. The method (400) as claimed in claim 2, wherein the variable integer transformation rule pertains to at least one of a parameter integer transform initialization and a coefficient integer transform initialization.
7. The method (400) as claimed in claim 2, wherein one or more predefined rules includes at least one of a covariance integer transform initialization and a vector integer transform initialization.
8. The method (400) as claimed in claim 3, wherein the SoC state vector in the integer form pertains to one or more SoCs corresponding to the plurality of parameters.
9. The method (400) as claimed in claim 3, wherein the state covariance matrix in the integer form pertains to at least one of, one or more variance values corresponding tothe SoC state vector and one or more error values corresponding to the one or more variances values pertaining to the SoC state vector.
10. A system (108) for estimating State of Charge (SoC) of a battery pack (102), the system (108) comprising: one or more processors (302) operatively coupled with a memory (304), wherein said memory (304) stores instructions which when executed by the one or more processors (302) causes the one or more processors (302) to: receive, at one or more processors (302), information corresponding to the battery pack (102) from one or more sources; retrieve, by the one or more processors (302), the data pertaining to a plurality of parameters and a plurality of values corresponding to the plurality of parameters from the received information; generate, by the one or more processors (302), a trained model based on the retrieved data pertaining to the plurality of parameters and the plurality of values; and estimate, by the one or more processors (302), the SoC of the battery pack (102) by utilizing the generated trained model.
11. The system ( 108) as claimed in claim 10, wherein for estimating the SoC of the battery pack (102) by utilizing the created mathematical model, the one or more processors (302) are configured to: format, the plurality of values corresponding to the plurality of parameters based on a variable integer transformation rule; determine, by the one or more processors (302), an initial floating point for the formatted plurality of values; determine, by the one or more processors (302), an integer digit resolution for the determined initial floating point; amplify, the initial floating point and the integer digit resolution based on one or more predefined rules; and apply, an iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution.
2. The system (108) as claimed in claim 10, wherein for applying, the iterative SoC computation rule to the plurality of parameters based on the amplified initial floating point and the integer digit resolution, the one or more processor (302) are configured to: apply, an Extended Kalman’s Filter (EKF) to the plurality of parameters; determine, at least one of, a SoC state vector and a state covariance matrix in an integer form for the plurality of parameters for which the EKF is applied; determine, a precision factor for the plurality of parameters for which the EKF is applied, based on application of one or more convergence criteria to the at least one determined the SoC state vector and the state covariance matrix in the integer form for the plurality of parameters.