主要内容

coder.FixPtConfig类

包:编码员

浮点到定点转换配置对象

描述

一个coder.FixptConfig对象包含的配置参数MATLAB®编码员™codegen函数要求在代码生成期间将浮点MATLAB代码转换为定点MATLAB代码-float2fixed选项将此对象传递给codegen函数。

建设

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

属性

ComputeDerivedRanges

启用派生范围分析。

价值观:符合事实的|(默认)

ComputeSimulationRanges

能够收集和报告模拟距离数据。如果需要运行较长的模拟以覆盖设计的完整动态范围,则可以考虑禁用模拟范围收集并运行派生的范围分析。

价值观:符合事实的(默认)|

DefaultFractionLength

默认定点分数长度。

值:4(默认)|正整数

默认签名

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

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

默认字长

默认的定点字长。

取值范围:14(默认)|正整数

DetectFixtOverflows

使用缩放倍数启用溢出检测。

价值观:符合事实的|(默认)

fimath

fimath(定点设计器)要用于转换的属性。

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

FixPtFileNameSuffix

定点文件名的后缀。

价值观:""修正"|字符串

LaunchNumericTypesReport

在软件提出定点类型后,查看“数字类型”报告。

价值观:符合事实的(默认)|

逻辑或比较绘图

允许模拟数据记录来绘制定点转换带来的数据差异。

价值观:符合事实的(默认)|

全号

优化其模拟最小/最大日志表明变量始终为整数的变量的字长。

价值观:符合事实的(默认)|

PlotFunction

用于比较图的函数名称。

逻辑或比较绘图必须设置为true才能启用比较打印。此选项优先于带有模拟数据检查器的绘图

绘图功能应接受三个输入:

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

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

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

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

带有模拟数据检查器的绘图

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

逻辑或比较绘图必须设置为true以启用比较绘图。的PlotFunction选项优先于带有模拟数据检查器的绘图

价值观:符合事实的|(默认)

ProposeFractionLengthsForDefaultWordLength

建议基于默认字长

价值观:符合事实的(默认)|

ProposeTargetContainerTypes

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

价值观:符合事实的|(默认)

ProposeWordLengthsForDefaultFractionLength

建议基于DefaultFractionLength

价值观:(默认)|符合事实的

提议使用

建议基于模拟范围数据、导出范围或两者的数据类型。

价值观:“模拟和衍生范围”(默认)|“SimulationRanges”|“衍生范围”

SafetyMargin

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

值:0(默认

静态分析快速模式

执行更快的静态分析。

价值观:符合事实的|(默认)

StaticAnalysisTimeoutMinutes

如果达到超时,则中止分析。

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

TestBenchName

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

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

价值观:''(默认)| string | cell数组

测试数字

启用数字测试。

价值观:符合事实的|(默认)

方法

addApproximation 在定点转换期间用查找表替换浮点函数
addDesignRangeSpecification 将设计范围规范添加到参数
addFunctionReplacement 定点转换期间将浮点函数替换为定点函数
clearDesignRangeSpecifications 清除所有设计范围的规格
GetDesignRange规范 获得设计范围规格参数
hasDesignRangeSpecification 确定参数是否具有设计范围
RemoveDesignRange规范 从参数中移除设计范围规格

例子

全部崩溃

创建一个coder.FixPtConfig对象fixptcfg,具有默认设置。

fixptcfg=coder.config(“fixpt”);

设置测试台名称。在本例中,测试台功能名称为dti_试验

fixptcfg.TestBenchName=“dti_test”

创建代码生成配置对象以生成独立的C静态库。

cfg = coder.config (“自由”);

将浮点MATLAB函数转换为定点C代码dti

codegen-float2fixedfixptcfg配置cfgdti

创建一个coder.FixPtConfig对象fixptcfg,具有默认设置。

fixptcfg=coder.config(“fixpt”);

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

fixptcfg.TestBenchName=“dti_test”

选择根据派生范围建议数据类型。

fixptcfg.ProposeTypesUsing=“衍生范围”;fixptcfg。ComputeDerivedRanges = true;

添加设计范围。在本例中dti函数有一个标量双输入,尤因.设置的设计最小值尤因-1设计最大值为1

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

转换浮点MATLAB函数,dti,到定点MATLAB代码。

codegen-float2fixedfixptcfgdti

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

这个例子需要MATLAB编码器和Fixed-Point Designer™许可证。

创建一个coder.FixPtConfig对象fixptcfg,具有默认设置。

fixptcfg=coder.config(“fixpt”);

设置测试台名称。在本例中,测试台功能名称为dti_试验

fixptcfg.TestBenchName=“dti_test”

启用带有溢出检测的数值测试。

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

创建代码生成配置对象以生成独立的C静态库。

cfg = coder.config (“自由”);

将浮点MATLAB函数转换为定点C代码dti

codegen-float2fixedfixptcfg配置cfgdti

选择

控件可以将浮点MATLAB代码转换为定点代码MATLAB编码器应用程序。使用以下方法之一打开应用程序:

  • 应用程序选项卡,在代码生成部分中,点击MATLAB编码器

  • 使用编码员命令。

看到转换MATLAB代码到定点C代码