文件

浮点乘法处理净斜率校正

此示例显示如何使用浮点乘法来处理净斜率校正。当将浮点数据类型转换为生成的代码中的固定点数据类型时,净斜率校正是一种缩放定点数据类型的一种方法。缩放定点数据类型避免溢出条件并最大限度地减少量化错误。

对于支持有效乘法的处理器,使用浮点乘法处金宝app理净斜率校正,提高了代码效率。如果净斜率校正具有两个不是两个功率的值,则使用司改善精度。

笔记:此示例需要固定点Designer™许可证。

例子

在模型中RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTE.,转换块将输入信号从浮点数据类型转换为固定点数据类型。净斜率校正具有值3.

模型='RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION';Open_System(型号);

生成代码

为构建和检查过程创建一个临时文件夹。

CurrentDir = PWD;[〜,cgdir] = rtwdemodir();

构建模型。

RTWBuild(型号)
###启动模型的构建过程:RTWDEMO_FLOAT_MUL_FOR_NER_NORE_SLOPE_CORRECTION ###成功完成模型构建过程:RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION

在这些线条RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION.C.代码,代码生成器划分输入信号3.0f.

cfile = fullfile(cgdir,'RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION_ERT_RTW'......'RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION.C');RTWDEMODBTYPE(CFILE,'/ *模型步骤''/ *模型初始化',1,0);
/ *模型步骤函数* / void RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION_STEP(void){/ * OUTPORT:' /输出'包含:* dataTypeconversion:' / /数据类型转换'* INPORT:' /输入'* /RTY.OUTPUT =(INT16_T)(REAL32_T)底楼((real_t)(RTU.INPUT / 3.0F));}

启用优化

  1. 打开配置参数对话框。

  2. 在这一点数学和数据类型窗格,选择使用浮点乘法来处理净斜率校正。此优化默认情况下。

或者,您可以使用命令行API来实现优化。

set_param(型号,'umerfloatmulnetslope''在');

使用优化生成代码

RTWBuild(型号)
###启动模型的构建过程:RTWDEMO_FLOAT_MUL_FOR_NER_NORE_SLOPE_CORRECTION ###成功完成模型构建过程:RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION

在优化的代码中,代码生成器将输入信号乘以倒数3.0f., 那是0.333333343f.

RTWDEMODBTYPE(CFILE,'/ *模型步骤''/ *模型初始化',1,0);
/ *模型步骤函数* / void RTWDEMO_FLOAT_MUL_FOR_NET_SLOPE_CORRECTION_STEP(void){/ * OUTPORT:' /输出'包含:* dataTypeconversion:' / /数据类型转换'* INPORT:' /输入'* /RTY.OUTPUT =(INT16_T)(REAL32_T)楼层((real_t)(RTU.INPUT * 0.33333334F));}

关闭模型和代码生成报告。

BDCLOSE(模型)RTWDEMOCLEAN;CD(CurrentDir)

也可以看看

相关话题