Замените функции в блоке MATLAB function с интерполяционной таблицей

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

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

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

Скопируйте и сохраните файл ex_mySin.slx к локальной перезаписываемой папке и откройте модель.

function y = my_sin(u)
%#codegen
y = sin(u);
  1. Чтобы открыть Fixed-Point Tool, из образцового меню, выбирают Analysis> Data Type Design> Fixed-Point Tool.

  2. В разделе Prepare System for Conversion панели инструментов, под System under design, выбирают модель, ex_mySin, как система, чтобы преобразовать.

  3. В разделе Collect Ranges панели инструментов выберите Simulation Ranges как метод набора области значений. Эта кнопка конфигурирует модель, чтобы собраться, области значений с помощью идеализировали типы данных с плавающей точкой.

  4. Нажмите кнопку Collect Ranges, чтобы запустить симуляцию

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

  5. Чтобы запустить представление кода, в разделе Convert Data Types панели инструментов, нажимают MATLAB Functions.

  6. Выберите вкладку Function Replacements.

  7. Введите имя функции, которое вы хотите заменить. В данном примере введите sin. Выберите Lookup Table, и затем щелкните.

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

  8. Нажмите Propose, чтобы получить предложения по типу данных по переменным.

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

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

  10. Возвратитесь к Fixed-Point Tool. В разделе Verify панели инструментов нажмите кнопку Simulate with Embedded Types, чтобы моделировать модель с помощью недавно прикладных типов данных с фиксированной точкой. Модель моделирует с вариантом фиксированной точки как активный вариант.

Похожие темы