主要内容

batteryMeasurementFeatures

Extract features from raw battery measurement data during a single charging or discharging phase

Since R2026a

Description

featureTable = batteryMeasurementFeatures(V,I) extracts features directly from the raw measurement data in V and I. These features include statistical features, such as mean and variance, and mode-related features, such as duration of charge/discharge phases). You can use these features for data-driven battery modeling and analysis.

featureTable = batteryMeasurementFeatures(V,I,T) also includes the temperature measurements in T for feature extraction.

featureTable = batteryMeasurementFeatures(V,I,T,t) also includes the time measurements in t, for cumulative feature extraction.

featureTable = batteryMeasurementFeatures(V,I,[],t) sets T to an empty array. Use this syntax when you have no temperature data. The function returns an empty table for dTdV.

featureTable = batteryMeasurementFeatures(___,Name=Value) specifies additional options using one or more name-value arguments in addition to any of the input argument combinations in the previous syntaxes.

Input Arguments

collapse all

Voltage measurements from the battery.

Current measurements from the battery. I must be the same size as V.

Temperature measurements during battery operation. This argument is optional. If you specify T, it must be the same size as V.

Time stamps or durations during battery operation, specified as a datetime vector or a duration vector. This argument is optional. If T is provided, it must be the same size as V.

Name-Value Arguments

collapse all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: featureTable = batteryDifferentialCurves(V,I,T,NoiseTolerance=1e-3)sets the noise tolerance to 1e-3 and excludes time values.

Tolerance value for determining whether measurements come from a single charge or discharge phase, specified as a positive scalar. Current values with absolute magnitude below NoiseTolerance are treated as zero.

This parameter controls the sensitivity of phase detection.

  • A smaller tolerance requires stricter current consistency (less variation around zero) to classify the data as a single phase.

  • A larger tolerance allows for greater current fluctuations.

Example: Say that NoiseTolerance = 0.01. In this case, currents between [-0.01,0.01] A are considered negligible. The remaining non-zero values must all have the same sign—either all positive for charging or all negative for discharging for the data to accepted as representing a single phase.batteryMeasurementFeatures checks whether the current data, after filtering out near-zero values, is consistently in a single phase.

Output Arguments

collapse all

Extracted features from the battery measurements, returned as a table that includes statistical and, if time was specified, cumulative features.

  • Statistical features: Min, max, mean, standard deviation, skewness, and kurtosis of the voltage, current, and temperature (if temperature is provided)

  • Cumulative features:

    • Cumulative energy in WH: E = VIt

    • Cumulative capacity in WH: Q = It

    • Time duration for input data in seconds.

    • Start voltage of the phase in V

Algorithms

  • batteryMeasurementFeatures considers NaN and Inf values in all measurements to be missing values and ignores them during feature computing.

Version History

Introduced in R2026a