Оптимизируйте типы данных с фиксированной точкой системы Используя Fixed-Point Tool

В этом примере показано, как задать сценарии симуляции и использовать Fixed-Point Tool, чтобы собрать области значений рабочими симуляциями с помощью этих сценариев. Можно затем использовать Fixed-Point Tool, чтобы оптимизировать типы данных с фиксированной точкой системы.

Открытая модель и задает сценарии симуляции

Откройте модель. В этом примере вы оптимизируете типы данных Подсистемы контроллера. Модель настраивается, чтобы использовать или вход пандуса или случайный вход.

model = 'ex_controllerHarness';
open_system(model)

Создайте Simulink.SimulationInput объект, который содержит различные сценарии. Используйте обоих вход пандуса, а также четыре различных seed для случайного входа.

si = Simulink.SimulationInput.empty(5, 0);

% scan through 4 different seeds for the random input
rng(1);
seeds = randi(1e6, [1 4]);

for sIndex = 1:length(seeds)
    si(sIndex) = Simulink.SimulationInput(model);
    si(sIndex) = si(sIndex).setVariable('SOURCE', 2); % SOURCE == 2 corresponds to the random input
    si(sIndex) = si(sIndex).setBlockParameter([model '/Random/uniformRandom'], 'Seed', num2str(seeds(sIndex))); % scan through the seeds
    si(sIndex) = si(sIndex).setUserString(sprintf('random_%i', seeds(sIndex)));
end

% setting SOURCE == 1 corresponds to the ramp input
si(5) = Simulink.SimulationInput(model);
si(5) = si(5).setVariable('SOURCE', 1);
si(5) = si(5).setUserString('Ramp');

Подготовьте систему к преобразованию

Чтобы оптимизировать типы данных в режиме, используйте Fixed-Point Tool.

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

  2. В Fixed-Point Tool, под рабочим процессом New, выбирают Optimized Fixed-Point Conversion.

  3. Под System Under Design (SUD) выберите подсистему, для которой вы хотите оптимизировать типы данных. В этом примере выберите Controller.

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

  5. Под Simulation Inputs можно задать Simulink.SimulationInput объекты осуществить ваш проект в его полном рабочем диапазоне. В этом примере используйте сценарии симуляции, которые вы задали. Установите Simulation Inputs на si.

  6. Можно задать допуски к любому сигналу в модели с логгированием сигнала, включенным в таблице под Signal Tolerances.

  7. В панели инструментов нажмите Prepare. Fixed-Point Tool проверяет систему в соответствии с проектом для совместимости с процессом преобразования и сообщает о любых проблемах, найденных в модели. Когда возможно, Fixed-Point Tool автоматически изменяет настройки, которые не совместимы. Для получения дополнительной информации смотрите Использование Fixed-Point Tool, чтобы Подготовить Систему к Преобразованию.

Оптимизируйте типы данных в Fixed-Point Tool

  1. Чтобы задать настройки, чтобы использовать во время оптимизации, в панели инструментов, нажимают Settings.

    В этом примере используйте следующие настройки.

    • Установите Allowable Word Lengths на [2:32].

      Эта установка задает размеры слова, которые могут использоваться в вашей оптимизированной системе. Используйте эту установку, чтобы предназначаться для поиска окружения процесса оптимизации. Конечный результат оптимизации использует размеры слова в пересечении этой установки и размеры слова, совместимые с аппаратными ограничениями, заданными в панели Hardware Implementation вашей модели.

    • Установите Max Iterations на 3e2.

      Эта установка задает максимальное количество итераций, чтобы выполнить в оптимизации. Процесс оптимизации выполняет итерации через различные решения, пока он не находит идеальное решение, достигает максимального количества итераций или достигает другого критерий остановки.

    • Установите Patience на 50.

      Эта установка задает максимальное количество итераций, где никакое новое лучшее решение не найдено. Оптимизация продолжается, пока алгоритм продолжает находить новые лучшие решения.

    Для получения дополнительной информации о настройках оптимизации, смотрите fxpOptimizationOptions.

  2. Чтобы оптимизировать типы данных в модели согласно заданным настройкам, нажмите Optimize Data Types. Во время процесса оптимизации программное обеспечение анализирует области значений объектов в вашей системе в соответствии с проектом и ограничениями, заданными в настройках, чтобы применить типы гетерогенных данных к вашей системе при минимизации общей битной ширины.

Исследуйте результаты

Когда оптимизация завершается, Fixed-Point Tool отображает таблицу, которая содержит все решения, найденные во время процесса оптимизации. Первое решение в таблице соответствует решению с самой низкой ценой (наименьшая общая битная ширина).

  1. Чтобы применить оптимизированные типы данных к модели, в таблице, выбирают решение, которое вы хотите применить. В разделе Explore панели инструментов нажмите Apply and Compare. Fixed-Point Tool применяет выбранное решение, которое содержит оптимизированные типы данных с фиксированной точкой к модели и открывает Инспектора Данных моделирования.

    В этом примере выберите Solution 1, затем нажмите Apply and Compare.

  2. В Подсистеме контроллера вы видите прикладные, оптимизированные типы данных с фиксированной точкой.

Смотрите также

Похожие темы