Systems and methods for battery reactive impedance measurements
Systems and methods for battery reactive impedance measurement is generally described. The method can include measuring a voltage of a battery cell. The method can further include measuring a current flowing through the battery cell. The method can further include determining a time offset based on the voltage and the current. The time offset can cause the voltage and current to be in-phase. The method can further include sampling the voltage and the current based on the time offset. The method can further include determining an impedance of the battery cell based on the sampled voltage and sampled shifted current.
1 . A method comprising:
measuring a voltage of a battery cell;
measuring a current flowing through the battery cell;
selecting a plurality of candidate time offsets;
generating a plurality of datasets for the plurality of candidate time offsets;
determining a plurality of standard deviations for the plurality of datasets;
determining a time offset based on the plurality of standard deviations;
shifting the current based on the determined time offset;
sampling the voltage and the shifted current based on the determined time offset; and
determining an impedance of the battery cell based on the sampled voltage and the sampled shifted current.
2 . The method of claim 1 , further comprising injecting a stimulation signal to the battery cell, wherein the stimulation signal is one of the current and the voltage.
3 . The method of claim 1 , wherein the plurality of candidate time offsets comprises three candidate time offsets, the plurality of datasets comprises three datasets and the plurality of standard deviations comprises three standard deviations.
4 . The method of claim 1 , wherein the plurality of candidate time offsets are within a predefined time range.
5 . The method of claim 1 , wherein generating the plurality of datasets comprises, for each one of the candidate time offset:
shifting the current by a candidate time offset;
sampling the voltage and the current based on the candidate time offset; and
dividing the sampled voltage by the sampled current to generate a dataset corresponding to the candidate time offset.
6 . The method of claim 1 , wherein determining the time offset based on the plurality of standard deviations comprises:
performing linear approximation on the plurality of standard deviations to identify a minimum standard deviation that corresponds to the time offset.
7 . The method of claim 1 , wherein determining the impedance of the battery cell based on the sampled voltage and sampled shifted current comprises:
generating a dataset corresponding to the time offset;
determining an average of values in the dataset; and
setting the average as the impedance.
8 . A semiconductor device comprising a controller configured to:
obtain a voltage of a battery cell;
obtain a current flowing through the battery cell;
select a plurality of candidate time offsets;
generate a plurality of datasets for the plurality of candidate time offsets;
determine a plurality of standard deviations for the plurality of datasets;
determine a time offset based on the plurality of standard deviations;
shift the current based on the determined time offset;
sample the voltage and the shifted current based on the determined time offset; and
determine an impedance of the battery cell based on the sampled voltage and the sampled shifted current.
9 . The semiconductor device of claim 8 , wherein the controller is configured to inject a stimulation signal to the battery cell, and the stimulation signal is one of the current and the voltage.
10 . The semiconductor device of claim 8 , wherein the plurality of candidate time offsets comprises three candidate time offsets, the plurality of datasets comprises three datasets and the plurality of standard deviations comprises three standard deviations.
11 . The semiconductor device of claim 8 , wherein the plurality of candidate time offsets are within a predefined time range.
12 . The semiconductor device of claim 8 , wherein the controller is configured to, for each one of the candidate time offset:
shift the current by a candidate time offset;
sample the voltage and the current based on the candidate time offset; and
divide the sampled voltage by the sampled current to generate a dataset corresponding to the candidate time offset.
13 . The semiconductor device of claim 8 , wherein the controller is configured to:
perform linear approximation on the plurality of standard deviations to identify a minimum standard deviation that corresponds to the time offset.
14 . The semiconductor device of claim 8 , wherein the controller is configured to:
generate a dataset corresponding to the time offset;
determine an average of values in the dataset; and
set the average as the impedance.
15 . A system comprising:
a battery cell;
a cell monitor configured to measure a voltage of the battery cell;
a pack monitor configured to measure a current flowing through the battery cell; and
a controller configured to:
select a plurality of candidate time offsets;
generate a plurality of datasets for the plurality of candidate time offsets;
determine a plurality of standard deviations for the plurality of datasets;
determine a time offset based on the plurality of standard deviations;
shift the current based on the determined time offset;
sample the voltage and the shifted current based on the determined time offset; and
determine an impedance of the battery cell based on the sampled voltage and the sampled shifted current.
16 . The system of claim 15 , wherein the controller is configured to:
perform linear approximation on the plurality of standard deviations to identify a minimum standard deviation that corresponds to the time offset.
17 . The system of claim 16 , wherein the plurality of candidate time offsets comprises three candidate time offsets, the plurality of datasets comprises three datasets and the plurality of standard deviations comprises three standard deviations.
18 . The system of claim 15 , wherein the controller is configured to:
generate a dataset corresponding to the time offset;
determine an average of values in the dataset; and
set the average as the impedance.