В этом примере вы используете 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, чтобы открыть Данные моделирования Inspector и сравнить поведение с плавающей и фиксированной точками.
Вернитесь к инструменту 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, чтобы открыть Данные моделирования Inspector и сравнить поведение с плавающей и фиксированной точками.
Можно продолжать корректировать настройки предложения по типу данных, предлагать типы данных и применять типы данных к модели, пока не найдете настройки, для которых поведение вашей системы с фиксированной точкой приемлемо.