メインコンテンツ

removePulse

Remove data of current pulse from HPPCTest object

Since R2025a

Description

removePulse(myHppcTest,pulseId) removes the data of a current pulse inside the HPPCTest object, myHppcTest. The pulseId index refers to the index of the tabulated pulses in the TestSummary property table of the HPPCTest object.

example

Examples

collapse all

This example shows how to remove the data of a current pulse from a hybrid pulse power characterization (HPPC) test data. Manual removal of certain pulses might be necessary due to pulse voltage behaving in a non-linear way (diffusion rate limited, rapid internal temperature increase), missing data-points, or presence of outliers.

Open the DownloadBatteryData example and load the required HPPC data obtained for a BAK 2.9 Ah battery cell at 25 °C. This data consists of a table with three columns. The columns of the table refer to time, voltage, and current values, respectively.

openExample("simscapebattery/DownloadBatteryDataExample")
load("testDataBAKcells/hppcDataBAKcell25degC.mat")

Store the HPPC data inside an HPPCTest object by using the hppcTest function. You can use this object to view the data, add or edit breakpoints, add or remove pulses, and include additional information such as state of charge and capacity. The HPPC data is a table, so you must also specify each column name by using the TimeVariable, VoltageVariable, and CurrentVariable arguments. These names must match the names of the columns in the hppcData table.

hppcExp = hppcTest(hppcData,...
    TimeVariable="time (s)",...
    VoltageVariable="voltage (V)",...
    CurrentVariable="current (A)");

Analyze the first three current pulses of the hppcExp object by using the TestSummary property. This property contains a summary of the HPPC test that shows all the identified pulses and related data, returned as a table.

hppcExp.TestSummary(1:3,:)
ans =

  3×13 table

    PulseID    Directionality      SOC          HPPCData         PulseDuration    PseudoOCV_V    MaximumVoltage    MinimumVoltage    Current_A    C_rate    PulseStartIndex    PulseEndIndex    Temperature_degC
    _______    ______________    _______    _________________    _____________    ___________    ______________    ______________    _________    ______    _______________    _____________    ________________

       1        "Discharge"            1    {701×6 timetable}         30            4.1745           4.1745            3.7846         -6.1869     1.8976          354              1055                25       
       2        "Discharge"      0.90376    {701×6 timetable}         30            4.0837           4.0837            3.7479          -6.187     1.8977         2702              3403                25       
       3        "Discharge"      0.80754    {702×6 timetable}         30            4.0132           4.0132            3.6652         -6.1867     1.8975         5049              5751                25       

Remove the first current pulse in the TestSummary property table using the removePulse function. Use this function when a pulse is defective or if there are missing data points or breached cell operating points.

removePulse(hppcExp,1)

Analyze the first three current pulses of the hppcExp object again to see the results. The function successfully removed the current pulse with state of charge (SOC) equal to 1.

hppcExp.TestSummary(1:3,:)
ans =

  3×13 table

    PulseID    Directionality      SOC          HPPCData         PulseDuration    PseudoOCV_V    MaximumVoltage    MinimumVoltage    Current_A    C_rate    PulseStartIndex    PulseEndIndex    Temperature_degC
    _______    ______________    _______    _________________    _____________    ___________    ______________    ______________    _________    ______    _______________    _____________    ________________

       1        "Discharge"      0.90376    {701×6 timetable}         30            4.0837           4.0837            3.7479          -6.187     1.8977         2702              3403                25       
       2        "Discharge"      0.80754    {702×6 timetable}         30            4.0132           4.0132            3.6652         -6.1867     1.8975         5049              5751                25       
       3        "Discharge"      0.71133    {701×6 timetable}         30            3.9226           3.9226            3.5775         -6.1868     1.8976         7398              8099                25       

Input Arguments

collapse all

Hybrid pulse power characterization (HPPC) test object that contains the current pulse to remove, specified as an HPPCTest object.

Index of the tabulated pulse inside the TestSummary property table of the HPPCTest object, specified as a scalar.

Data Types: double

Version History

Introduced in R2025a