Этот пример показывает, как использовать Fixed-Point Tool, чтобы преобразовать модель, содержащую Функциональный блок MATLAB® к фиксированной точке.
Не редактируйте вариант фиксированной точки своего алгоритма блока MATLAB function. Используйте представление кода, чтобы отредактировать вариант с плавающей точкой вашего кода MATLAB и повторно предложить и применить типы данных.
Для успешного преобразования только используйте построения моделирования, поддержанные приложением Fixed-Point Converter. Для списка поддерживаемых построений моделирования смотрите Функции языка MATLAB, Поддерживавшие для Автоматизированного Преобразования Фиксированной точки.
При сборе информации области значений не редактируйте код MATLAB в блоке MATLAB function. Редактирование кода вызовет проблемы, при попытке объединить результаты.
Во время процесса преобразования фиксированной точки с помощью Fixed-Point Tool не используйте опцию “Сохранить Как”, чтобы сохранить блок MATLAB function с другим именем. Если вы делаете, вы можете потерять существующие результаты для исходного блока.
Измените директории на папку, где модель расположена. В командной строке MATLAB, введите:
cd(fullfile(docroot,'toolbox','fixpoint','examples'))
Скопируйте файл ex_symmetric_fir.slx
в локальную перезаписываемую папку и откройте модель.
Модель ex_symmetric_fir
использует симметричный КИХ-фильтр. Моделируйте модель и осмотрите образцовый вывод. Осмотрите симметричный КИХ-алгоритм фильтра путем двойного клика по блоку MATLAB function.
Чтобы открыть Fixed-Point Tool, из образцового меню, выбирают Analysis> Data Type Design> Fixed-Point Tool.
В разделе Prepare System for Conversion панели инструментов, под System under design, выбирают подсистему symmetric_fir
, которая содержит блок MATLAB function как система, чтобы преобразовать.
Соберите идеализированные области значений, чтобы использовать для предложения по типу данных.
В разделе Collect Ranges панели инструментов выберите Simulation Ranges как метод набора области значений. Эта кнопка конфигурирует модель, чтобы собраться, области значений с помощью идеализировали типы данных с плавающей точкой.
Нажмите кнопку Collect Ranges, чтобы запустить симуляцию
Fixed-Point Tool хранит данные моделирования в выполнении, названном Ranges (Double)
. Исследуйте информацию об области значений переменных MATLAB в электронной таблице.
Сконфигурируйте настройки предложения и предложите типы данных с фиксированной точкой для модели.
В разделе Convert Data Types панели инструментов можно сконфигурировать настройки предложения по типу данных для переменных блока MATLAB function.
В этом примере используйте настройки предложения по умолчанию.
Нажмите Propose Data Types.
Предложения по типу данных появляются в столбце ProposedDT электронной таблицы.
Столбец SpecifiedDT всегда является пробелом для переменных блока MATLAB function.
Чтобы запустить представление кода, нажмите кнопку MATLAB Functions.
Используя представление кода вы можете:
Просмотрите подробную переменную и информацию о выражении.
Настройте настройки предложения, такие как настройки fimath
.
Отредактируйте предложенные типы данных.
Управляйте функциональными заменами.
Для примеров, показывающих, как заменить функции MATLAB на интерполяционную таблицу, смотрите Функции Замены в блоке MATLAB function с Интерполяционной таблицей.
Отредактируйте свой код.
Предложите типы данных с фиксированной точкой.
Примените предложенные типы данных к своему коду.
Чтобы просмотреть текущие настройки предложения, нажмите Settings. Здесь можно отредактировать свойства fimath
для функции. В данном примере свойства fimath
по умолчанию достаточны.
Когда вы закончите исследовать предложенные типы, изменяя настройки предложения, и реализовывая любые функциональные замены, примените предложенные типы данных к модели. Можно применить типы данных или от представления кода, или от Fixed-Point Tool.
В окне представления кода нажмите Apply. Левая панель отображает обоих исходный блок MATLAB function с плавающей точкой, а также недавно сгенерированный блок MATLAB function варианта фиксированной точки.
Щелкните правой кнопкой по узлу блока MATLAB function на левой панели. Выберите Go to Block
, чтобы перейти к блоку MATLAB function в модели.
Различная подсистема теперь вместо блока MATLAB function. Различная подсистема содержит и версии и фиксированной точки с плавающей точкой блока MATLAB function. Активной версией автоматически управляет Fixed-Point Tool на основе настроек переопределения типа данных модели. Переопределение Типа данных не в настоящее время активно на модели, таким образом, версия фиксированной точки активна.
Возвратитесь к Fixed-Point Tool, чтобы проверить результаты преобразования.
В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types, чтобы моделировать модель с помощью недавно прикладных типов данных с фиксированной точкой. Модель моделирует с вариантом фиксированной точки как активный вариант.