Можно использовать fxpopt
функционируйте или Optimized Fixed-Point Conversion
рабочий процесс в Fixed-Point Tool, чтобы оптимизировать типы данных модели или подсистемы. Иногда, оптимизация не успешна. Следующие разделы описывают, как диагностировать эти случаи.
Чтобы определить, приемлемо ли поведение новой реализации фиксированной точки, оптимизация требует четко определенных поведенческих ограничений. Используйте addTolerance
метод fxpOptimizationOptions
класс, чтобы задать числовые ограничения для оптимизированного проекта. В качестве альтернативы используйте блоки из библиотеки Model Verification. Для получения дополнительной информации смотрите, Задают Поведенческие Ограничения.
Модель, содержащая систему, которую вы хотите оптимизировать, должна иметь следующие характеристики:
Все блоки в модели должны поддержать типы данных с фиксированной точкой.
Диапазоны проекта, указанные на блоках в модели, должны быть сопоставимы с областями значений симуляции.
Если модель содержит блок 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 будет проигнорирован оптимизацией.
Если оптимизация не может найти возможное решение, попробуйте эти решения:
Ослабьте допуски сигнала.
Позвольте большим размерам слова расширять пространство поиска.
Рассмотрите использование окон времени при определении допусков сигнала. Для получения дополнительной информации смотрите Расчет Допуска.
Вместо того, чтобы задать низкоуровневые допуски на отдельных сигналах, считайте высокий уровень определения поведенческими ограничительными блоками использования из библиотеки Model Verification. Для получения дополнительной информации смотрите, Задают Поведенческие Ограничения.
Когда оптимизация не может найти новый допустимый результат, fxpopt
функция не производит OptimizationResult
вывод . Недопустимыми результатами чаще всего является результат использования модели, которая не поддерживается для оптимизации. Для получения дополнительной информации смотрите Неспособный к проблеме Модели — Никаким Ограничениям, Заданным Неспособный к проблеме Модели — Модель не поддерживается.
Когда оптимизация успешна, можно исследовать несколько различных реализаций проекта, которые были найдены во время процесса оптимизации. Не сохраняйте модель, пока вы не будете удовлетворены новым проектом. Сохранение модели отключает вас от продолжения исследовать другие реализации.
Эта ошибка может произойти если clear all
используется во время рабочих процессов преобразования фиксированной точки в Fixed-Point Tool. clear all
в настоящее время не поддержан рабочими процессами преобразования фиксированной точки. Не используйте clear all
в функциях инициализации (InitFcn
), или в командном окне MATLAB при использовании Fixed-Point Tool.
Только блокируйтесь, выходные сигналы участвуют в выведенном анализе области значений. Если блок имеет дополнительные средства управления типом данных, такой что касается аккумулятора или промежуточных результатов, области значений не выведены для этих элементов. В результате, когда оптимизация рассматривает и области значений симуляции и выведенные области значений, только информация об области значений симуляции используется, чтобы оптимизировать типы данных аккумулятора. Поэтому оптимизированный тип данных аккумулятора и тип выходных данных для данного блока могут отличаться. Для получения дополнительной информации смотрите Как Аналитические работы Области значений.