В этом примере вы используете Fixed-Point Tool и ex_fixed_point_workflow
модель, чтобы исследовать различный выбор размера слова. После того, как вы симулируете свою модель с помощью встроенных типов, и сравните поведение и фиксированной точки с плавающей точкой системы, определите, является ли новое поведение удовлетворительным. Если поведение системы с помощью недавно прикладных типов данных с фиксированной точкой не приемлемо, можно выполнить итерации посредством процесса, пока вы не находите настройки, которые работают на вашу систему.
Откройте модель и сконфигурируйте ее для преобразования фиксированной точки.
open_system('ex_fixed_point_workflow')
Модель состоит из источника, Подсистема контроллера, которую вы хотите преобразовать в фиксированную точку и осциллограф, чтобы визуализировать подсистему выходные параметры. Конфигурирование модели таким образом помогает вам определить эффект типов данных с фиксированной точкой в системе. Используя этот подход, вы преобразуете только подсистему, потому что это - система интереса. Нет никакой потребности преобразовать источник или осциллограф к фиксированной точке.
Эта настройка позволяет вам изменять входные параметры и собирать данные моделирования для нескольких стимулов. Можно затем исследовать поведение подсистемы с различными входными диапазонами и масштабировать типы данных с фиксированной точкой, чтобы обеспечить максимальную точность при размещении полной области значений симуляции.
Чтобы сравнить поведение до и после преобразования, включите логгирование сигнала при выходных параметрах системы в соответствии с проектом.
ph = get_param('ex_fixed_point_workflow/Controller Subsystem','PortHandles'); set_param(ph.Outport(1),'DataLogging','on') set_param(ph.Outport(2),'DataLogging','on')
В галерее Apps ex_fixed_point_workflow
модель, выберите Fixed-Point Tool.
В Fixed-Point Tool, под System Under Design, выбирают подсистему, которую вы хотите преобразовать в фиксированную точку. В этом примере выберите Controller Subsystem
.
Под Range Collection Mode выберите Simulation Ranges как метод сбора области значений.
Под Simulation Inputs можно задать Simulink.SimulationInput
объекты осуществить ваш проект в его полном рабочем диапазоне. В этом примере, набор Simulation inputs к Use default model inputs
.
Чтобы задать допуски к системе, в таблице под Signal Tolerances, задают допуски к любому сигналу в модели с включенным логгированием сигнала.
Установите относительную погрешность (Rel Tol) сигналов, что вы регистрировали к 15%.
В панели инструментов нажмите Prepare. Fixed-Point Tool проверяет систему в соответствии с проектом для совместимости с процессом преобразования и сообщает о любых проблемах, найденных в модели. Когда возможно, Fixed-Point Tool автоматически изменяет настройки, которые не совместимы. Для получения дополнительной информации смотрите Использование Fixed-Point Tool, чтобы Подготовить Систему к Преобразованию.
Расширьте стрелу кнопки Collect Ranges и выберите Double precision
. Нажмите кнопку Collect Ranges, чтобы заменить типы данных в модели с двойной точностью и запустить симуляцию набора области значений.
В разделе Convert нажмите кнопку Propose Data Types.
Fixed-Point Tool использует настройки предложения по умолчанию, чтобы предложить типы данных с 16-битным размером слова и длиной части лучшей точности и обновляет результаты в электронной таблице.
Нажмите кнопку Apply Data Types, чтобы записать предложенные типы данных в модель.
В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types. Fixed-Point Tool симулирует модель с помощью новых типов данных с фиксированной точкой и хранит информацию запуска в новом запуске, названном EmbeddedRun
.
Нажмите Compare Results, чтобы открыть Инспектора Данных моделирования и сравнить поведение и фиксированной точки с плавающей точкой.
Возвратитесь к Fixed-Point Tool, чтобы обновить настройки предложения и сгенерировать новые предложения по типу данных.
В Fixed-Point Tool, в разделе Convert панели инструментов, нажимают кнопку Settings.
Измените настройки предложения, чтобы определить, улучшает ли больший размер слова поведение фиксированной точки системы. Установите Default Word Length на 32
.
Чтобы сгенерировать новые предложения, нажмите Propose Data Types.
Нажмите Apply Data Types, чтобы записать недавно предложенные типы данных в модель.
Нажмите Simulate with Embedded Types. Fixed-Point Tool симулирует модель с помощью новых типов данных с фиксированной точкой и хранит информацию запуска в новом запуске, названном EmbeddedRun_2
.
Нажмите Compare Results, чтобы открыть Инспектора Данных моделирования и сравнить поведение и фиксированной точки с плавающей точкой.
Можно продолжить настраивать настройки предложения по типу данных, предлагать типы данных и применять типы данных к модели, пока вы не находите настройки, для которых поведение фиксированной точки вашей системы приемлемо.