В этом примере показано, как задать сценарии симуляции и использовать 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.
В Подсистеме контроллера вы видите прикладные, оптимизированные типы данных с фиксированной точкой.
