主要内容

根据派生范围建议数据类型

属性显示了如何基于静态范围提出定点数据类型定点转换器当你提出基于派生范围的数据类型时,不需要提供测试文件来在整个操作范围内运行你的算法。运行这样的测试文件通常需要很长时间。你可以通过推导范围来节省时间。

请注意

非标量变量不支持派生范围分析。金宝app

先决条件

此示例需要以下产品:下载188bet金宝搏

创建新文件夹并复制相关文件

  1. 创建本地工作文件夹,例如,c: \ dti

  2. 改变docroot \工具箱\ fixpoint \例子文件夹中。在MATLAB命令行中,输入:

    cd(完整文件(docroot、“工具箱”、“定点”、“示例”))

  3. 复制dti.mdti_测试文件到您的本地工作文件夹。

    最佳实践是创建一个单独的测试脚本来进行预处理和后处理,例如:

    • 加载输入。

    • 设置输入值。

    • 输出测试结果。

    类型 名称 描述
    功能代码 dti.m 入口点MATLAB函数
    测试文件 dti_测试 MATLAB脚本,用于测试dti.m

dti函数

dti_测试函数

打开定点转换器应用程序

  1. 导航到包含此示例文件的工作文件夹。

  2. 关于MATLAB工具条应用程序选项卡,在代码生成,单击应用程序图标。

选择源文件

  1. 添加入口点函数dti到项目,浏览到文件dti.m,然后单击打开。默认情况下,应用程序将此项目的信息和设置保存在名为dti.prj

  2. 点击下一个去…定义输入类型的一步。

    应用程序屏幕dti.m针对代码冲突和定点转换就绪问题。应用程序在中找不到问题dti.m

定义输入类型

  1. 定义输入类型页面,添加dti_test作为测试文件,浏览到dti_测试,然后单击打开

  2. 点击Autodefine输入类型

    测试文件将运行。应用程序根据测试文件确定u_in双(1x1)

  3. 点击下一个去…转换为定点的一步。

转换为定点

  1. 该应用程序为您的入口点MATLAB函数生成一个插入指令的MEX函数。该应用程序显示代码中变量的编译信息类型、大小和复杂性。有关更多信息,请参阅查看和修改变量信息

    如果函数不支持定点转换,则应用程序将它们显金宝app示在功能替换选项卡。

  2. 点击分析箭头

    1. 选择使用衍生范围分析分析范围

    2. 清除使用仿真分析范围复选框。

    使用衍生范围分析需要设计范围。

  3. 转换为定点第页,在变量选项卡上,输入u_in选择静态分并将其设置为-1.集静态马克斯1

    要计算派生的范围信息,至少必须为所有输入变量指定静态最小值和最大值或建议的数据类型。

    请注意

    如果您手动输入静态范围,这些手动输入的范围将优先于模拟范围。该应用程序使用手动输入的范围来提出数据类型。您还可以修改和锁定建议的类型。

  4. 点击分析

    范围分析计算导出的范围并将其显示在变量选项卡。使用这些派生的范围,分析根据默认类型建议设置为每个变量提出定点类型。应用程序将它们显示在建议类型

    dti功能剪辑状态输出的最小值为-2最大值是2

    %计算输出如果(u_状态>限制上限)y=限制上限;剪辑状态=-2;埃尔塞夫(u_状态>=限制上限)y=限制上限;剪辑状态=-1;埃尔塞夫(u_state < limit_lower) y = limit_lower;clip_status = 2;埃尔塞夫(u_state <= limit_lower) y = limit_lower;clip_status = 1;其他的y=u_状态;剪辑_状态=0;结束

    导出范围时,应用程序将分析函数并计算函数的最小值和最大值剪辑状态

    该应用程序提供了一个快速推导距离分析选项和指定超时(以防分析需要很长时间)的选项。看到计算出范围

  5. 要将浮点算法转换为定点算法,请单击转换

    在定点转换过程中,软件验证所建议的类型并生成以下文件codegen\dti\fixpt文件夹在您的本地工作文件夹:

    • dti_fixpt.m-的定点版本dti.m

    • dti\u包装器\u固定件m-此文件将测试文件提供的浮点数据值转换为在转换期间为输入确定的定点类型。该应用程序将这些定点值输入转换后的定点设计中,dti_fixpt.m

    • dti_fixpt_report.html-此报告显示生成的定点代码和定点检测结果。

    • dti_report.html-此报告显示了原始算法和定点检测结果。

    • dti_fixpt_args.mat- mat文件,包含输入参数的结构、输出参数的结构和定点文件的名称。

    如果在验证过程中出现错误或警告,它们将显示在输出选项卡。请参见验证类型

  6. 输出文件列表中,选择dti_fixpt.m.该应用程序显示生成的定点代码。

  7. 使用模拟数据检查器绘制浮点和定点结果。

    1. 点击设置箭头

    2. 扩大策划和报告设置和设置用模拟数据检查器绘图

    3. 点击测试箭头.选择记录比较图的输入和输出.点击测试

      该应用程序运行用于定义输入类型的测试文件,以测试定点MATLAB代码。您可以选择添加测试文件,并选择运行多个测试文件来测试数字。该软件运行浮点和定点模拟,然后计算输出变量的误差y。由于您选择了记录比较图的输入和输出,并对这些图使用模拟数据检查器,因此将打开模拟数据检查器。

    4. 您可以使用模拟数据检查器查看浮点和定点运行信息并比较结果。例如,比较输出的浮点值和定点值y选择y.点击比较.集基线到原来的跑和比较要运行转换器,请单击比较

      “模拟数据检查器”将显示基线浮点运行与定点运行之间的曲线图以及它们之间的差异。

  8. 验证输出选项卡,该应用程序提供指向定点报告的链接。

    要打开报告,请单击dti_fixpt_report.html链接。

  9. 点击下一个去…完成工作流程页面。

    完成工作流程在页面上,应用程序显示一个项目摘要和指向生成的输出文件的链接。

积分不动点码

为了将代码的定点版本集成到系统级模拟中,生成一个MEX函数来加速定点算法。调用这个MEX函数代替原来的MATLAB算法。

  1. 复制dti_fixpt.m到本地工作文件夹。

  2. 得到菲马斯对于输入参数的属性,请查看得到你的数学函数dti_fixpt.m

    函数FM = get_fimath()“取整法”“地板”“OverflowAction”“包装”“ProductMode”“全精度”“MaxProductWordLength”, 128,“SumMode”“全精度”“MaxSumWordLength”, 128);结束

  3. 获取输入的定点数据类型的步骤u_in,查看类型建议报告。

  4. 为生成一个MEX函数dti_fixpt.m

    fm=fimath(“取整法”“地板”“OverflowAction”“包装”“ProductMode”“全精度”“MaxProductWordLength”, 128,“SumMode”“全精度”“MaxSumWordLength”,128);fiacceldti_fixptarg游戏{fi(0,1,16,14,fm)}

    菲亚塞尔生成一个MEX函数,dti_fixpt_mex,在当前文件夹中。

  5. 现在可以调用这个MEX函数来代替原来的MATLAB算法。