exponenta event banner

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

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

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

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

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

function y = my_sin(u)
%#codegen
y = sin(u);
  1. Чтобы открыть инструмент Fixed-Point, на вкладке Приложения разверните галерею Приложения и выберите Инструмент Fixed-Point

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

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

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

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

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

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

  7. Чтобы запустить представление кода, в разделе Преобразовать (Convert) панели инструментов щелкните Функции MATLAB (MATLAB Functions).

  8. Выберите вкладку Замены функций.

  9. Введите имя функции, которую требуется заменить. В этом примере введите sin. Выбрать Lookup Tableи нажмите кнопку.

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

  10. Щелкните Предложить, чтобы получить предложения по типу данных для переменных.

  11. Нажмите кнопку Применить (Apply), чтобы применить предложения по типу данных и создать таблицу поиска с фиксированной точкой.

    Если поведение сгенерированного кода с фиксированной точкой недостаточно близко соответствует поведению исходного кода, измените метод интерполяции или количество точек, используемых в таблице поиска, а затем повторно создайте код с фиксированной точкой.

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

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