coder.FixPtConfig class

Пакет: кодер

Объект настройки преобразования из плавающей запятой в фиксированную запятую

Описание

coder.FixptConfig объект содержит параметры конфигурации что MATLAB® Coder™ codegen функция требует, чтобы преобразовать код MATLAB с плавающей точкой в фиксированную точку код MATLAB во время генерации кода. Используйте -float2fixed опция, чтобы передать этот объект codegen функция.

Конструкция

fixptcfg = coder.config('fixpt') создает coder.FixPtConfig объект для преобразования из плавающей запятой в фиксированную запятую.

Свойства

ComputeDerivedRanges

Включите выведенный анализ области значений.

Значения: true|false (значение по умолчанию)

ComputeSimulationRanges

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

Значения: true (значение по умолчанию) |false

DefaultFractionLength

Длина части фиксированной точки по умолчанию.

Значения: 4 (значения по умолчанию) | положительное целое число

DefaultSignedness

Значение по умолчанию, со знаком из переменных в сгенерированном коде.

Значения: 'Automatic' (значение по умолчанию) | 'Signed' | 'Unsigned'

DefaultWordLength

Размер слова фиксированной точки по умолчанию.

Значения: 14 (значений по умолчанию) | положительное целое число

DetectFixptOverflows

Включите обнаружение масштабируемого использования переполнения, удваивается.

Значения: true| false (значение по умолчанию)

fimath

fimath Свойства (Fixed-Point Designer) использовать для преобразования.

Значения: fimath('RoundingMethod', 'Floor', 'OverflowAction', 'Wrap', 'ProductMode', 'FullPrecision', 'SumMode', 'FullPrecision') (значение по умолчанию) | строка

FixPtFileNameSuffix

Суффикс для имен файлов фиксированной точки.

Значения: '_fixpt' | строка

LaunchNumericTypesReport

Просмотрите числовой отчет типов после того, как программное обеспечение предложит фиксированные точки.

Значения: true (значение по умолчанию) | false

LogIOForComparisonPlotting

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

Значения: true (значение по умолчанию) | false

OptimizeWholeNumber

Оптимизируйте размеры слова переменных, журналы min симуляции которых / макс. журналы указывают, что они всегда - целые числа.

Значения: true (значение по умолчанию) | false

PlotFunction

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

LogIOForComparisonPlotting должен собираться в истину включить графический вывод сравнения. Эта опция более приоритетна по сравнению с PlotWithSimulationDataInspector.

Функция построения графика должна принять три входных параметров:

  • Структура, которая содержит имя переменной и функции, которая использует его.

  • Массив ячеек, чтобы содержать регистрируемые значения с плавающей точкой для переменной.

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

Значения: '' (значение по умолчанию) | строка

PlotWithSimulationDataInspector

Используйте Инспектора Данных моделирования для графиков сравнения.

LogIOForComparisonPlotting должен собираться в истину включить графический вывод сравнения. PlotFunction опция более приоритетна по сравнению с PlotWithSimulationDataInspector.

Значения: true| false (значение по умолчанию)

ProposeFractionLengthsForDefaultWordLength

Предложите фиксированные точки на основе DefaultWordLength.

Значения: true (значение по умолчанию) | false

ProposeTargetContainerTypes

По умолчанию (FALSE), предложите, чтобы типы данных с минимальным размером слова должны были представлять значение. Когда установлено в истину, предложите тип данных с самым маленьким размером слова, который может представлять область значений и подходит для генерации кода C (8,16,32, 64 …). Например, для переменной с областью значений [0.. 7], предложите размер слова 8, а не 3.

Значения: true| false (значение по умолчанию)

ProposeWordLengthsForDefaultFractionLength

Предложите фиксированные точки на основе DefaultFractionLength.

Значения: false (значение по умолчанию) | true

ProposeTypesUsing

Предложите типы данных на основе данных об области значений симуляции, выведенных областей значений или обоих.

Значения: 'BothSimulationAndDerivedRanges' (значение по умолчанию) | 'SimulationRanges'|'DerivedRanges'

SafetyMargin

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

Значения: 0 (значений по умолчанию) | дважды

StaticAnalysisQuickMode

Выполните более быстрый статический анализ.

Значения: true | false (значение по умолчанию)

StaticAnalysisTimeoutMinutes

Прервите анализ, если тайм-аут достигнут.

Значения: '' (значение по умолчанию) | положительное целое число

TestBenchName

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

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

Значения: '' (значение по умолчанию) | представляет в виде строки | массив ячеек строк

TestNumerics

Включите тестирование численных данных.

Значения: true| false (значение по умолчанию)

Методы

addApproximationЗамените функцию с плавающей точкой на интерполяционную таблицу во время преобразования фиксированной точки
addDesignRangeSpecificationДобавьте спецификацию области значений проекта в параметр
addFunctionReplacementЗамените функцию с плавающей точкой на функцию фиксированной точки во время преобразования фиксированной точки
clearDesignRangeSpecificationsОчистите все технические требования области значений проекта
getDesignRangeSpecificationПолучите технические требования области значений проекта для параметра
hasDesignRangeSpecificationОпределите, имеет ли параметр область значений проекта
removeDesignRangeSpecificationУдалите спецификацию диапазона проекта из параметра

Примеры

свернуть все

Создайте coder.FixPtConfig объект, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

Определите имя испытательного стенда. В этом примере именем функции испытательного стенда является dti_test.

fixptcfg.TestBenchName = 'dti_test';

Создайте объект настройки генерации кода сгенерировать автономную статическую библиотеку C.

cfg = coder.config('lib');

Преобразуйте функцию MATLAB с плавающей точкой в код С фиксированной точки. В этом примере именем функции MATLAB является dti.

codegen -float2fixed fixptcfg -config cfg dti

Создайте coder.FixPtConfig объект, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

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

fixptcfg.TestBenchName = 'dti_test';

Выберите, чтобы предложить типы данных на основе выведенных областей значений.

fixptcfg.ProposeTypesUsing = 'DerivedRanges';
fixptcfg.ComputeDerivedRanges = true;

Добавьте области значений проекта. В этом примере, dti функция имеет один скаляр дважды вход, u_in. Установите минимальное значение проекта для u_in к -1 и максимум проекта к 1.

fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);

Преобразуйте функцию MATLAB с плавающей точкой, dti, к фиксированной точке код MATLAB.

codegen -float2fixed fixptcfg  dti

Когда вы выбираете, чтобы обнаружить потенциальное переполнение, codegen генерирует масштабированную двойную версию сгенерированной MEX-функции фиксированной точки. Масштабируемый удваивается, хранят их данные в с двойной точностью, с плавающей точкой, таким образом, они выполняют арифметику в полном спектре. Они также сохраняют свои настройки фиксированной точки, таким образом, они могут сообщить, когда расчет выходит из области значений фиксированной точки.

Этот пример требует лицензии Fixed-Point Designer™ и MATLAB Coder.

Создайте coder.FixPtConfig объект, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

Определите имя испытательного стенда. В этом примере именем функции испытательного стенда является dti_test.

fixptcfg.TestBenchName = 'dti_test';

Включите тестирование численных данных с обнаружением переполнения.

fixptcfg.TestNumerics = true;
fixptcfg.DetectFixptOverflows = true;

Создайте объект настройки генерации кода сгенерировать автономную статическую библиотеку C.

cfg = coder.config('lib');

Преобразуйте функцию MATLAB с плавающей точкой в код С фиксированной точки. В этом примере именем функции MATLAB является dti.

codegen -float2fixed fixptcfg -config cfg dti

Альтернативы

Можно преобразовать код MATLAB с плавающей точкой в фиксированную точку с помощью приложения MATLAB Coder. Откройте приложение с помощью одного из этих методов:

  • На вкладке Apps, в разделе Code Generation, нажимают MATLAB Coder.

  • Используйте coder команда.

Смотрите преобразуют код MATLAB в код С фиксированной точки.