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

В этом примере вы используете 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, чтобы запустить симуляцию.

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

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

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

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

  11. Щелкните правой кнопкой по EmbeddedRun и выберите OpenSDI открыть Инспектора Данных моделирования и сравнить поведение и фиксированной точки с плавающей точкой.

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

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

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

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

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

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

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

  5. Щелкните правой кнопкой по EmbeddedRun_2 и выберите OpenSDI открыть Инспектора Данных моделирования и сравнить поведение и фиксированной точки с плавающей точкой.

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

Похожие темы