exponenta event banner

coder.FixPtConfig класс

Пакет: кодер

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

Описание

A 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

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

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

PlotFunction

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

LogIOForComparisonPlotting для включения печати сравнения необходимо установить значение true. Этот параметр имеет приоритет над PlotWithSimulationDataInspector.

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

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

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

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

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

PlotWithSimulationDataInspector

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

LogIOForComparisonPlotting для включения печати сравнения необходимо установить значение true. 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 с плавающей запятой в код с фиксированной запятой с помощью приложения Конвертер с фиксированной запятой. Откройте приложение одним из следующих способов:

  • На вкладке «Приложения» в разделе «Создание кода» выберите «Конвертер с фиксированной точкой».

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