ee_getNodeDvDtTimeSeries

Вычислите скорости изменения переменных напряжения

Описание

пример

seriesTable = ee_getNodeDvDtTimeSeries(node,tau) вычисляет скорости изменения переменных напряжения для узлов, которые основаны на foundation.electrical.electrical область, основанная на логгированных данных моделирования. Функция возвращает данные для каждого терминала в таблице. Данные в таблице появляются в порядке убывания согласно максимальному абсолютному значению скорости изменения переменных напряжения относительно земли за все время симуляции. Таблица не содержит данных для терминалов, которые удерживаются фиксированными.

Прежде чем вы вызовете эту функцию, у вас должна быть переменная журнала симуляции в текущей рабочей области. Создайте переменную журнала симуляции путем симуляции модели с включенным логгированием данных или загрузите ранее сохраненную переменную из файла. Если node - имя переменной журнала симуляции, затем таблица содержит данные для всех блоков модели, которые имеют узлы, основанные на foundation.electrical.electrical область. Если node - имя узла в дереве данных моделирования, тогда таблица содержит данные только для дочерних элементов этого узла.

Изучение скоростей изменения переменных напряжения в цепях силовой электроники полезно для определения потенциала нежелательных проводимых или излучаемых выбросов. Скорость изменения данных также помогает вам идентифицировать нежелательное включение коммутационных устройств. Все узлы, которые основаны на foundation.electrical.electrical область сохраняет потенциал относительно электрического заземления как переменную v. Когда вы логгируете данные моделирования, временной ряд для этой переменной представляет тренд потенциала с течением времени. Просмотреть и построить графики этих данных можно с помощью Simscape™ Results Explorer.

Чтобы оценить скорости изменения переменных напряжения, ee_getNodeDvDtTimeSeries функция использует конечное разностное приближение первой производной относительно времени. Он выполняет 1-D данных линейную интерполяцию переменных напряжения с помощью равномерной сетки с временным шагом, tau. Затем функция применяет центральную схему дифференцирования к интерполированным данным.

Совет

Для небольших временных шагов конечное дифференцирование может привести к неточным результатам. Временной шаг tau должна быть достаточно маленькой, чтобы захватить формы волны, но не настолько маленькой, чтобы конечная ошибка дифференцирования стала большой. Для примера, для степени транзисторов с ожидаемым пределом 50 В/нс для их скорости изменения напряжения, разумное предположение для tau составляет 1e-9 с.

пример

seriesTable = ee_getNodeDvDtTimeSeries(node,tau,startTime,endTime) вычисляет скорости изменения переменных напряжения в течение временного интервала. startTime и endTime представление начала и конца временного интервала для оценки производных переменных напряжения относительно времени. Если вы опускаете эти два входных параметров, функция оценивает скорости изменения переменных напряжения в течение всего времени симуляции.

Примеры

свернуть все

Откройте пример классу E DC-DC Converter.

open_system('ee_converter_dcdc_class_e')

В этой модели примера включена регистрация данных. Запустите симуляцию, чтобы создать переменную журнала симуляции simlog_ee_converter_dcdc_class_e в текущей рабочей области.

sim('ee_converter_dcdc_class_e');

Вычислите скорости изменения переменных напряжения для всей модели с временным шагом 1e-9 секунд и верните данные временных рядов в таблицу.

seriesTable = ee_getNodeDvDtTimeSeries(simlog_ee_converter_dcdc_class_e,1e-9)
seriesTable =

  19x4 table

                                    LoggingNode                                     Terminal         Voltage               dvdt       
    ____________________________________________________________________________    ________    _________________    _________________

    "ee_converter_dcdc_class_e.R_Trans"                                               "n"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Transformer"                                           "p1"      {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Cs"                                                    "n"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.R_Trans"                                               "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Cs"                                                    "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.LDMOS"                                                 "D"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Ls"                                                    "n"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Sense_Vds.Voltage_Stress_Sensor"                       "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.D2"                                                    "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Transformer"                                           "n3"      {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.D1"                                                    "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Transformer"                                           "p2"      {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Behavioral_Gate_Driver.Controlled_Voltage_Source"      "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.LDMOS"                                                 "G"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Cout"                                                  "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.D1"                                                    "n"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.D2"                                                    "n"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.R_Load"                                                "p"       {1x125001 double}    {1x125001 double}
    "ee_converter_dcdc_class_e.Sense_Vout.Voltage_Sensor"                             "p"       {1x125001 double}    {1x125001 double}

Таблица содержит данные временных рядов переменных напряжения и их первых производных за все время симуляции для всех блоков модели, которые имеют узлы, основанные на foundation.electrical.electrical область.

Просмотрите данные временных рядов. Из рабочей области откройте seriesTable таблицу, затем откройте две 1x125001 double числовые массивы для ee_converter_dcdc_class_e.LDMOS.D.

Первый массив содержит данные о напряжении. Второй массив содержит данные производной напряжения.

Постройте график данных.

time = 0:1e-9:1.25e-4;
vOut = seriesTable.Voltage{6};
dvdtOut = seriesTable.dvdt{6};

ax1 = subplot(2,1,1);
plot(time,vOut),grid;
ylabel('Voltage (V)');
axis([0 1.25e-4 0 1000]);
ax1.XTickLabel = {};
ax1.Title.String = 'LDMOS Stress Voltage';

ax2 = subplot(2,1,2);
plot(time,dvdtOut),grid;
ylabel('Voltage Derivative (V/s)');
xlabel('Time (s)');
axis([0 1.25e-4 0 4e10]);
ax2.Title.String = 'LDMOS Stress Voltage Derivative';

Откройте пример классу E DC-DC Converter.

open_system('ee_converter_dcdc_class_e')

В этой модели примера включена регистрация данных. Запустите симуляцию, чтобы создать переменную журнала симуляции simlog_ee_converter_dcdc_class_e в текущей рабочей области.

sim('ee_converter_dcdc_class_e');

Вычислите скорости изменения переменных напряжения для блока LDMOS с временным шагом 1e-9 секунд и верните данные временных рядов в таблицу.

mosfetTable = ee_getNodeDvDtTimeSeries(simlog_ee_converter_dcdc_class_e.LDMOS,1e-9)
mosfetTable =

  2x4 table

    LoggingNode    Terminal         Voltage               dvdt       
    ___________    ________    _________________    _________________

      "LDMOS"        "D"       {1x125001 double}    {1x125001 double}
      "LDMOS"        "G"       {1x125001 double}    {1x125001 double}

Таблица содержит данные временных рядов переменных напряжения и их первых производных за все время симуляции для блока LDMOS. В таблице не указан терминал S, поскольку он закреплен на земле.

Откройте пример классу E DC-DC Converter.

open_system('ee_converter_dcdc_class_e')

В этой модели примера включена регистрация данных. Запустите симуляцию, чтобы создать переменную журнала симуляции simlog_ee_converter_dcdc_class_e в текущей рабочей области.

sim('ee_converter_dcdc_class_e');

Время симуляции модели составляет 1.25e-4 секунды. Вычислите и отобразите скорости изменения переменных напряжения для блока Transformer в течение последних 0.25e-4 секунд симуляции. Используйте временной шаг 1e-9 секунд.

transformerTable = ee_getNodeDvDtTimeSeries(simlog_ee_converter_dcdc_class_e.Transformer,1e-9,1e-4)
transformerTable =

  3x4 table

     LoggingNode     Terminal        Voltage               dvdt      
    _____________    ________    ________________    ________________

    "Transformer"      "p1"      {1x25001 double}    {1x25001 double}
    "Transformer"      "n3"      {1x25001 double}    {1x25001 double}
    "Transformer"      "p2"      {1x25001 double}    {1x25001 double}

Таблица содержит данные временных рядов переменных напряжения и их первых производных для блока Трансформатора за последние 0,25e-4 секунды симуляции. В таблице не перечислены терминалы, которые закреплены на земле.

Просмотрите данные временных рядов. Из рабочей области откройте transformerTable таблицу, затем откройте две 1x25001 double числовые массивы для Transformer.p1.

Первый массив содержит данные о напряжении. Второй массив содержит данные производной напряжения.

Постройте график данных.

time = 1e-4:1e-9:1.25e-4;
vOut = transformerTable.Voltage{1};
dvdtOut = transformerTable.dvdt{1};

ax1 = subplot(2,1,1);
plot(time,vOut),grid;
ylabel('Voltage (V)');
ax1.YLim = [-1000 1500];
ax1.XTickLabel = {};
ax1.Title.String = 'Transformer Primary Voltage';

ax2 = subplot(2,1,2);
plot(time,dvdtOut),grid;
ylabel('Voltage Derivative (V/s)');
xlabel('Time (s)');
ax2.Title.String = 'Transformer Primary Voltage Derivative';

Входные параметры

свернуть все

Переменная рабочей области журнала моделирования или узел в этой переменной, который содержит записанные данные симуляции модели, заданные как Node объект. Имя переменной журнала симуляции задается с помощью параметра Workspace variable name на панели Simscape диалогового окна Параметры конфигурации. Чтобы задать узел в переменной журнала симуляции, укажите полный путь к этому узлу через дерево данных моделирования, начиная с имени переменной верхнего уровня.

Пример: simlog_ee_converter_dcdc_class_e.LDMOS

Временной шаг для численного дифференцирования, заданный как действительное число, в секундах. tau определяет интерполяционную сетку следующим startTime: tau: endTime.

Пример: 1e-9

Типы данных: double

Начало временного интервала для оценки скоростей изменения переменных напряжения, заданных как действительное число, в секундах. startTime должно быть больше или равно Start time симуляции и меньше endTime.

Типы данных: double

Конец временного интервала для оценки скоростей изменения переменных напряжения, заданного как действительное число, в секундах. endTime должно быть больше startTime и меньше или равно Stop time симуляции.

Типы данных: double

Выходные аргументы

свернуть все

Временные ряды скоростей изменения напряжения для каждого блока, возвращенные как таблица. В первом столбце перечислены все узлы регистрации в узле, основанные на foundation.electrical.electrical область. Во втором столбце перечислены имена клемм. В третьем столбце перечислены соответствующие интерполированные значения напряжения в вольтах. В четвертом столбце перечислены соответствующие численно дифференцированные значения скоростей изменения напряжения в вольтах в секунду. Таблица не содержит данных для терминалов, которые удерживаются фиксированными.

Введенный в R2018b