可视化浮点和定点之间的差异的结果
这个例子展示了如何配置codegen
函数使用一个自定义的情节比较生成的定点代码的行为对原始浮点MATLAB的行为®代码。
默认情况下,当LogIOForComparisonPlotting
选项启用时,转换过程使用一个基于时间序列的绘制函数来显示浮点和定点结果和它们之间的区别。然而,在定点转换您可能想在一个视图可视化数值差异更适合您的应用程序域。这个例子展示了如何定制策划和生产散点图的测试数值运算步骤定点转换。
相关文件副本
复制myFilter.m
,myFilterTest.m
,plotDiff.m
,filterData.mat
文件到本地工作目录。
先决条件
完成这个例子中,您必须安装以下产品:下载188bet金宝搏
MATLAB
MATLAB编码器™
定点设计师™
C编译器
看到金宝app支持编译器。
您可以使用
墨西哥人设置
改变默认的编译器。看到改变默认的编译器。
检查示例文件
类型 | 的名字 | 描述 |
---|---|---|
函数代码 | myFilter.m |
MATLAB函数入口点 |
测试文件 | myFilterTest.m |
MATLAB脚本测试myFilter.m |
绘图函数 | plotDiff.m |
自定义绘制函数 |
MAT-file | filterData.mat |
数据过滤。 |
设置配置对象
创建一个
coder.FixptConfig
对象。fxptcfg = coder.config (“fixpt”);
指定测试文件名称和自定义函数名。启用日志记录和数字测试。
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
单词长度的增加改善结果。这一次,情节表明定点结果匹配浮点结果。