Исследуйте несколько преобразований с плавающей точкой в фиксированную точку

В этом примере вы используете 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')

Преобразуйте в фиксированную точку с помощью настроек предложения по умолчанию

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

  2. В Fixed-Point Tool, под System Under Design, выберите подсистему, которую вы хотите преобразовать в фиксированную точку. В этом примере выберите Controller Subsystem.

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

  4. В разделе Simulation Inputs можно задать Simulink.SimulationInput преследует цель осуществить ваш проект в полной рабочей области значений. В этом примере установите Simulation inputs равным Use default model inputs.

  5. Чтобы задать допуски для системы, в таблице под Signal Tolerances, задайте допуски для любого сигнала в модели с включённым логгированием сигналов.

    Установите относительную погрешность (Rel Tol) сигналов, которые вы записали, равным 15%.

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

  7. Разверните стрелу кнопки Collect Ranges и выберите Double precision. Нажмите кнопку Collect Ranges, чтобы переопределить типы данных в модели с двойной точностью и начать симуляцию набора областей значений.

  8. В разделе Convert нажмите кнопку Propose Data Types.

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

  9. Нажмите кнопку Apply Data Types, чтобы записать предложенные типы данных в модель.

  10. В Verify разделе панели инструментов нажмите кнопку Simulate with Embedded Types. Fixed-Point Tool моделирует модель с помощью новых типов данных с фиксированной точкой и хранит информацию о запуске в новом запуске под названием EmbeddedRun.

  11. Щелкните Compare Results, чтобы открыть Данные моделирования Inspector и сравнить поведение с плавающей и фиксированной точками.

Вернитесь к инструменту Fixed-Point Tool, чтобы обновить настройки предложения и сгенерировать новые предложения по типам данных.

Преобразование с использованием новых настроек предложения

  1. В окне Fixed-Point Tool, в Convert разделе панели инструментов, нажмите кнопку Settings.

    Измените настройки предложения, чтобы определить, улучшает ли большой размер слова поведение системы с фиксированной точкой. Установите Default Word Length равным 32.

  2. Чтобы сгенерировать новые предложения, нажмите Propose Data Types.

  3. Щелкните Apply Data Types, чтобы записать недавно предложенные типы данных в модель.

  4. Нажмите Simulate with Embedded Types. Fixed-Point Tool моделирует модель с помощью новых типов данных с фиксированной точкой и хранит информацию о запуске в новом запуске под названием EmbeddedRun_2.

  5. Щелкните Compare Results, чтобы открыть Данные моделирования Inspector и сравнить поведение с плавающей и фиксированной точками.

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

Похожие темы