Вы можете использовать fxpopt
функцию или Optimized Fixed-Point Conversion
рабочий процесс в Fixed-Point Tool для оптимизации типов данных модели или подсистемы. Иногда оптимизация не удаётся. В следующих разделах описывается, как устранить эти случаи.
Чтобы определить, является ли поведение новой реализации с фиксированной точкой приемлемым, оптимизация требует четко определенных поведенческих ограничений. Используйте addTolerance
метод fxpOptimizationOptions
класс, чтобы задать числовые ограничения для оптимизированного проекта. Также используйте блоки из библиотеки Верификации модели. Дополнительные сведения см. в разделе «Задание поведенческих ограничений».
Модель, содержащая систему, которую вы хотите оптимизировать, должна иметь следующие характеристики:
Все блоки в модели должны поддерживать типы данных с фиксированной точкой.
Проект областей значений, заданная для блоков в модели, должна соответствовать симуляции областей значений.
Если модель содержит блок MATLAB Function, она должна использовать MATLAB® языковые функции, поддерживаемые для преобразования с фиксированной точкой. Для получения дополнительной информации смотрите Функции языка MATLAB, поддерживаемые для автоматического преобразования фиксированной точки.
Формат логгирования данных модели должен быть установлен на Dataset
.
Чтобы сконфигурировать эту настройку, в параметрах конфигурации, на панели Data Import/Export, установите Format равным Dataset
.
Модель должна иметь конечное время остановки симуляции.
Когда параметр Input and output to have equal блока Data Type Conversion равен Stored Integer (SI)
блок Data Type Conversion будет проигнорирован оптимизацией.
Если оптимизация не может найти возможное решение, попробуйте следующие решения:
Ослабьте допуски сигнала.
Разрешить большему размеры слова расширять пространство поиска.
Рассмотрите использование временных окон при определении допусков сигнала. Для получения дополнительной информации см. Раздел «Расчет допусков».
Вместо того, чтобы задавать низкоуровневые допуски для отдельных сигналов, рассмотрите установка высокоуровневых поведенческих ограничений с помощью блоков из библиотеки Верификации модели. Дополнительные сведения см. в разделе «Задание поведенческих ограничений».
Когда оптимизация не может найти новый допустимый результат, fxpopt
функция не генерирует OptimizationResult
выход. Недопустимые результаты чаще всего являются результатом использования модели, которая не поддерживается для оптимизации. Для получения дополнительной информации смотрите Невозможно Смоделировать Задачу - Никакие ограничения Не Заданные Неспособные Смоделировать Задачу - Модель не поддерживается.
Когда оптимизация является успешной, можно исследовать несколько различных реализаций вашего проекта, которые были найдены в процессе оптимизации. Не сохраняйте модель, пока вы не будете удовлетворены новым проектом. Сохранение модели отключает продолжение исследования других реализаций.
Эта ошибка может возникнуть, если clear all
используется во время рабочих процессов преобразования с фиксированной точкой в Fixed-Point Tool. clear all
в настоящее время не поддерживается рабочими процессами преобразования с фиксированной точкой. Не используйте clear all
в функциях инициализации (InitFcn
), или в Командном Окне MATLAB при использовании Fixed-Point Tool.
В производном анализе области значений участвуют только выходные сигналы блоков. Если блок имеет дополнительные элементы управления типом данных, такие как для аккумулятора или промежуточных результатов, области значений для этих элементов не выводятся. В результате, когда оптимизация рассматривает как области значений симуляции, так и выведенные области значений, для оптимизации типов данных аккумулятора используется только информация о области значений симуляции. Поэтому оптимизированный тип данных аккумулятора и выход данных для данного блока могут отличаться. Для получения дополнительной информации см. Раздел «Как работает анализ области значений».