主要内容

可视化浮点和定点之间的差异的结果

这个例子展示了如何配置codegen函数使用一个自定义的情节比较生成的定点代码的行为对原始浮点MATLAB的行为®代码。

默认情况下,当LogIOForComparisonPlotting选项启用时,转换过程使用一个基于时间序列的绘制函数来显示浮点和定点结果和它们之间的区别。然而,在定点转换您可能想在一个视图可视化数值差异更适合您的应用程序域。这个例子展示了如何定制策划和生产散点图的测试数值运算步骤定点转换。

相关文件副本

复制myFilter.m,myFilterTest.m,plotDiff.m,filterData.mat文件到本地工作目录。

先决条件

完成这个例子中,您必须安装以下产品:下载188bet金宝搏

检查示例文件

类型 的名字 描述
函数代码 myFilter.m MATLAB函数入口点
测试文件 myFilterTest.m MATLAB脚本测试myFilter.m
绘图函数 plotDiff.m 自定义绘制函数
MAT-file filterData.mat 数据过滤。

myFilter函数

myFilterTest文件

plotDiff函数

设置配置对象

  1. 创建一个coder.FixptConfig对象。

    fxptcfg = coder.config (“fixpt”);
  2. 指定测试文件名称和自定义函数名。启用日志记录和数字测试。

    fxptcfg。TestBenchName =“myFilterTest”;fxptcfg。PlotFunction =“plotDiff”;fxptcfg。TestNumerics = true;fxptcfg。LogIOForComparisonPlotting = true;fxptcfg。DefaultWordLength = 16;

转换为定点

将浮点MATLAB函数,myFilter定点MATLAB代码。你不需要指定的输入类型codegen命令,因为它推断从测试文件类型。

codegenarg游戏{复杂(0,0)}-float2fixedfxptcfgmyFilter

转换过程生成定点代码使用的默认字长16然后运行一个定点仿真通过运行myFilterTest.m函数和调用的定点版本myFilter.m

因为你选择日志输入和输出比较的情节和使用自定义绘图功能,plotDiff.m,对于这些情节,转换过程使用这个函数来生成比较图。

情节表明定点结果不匹配浮点结果。

增加单词长度24然后再转换为定点。

fxptcfg。DefaultWordLength = 24;codegenarg游戏{复杂(0,0)}-float2fixedfxptcfgmyFilter

单词长度的增加改善结果。这一次,情节表明定点结果匹配浮点结果。