Замените функции в блоке 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, во вкладке Apps, расширяют галерею Apps и выбирают Fixed-Point Tool

  2. В Fixed-Point Tool расширьте стрелу кнопки New и выберите Iterative Fixed-Point Conversion.

  3. Под System Under Design (SUD) выберите модель ex_mySin как система, чтобы преобразовать.

  4. Под Range Collection Mode выберите Simulation ranges как метод набора области значений. Это конфигурирует модель, чтобы собраться, области значений с помощью идеализировали типы данных с плавающей точкой.

  5. В разделе Prepare панели инструментов нажмите Prepare.

  6. Расширьте стрелу кнопки Collect Ranges и выберите Double precision. Нажмите Collect Ranges, чтобы запустить симуляцию.

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

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

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

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

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

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

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

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

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

Похожие темы