Предложите типы данных для объединённых областей значений симуляции

В этом примере показано, как использовать 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');

Откройте Fixed-Point Tool и подготовьте систему к преобразованию

  1. В Apps галерее ex_merge_ranges модель, выберите Fixed-Point Tool.

  2. В Fixed-Point Tool нажмите New и выберите Iterative Fixed-Point Conversion.

  3. В группе System Under Design выберите Subsystem.

  4. В разделе Range Collection Mode выберите Simulation Ranges в качестве метода набора областей значений.

  5. В разделе Simulation Inputs выберите Simulink.SimulationInput объект, simIn который вы определили в базовом рабочем пространстве.

  6. Установите абсолютную погрешность Subsystem: 1 сигнал на 0.1или 10%.

  7. На панели инструментов нажмите кнопку Prepare.

Сбор областей значений и преобразование в фиксированную точку

  1. Разверните стрелу кнопки 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 показывает объединённые области значений из двух сценариев симуляции.

  2. В Convert разделе панели инструментов нажмите кнопку Propose Data Types.

    Объединенные минимальное и максимальное значения Fixed-Point Tool используют, чтобы предложить длины дробей для каждого блока. Эти значения гарантируют максимальную точность при охвате полной области значений значений симуляции. Инструмент отображает предложенные типы данных в электронной таблице.

  3. Нажмите кнопку Apply Data Types, чтобы записать предложенные типы данных в модель.

Проверьте поведение с фиксированной точкой

  1. В Verify разделе панели инструментов нажмите кнопку Simulate with Embedded Types. Модель моделируется Fixed-Point Tool с помощью той же Simulink.SimulationInput сценарии, которые использовались для сбора областей значений и проверки соответствия каждого сценария заданным допускам.

    Этот Workflow Browser указывает, удовлетворяют ли выполняемые верификации допуски. В этом примере оба сценария симуляции соответствовали заданным допускам.

  2. Чтобы просмотреть данные моделирования для индивидуума запуска, щелкните правой кнопкой мыши по запуску в Workflow Browser.

Похожие темы