Автомасштабирование объектов данных Используя Fixed-Point Tool

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, изолирующие этот порт в подсистеме Дросселя.

  7. Нажмите кнопку 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: ''

Похожие темы