Предложите типы данных для модели, на которую ссылаются,

Этот пример показывает, как предложить типы данных для модели, на которую ссылаются.

  1. Откройте модель ex_mdlref_controller. В командной строке MATLAB®, введите:

    addpath(fullfile(docroot,'toolbox','fixpoint','examples'));
    ex_mdlref_controller

  2. В образцовом меню выберите Analysis> Data Type Design> Fixed-Point Tool.

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

  4. В разделе Collect Ranges выберите Simulation Ranges как метод сбора области значений.

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

  6. Нажмите кнопку Collect Ranges, чтобы запустить симуляцию. Fixed-Point Tool заменяет типы данных в модели с, удваивает и собирает минимальные и максимальные значения для каждого объекта в вашей модели, которые происходят во время симуляции. Fixed-Point Tool хранит эту информацию области значений в выполнении, названном Ranges (Double).

  7. В разделе Convert Data Types панели инструментов нажмите Settings. Задайте параметр Safety margin for simulation min/max (%) как 20.

  8. Нажмите Propose Data Types.

    Поскольку никакой минимум проекта и максимальная информация не предоставляются, минимум симуляции и максимальные данные, которые были собраны во время запущенной симуляции, используются, чтобы предложить типы данных. Значение параметров Safety margin for simulation min/max (%) умножает “необработанные” значения симуляции на фактор 1,2. Установка параметра Safety margin for simulation min/max (%) на значение, больше, чем 1 уменьшение вероятность, что переполнение произойдет, когда типы данных с фиксированной точкой будут использоваться.

    Из-за нелинейных эффектов квантования симуляция фиксированной точки приводит к результатам, которые отличаются от идеализированного, удваивается - базирующаяся симуляция. Сигналы в симуляции фиксированной точки могут покрыть большую или меньшую область значений, чем в удваивании - базирующаяся симуляция. Если область значений увеличивается достаточно, переполнение или насыщение могли бы произойти. Запас прочности уменьшает вероятность этого случая, но это может также уменьшить точность симуляции.

    Fixed-Point Tool анализирует масштабирование всех блоков фиксированной точки, параметр Lock output data type setting against changes by the fixed-point tools которых не выбран.

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

  9. Рассмотрите масштабирование, которое предлагает Fixed-Point Tool. Можно принять решение принять масштабирующееся предложение по каждому блоку путем установки соответствующего флажка Accept. По умолчанию Fixed-Point Tool принимает все предложения по масштабированию, которые отличаются от текущего масштабирования. В данном примере проверьте, что флажок Accept устанавливается для каждого из блоков системы Контроллера.

    Чтобы просмотреть больше информации о предложении, выберите результат и просмотрите панель Result Details.

  10. В Fixed-Point Tool нажмите кнопку Apply Data Types.

    Fixed-Point Tool применяет масштабирующиеся предложения, что вы приняли на предыдущем шаге.

  11. В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types.

    Simulink® моделирует модель ex_mdlref_controller с помощью нового масштабирования, которое вы применили. Позже, Fixed-Point Tool отображает информацию о блоках, которые регистрировали данные фиксированной точки.

  12. Нажмите Compare Results. Инспектор Данных моделирования строит Analog Plant вывод для выполнений и фиксированной точки с плавающей точкой и различия между ними.

Похожие темы