Этот пример показывает, как предложить типы данных для модели, на которую ссылаются.
Откройте модель ex_mdlref_controller
. В командной строке MATLAB®, введите:
addpath(fullfile(docroot,'toolbox','fixpoint','examples')); ex_mdlref_controller
В образцовом меню выберите Analysis> Data Type Design> Fixed-Point Tool.
В Fixed-Point Tool, в разделе Prepare System панели инструментов, под System Under Design, выбирают модель ex_controller
как систему, которую вы хотите преобразовать в фиксированную точку.
В разделе Collect Ranges выберите Simulation Ranges как метод сбора области значений.
Нажмите кнопку Prepare. Fixed-Point Tool проверяет систему в соответствии с проектом для совместимости с процессом преобразования и сообщает о любых проблемах, найденных в модели. В этом примере инструмент сообщает, что модель готова к преобразованию.
Нажмите кнопку Collect Ranges, чтобы запустить симуляцию. Fixed-Point Tool заменяет типы данных в модели с, удваивает и собирает минимальные и максимальные значения для каждого объекта в вашей модели, которые происходят во время симуляции. Fixed-Point Tool хранит эту информацию области значений в выполнении, названном Ranges (Double)
.
В разделе Convert Data Types панели инструментов нажмите Settings. Задайте параметр Safety margin for simulation min/max (%) как 20
.
Нажмите 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 использует минимальные и максимальные значения, собранные во время симуляции, чтобы предложить масштабирование для каждого блока, таким образом, что точность максимизируется, в то время как полный спектр значений симуляции заполнен. Инструмент отображает предложенное масштабирование в электронной таблице.
Рассмотрите масштабирование, которое предлагает Fixed-Point Tool. Можно принять решение принять масштабирующееся предложение по каждому блоку путем установки соответствующего флажка Accept. По умолчанию Fixed-Point Tool принимает все предложения по масштабированию, которые отличаются от текущего масштабирования. В данном примере проверьте, что флажок Accept устанавливается для каждого из блоков системы Контроллера.
Чтобы просмотреть больше информации о предложении, выберите результат и просмотрите панель Result Details.
В Fixed-Point Tool нажмите кнопку Apply Data Types.
Fixed-Point Tool применяет масштабирующиеся предложения, что вы приняли на предыдущем шаге.
В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types.
Simulink® моделирует модель ex_mdlref_controller
с помощью нового масштабирования, которое вы применили. Позже, Fixed-Point Tool отображает информацию о блоках, которые регистрировали данные фиксированной точки.
Нажмите Compare Results. Инспектор Данных моделирования строит Analog Plant вывод для выполнений и фиксированной точки с плавающей точкой и различия между ними.