Преобразуйте блок MATLAB function в фиксированную точку

В этом примере показано, как использовать Fixed-Point Tool для преобразования модели, содержащей MATLAB® Функциональный блок к фиксированной точке.

Лучшие практики для работы с блоком MATLAB function в Fixed-Point Tool

  • Не редактируйте вариант с фиксированной точкой алгоритма блока 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.

  1. Чтобы открыть Fixed-Point Tool, на вкладке Apps, разверните коллекцию Apps и выберите Fixed-Point Tool.

  2. В Fixed-Point Tool разверните New кнопки стрелы и выберите Iterative Fixed-Point Conversion.

  3. В разделе System Under Design (SUD) выберите symmetric_fir подсистема, которая содержит блок MATLAB Function, в качестве системы для преобразования.

  4. В разделе Range Collection Mode выберите Simulation ranges в качестве метода набора областей значений. Это конфигурирует модель для сбора областей значений с использованием идеализированных типов данных с плавающей точкой.

  5. В Prepare разделе панели инструментов нажмите Prepare.

Сбор информации о области значений

Соберите идеализированные области значений для использования в предложении по типу данных. Разверните стрелу кнопки Collect Ranges и выберите Double precision. Щелкните Collect Ranges, чтобы начать симуляцию.

Данные моделирования Fixed-Point Tool хранятся в запуске под названием BaselineRun. Исследуйте информацию о области значений переменного MATLAB в электронной таблице.

Предлагать типы данных

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

  1. В Convert разделе панели инструментов можно сконфигурировать параметры предложения типа данных для переменных блока MATLAB Function.

    В этом примере используйте настройки предложения по умолчанию.

  2. Нажмите 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, чтобы симулировать модель с помощью недавно примененных типов данных с фиксированной точкой. Модель моделирует вариант с фиксированной точкой как активный вариант.

Похожие темы