В этом примере показано, как использовать Fixed-Point Tool для преобразования модели, содержащей MATLAB® Функциональный блок к фиксированной точке.
Не редактируйте вариант с фиксированной точкой алгоритма блока MATLAB Function. Используйте представление кода для редактирования варианта кода MATLAB с плавающей точкой и повторно предложите и примените типы данных.
Для успешного преобразования используйте только конструкции моделирования, поддерживаемые для автоматического преобразования с фиксированной точкой. Список поддерживаемых конструкций моделирования см. в разделе Функции языка MATLAB, поддерживаемые для автоматического преобразования фиксированной точки.
При сборе информации о области значений не редактируйте код MATLAB в блоке MATLAB Function. Изменение кода вызовет проблемы при попытке объединить результаты.
В процессе преобразования с фиксированной точкой с помощью Fixed-Point Tool не используйте опцию «Сохранить как», чтобы сохранить блок MATLAB Function с другим именем. Если это так, можно потерять существующие результаты для исходного блока.
Смените директории в папку, в которой находится модель. В командной строке MATLAB введите:
cd(fullfile(docroot,'toolbox','fixpoint','examples'))
Скопируйте ex_symmetric_fir.slx
файл в локальную папку с возможностью записи и откройте модель.
The ex_symmetric_fir
модель использует симметричный конечная импульсная характеристика. Симулируйте модель и смотрите выход модели. Смотрите симметричный алгоритм конечной импульсной характеристики, дважды кликнув по блоку MATLAB Function.
Чтобы открыть Fixed-Point Tool, на вкладке Apps, разверните коллекцию Apps и выберите Fixed-Point Tool.
В Fixed-Point Tool разверните New кнопки стрелы и выберите Iterative Fixed-Point Conversion
.
В разделе System Under Design (SUD) выберите symmetric_fir
подсистема, которая содержит блок MATLAB Function, в качестве системы для преобразования.
В разделе Range Collection Mode выберите Simulation ranges в качестве метода набора областей значений. Это конфигурирует модель для сбора областей значений с использованием идеализированных типов данных с плавающей точкой.
В Prepare разделе панели инструментов нажмите Prepare.
Соберите идеализированные области значений для использования в предложении по типу данных. Разверните стрелу кнопки Collect Ranges и выберите Double precision
. Щелкните Collect Ranges, чтобы начать симуляцию.
Данные моделирования Fixed-Point Tool хранятся в запуске под названием BaselineRun
. Исследуйте информацию о области значений переменного MATLAB в электронной таблице.
Сконфигурируйте настройки предложения и предложите типы данных с фиксированной точкой для модели.
В Convert разделе панели инструментов можно сконфигурировать параметры предложения типа данных для переменных блока 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, чтобы симулировать модель с помощью недавно примененных типов данных с фиксированной точкой. Модель моделирует вариант с фиксированной точкой как активный вариант.