coder.FixptConfigclass

包:编码器

浮点到定点转换配置对象

描述

一个coder.FixptConfig对象包含的配置参数fiaccel函数要求用MATLAB转换浮点数®代码为定点MATLAB代码。使用-float2fixed选项将此对象传递给fiaccel函数。

建设

fixptcfg= coder.config (“fixpt”)创建一个coder.FixptConfig对象,用于浮点到定点的转换。

属性

ComputeDerivedRanges

启用派生范围分析。

价值观:真正的|(默认)

ComputeSimulationRanges

允许收集和报告模拟距离数据。如果需要运行长时间的模拟来覆盖设计的整个动态范围,可以考虑禁用模拟范围收集并运行派生范围分析。

价值观:真正的(默认)|

DefaultFractionLength

默认定点分数长度。

值:4(默认)|正整数

DefaultSignedness

生成的代码中变量的默认符号。

价值观:“自动”(默认)|“签署”|“无符号”

DefaultWordLength

默认定点字长。

值:14(默认)|正整数

DetectFixptOverflows

启用检测溢出使用缩放双精度。

价值观:真正的|(默认)

fimath

fimath用于转换的属性。

价值观:fimath('RoundingMethod', 'Floor', 'OverflowAction', 'Wrap', 'ProductMode', 'FullPrecision', 'SumMode', 'FullPrecision')(默认)|字符串

FixPtFileNameSuffix

定点文件名的后缀。

价值观:“_fixpt”|字符串

LaunchNumericTypesReport

查看数值类型报告后,软件已提出定点类型。

价值观:真正的(默认)|

LogIOForComparisonPlotting

使模拟数据记录能够绘制由定点转换引入的数据差异。

价值观:真正的(默认)|

OptimizeWholeNumber

优化变量的字长,这些变量的模拟最小/最大日志表明它们总是整数。

价值观:真正的(默认)|

PlotFunction

用于比较图的函数名。

LogIOForComparisonPlotting必须设置为true才能启用比较绘图。此选项优先于PlotWithSimulationDataInspector

plot函数应该接受三个输入:

  • 保存变量名和使用变量名的函数的结构。

  • 一个单元数组,用于保存记录的变量的浮点值。

  • 一个单元数组,用于在定点转换后保存该变量的记录值。

价值观:(默认)|字符串

PlotWithSimulationDataInspector

使用模拟数据检查器进行比较图。

LogIOForComparisonPlotting必须设置为true才能启用比较绘图。的PlotFunction选项优先于PlotWithSimulationDataInspector

价值观:真正的|(默认)

ProposeFractionLengthsForDefaultWordLength

提出基于。的定点类型DefaultWordLength

价值观:真正的(默认)|

ProposeTargetContainerTypes

默认情况下(false),建议使用表示值所需的最小字长数据类型。当设置为true时,建议使用能够表示范围的最小字长数据类型,并且适合于C代码生成(8,16,32,64…)。例如,对于一个范围为[0..7],建议单词长度为8而不是3。

价值观:真正的|(默认)

ProposeWordLengthsForDefaultFractionLength

提出基于。的定点类型DefaultFractionLength

价值观:(默认)|真正的

ProposeTypesUsing

建议基于仿真范围数据、派生范围或两者的数据类型。

价值观:“BothSimulationAndDerivedRanges”(默认)|“SimulationRanges”|“DerivedRanges”

SafetyMargin

提出定点类型时增加模拟范围的安全余量百分比。指定的安全裕度必须是大于的实数-100年

值:0(默认)|双精度

StaticAnalysisQuickMode

执行更快的静态分析。

价值观:真正的|(默认)

StaticAnalysisTimeoutMinutes

如果超时,则中止分析。

价值观:(默认)|正整数

TestBenchName

测试工作台函数名或名称,指定为字符串或字符串单元数组。您必须指定至少一个测试工作台。

如果没有显式指定输入参数数据类型,则转换将使用第一个测试工作台函数来推断这些数据类型。

价值观:(默认)|字符串|单元数组的字符串

TestNumerics

启用数字测试。

价值观:真正的|(默认)

方法

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函数名为贸易工业部

fiaccel-float2fixedfixptcfg贸易工业部

创建一个coder.FixptConfig对象,fixptcfg,默认设置。

fixptcfg = coder.config (“fixpt”);

设置用于推断输入数据类型的测试工作台的名称。在本例中,测试工作台函数名为dti_test。转换过程使用测试工作台来推断输入数据类型。

fixptcfg。TestBenchName =“dti_test”;

选择建议基于派生范围的数据类型。

fixptcfg。ProposeTypesUsing =“DerivedRanges”;fixptcfg。ComputeDerivedRanges = true;

添加设计范围。在这个例子中,贸易工业部函数有一个标量双输入,u_in。设置设计的最小值u_in1而设计的最大值是1

fixptcfg.addDesignRangeSpecification (“唯一”,“u_in”,-1.0,1.0);

转换浮点MATLAB函数,贸易工业部,为定点MATLAB代码。

fiaccel-float2fixedfixptcfg贸易工业部

当您选择检测潜在的溢出时,fiaccel生成生成的定点MEX函数的缩放双版本。缩放双精度将数据存储在双精度浮点数中,因此可以在全范围内执行运算。它们还保留了它们的定点设置,因此它们能够在计算超出定点类型的范围时报告。

创建一个coder.FixptConfig对象,fixptcfg,默认设置。

fixptcfg = coder.config (“fixpt”);

设置测试工作台名称。在本例中,测试工作台函数名为dti_test

fixptcfg。TestBenchName =“dti_test”;

启用数字测试和溢出检测。

fixptcfg。TestNumerics = true;fixptcfg。DetectFixptOverflows = true;

将浮点MATLAB函数转换为定点MATLAB代码。在本例中,MATLAB函数名为贸易工业部

fiaccel-float2fixedfixptcfg贸易工业部

选择

您可以使用定点转换器应用程序将浮点MATLAB代码转换为定点代码。

  • 应用程序选项卡,代码生成部分中,点击定点转换器

  • 使用fixedPointConverter命令。