Main Content

Battery.PulseSequence

Define a single pulse sequence

Description

Use the Battery.PulseSequence object to define a single experimental pulse sequence at a specific temperature and pulse current magnitude.

You can place multiple experimental pulse sequences into an array of Battery.PulseSequence objects. To do so, create a Battery.PulseSequence object for each experimental pulse sequence instance.

To use the Battery.PulseSequence object and methods, you need these products:

  • Powertrain Blockset™

  • Curve Fitting Toolbox™

  • Optimization Toolbox™

  • Parallel Computing Toolbox™

  • Simulink® Design Optimization™

Creation

Description

example

MATLAB creates a psObj = Battery.PulseSequence object that defines a pulse sequence.

Properties

expand all

An m-by-5 array of pulse sequence data. Use the addData object function to add the data. addData computes the charge and state of charge (SOC), using the assumption that the experimental test ranges is 0% to 100% SOC.

Array ElementDescriptionUnit
Data(m,1)

Time

s
Data(m,2)

Voltage

V
Data(m,3)

Current

A
Data(m,4)

Charge

A·s
Data(m,5)

State of charge (SOC)

Dimensionless

Data Types: double

Name of the model to use for simulation

Example: 'BatteryEstim3RC_PTBS'

Data Types: char

Battery.MetaData object properties containing metadata for the data.

Data Types: function_handle

Capacity observed as the difference between lowest and highest energy, in A·s. Calculated by the addData method, but can be overwritten.

Example: 0.0

Data Types: double

Battery.Parameters object containing the most recently determined battery equivalent circuit parameters.

Data Types: function_handle

Battery.ParametersHistory object array containing the history of the battery equivalent circuit parameters through different estimation steps. The last element is the most recent parameter set.

Data Types: function_handle

Object Functions

addDataImport pulse sequence experimental data
createPulsesIdentify pulses and create pulse objects from experimental data
estimateInitialEmR0Estimate open circuit voltage and series resistance
estimateInitialEmRxEstimate open circuit voltage and RC pair resistance
estimateInitialTauEstimate RC pair time constant
estimateParametersEstimate parameters
getSocIdxForPulsesReturn state of charge index for pulses
loadDataFromMatFileLoad pulse data from a MAT-file
plotPlot pulse sequence data
plotIdentifiedPulsesPlot identified pulses
plotLatestParametersPlot latest pulse sequence parameters
plotSimulationResultsPlot pulse sequence simulation results
populatePulseParametersPopulate pulse parameters
removePulsesRemove pulses from sequence
repairTimeVectorRepair time vector

Examples

collapse all

This example shows how to add data to a Battery.PulseSequence object.

Create a pulse sequence object.

psObj = Battery.PulseSequence;
disp(psObj)

Load data from a file.

FileName = 'Synthetic_LiPo_PulseDischarge.mat';
[time,voltage,current] = Battery.loadDataFromMatFile(FileName);

Add the data to the pulse sequence.

addData(psObj,time,voltage,current);
Introduced in R2016b