exponenta event banner

Преобразование функционального блока MATLAB в фиксированную точку

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

Рекомендации по работе с функциональным блоком MATLAB в инструменте Fixed-Point

  • Не редактируйте вариант с фиксированной точкой алгоритма функционального блока MATLAB. Используйте ракурс кода для редактирования варианта кода MATLAB с плавающей запятой и повторного предложения и применения типов данных.

  • Для успешного преобразования используйте только конструкции моделирования, поддерживаемые для автоматического преобразования с фиксированной точкой. Список поддерживаемых конструкций моделирования см. в разделе Языковые функции MATLAB, поддерживаемые для автоматического преобразования фиксированных точек.

  • При сборе информации о диапазоне не редактируйте код MATLAB в блоке MATLAB Function. При попытке объединения результатов при редактировании кода возникнут проблемы.

  • В процессе преобразования с фиксированной точкой с помощью инструмента Fixed-Point Tool не используйте опцию «Save as» для сохранения блока MATLAB Function с другим именем. В этом случае могут быть потеряны существующие результаты для исходного блока.

Открытие модели

Измените каталоги на папку, в которой находится модель. В командной строке MATLAB введите:

cd(fullfile(docroot,'toolbox','fixpoint','examples'))

Копировать ex_symmetric_fir.slx в локальную папку для записи и откройте модель.

ex_symmetric_fir модель использует симметричный фильтр FIR. Смоделировать модель и проверить выходные данные модели. Проверьте алгоритм симметричного фильтра FIR, дважды щелкнув блок MATLAB Function.

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

  2. В инструменте «Фиксированная точка» разверните стрелку кнопки «Создать» и выберите Iterative Fixed-Point Conversion.

  3. В разделе Система под конструкцией (SUD) выберите symmetric_fir подсистема, которая содержит функциональный блок MATLAB в качестве системы для преобразования.

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

  5. В разделе «Подготовка» панели инструментов нажмите кнопку «Подготовка».

Сбор информации о диапазоне

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

Инструмент «Фиксированная точка» сохраняет данные моделирования в прогоне под названием BaselineRun. Проверьте информацию о диапазоне переменных MATLAB в электронной таблице.

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

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

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

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

  2. Щелкните Предложить типы данных.

    Предложения по типу данных появляются в колонке ProposedDT электронной таблицы.

    Примечание

    Столбец SpecifiedDT всегда пуст для переменных блока MATLAB Function.

Проверка кода с помощью представления кода

Для запуска представления кода нажмите кнопку MATLAB Functions.

С помощью представления кода можно:

  • Просмотр подробной информации о переменных и выражениях.

  • Настройка параметров предложения, таких как fimath настройки.

  • Изменение предлагаемых типов данных.

  • Управление заменами функций.

    Примеры замены функций MATLAB таблицей подстановки см. в разделе Замена функций в функциональном блоке MATLAB таблицей подстановки.

  • Отредактируйте код.

  • Предлагать типы данных с фиксированной точкой.

  • Примените предлагаемые типы данных к коду.

Чтобы просмотреть текущие параметры предложения, щелкните Параметры. Здесь можно изменить fimath свойства функции. В этом примере используется значение по умолчанию fimath свойства достаточны.

Применение предлагаемых типов данных

По завершении анализа предлагаемых типов, редактирования параметров настройки предложений и реализации любых замен функций примените предлагаемые типы данных к модели. Типы данных можно применять в представлении кода или с помощью инструмента «Фиксированная точка».

В окне просмотра кода нажмите кнопку Применить. На левой панели отображается как исходный функциональный блок MATLAB с плавающей запятой, так и вновь созданный функциональный блок MATLAB с фиксированной точкой.

Щелкните правой кнопкой мыши узел блока MATLAB Function на левой панели. Выбрать Go to Block для перехода к блоку MATLAB Function в модели.

Вместо блока «MATLAB Function» теперь используется вариационная подсистема. Вариационная подсистема содержит версии блока MATLAB Function как с плавающей запятой, так и с фиксированной запятой. Активная версия автоматически управляется инструментом Fixed-Point Tool на основе параметров переопределения типа данных модели. Параметр «Переопределение типа данных» в настоящее время не активен в модели, поэтому версия с фиксированной точкой активна.

Проверка результатов

Вернитесь к инструменту «Фиксированная точка» для проверки результатов преобразования.

В разделе «Проверка» панели инструментов нажмите кнопку «Моделирование со встроенными типами» для моделирования модели с использованием вновь примененных типов данных с фиксированной точкой. Модель моделируется с использованием варианта с фиксированной точкой в качестве активного варианта.

Связанные темы