В этом примере показано, как задать сценарии симуляции и использовать 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.
В галерее Apps ex_controllerHarness
модель, выберите Fixed-Point Tool.
В Fixed-Point Tool, под рабочим процессом New, выбирают Optimized Fixed-Point Conversion
.
Под System Under Design (SUD) выберите подсистему, для которой вы хотите оптимизировать типы данных. В этом примере выберите Controller
.
Под Range Collection Mode выберите Simulation Ranges как метод сбора области значений.
Под Simulation Inputs можно задать Simulink.SimulationInput
объекты осуществить ваш проект в его полном рабочем диапазоне. В этом примере используйте сценарии симуляции, которые вы задали. Установите Simulation Inputs на si
.
Можно задать допуски к любому сигналу в модели с логгированием сигнала, включенным в таблице под Signal Tolerances.
В панели инструментов нажмите Prepare. Fixed-Point Tool проверяет систему в соответствии с проектом для совместимости с процессом преобразования и сообщает о любых проблемах, найденных в модели. Когда возможно, Fixed-Point Tool автоматически изменяет настройки, которые не совместимы. Для получения дополнительной информации смотрите Использование Fixed-Point Tool, чтобы Подготовить Систему к Преобразованию.
Чтобы задать настройки, чтобы использовать во время оптимизации, в панели инструментов, нажимают Settings.
В этом примере используйте следующие настройки.
Установите Allowable Word Lengths на [2:32]
.
Эта установка задает размеры слова, которые могут использоваться в вашей оптимизированной системе. Используйте эту установку, чтобы предназначаться для поиска окружения процесса оптимизации. Конечный результат оптимизации использует размеры слова в пересечении этой установки и размеры слова, совместимые с аппаратными ограничениями, заданными в панели Hardware Implementation вашей модели.
Установите Max Iterations на 3e2
.
Эта установка задает максимальное количество итераций, чтобы выполнить в оптимизации. Процесс оптимизации выполняет итерации через различные решения, пока он не находит идеальное решение, достигает максимального количества итераций или достигает другого критерий остановки.
Установите Patience на 50
.
Эта установка задает максимальное количество итераций, где никакое новое лучшее решение не найдено. Оптимизация продолжается, пока алгоритм продолжает находить новые лучшие решения.
Для получения дополнительной информации о настройках оптимизации, смотрите fxpOptimizationOptions
.
Чтобы оптимизировать типы данных в модели согласно заданным настройкам, нажмите Optimize Data Types. Во время процесса оптимизации программное обеспечение анализирует области значений объектов в вашей системе в соответствии с проектом и ограничениями, заданными в настройках, чтобы применить типы гетерогенных данных к вашей системе при минимизации общей битной ширины.
Когда оптимизация завершается, Fixed-Point Tool отображает таблицу, которая содержит все решения, найденные во время процесса оптимизации. Первое решение в таблице соответствует решению с самой низкой ценой (наименьшая общая битная ширина).
Чтобы применить оптимизированные типы данных к модели, в таблице, выбирают решение, которое вы хотите применить. В разделе Explore панели инструментов нажмите Apply and Compare. Fixed-Point Tool применяет выбранное решение, которое содержит оптимизированные типы данных с фиксированной точкой к модели и открывает Инспектора Данных моделирования.
В этом примере выберите Solution 1, затем нажмите Apply and Compare.
В Подсистеме контроллера вы видите прикладные, оптимизированные типы данных с фиксированной точкой.