Автомасштабирование объектов данных Используя 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. Откройте Fixed-Point Tool из образцового меню путем выбора Analysis> Data Type Design> Fixed-Point Tool.

  3. В Fixed-Point Tool, в разделе Prepare System панели инструментов, под System Under Design, выбирают подсистему, которую вы хотите преобразовать в фиксированную точку. В этом примере выберите Target Embedded System.

  4. В разделе Collect Ranges выберите Simulation Ranges как метод сбора области значений.

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

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

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

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

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

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

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

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

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

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

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте