Автомасштабирование объектов данных Используя 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, под System Under Design (SUD), выбирают Target Embedded System как система вы хотите преобразовать.

  4. Под Range Collection Mode выберите Simulation ranges.

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

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

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

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

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

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

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

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

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

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

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

Похожие темы