加速定点代码和转换浮点数MATLAB代码定点MATLAB代码
fiaccel -
选项
fcn
fiaccel -float2fixedfcn
fiaccel -
将MATLAB®文件选项
fcn
fcn
.m
一个MEX函数,它加速了定点代码。使用fiaccel
,你的守则必须符合下列其中一项规定:
顶级函数没有输入或输出,代码使用fi
顶级函数有一个输出或一个非常量输入,并且至少有一个输出或输入是afi
.
顶级函数至少有一个输入或输出,其中包含一个内置的整数类(int8
,uint8
,int16
,uint16
,int32
,uint32
,int64
,或uint64
),代码使用fi
.
如果您的顶级文件位于包含Unicode字符的路径上,代码生成可能无法找到该文件。
fiaccel -float2fixed
转换浮点MATLAB函数,fcn
fcn
到定点的MATLAB代码。
|
MATLAB函数,从中生成一个MEX函数。 |
|
编译器选项的选择。
|
创建一个测试文件并计算移动平均线。然后,用fiaccel
加速代码和比较。
函数avg = test_moving_average(x) %#codegen如果nargin < 1, x = fi(rand(100,1),1,16,15);end z = fi(0 (10,1),1,16,15);avg = x;对于k = 1:length(x) [avg(k),z] = moving_average(x(k),z);结束函数[avg,z] = moving_average(x,z) %#codegen如果nargin < 2, z = fi(0 (10,1),1,16,15);z(2:end) = z(1:end-1);%更新缓冲区z(1) = x;%添加新值avg =均值(z);%计算移动平均%使用fiaccel创建一个MEX函数和%加速代码x = fi(rand(100,1),1,16,15);fiaccel test_moving_average -args {x} -报告%比较非加速和加速代码。 x = fi(rand(100,1),1,16,15); % Non-compiled version tic,avg = test_moving_average(x);toc % Compiled version tic,avg = test_moving_average_mex(x);toc
创建一个coder.FixptConfig
对象,fixptcfg
,默认设置。
fixptcfg = coder.config (“fixpt”);
设置测试工作台名称。在本例中,测试工作台函数名为dti_test
.
fixptcfg。TestBenchName =“dti_test”;
将浮点MATLAB函数转换为定点MATLAB代码。在本例中,MATLAB函数名为贸易工业部
.
fiaccel-float2fixedfixptcfg贸易工业部
coder.ArrayType
|coder.Constant
|coder.EnumType
|coder.FiType
|coder.FixptConfig
|coder.MexConfig
|coder.PrimitiveType
|coder.StructType
|coder.Type
|coder.config
|coder.mexconfig
|coder.newtype
|coder.resize
|coder.typeof