Автомасштабирование объектов данных с помощью Fixed-Point Tool

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

Эти типы объектов данных поддерживаются для преобразования с помощью Fixed-Point Tool.

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

Сбор областей значений для объектов данных

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

Сбор областей значений для объектов параметра

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

Ограничения типа данных в объектах данных

Некоторые объекты в группе типов разделяемых данных могут содержать ограничения на типы данных, которые они могут принять. Для примера некоторые блоки могут принимать только типы данных со знаком.

Объекты параметров автомасштабирования

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

Автомасштабирование объектов точек по оси Х

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

Автоматическое масштабирование модели с использованием объектов данных для определений типов данных

В следующей модели используется несколько различных типов объектов данных, включая Simulink.Bus, Simulink.NumericType, Simulink.LookupTable, и Simulink.Breakpoint объекты для определения типов. Используйте Fixed-Point Tool, чтобы преобразовать модель с плавающей точкой, включая объекты данных, используемые в модели, в фиксированную точку.

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

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

  2. Из Simulink® Apps вкладке выберите Fixed-Point Tool.

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

  4. В Fixed-Point Tool под System Under Design (SUD) выберите Target Embedded System как систему, которую необходимо преобразовать.

  5. В разделе Range Collection Mode выберите Simulation ranges.

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

    Когда объекты модели в проектируемой системе совместно используют тип данных с объектами за пределами проектируемой системы, проблемы распространения типа данных могут возникнуть после преобразования в фиксированную точку. По этой причине на этапе подготовки преобразования Fixed-Point Tool вставляет Data Type Conversion блоки на выходы проектируемой системы.

    В этом примере инструмент не может автоматически вставить блок Data Type Conversion в ex_data_objects/Throttle порт, поскольку порт использует сигнал шины. Вы можете игнорировать это предупреждение в этом случае, потому что уже есть Data Type Conversion блоков, изолирующих этот порт в подсистеме Throttle.

  7. Разверните стрелу кнопки Collect Ranges и выберите Double Precision. Нажмите кнопку Collect Ranges, чтобы начать симуляцию. Собранную областью значений информацию Fixed-Point Tool сохраняет в запуск под названием BaselineRun.

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

    Fixed-Point Tool обнаруживает объекты данных в модели и предлагает тип данных, который удовлетворяет ограничениям объекта данных. Можно просмотреть все объекты данных, используемые в модели, выбрав Data Objects в панели Model Hierarchy.

  9. Чтобы узнать больше о конкретном результате, выберите объект данных в Results электронной таблице. Панель Result Details содержит более подробную информацию о предложении и ссылку для подсветки всех блоков вашей модели с помощью определенного объекта данных.

    Инструмент отображает предложенные типы данных для всех результатов в ProposedDT столбце Results электронной таблицы.

  10. Чтобы просмотреть группу типов данных, к которой принадлежит результат, добавьте столбец DTGroup к электронной таблице. Нажмите кнопку добавления столбца. Выберите DTGroup в меню.

    Чтобы отсортировать по DTGroup столбцу, щелкните заголовок столбца. Теперь можно увидеть результаты, которые должны иметь один и совпадающий тип данных рядом друг с другом.

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

    Этот Fixed-Point Tool применяет предложения по типам данных к объектам данных по их определению. В этом примере объекты данных заданы в базовом рабочем пространстве. Просмотрите детали конкретного объекта данных путем ввода имени объекта данных в командной строке MATLAB.

    errorDT
      NumericType with properties:
    
          DataTypeMode: 'Fixed-point: binary point scaling'
            Signedness: 'Signed'
            WordLength: 16
        FractionLength: 11
               IsAlias: 1
             DataScope: 'Auto'
            HeaderFile: ''
           Description: ''

Похожие темы