В этом примере показано, как с помощью инструмента «Фиксированная точка» преобразовать модель, содержащую функциональный блок MATLAB ®, в фиксированную точку.
Не редактируйте вариант с фиксированной точкой алгоритма функционального блока 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.
Чтобы открыть инструмент Fixed-Point Tool, на вкладке Apps разверните галерею Apps и выберите Fixed-Point Tool.
В инструменте «Фиксированная точка» разверните стрелку кнопки «Создать» и выберите Iterative Fixed-Point Conversion.
В разделе Система под конструкцией (SUD) выберите symmetric_fir подсистема, которая содержит функциональный блок MATLAB в качестве системы для преобразования.
В разделе Режим сбора диапазонов (Range Collection Mode) выберите Расчетные диапазоны (Simulation ranges) в качестве метода сбора диапазонов. Это настраивает модель для сбора диапазонов с использованием идеализированных типов данных с плавающей запятой.
В разделе «Подготовка» панели инструментов нажмите кнопку «Подготовка».
Сбор идеализированных диапазонов для использования в предложении типа данных. Разверните стрелку кнопки Собрать диапазоны и выберите Double precision. Щелкните Собрать диапазоны (Collect Ranges), чтобы начать моделирование.
Инструмент «Фиксированная точка» сохраняет данные моделирования в прогоне под названием BaselineRun. Проверьте информацию о диапазоне переменных MATLAB в электронной таблице.
Настройте настройки предложения и предложите типы данных с фиксированной точкой для модели.
В разделе Преобразовать панели инструментов можно настроить параметры предложения типа данных для переменных блока MATLAB Function.
В этом примере используются параметры настройки предложения по умолчанию.
Щелкните Предложить типы данных.
Предложения по типу данных появляются в колонке 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 на основе параметров переопределения типа данных модели. Параметр «Переопределение типа данных» в настоящее время не активен в модели, поэтому версия с фиксированной точкой активна.

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