Main Content

ee_getNodeDvDtSummary

Calculate maximum absolute values of terminal voltage time derivatives (dv/dt) based on logged simulation data

Description

summaryTable = ee_getNodeDvDtSummary(node,tau) calculates the maximum absolute values of rates-of-change of voltage variables for nodes that are based on the foundation.electrical.electrical domain, based on logged simulation data. The function returns the data for each terminal in a table. The data in the table appears in descending order according to the maximum magnitude of the rate-of-change of voltage variables with respect to the ground, over the whole simulation time. The table does not contain data for terminals that are held fixed.

Before you call this function, you must have the simulation log variable in your current workspace. Create the simulation log variable by simulating the model with data logging turned on, or load a previously saved variable from a file. If node is the name of the simulation log variable, then the table contains the data for all the blocks in the model that have nodes based on the foundation.electrical.electrical domain. If node is the name of a node in the simulation data tree, then the table contains the data only for the children of that node.

Examining rates-of-change of voltage variables in power electronics circuits is useful for determining the potential for unwanted conducted or radiated emissions. The rate-of-change data also helps you to identify switching devices that might be susceptible to parasitic turn-on. All nodes that are based on the foundation.electrical.electrical domain store the potential with respect to electrical ground as the variable v. When you log simulation data, the time-value series for this variable represents the trend of the potential over time. You can view and plot this data using the Simscape™ Results Explorer.

To evaluate the rates-of-change of voltage variables, the ee_getNodeDvDtSummary function employs finite difference approximation of the first derivative with respect to time. It performs 1-D data linear interpolation of voltage variables using a uniform grid with the time step, tau. The function then applies the central differencing scheme to the interpolated data.

Tip

For small time steps, finite differencing may lead to inaccurate results. The time step tau should be small enough to capture waveforms, but not so small that the finite differencing error becomes large. For example, for power transistors with an expected limit of 50 V/ns for their voltage rate-of-change, a reasonable guess for tau is 1e-9 s.

example

summaryTable = ee_getNodeDvDtSummary(node,tau,startTime,endTime) calculates the maximum absolute values of rates-of-change of voltage variables within a time interval. startTime and endTime represent the start and end of the time interval for evaluating the maximum values. If you omit these two input arguments, the function evaluates the maximum absolute values of rates-of-change of voltage variables over the whole simulation time.

example

Examples

collapse all

Open the Class E DC-DC Converter example model.

open_system('ClassEDCDCConverter')

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_ee_converter_dcdc_class_e in your current workspace.

sim('ClassEDCDCConverter');

Calculate the maximum absolute values of rates-of-change of voltage variables for the whole model with a time step of 1e-9 seconds, and display the results in a table.

summaryTable = ee_getNodeDvDtSummary(simlog_ClassEDCDCConverter,1e-9)
summaryTable =

  19x3 table

                                 LoggingNode                                  Terminal    max_abs_dvdt
    ______________________________________________________________________    ________    ____________

    "ClassEDCDCConverter.R_Trans"                                               "n"         3.945e+10 
    "ClassEDCDCConverter.Transformer"                                           "p1"        3.945e+10 
    "ClassEDCDCConverter.Cs"                                                    "n"        3.9433e+10 
    "ClassEDCDCConverter.R_Trans"                                               "p"        3.9433e+10 
    "ClassEDCDCConverter.Cs"                                                    "p"        3.3438e+10 
    "ClassEDCDCConverter.LDMOS"                                                 "D"        3.3438e+10 
    "ClassEDCDCConverter.Ls"                                                    "n"        3.3438e+10 
    "ClassEDCDCConverter.Sense_Vds.Voltage_Stress_Sensor"                       "p"        3.3438e+10 
    "ClassEDCDCConverter.D2"                                                    "p"         6.588e+09 
    "ClassEDCDCConverter.Transformer"                                           "n3"        6.588e+09 
    "ClassEDCDCConverter.D1"                                                    "p"        6.4617e+09 
    "ClassEDCDCConverter.Transformer"                                           "p2"       6.4617e+09 
    "ClassEDCDCConverter.Behavioral_Gate_Driver.Controlled_Voltage_Source"      "p"             1e+09 
    "ClassEDCDCConverter.LDMOS"                                                 "G"             1e+09 
    "ClassEDCDCConverter.Cout"                                                  "p"         3.057e+06 
    "ClassEDCDCConverter.D1"                                                    "n"         3.057e+06 
    "ClassEDCDCConverter.D2"                                                    "n"         3.057e+06 
    "ClassEDCDCConverter.R_Load"                                                "p"         3.057e+06 
    "ClassEDCDCConverter.Sense_Vout.Voltage_Sensor"                             "p"         3.057e+06 

The table shows the maximum absolute values over the whole simulation time of voltage rates-of-change for all the blocks in the model that have nodes based on the foundation.electrical.electrical domain.

Open the Class E DC-DC Converter example model.

open_system('ClassEDCDCConverter')

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_ClassEDCDCConverter in your current workspace.

sim('ClassEDCDCConverter');

Calculate the maximum absolute values of rates-of-change of voltage variables for the LDMOS block with a time step of 1e-9 seconds, and display the results in a table.

mosfetTable = ee_getNodeDvDtSummary(simlog_ClassEDCDCConverter.LDMOS,1e-9)
mosfetTable =

  2x3 table

    LoggingNode    Terminal    max_abs_dvdt
    ___________    ________    ____________

      "LDMOS"        "D"        3.3438e+10 
      "LDMOS"        "G"             1e+09 

The table shows the maximum absolute values over the whole simulation time of voltage rates-of-change for the LDMOS block. The table does not list the S terminal because it is held fixed to the ground.

To explore the voltage data for the LDMOS block further, use the sscexplore function.

sscexplore(simlog_ClassEDCDCConverter.LDMOS,'D.v')

The block has a variable, v, for each of the D, G, and S terminals.

Open the Class E DC-DC Converter example model.

open_system('ClassEDCDCConverter')

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_ClassEDCDCConverter in your current workspace.

sim('ClassEDCDCConverter');

The model simulation time is 1.25e-4 seconds. Calculate and display the maximum absolute values of rates-of-change of voltage variables for the LDMOS block during the second half of the simulation. Use a time step of 1e-9 seconds.

mosfetTable1 = ee_getNodeDvDtSummary(simlog_ClassEDCDCConverter.LDMOS,1e-9,0.5*1.25e-4)
mosfetTable1 =

  2x3 table

    LoggingNode    Terminal    max_abs_dvdt
    ___________    ________    ____________

      "LDMOS"        "D"        2.8484e+10 
      "LDMOS"        "G"             1e+09 

The table shows the maximum absolute values of voltage rates-of-change for the LDMOS block during the second half of the simulation. The table does not list the S terminal because it is held fixed to the ground. The magnitude of the D terminal is lower than the magnitude for the whole simulation time because the initial high-magnitude spikes of the stress voltage are disregarded.

To see the voltage time derivative for the D terminal of the LDMOS block over the whole simulation time, use the ee_getNodeDvDtTimeSeries function.

Input Arguments

collapse all

Simulation log workspace variable, or a node within this variable, that contains the logged model simulation data, specified as a Node object. You specify the name of the simulation log variable by using the Workspace variable name parameter on the Simscape pane of the Configuration Parameters dialog box. To specify a node within the simulation log variable, provide the complete path to that node through the simulation data tree, starting with the top-level variable name.

Example: simlog_ee_converter_dcdc_class_e.LDMOS

Time step for numerical differentiation, specified as a real number, in seconds. tau determines the interpolation grid as startTime:tau:endTime.

Example: 1e-9

Data Types: double

Start of the time interval for evaluating the maximum absolute values of rates-of-change of voltage variables, specified as a real number, in seconds. startTime must be greater than or equal to the simulation Start time and less than endTime.

Data Types: double

End of the time interval for evaluating the maximum absolute values of rates-of-change of voltage variables, specified as a real number, in seconds. endTime must be greater than startTime and less than or equal to the simulation Stop time.

Data Types: double

Output Arguments

collapse all

Maximum absolute values of the voltage rates-of-change for each block, returned as a table. The first column lists all the logging nodes in node that are based on the foundation.electrical.electrical domain. The second column lists the terminal names. The third column lists the corresponding maximum absolute values of voltage rates-of-change, in volts per second. The table does not contain data for terminals that are held fixed.

Version History

Introduced in R2018b