В этом примере показано, как использовать Fixed-Point Tool для предложения длин дробей для модели на основе минимальных и максимальных значений, захваченных в нескольких симуляциях. В этом примере вы задаете Simulink.SimulationInput
объект в базовое рабочее пространство или рабочее пространство модели, чтобы задать сценарии симуляции, которые будут использоваться для области значений набора. Этот Fixed-Point Tool объединяет результаты из двух симуляций запусков и предлагает тип данных на основе объединённых областей значений. Объединение результатов позволяет вам автоматически масштабировать модель в полной области значений симуляции.
При преобразовании системы на основе нескольких сценариев симуляции структурное изменение содержимого проектируемой системы в процессе преобразования может привести к ошибкам. При определении сценариев симуляции избегайте каких-либо из следующих изменений в проектируемой системе:
Добавьте или удалите блок в системе под проект
Добавьте другой вход в проектируемую систему
Измените тип блока в проектируемой системе
Этот пример использует ex_fpt_merge
модель. Модель содержит синусоиду вход и два альтернативных источника шума, ограниченный полосой белый шум и случайный равномерный шум. В этом примере задайте Simulink.SimulationInput
и собирать области значений, используя источник Band-Limited White Noise и источник Случайное число 1. Предложите типы данных для модели на основе объединённых областей значений симуляции.
Откройте модель.
model = 'ex_merge_ranges';
open_system(model);
Определите Simulink.SimulationInput
объект. Первый объект устанавливает блок Manual Switch на источник Band-Limited White Noise, второй SimulationInput
объект устанавливает блок «Переключатель вручную» в источник «Случайное число».
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
. The 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.