Блоки, которые не поддерживают типы данных с фиксированной точкой

Проблема

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

Таблица Simulink® Block Data Type Support суммирует характеристики блоков в библиотеке блока Simulink, включая то, поддерживают ли они типы данных с фиксированной точкой. Просмотреть таблицу, в командной строке MATLAB®, введите:

showblockdatatypetable

Возможные решения

Изолируйте неподдерживаемый блок

Если вы сталкиваетесь с блоком, который не поддерживается для преобразования фиксированной точки, можно изолировать неподдерживаемый блок путем разъединения его с блоком Data Type Conversion. Это обходное решение полезно, когда вы не намереваетесь использовать неподдерживаемый блок на встраиваемом процессоре.

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

Показанная подсистема спроектирована для использования на встраиваемом процессоре и должна быть преобразована в фиксированную точку. Блок Chirp Signal создает данные моделирования. Блок Chirp Signal поддерживает только двойные выходные параметры с плавающей точкой. Однако, если вы разъединяете Chirp Signal от остальной части модели путем вставки блока преобразования типа данных после блока Chirp Signal, можно использовать Fixed-Point Tool, чтобы продолжить преобразовывать подсистему в фиксированную точку.

Изолируйте Неподдерживаемые Блоки с Fixed-Point Tool.  Во время этапа подготовки преобразования Fixed-Point Tool идентифицирует любые блоки или построения в вашей системе в соответствии с проектом, которые не поддерживают фиксированные точки. Когда система в соответствии с проектом содержит неподдерживаемые построения, Fixed-Point Tool инкапсулирует любые неподдерживаемые элементы в подсистеме, содержащей неподдерживаемый блок, окруженный блоками Data Type Conversion. Для получения дополнительной информации смотрите Использование Fixed-Point Tool, чтобы Подготовить Систему к Преобразованию.

Изолируйте неподдерживаемые блоки с fxpopt.  По умолчанию, fxpopt изолирует любые неподдерживаемые блоки путем инкапсуляции неподдерживаемого блока в подсистеме, окруженной блоками Data Type Conversion. Изолированные блоки проигнорированы оптимизатором.

Примечание

Когда fxpopt изолирует неподдерживаемые блоки, итерации оптимизации не могут быть запущены параллельно. Чтобы запустить итерации оптимизации параллельно, используйте Fixed-Point Tool, чтобы изолировать неподдерживаемые блоки на подготовить этапе, сохранить модель, затем запуститесь fxpopt с 'UseParallel' активированный.

Реализация блока интерполяционной таблицы

Много блоков, которые не поддерживаются Fixed-Point Tool, могут быть аппроксимированы блоком интерполяционной таблицы. Спроектируйте эффективную реализацию фиксированной точки неподдерживаемого блока при помощи Lookup Table Optimizer. Для примера смотрите, Преобразуют Модель С плавающей точкой в Фиксированную точку.

Созданные пользователями блоки

Можно создать собственный блок, который поддерживается Fixed-Point Tool от одного из блоков в Пользовательской Библиотеке Функций.

Смотрите также

Похожие темы