coder.FixPtConfig class

Пакет: coder

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

Описание

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

Конструкция

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

Свойства

ComputeDerivedRanges

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

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

ComputeSimulationRanges

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

Значения: true (по умолчанию) |<reservedrangesplaceholder0>

DefaultFractionLength

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

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

DefaultSignedness

Сигнальность по умолчанию переменных в сгенерированном коде.

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

DefaultWordLength

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

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

DetectFixptOverflows

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

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

fimath

fimath свойства, используемые для преобразования.

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

FixPtFileNameSuffix

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

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

LaunchNumericTypesReport

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

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

LogIOForComparisonPlotting

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

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

OptimizeWholeNumber

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

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

PlotFunction

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

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

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

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

  • Массив ячеек для хранения записанных значений с плавающей точкой для переменной.

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

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

PlotWithSimulationDataInspector

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

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

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

ProposeFractionLengthsForDefaultWordLength

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

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

ProposeTargetContainerTypes

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

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

ProposeWordLengthsForDefaultFractionLength

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

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

ProposeTypesUsing

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

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

SafetyMargin

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

Значения: 0 (по умолчанию) | double

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';

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

fixptcfg.ProposeTypesUsing = 'SimulationRanges';

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

fiaccel -float2fixed fixptcfg 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 с фиксированной точкой.

fiaccel -float2fixed fixptcfg  dti

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

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

fixptcfg = coder.config('fixpt');

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

fixptcfg.TestBenchName = 'dti_test';

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

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

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

fiaccel -float2fixed fixptcfg dti

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

Вы можете преобразовать код MATLAB с плавающей точкой в код с фиксированной точкой с помощью приложения Fixed-Point Converter. Откройте приложение одним из следующих методов:

  • На вкладке Apps, в разделе Code Generation, нажмите Fixed-Point Converter.

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

Для просмотра документации необходимо авторизоваться на сайте