Преобразуйте блок 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 файл к локальной перезаписываемой папке и открытый модель.

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

Похожие темы