Преобразуйте модель-ссылку в фиксированную точку

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

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

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

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

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

Когда модель содержит модель-ссылку, на панели Model Hierarchy Инструмент с фиксированной точкой (Fixed-Point Tool) отображается подузл для образца модели-ссылки и узел для модели-ссылки. Для примера, ex_mdlref_controller модель содержит блок Model, который ссылается на ex_controller модель. На Fixed-Point Tool показаны обе модели в иерархии модели.

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

Просмотр областей значений симуляции для ссылочных моделей

  1. В Fixed-Point Tool, под New, выберите Iterative Fixed-Point Conversion рабочий процесс.

  2. В разделе System Under Design (SUD) выберите ex_controller модель как система, которую вы хотите преобразовать в фиксированную точку.

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

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

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

Инструмент регистрирует и отображает результаты для каждого образца ссылочных моделей. Для примера вот результаты для первого образца ссылочных моделей ex_controller.

Вот результаты для второго образца ex_controller.

В узле модели-ссылки инструмент отображает объединение результатов для каждого экземпляра модели-ссылки.

Инструментирование с фиксированной точкой и переопределения типа данных

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

Пользовательские настройки переопределения типов данных можно задать используя set_param. Для получения примера смотрите Использование настроек переопределения пользовательского типа данных для Области значений Наборов.

Когда вы изменяете параметры инструментирование с фиксированной точкой и типа данных для любого образца модели-ссылки, настройки изменяются на всех образцах модели и на самой модели-ссылке.

Предлагать типы данных для ссылочной Модели

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

  2. Нажмите 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 используются минимальное и максимальное значения, собранные во время моделирования, чтобы предложить масштабирование для каждого блока, так что точность максимизируется, в то время как полная область значений значений симуляции охватывается. Инструмент отображает предлагаемое масштабирование в электронной таблице.

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

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

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

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

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

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

  6. Нажмите Compare Results. Данные моделирования Inspector строят графики выходов аналогового объекта для запусков с плавающей и фиксированной точками и различия между ними.

Похожие темы