кодер. Класс FixptConfig

Пакет: кодер

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

Описание

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

Конструкция

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 использовать для преобразования.

Значения: 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';

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

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.