В этом примере показано, как использовать Fixed-Point Tool, чтобы предложить дробные длины для основанного на модели на минимальных и максимальных значениях, полученных по нескольким симуляциям. В этом примере вы задаете Simulink.SimulationInput
объект в базовом рабочем пространстве или рабочем пространстве модели, чтобы задать сценарии симуляции, чтобы использовать для набора области значений. Fixed-Point Tool объединяет результаты двух запусков симуляции и предлагает тип данных на основе объединенных областей значений. Слияние результатов позволяет вам автомасштабировать свою модель в полной области значений симуляции.
Когда преобразование системы на основе нескольких сценариев симуляции, структурно изменение содержимого системы в соответствии с проектом во время процесса преобразования могли привести к ошибкам. Когда определение сценариев симуляции старается не вносить любое из следующих изменений в системе в соответствии с проектом:
Добавьте или удалите блок в системе в соответствии с проектом
Добавьте другой вход в систему в соответствии с проектом
Измените тип блока в системе в соответствии с проектом
Этот пример использует ex_fpt_merge
модель. Модель содержит вход синусоиды и два альтернативных источника шума, ограниченный полосой белый шумовой и случайный универсальный шум. В этом примере задайте Simulink.SimulationInput
возразите и соберите области значений с помощью Ограниченного Полосой источника Белого шума и Случайного числа 1 источник. Предложите типы данных для основанного на модели на объединенных областях значений симуляции.
Откройте модель.
model = 'ex_merge_ranges';
open_system(model);
Задайте Simulink.SimulationInput
объект. Первый объект устанавливает Ручной блок switch на Ограниченный Полосой источник Белого шума, второй SimulationInput
возразите устанавливает Ручной блок switch на источник Случайных чисел.
simIn(1) = Simulink.SimulationInput(model); simIn(2) = Simulink.SimulationInput(model);
simIn(1) = simIn(1).setBlockParameter('ex_merge_ranges/Manual Switch', 'sw', '0'); simIn(2) = simIn(2).setBlockParameter('ex_merge_ranges/Manual Switch', 'sw', '1');
В галерее Apps ex_merge_ranges
модель, выберите Fixed-Point Tool.
В Fixed-Point Tool нажмите New и выберите Iterative Fixed-Point Conversion
.
Под System Under Design выберите Subsystem
.
Под Range Collection Mode выберите Simulation Ranges как метод сбора области значений.
Под Simulation Inputs выберите Simulink.SimulationInput
объект, simIn
то, что вы задали в базовом рабочем пространстве.
Установите абсолютную погрешность Subsystem: 1
предупредите к 0.1
, или 10%.
В панели инструментов нажмите кнопку Prepare.
Расширьте стрелу кнопки Collect Ranges и выберите Double precision
. Нажмите Collect Ranges.
Simulink® симулирует ex_merge_ranges
смоделируйте дважды, однажды использование исходного блока Band-Limited White Noise и однажды использование исходного блока Random Number.
Можно просмотреть области значений каждой симуляции индивидуально путем выбора симуляции в Workflow Browser. В этом примере BaselineRun_Scenario_1
симуляция имела значение SimMin -3.5821
и значение SimMax 2.7598
. BaselineRun_Scenario_2
симуляция имела значение SimMin -2.5317
и значение SimMax 3.1542
.
Выбор BaselineRun
узел в Workflow Browser показывает объединенные диапазоны от двух сценариев симуляции.
В разделе Convert панели инструментов нажмите кнопку Propose Data Types.
Fixed-Point Tool использует объединенные минимальные и максимальные значения, чтобы предложить дробные длины для каждого блока. Эти значения гарантируют максимальную точность при охвате полного спектра значений симуляции. Инструмент отображает предложенные типы данных в электронной таблице.
Нажмите кнопку Apply Data Types, чтобы записать предложенные типы данных в модель.
В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types. Fixed-Point Tool симулирует модель с помощью того же Simulink.SimulationInput
сценарии, которые использовались, чтобы собрать области значений и проверяют, соответствовал ли каждый сценарий заданным допускам.
Workflow Browser указывает, соответствовали ли запуски верификации допускам. В этом примере оба сценария симуляции соответствовали заданным допускам.
Чтобы просмотреть данные моделирования для отдельного запуска, щелкните правой кнопкой по запуску в Workflow Browser.