Abstract:
Battery life estimation can be performed by using an algorithm and parameter values for the algorithm, scaled according to the type, e.g. capacity and chemistry, of the battery actually being used. The result of the algorithm may be scaled according to the expected current demand of the apparatus being powered by the battery. A parameter of the algorithm may also be varied if it fails to meet a predetermined fitness criterion during discharging of the battery.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to the estimation of extant battery life for battery powered apparatus.  
         BACKGROUND TO THE INVENTION  
         [0002]    Mobile telephones are an example of a battery-powered device familiar to most people. The extant battery life of battery-power devices, including mobile telephones, is of considerable importance to their users. Consequently, the provision of extant battery life indicators on mobile telephones is universal.  
           [0003]    One method of determining the extant battery life of an apparatus, such as a mobile telephone, is to measure the battery voltage and then read an extant battery life value from a pre-programmed lookup table. This has the advantage of being relatively simple to implement but suffers from a lack of accuracy.  
           [0004]    This problem is addressed in GB-A-2312517 which describes taking three voltage readings, fitting a discharge curve to the readings and then determining the extant battery life from the curve fitted to the readings. This approach is more accurate that the earlier lookup table technique. However, it is computationally intensive since the parameters of a formula for determining the battery discharge time to a specified voltage must be repeatedly calculated. It should be noted that these calculations are not trivial.  
           [0005]    Some saving in computation can be made by storing pre-calculated values for the parameters of a battery discharge model formula. However, the calculation of these parameters requires lengthy discharge tests of many batteries having different chemistries and capacities for each of the characteristic operating currents of the device, e.g. idle and active modes of a mobile phone. The fact that it takes 18 days for a 900 mAh battery to discharge at a constant current of 2 mA gives some idea of the problem when one considers that the characteristic current may be constantly changing during the development of a product.  
         SUMMARY OF THE INVENTION  
         [0006]    According to the present invention, there is provided a battery powered apparatus comprising a battery, a memory storing a set of parameter values appropriate for calculating a total life estimate of a reference battery according to an algorithm and processing means programmed to estimate the extant life of said battery of the apparatus by scaling at least one of said parameter values in dependence on the capacity of said battery of the apparatus and calculating a total life estimate for said battery of the apparatus using the or each scaled parameter value and said algorithm.  
           [0007]    Thus, the apparatus does not need to be programmed with so many parameter values.  
           [0008]    Preferably, said battery of the apparatus includes means identifying its capacity and the processing means comprises means for determining the capacity of said battery from said capacity identifying means. This means that a new battery can be introduced for the device after the end of its development.  
           [0009]    Preferably, the processing means is programmed to implement said algorithm by calculating said total life estimate for the battery of the apparatus using the formula:  
       ln          (       ϕ   -     V   low       ζ     )       ln                 α                             
 
           [0010]    where φ, ζ and α constitute parameters for which said default values are stored in the memory and V low  is a battery voltage indicative of the battery of the apparatus approaching an empty state. More preferably, the processing means is programmed to scale the parameter a according the capacity of the battery by implementing the formula:  
       α   =       [       (       α   default     -   1     )     ·       C   default       C   new         ]     +   1                           
 
           [0011]    where C default  is the capacity of the reference battery and C new  and the value of α default  being one of said default parameter values stored in the memory.  
           [0012]    The reduction in the amount of battery testing that may be achieved is primarily a benefit for the manufacturing process.  
           [0013]    According to the present invention, there is provided a method of manufacturing a battery powered apparatus having processing means, the method comprising:  
           [0014]    discharging a battery at a constant current and recording the voltage across the battery as it discharges;  
           [0015]    determining default parameter values for a battery discharge model for estimating total battery life from the recorded voltages; and  
           [0016]    programming said processing means with a program implementing said model and the values of said parameter values,  
           [0017]    wherein the programming means is programmed to scale the product of the application of said model in dependence on a current demand value dependant on said apparatus.  
           [0018]    Preferably, a manufacturing method according to the present invention comprises:  
           [0019]    discharging a battery, of the same type, at a further constant current and recording the voltage across the battery as it discharges;  
           [0020]    determining further default parameter values for the battery discharge model for estimating total battery life from the recorded voltages for said further constant current discharge,  
           [0021]    wherein the model parameter values programmed into the processing means are selected from said determined default parameter values in dependence on said apparatus dependant current value.  
           [0022]    According to the present invention, there is provided a method of manufacturing a plurality of different battery powered apparatuses having respective processing means and different current demands, the method comprising:  
           [0023]    discharging a battery or a plurality of batteries of the same type at a plurality of different constant currents and recording the voltage across the or each battery as it discharges;  
           [0024]    for each discharge current, determining default parameter values for a battery discharge model for estimating total battery life from the recorded voltages; and  
           [0025]    for each apparatus, programming its processing means with a program implementing said model and the default parameter values for the discharge current nearest to a respective apparatus dependent current demand value,  
           [0026]    wherein each programming means is programmed to scale the product of the application of said model in dependence on the relevant current demand value.  
           [0027]    Preferably, in a manufacturing method according to the present invention, the parameters are for a model of the form:  
       ln          (       ϕ   -     V   low       ζ     )       ln                 α                             
 
           [0028]    where φ, ζ and α constitute parameters for which said default values are stored in the memory and V low  is a battery voltage indicative of the battery of the apparatus approaching an empty state. More preferably, said scaling comprises scaling the default value of the parameter α, stored in the memory.  
           [0029]    If the or each battery is a Li-ion battery, the or each processing means is preferably programmed to scale the default value of α according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp       I   default         ]     +   1                           
 
           [0030]    where I exp  is said apparatus dependent current value and I default  is the respective discharge current for which the parameter values, programmed into the or each apparatus, were determined.  
           [0031]    If the or each battery is a NiMH battery, the or each processing means is preferably programmed to scale the default value of α according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp         I   default     ·     (     1   -   X     )           ]     +   1                           
 
           [0032]    if the apparatus dependent current is greater than that relating to the programmed parameter value and according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp         I   default     ·     (     1   -   X     )           ]     +   1                           
 
           [0033]    if the apparatus dependent current is less than that relating to the programmed parameter value,  
           [0034]    where I exp  is said apparatus dependent current value and I default  is the respective discharge current for which the parameter values, programmed into the or each apparatus, were determined. Preferably, is about 0.05.  
           [0035]    According to the present invention, there is also provided a battery powered apparatus comprising a battery and processing means configured for calculating an extant battery life estimate for the battery using a battery discharge model, wherein the product of the use of said model is scaled by the processing means in dependence on a current demand value for the apparatus.  
           [0036]    Preferably, the model is of the form:  
       ln          (       ϕ   -     V   low       ζ     )       ln                 α                             
 
           [0037]    and the processing means is programmed with default values for φ, ζ, α and V low  and the value for α used is derived from the programmed default value for α in dependence on said current demand value, and V low  is a battery voltage indicative of the battery of the apparatus approaching an empty state.  
           [0038]    If the battery is a Li-ion battery, the value of the parameter α used is preferably determined according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp       I   default         ]     +   1                           
 
           [0039]    where I exp  is said apparatus dependent current value and I default  is the respective discharge current for which the parameter values, programmed into the or each apparatus, were determined.  
           [0040]    If the battery is a NiMH battery, the value of the parameter α used is preferably determined according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp         I   default     ·     (     1   -   X     )           ]     +   1                           
 
           [0041]    where I exp  is said apparatus dependent current value and I default  is the respective discharge current for which the parameter values, programmed into the or each apparatus, were determined and is less than I exp  and/or the value of the parameter α used is scaled according to the formula:  
       α   =       [       (       α   default     -   1     )     ·       I   exp         I   default     ·     (     1   -   X     )           ]     +   1                           
 
           [0042]    where I exp  is said apparatus dependent current value and I default  is the respective discharge current for which the parameter values, programmed into the or each apparatus, were determined and is greater than I exp . Preferably, X is about 0.05.  
           [0043]    According to the present invention, there is further provided a battery-powered apparatus including a battery voltage sensor for sensing the voltage of a battery powering the apparatus and processing means, wherein the processing means is configured to estimate the extant life of a battery powering the apparatus by:  
           [0044]    using a battery voltage value, derived from the voltage measured by said sensor, and a battery discharge elapsed time value to determine whether the value of a dominating parameter of a function, derived from a model of a substantial part of the discharging of a battery, meets a fitness criterion; and  
           [0045]    if the value of said dominating parameter fails to meet said fitness criterion, modifying said dominating parameter&#39;s value in a predetermined manner and then calculating an estimate of extant battery life using said function. The modification of the dominating parameter has been found to be particularly useful for ensuring that the battery life estimates remain appropriate as a battery ages.  
           [0046]    Preferably, the processing means is configured to modify the value of a further parameter of said function if said dominating parameter&#39;s value fails to meet said fitness criterion.  
           [0047]    Preferably, the processing means is configured to generate said elapsed time value is by scaling a measured time value using a function of battery load current.  
           [0048]    Preferably, the processing means is configured to select an expected load current value from a collection of load current values indexed by operating modes of the apparatus. An alternative would be to use a measured value.  
           [0049]    Advantageously, said function is of the form:  
         t   r     =     (       ln                       ϕ   -     V   low       ζ       ln                 α         -     t   elap       )                           
 
           [0050]    where t r  is the extant battery life value, φ said dominating parameter, α and ζ are further parameters, V low  is a battery voltage indicative of the battery approaching an empty state, and t elap  is said elapsed time value, and said model relates battery voltage to discharge time at constant current thus: 
             V   b =φ−ζα t     elap   . 
           [0051]    and preferably, said fitness criterion is: 
           Δφ acceptable   &gt;V   b +ζα t     elap   −φ 
           [0052]    where V b  is the current battery voltage value. Preferably, Δφ acceptable  is in the range 0.04V to 0.06V, preferably 0.05V.  
           [0053]    Said battery is preferably connected to said apparatus and may be, for example, a Li-ion or NiMH battery.  
           [0054]    According to the present invention, there is further provided a mobile phone including a battery, a voltage sensor for measuring the voltage of the battery and a processor configured to control the mobile phone for operation in a standby mode and in a non-standby mode, the processor being further configured to estimate the extant life of said battery in said standby mode by an extant battery life estimating process comprising:  
           [0055]    using a battery voltage value, derived from the voltage measured by said sensor, and a battery discharge elapsed time value to determine whether the value of a dominating parameter of a function, derived from a model of a substantial part of the discharging of a battery, meets a fitness criterion; and  
           [0056]    if the value of said dominating parameter fails to meet said fitness criterion, modifying said dominating parameter&#39;s value in a predetermined manner and calculating an estimate of extant battery life using said function.  
           [0057]    Preferably, said function is of the form:  
         t   r     =     (       ln                       ϕ   -     V   low       ζ       ln                 α         -     t   elap       )                           
 
           [0058]    where t r  is the extant battery life value, φ is said dominating parameter, α and ζ are further parameters, V low  is a battery voltage indicative of the battery approaching an empty state, t elap  is said elapsed time value, and said model relates battery voltage to discharge time at constant current thus: 
             V   b =φ−ζα t     elap   . 
           [0059]    The mobile phone may employ parameter scaling in dependence on battery capacity according to the present invention, in which case said process comprises initially determining whether it is being run for a first time since the mobile phone was powered up and, if so, setting the value of at least one of said parameters in dependence on the capacity of the battery.  
           [0060]    The mobile phone may employ parameter scaling in dependence on current demand according to the present invention, in which case the processor is configured to control the mobile phone to operate according to a plurality of communication protocols and said process comprises initially determining whether it is being run for a first time since the mobile phone was powered up and, if so, setting the value of the parameter α by scaling a default value according to the expected standby current demand for the communication protocol currently being used.  
           [0061]    Preferably, said process comprises determining whether the mobile phone is in standby mode and, if so, performing a first routine otherwise performing a second routine.  
           [0062]    Preferably, the first routine comprises:  
           [0063]    updating t elap ;  
           [0064]    determining that the battery is neither low nor high;  
           [0065]    calculating Δφ where Δφ=V b +ζα t     elap   −φ;  
           [0066]    determining whether this is the first time that standby mode has been entered and, if so,  
           [0067]    updating said parameters according to  
               ϕ   new     =                  ϕ   old     +     0.1      Δϕ                     α   new     =                  α   old     -       Δϕ        [         α   0     -   1       ϕ   0       ]       ·   2                     ζ   new     =                  ζ   old     +       Δϕ        [       ζ   0       ϕ   0       ]       ·   2                                   
 
           [0068]    else  
           [0069]    determining whether Δφ is greater then Δφ acceptable  and, if so  
           [0070]    updating said parameters according to  
                 ϕ   new     =                  ϕ   old     +       [     Δϕ   -            Δϕ        Δϕ     ·     Δϕ   acceptable         ]     ·     μ   ϕ                       α   new     =                  α   old     -     Δϕ   ·     μ   α                       ζ   new     =                  ζ   old     -     Δϕ   ·     μ   ζ                 ;                         
 
           [0071]     and  
           [0072]    calculating t r, ,  
           [0073]    wherein Δφ acceptable  and μ φ  are predetermined and μ ζ  and μ α  are set according to  
         μ   α     =         (         α   0     -   1       ϕ   0       )     ·     0.5   .     
          μ   ζ         =       (       ζ   0       ϕ   0       )     ·     0.5   .                               
 
           [0074]    Preferably, the second routine comprises:  
           [0075]    determining whether the battery voltage indicated a full battery when last measured and, if so  
           [0076]    estimating the prevailing load current on the basis of the current operational status, e.g. protocol, modulation method, PDA functions;  
           [0077]    estimating the equivalent standby battery voltage for the present value of t elap ;  
           [0078]    determining whether said equivalent standby battery voltage indicates a full battery and, if not:  
           [0079]    updating updating φ according to φ new =φ old +0.5Δφ with Δφ  
           [0080]    being derived using the equivalent standby battery voltage;  
           [0081]    else  
           [0082]    estimating the load current according to  
         I   load     =         [     ϕ   +     ζα     t   elap         ]     -     V   b         R   b                             
 
           [0083]     where R b  is an approximate value for the resistance of the battery and V b  is the measured battery voltage;  
           [0084]    calculating a value for said elapsed time value by calculating an incremental elapsed time value according to  
         Δ                   t   elap       =         (     1   +       I   load       I   min_stby         )     ·   Δ                     t   elap_measured                   where                   I   min_stby                             
 
           [0085]     is the minimum expected standby current;  
           [0086]    calculating t r .  
           [0087]    In the present document, the term “full” when applied to a battery means a battery sufficiently charged that its voltage is above a threshold in the region of the battery&#39;s discharge characteristic where the transition from the initial rapidly dropping voltage to the more gently dropping voltage.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0088]    [0088]FIG. 1 is a block diagram of a mobile telephone according to the present invention;  
         [0089]    [0089]FIG. 2 is a block diagram of the software components of a battery management module;  
         [0090]    [0090]FIG. 3 is a state diagram of a monitoring sub-module of the module shown in FIG. 2;  
         [0091]    [0091]FIG. 4 is a flowchart illustrating a first function of the components shown in FIG. 2,  
         [0092]    [0092]FIG. 5 is a flowchart for updating a user interface element displaying extant battery life;  
         [0093]    [0093]FIG. 6 is a flowchart showing part of the process of FIG. 5 in more detail;  
         [0094]    [0094]FIG. 7 is a flowchart showing part of the process of FIG. 6 in more detail;  
         [0095]    [0095]FIG. 8 is a flowchart showing part of the process of FIG. 6 in more detail;  
         [0096]    [0096]FIG. 9 is a flowchart showing part of the process of FIG. 8 in more detail;  
         [0097]    [0097]FIG. 10 is a flowchart of the operation of the components shown in FIG. 2 when the mobile phone come off charge;  
         [0098]    [0098]FIG. 11 is al flowchart illustrating a manufacturing process; and  
         [0099]    [0099]FIG. 12 is a flowchart illustrating part of the process of FIG. 6 in more detail. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0100]    Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings.  
         [0101]    Referring to FIG. 1, a mobile telephone comprises an antenna  1 , an rf subsystem  2 , a baseband DSP (digital signal processing) subsystem  3 , an analogue audio subsystem  4 , a loudspeaker  5 , a microphone  6 , a controller  7 , a liquid crystal display  8 , a keypad  9 , memory  10 , a battery  11  and a power supply circuit  12 .  
         [0102]    The rf subsystem  2  contains if and rf circuits of the mobile telephone&#39;s transmitter and receiver and a frequency synthesizer for tuning the mobile telephone&#39;s transmitter and receiver. The antenna  1  is coupled to the rf subsystem  2  for the reception and transmission of radio waves.  
         [0103]    The baseband DSP subsystem  3  is coupled to the rf subsystem  2  to receive baseband signals therefrom and for sending baseband modulation signals thereto. The baseband DSP subsystems  3  includes codec functions which are well-known in the art.  
         [0104]    The analogue audio subsystem  4  is coupled to the baseband DSP subsystem  3  and receives demodulated audio therefrom. The analogue audio subsystem  4  amplifies the demodulated audio and applies it to the loudspeaker  5 . Acoustic signals, detected by the microphone  6 , are pre-amplified by the analogue audio subsystem  4  and sent to the baseband DSP subsystem  4  for coding.  
         [0105]    The controller  7  controls the operation of the mobile telephone. It is coupled to the rf subsystem  2  for supplying tuning instructions to the frequency synthesizer and to the baseband DSP subsystem for supplying control data and management data for transmission. The controller  7  operates according to a program stored in the memory  10 . The memory  10  is shown separately from the controller  7 . However, it may be integrated with the controller  7 . A timer for triggering interrupts is also provided by the controller  7 .  
         [0106]    The display device  8  is connected to the controller  7  for receiving control data and the keypad  9  is connected to the controller  7  for supplying user input data signals thereto. Amongst other function, the display device displays the estimated extant life of the battery  11  by  
         [0107]    The battery  11  is connected to the power supply circuit  12  which provides regulated power at the various voltages used by the components of the mobile telephone. The positive terminal of the battery  11  is connected to an analogue-to-digital converter (ADC) input of the controller  7 .  
         [0108]    The operation of the mobile telephone, insofar as it relates to the present invention, will now be described.  
         [0109]    Referring to FIG. 2, the controller  7  is programmed, inter alia, with an energy management server  20  and a battery management module  21 . The monitor module  21  is itself can make calls to a control and interface sub-module  22  and a monitoring sub-module  22 .  
         [0110]    The details of the energy management server  20  are not directly relevant to the present invention. It is merely necessary to understand that the energy management server  20  provides an interface between the phone&#39;s operating system and the management module  21 . One of the functions of the energy management server is to pass selected operating-system-generated messages to the management module  21 .  
         [0111]    The management module  21  implements event handlers of four event messages:  
         [0112]    FAST_SAMPLE_TIMER  
         [0113]    SLOW_SAMPLE_TIMER  
         [0114]    REFERENCE_TIMER  
         [0115]    WARNING_TIMER  
         [0116]    The FAST_SAMPLE_TIMER message is generated in response to the timeout of a first operating system timer and has an interval of 1s.  
         [0117]    The SLOW_SAMPLE_TIMER message is generated in response to the timeout of a second operating system timer and has an interval of 5s.  
         [0118]    The REFERENCE_TIMER message is generated in response to the timeout of a third operating system timer and has an interval of 60s.  
         [0119]    The WARNING_SAMPLE_TIMER message is generated in response to the timeout of a fourth operating system timer and has an interval of 120s during active mode (“talk”) and 3600s in inactive mode (“standby”).  
         [0120]    The starting, stopping and configuration of the first, second, third and fourth timers is effected by the management module  21  as will become apparent from the following description.  
         [0121]    The control and interface sub-module  22  has a plurality of interface functions  24  which allow the energy management server  20  to obtain battery-related information on behalf of other processes which may need this information. The functions can provide the current battery state (ok, low, empty), the maximum number of display bars for which the management module  21  has been configured, the number of bar remaining (i.e. the number of bar which should be being displayed to the user), the remaining battery capacity, the estimated standby operation time until the battery  11  enters the low state, the transmitter on battery voltage and the transmitter off battery voltage. Additionally, the control and interface sub-module  22  can send state change messages to the energy management server  20 . More particularly, these messages include notification of changes in the number of bars remaining value, the battery state and entry of the battery  11  into the empty state. Additionally, if the mobile phone is in normal operation, notification of the entry of the battery  11  into the empty state is followed by a power off message. This enables other processes to shut down cleanly before that phone is actually powered down in response to the power off message.  
         [0122]    Referring to FIG. 3, the management module  21  can operate in any of  5  states st 1 , . . . , st 5 . The first state is a boot state st 1  which is entered when the mobile phone&#39;s control software is rebooted. When the initialisation, carried out in the boot state st 1 , has been completed, the management module  21  enters a reset model state st 2 . In the reset model state st 2 , the management module  21  performs additional initialisations which are required on occasions in addition to re-booting. When these further initialisations have been completed, the management module  21  enters a normal operation state st 3 . In the normal operation state st 3 , the management module  21  repeatedly samples the voltage of the battery  11  (FIG. 1) and calculates estimates of the extant battery life. If the voltage of the battery  11  enters the low state or the phone is put on charge, the monitoring sub-module  23  enters a “disabled” state st 4  in which it ceases to estimate extant battery life. The monitoring sub-module  23  remains in the “disabled” state st 4  until the phone is reset. This resetting occurs when the phone is no longer “on charge” and the battery  11  is not in the low state. If the battery  11  if “full”, i.e. that battery voltage is over a “full” battery reference voltage which may be below the actual voltage of a fully charged battery, the battery management module  21  goes to the reset model state st 2 . However, if the battery  11  is not “full”, the management module  21  enters a battery equivalent use determining state st 5 . In the batter equivalent use determining state, the battery monitoring sub-module  23  calculates the time for the phone in standby mode to have discharged a fully charged battery to its current level. Once this time has been calculated, the management module  21  returns to the normal operation state.  
         [0123]    Referring to FIG. 4, whenever the management module  21  is activated in response to a FAST_SAMPLE_TIMER message or a SLOW_SAMPLE_TIMER message, the control and interface sub-module  22  updates the PSM information (step sl), reads the output of the ADC of the controller  7  (step s 2 ) and updates the current voltage value V b  for the battery  11 . This value is not simply the latest reading from the ADC but a double median filtered value calculated from several sequentially taken readings.  
         [0124]    The current voltage value is then tested to determine (step s 3 ) whether a voltage alarm message should be sent (step s 4 ) to the energy management server  20 . Whether or not a voltage alarm message is sent, the current voltage is then compared with the “battery low” reference voltage (step s 5 ) and if it is not above this reference voltage, a battery low message is sent to the energy management server  20  (step s 6 ). Finally, whether or not a battery low message has been sent, it is determined whether the battery  11  is empty (step s 7 ) and, if so, a battery empty message is sent to the energy management server  20 , followed by a power off message (step s 8 ).  
         [0125]    Referring to FIG. 5, whenever the battery management module  21  is activated in response to a REFERENCE_TIMER, an extant battery life estimating process of the battery monitoring sub-module  23  is called with the phone mode and the current voltage being passed as parameters (step s 101 ). This process returns an estimated standby operation time to low battery value (hereinafter “time remaining”) which is passed to the interface and control sub-process  22  which determines whether the number of battery life display bars required to display battery life has changed (step s 102 ) and, if so, sends a message to the energy management server  20  with the number of bars to be displayed (step s 103 ).  
         [0126]    Referring to FIG. 6, in the estimating process, it is first determined whether this is the first run of the estimating process since the phone was powered up (step s 201 ). If so various parameters φ, ξ and α, which relate to the battery discharge voltage curve, are set to values appropriate to the type of battery being used (identified by a resistor  11   a  in the battery&#39;s housing) and the phones idle mode current demand which will depend on the system in which the phone is operating (e.g. GSM, AMPS, etc.) (step s 202 ). The setting of these values is described in detail below. The phone mode parameter passed is then tested to determine which the mode the phone is in (steps s 203 ). If the phone is in standby mode, a first routine (step s 204 ) is performed, otherwise a second routine (step s 205 ) is performed. Both routines (steps s 204  and s 205 ) produce an estimate of the time remaining which is returned. The first routine (step s 204 ) estimates the time remaining using:  
               t   r     =     (       ln                       ϕ   -     V   low       ζ       ln                 α         -     t   elap       )             Eq   .              1                               
 
         [0127]    where V low  is the battery low reference voltage and t elap  is the equivalent standby mode operation elapsed time. t elap  is updated by multiplying the actual elapsed time by a system factor related to the system currently being used by the phone (GSM, AMPS etc.). This is particularly relevant for multimode phones.  
         [0128]    Referring to FIG. 7, the first routine (step s 204 ) first calculates the elapsed time, t elap  (step s 301 ). It is then determined whether the battery is low (step s 302 ). If the battery is low, a battery low flag is set (step s 303 ) and the time remaining value, t r , is set to 0 (step s 304 ). If the battery is not low, it is determined whether it is not full (step s 305 ).  
         [0129]    If the battery is determined to be full, a value for Δφ is calclauted (step s 306 ) using:  
                   Δϕ   =                  ϕ   b     -   ϕ                 =                  V   b     +     ζα     t   elap       -   ϕ                   Eq   .              2                               
 
         [0130]    where V b  is the current battery voltage, referred to above as calculated by the control and interface sub-module  22  and passed as a parameter.  
         [0131]    Once Δφ has been calculated, it is determined whether the battery voltage V b  has just fallen below the “full” battery reference (step s 307 ), i.e. a first update flag is false. If so, the parameters are updated (step s 308 ) as follows:  
                     ϕ   new     =                  ϕ   old     +     0.1      Δϕ                     α   new     =                  α   old     -       Δϕ        [         α   0     -   1       ϕ   0       ]       ·   2                     ζ   new     =                  ζ   old     +       Δϕ        [       ζ   0       ϕ   0       ]       ·   2                     Eq   .              4                               
 
         [0132]    Then, the first update flag and a model adjusted flag are set (steps s 309  and s 310 ).  
         [0133]    If the battery voltage V b  is continuing to be below the “full” battery voltage (step s 307 ), it is determined whether a parameter update is required by comparing the magnitude of Δφ with a reference value therefore (step s 311 ). If the magnitude of Δφ is above the reference, the parameters are updated (step s 312 ) as follows:  
                 ϕ     n                 e                 w       =       ϕ     o                 l                 d       +       [     Δϕ   -         |   Δϕ   |     Δϕ     ·     Δϕ     accep                 table           ]     ·     μ   ϕ                
            α     n                 e                 w       =       α     o                 l                 d       -     Δϕ   ·     μ   α                
            ζ     n                 e                 w       =       ζ     o                 l                 d       -     Δϕ   ·     μ   ζ                   Eq   .              5.                               
 
         [0134]    where Δφ acceptable  is set at design time at 0.05V and μ φ  is set at design time at 1.5.  
         [0135]    Once any necessary parameter updates have been performed, the value of t r  is calculated using Equation 1 above (step s 311 ). Step s 313  is performed immediately after step s 305  if the battery is “full”. The value of t r  is then returned.  
         [0136]    Referring to FIG. 8, in the second routine (step  205 ), it is first determined whether the battery  11  should be regarded as “full” (step s 401 ). This is done by looking at the state opf the model adjusted flag which will only be true is the battery voltage has fallen below “full” in standby mode. If the battery  11  is to be considered to be “full”, the prevailing current demand placed on the battery  11  is estimated (step s 402 ), based on the phone&#39;s operating mode and a table of typical current demands for different operating modes. This current value is then used to estimate what the battery voltage would have been if the phone had been in standby mode (step s 403 ). This voltage is then compared with the “full” battery reference (step s 404 ). If the estimated voltage (V stby     —     est ) is not greater than the “full” battery reference (step s 404 ), the parameter φ is modified (step s 405 ) as follows: 
         φ b   =V   stby     —     est +ζα t     elap     
         Δφ=φ b −φ old   
         φ new =φ old +Δφ b ·0.5  Eq. 7 
         [0137]    If the battery  11  is not considered to be “full” at step s 401 , the prevailing load current is estimated (step s 406 ). This estimate is made using:  
               I     l                 o                 a                 d       =         [     ϕ   +     ζα     t     e                 l                 ap           ]     -     V   b         R   b               Eq   .              8                               
 
         [0138]    where R b  is an approximate value for the resistance of the battery  11  between its “full” and low conditions and V b  is the measured battery voltage.  
         [0139]    Following steps s 405  and s 406 , and following step s 405  if the battery  11  is “full”, a standby mode equivalent elapsed time is calculated (step s 407 ) using:  
               Δ                   t     e                 l                 ap         =         (     1   +       I     l                 o                 a                 d         I     min_                 s                 t                 b                 y           )     ·   Δ                     t     e                 l                 ap                 _                 m                 e                 a                 s                 u                 r                 e                 d                 Eq   .              9                               
 
         [0140]    where I stby     —     min  is the minimum standby current drawn by the phone and Δt elap     —     measured  is the actual time that has elapsed.  
         [0141]    The average of Δt elap  is then calculated for the present and preceding five values (step s 408 ) and then t elap  is updated with this average (step s 409 )  
         [0142]    Once t elap  has been updated, a voltage level check is performed (step s 410 ). Referring to FIG. 9, in step s 410 , a value V drop     —     max     —     1bar  is calculated as the product of 2, the prevailing load current and the battery resistance (step s 501 ). This value is then added to the current battery voltage and the result compared with the voltage corresponding to one bar on the display  7  (step s 502 ). If the calculated value is less than the 1 bar voltage, a new value for t elap , corresponding to the 1 bar voltage is calculated (step s 503 ) using:  
               t     e                 l                 ap       =         ln      ϕ     -       V   b     ζ         ln                 α               Eq   .              10                               
 
         [0143]    Returning to FIG. 8, a new remain time is then calculated using Equation 1 (step s 411 ).  
         [0144]    The remaining time value, however derived, is passed to the interface and control sub-module  22 . The interface and control sub-module  22  then calculates the number of bar that need to be displayed using:  
             bar_level   =         t   r     -   warning_margin       time_per      _bar               Eq   .              11                               
 
         [0145]    If the number of bars is greater than those provided for in the display  7 , the number bars is set to this maximum.  
         [0146]    Referring to FIG. 10, when the phone comes off charge, the battery management module  21  first determines whether the battery  11  is “full” (step s 601 ). If the battery  11  is fully charged, the parameters φ, α and ζ, used by the first and second routines of the battery monitoring sub-module  23 , are reset to their default values (step s 602 ). Then a call is made to the battery monitoring sub-module  23  for calculation of the time remaining (step s 603 ) and, consequently, the bar level is set to the maximum number by the interface and control module (step s 604 ).  
         [0147]    If the battery  11  is not full (step s 601 ), an estimate of the charge in the battery  11  is obtained from the charging sub-system (step s 605 ). This value is then used to calculate the equivalent t elap  that would have reduced a full battery to the battery&#39;s current state (step s 606 ). It is then determined whether the phone is in standby mode (step s 607 ). If the phone is not in standby mode, the equivalent standby voltage is calculated from t elap  (step s 608 ).  
         [0148]    If the phone is in standby mode, the battery monitoring sub-module  23  is called to get a new value for the remaining time (step s 609 ) and the battery bars value updated (step s 610 ).  
         [0149]    A 10 minute timer is then set (step s 611 ) to prevent the battery monitoring sub-module  23  being called for that period, unless it has been interrupted by the phone leaving standby mode (step s 612 ). If the wait is interrupted, the battery monitoring sub-module  23  is called with standby parameter and the latest standby voltage as parameters (step s 613 ) and then with the actual prevailing mode and voltage (step s 614 ).  
         [0150]    The process of establishing the default parameter values will now be described.  
         [0151]    Referring to FIG. 11, for each type of battery chemistry a set of constant current discharge curves, e.g. 2 mA, 5 mA, 10 mA, 20 mA, for a selected capacity, e.g. 900 mAh, is determined by experiment and the voltages (V t , V t+Δt , V t+2Δt ) at three points on each curve are selected (step s 1000 ). Each curve may be produced by averaging voltages measured in an plurality of repeated tests. These points should be on parts of the curves which are well modelled by Equation 10. However, the best positions will need to be determined empirically in the light of the characteristics of the battery  11  and its intended use.  
         [0152]    For each battery chemistry/current combination parameters are calculated from these voltages as follows (step s 1001 ):  
             T                 h                 e                 n                 o                 n        -        1                 s                 o                 l                 u                 t                 i                 o                 n                 o                   f   :   -                                 α     d                 efa                 u                 l                 t       =            ln        (       (       V     t   +     Δ                 t         -     V     t   +     2      Δ                 t           )       (       V   t     -     V     t   +     Δ                 t           )       )         Δ                 t                
            ζ     d                 efa                 u                 l                 t       =       (       V     t   +     2      Δ                 t         -     V     t   +     Δ                 t           )       (       α     d                 efa                 u                 l                 t       t   +     2      Δ         -     α     d                 efa                 u                 l                 t       t   +   Δ         )              
            ϕ     d                 efa                 u                 l                 t       =       V   t     +       ζ     d                 efa                 u                 l                 t            α     d                 efa                 u                 l                 t     t                   E                   q   .              12                                 
 
         [0153]    The sets of default values for each battery chemistry/current combination are then stored (step s 1002 ).  
         [0154]    When a new phone or other product is being developed, its current demand in its lowest power operational mode is determined (step s 1003 ). The stored parameters for one or more of the battery chemistries for the test current nearest to the current demand, determined at step s 1003 , are then programmed into the phone or other product (step s 1004 ).  
         [0155]    In the present embodiment, the default parameter values for Li-ion and NiMH 900 mAh batteries at 2 mA are stored in the phone.  
         [0156]    Only a single set of parameter values for each battery chemistry are required because it has been found that the α default  value can be scaled as a function of battery capacity for both Li-ion and NiMH batteries using the formulae:  
                 α   0     =       [       (       α     d                 efa                 u                 l                 t       -   1     )     ·       C     d                 efa                 u                 l                 t         C     n                 e                 w           ]     +     1                 f                 o                 r                 L                 i        -        i                 o                 n              
            α   0     =       [       (       α     d                 efa                 u                 l                 t       -   1     )     ·       C     d                 efa                 u                 l                 t           C     n                 e                 w            (     1   +   Y     )           ]     +     1                 f                 o                 r                 N                 i                 M                 H                 Eq   .              13                               
 
         [0157]    where C default  is the default battery capacity, 900 mAh in this case, C new  is the capacity of the battery  11  being used, e.g. 600 mAh or 1600 mAh and Y is a factor relating to the self-discharging characteristic of NiMH batteries. It should be borne in mind that the values of the resistors in the batteries are related to capacity such that new battery capacities can be handled without alteration of the phones software. By way of a simple illustrative example, the resistor may be related to capacity by the formula: 
           R= 2×10 6   +C   
         [0158]    where C is the capacity in mAh.  
         [0159]    The values for φ default , and ξ default  do not need to change, at least over the battery capacity range 600 mAh to 1600 mAh with the default chosen as 900 mAh.  
         [0160]    Also, the value of α 0 , produced by scaling α default  for battery capacity if necessary, and equal to α default  if scaling for battery capacity is not necessary, can be scaled according to the basal load current. In the present embodiment, the following scaling formula is used:  
               α     0     n                 e                 w         =       [       (       α   0     -   1     )     ·       I     e                 x                 p         I     d                 efa                 u                 l                 t           ]     +   1             Eq   .              14                               
 
         [0161]    where I exp  is the expected average standby current based on the current phone operating mode and I default  is the average standby current of the phone in its operating mode which has the lowest current demand, for Li-ion batteries.  
         [0162]    For NiMH batteries two similar formulae are used, one when I exp &lt;I default :  
                 α     0     n                 e                 w         =       [       (       α   0     -   1     )     ·       I     e                 x                 p           I     d                 efa                 u                 l                 t       ·   0.95         ]     +   1            
          a                 n                   d   :   -               Eq   .              15                 α     0     n                 e                 w         =       [       (       α   0     -   1     )     ·       I     e                 x                 p           I     d                 efa                 u                 l                 t       ·   1.05         ]     +   1             E                   q   .              16                                 
 
         [0163]    if I exp &gt;I defaul .  
         [0164]    This difference is due to the significant self-discharge current that occurs in NiMH batteries.  
         [0165]    Step s 202  (FIG. 6) will now be explained in detail. Referring to FIG. 12, in the modified step, the default model parameters for the type of the battery  11  (Li-ion or NiMH) are first loaded (step s 701 ). It is then determined whether scaling for a non-default battery capacity is required, i.e. a greater than 10% deviation from the default, (step s 702 ) and, if so, α default  is scaled to produce α 0  according to Equation 13 (step s 702 ) otherwise α default  becomes α 0 . Then it is determined whether current scaling is required on the basis of the phone&#39;s operating mode (step s 703 ). If current scaling is required, it is determined whether the battery  11  is Li-ion or NiMH (step s 704 ). If is Li-ion, α 0  is scaled according to Equation 14 (step s 705 ) and, if it is NiMH, α 0  is scaled according to Equation 15 (step s 707 ) or Equation 16 (step s 708 ) depending on whether I exp &lt;I defaul  or I exp &gt;I defaul .  
         [0166]    It is to be understood that many modifications may be made to the above-described embodiment. For instance, the apparatus need not be a mobile phone and could be a PDA or a personal stereo.