构造fi对象的方法
类型的fi构造函数
您可以创建fi
对象使用定点设计师™软件在下列方面:
首先,创建一个fi
对象的默认数据类型和值0:
一个= fi (0)
= 0 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 15
这个构造函数语法创建一个签名fi
对象的值为0,字长16位,分数的15位长度。因为你没有指定任何fimath
对象属性的fi
构造函数,由此产生的fi
对象一个
没有地方fimath
。
看到的所有fi
,你以后
,ufi
构造函数的语法,请参阅相应的参考页。
信息的显示格式fi
对象,请参考定点数据视图。
对象构造的例子
以下示例向您展示几个不同的构造方法fi
对象。对于其他,更基本的构造的例子fi
对象,看到下面的示例部分构造函数参考页面:
请注意
的fi
构造函数创建fi
对象使用RoundingMethod
的最近的
和一个OverflowAction
的饱和
。如果你构建一个fi
从浮点值,默认RoundingMethod
和OverflowAction
属性设置不习惯。
构建一个fi对象与属性名称/属性值对
您可以使用属性名称/属性值对集合fi
和fimath
当你创建一个对象属性fi
对象:
一个= fi(π,“RoundingMethod”,“地板”,“OverflowAction”,“包装”)
= 3.1415 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 13 RoundingMethod:地板OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
你不需要指定每个fimath
对象属性的fi
构造函数。的fi
所有未指明的对象使用默认值fimath
对象属性。
如果你指定至少一个
fimath
对象属性的fi
构造函数,fi
对象有一个地方fimath
对象。的fi
剩余的未指定的对象使用默认值fimath
对象属性。如果你不指定任何
fimath
对象属性的fi
对象的构造函数,fi
对象使用默认fimath
值。
构建一个fi对象使用numerictype对象
您可以使用一个numerictype
对象定义一个fi
对象:
T = numerictype
T = DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 15
= fi(π,T)
= 1.0000 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 15
你也可以使用fimath
对象与一个numerictype
对象定义一个fi
对象:
F = fimath (“RoundingMethod”,“最近的”,…“OverflowAction”,“饱和”,…“ProductMode”,“FullPrecision”,…“SumMode”,“FullPrecision”)
F = RoundingMethod:最近的OverflowAction:饱和ProductMode: FullPrecision SumMode: FullPrecision
一个= fi(π,T、F)
= 1.0000 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 15 RoundingMethod:最近OverflowAction:饱和ProductMode: FullPrecision SumMode: FullPrecision
请注意
的语法一个= fi(π,T、F)
相当于一个= fi(π,F, T)
。您可以使用这两个语句定义fi
对象使用fimath
对象和一个numerictype
对象。
构建一个fi对象使用fimath对象
您可以创建一个fi
使用特定的对象fimath
对象。当你这样做的时候,一个地方fimath
对象被分配到fi
对象创建。如果你不指定任何numerictype
对象属性,这个词的长度fi
对象默认为16位。部分的长度是由最佳精度缩放:
F = fimath (“RoundingMethod”,“最近的”,…“OverflowAction”,“饱和”,…“ProductMode”,“FullPrecision”,…“SumMode”,“FullPrecision”)
F = RoundingMethod:最近的OverflowAction:饱和ProductMode: FullPrecision SumMode: FullPrecision
F。OverflowAction =“包装”
F = RoundingMethod:最近的OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
一个= fi(π,F)
= 3.1416 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 13 RoundingMethod:最近OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
您还可以创建fi
对象的使用fimath
对象时指定不同numerictype
属性在创建时:
b = fi(π0 F)
b = 3.1416 DataTypeMode:定点:二进制扩展Signedness:无符号字:16 FractionLength: 14 RoundingMethod:最近OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
c = fi(π,0 8 F)
c = 3.1406 DataTypeMode:定点:二进制扩展Signedness:无符号字:8 FractionLength: 6 RoundingMethod:最近OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
d = fi(π0 8 6 F)
d = 3.1406 DataTypeMode:定点:二进制扩展Signedness:无符号字:8 FractionLength: 6 RoundingMethod:最近OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision
在GUI构建fi对象构造函数
当你在MATLAB处理文件®,你可以建立你的fi
对象构造函数使用插入fi构造函数对话框。在指定的值和属性fi
对象对话框,您可以插入填充fi
对象构造方法在你的文件在一个特定的位置。
例如,要创建一个签名fi
对象的值π,字长16位和一小部分的长度13位:
在家选项卡,文件部分中,点击新>脚本MATLAB编辑器打开。
在编辑器选项卡,编辑部分中,点击在插入按钮组。点击插入fi……打开插入fi构造函数对话框。
使用编辑框和下拉菜单指定的以下属性
fi
对象:价值=
π
数据类型模式=
定点:二进制扩展点
Signedness=
签署
字长=
16
部分长度=
13
插入的
fi
对象构造方法在你的文件中,将光标置于所需的文件位置,然后单击好吧在插入fi构造函数对话框。点击好吧关闭插入fi构造函数对话框并自动填充fi
对象构造方法在你的文件:
确定属性优先级
一个属性的值是来自最后一次设置。例如,创建一个numerictype
对象的值真正的
为签署
财产和一小部分的长度14
:
T = numerictype (“签署”,真的,“FractionLength”14)
T = DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 14
现在,创建以下fi
你指定的对象numerictype
财产后的签署
属性,这样产生的fi
对象签署:
一个= fi(π,“签署”假的,“numerictype”,T)
= 1.9999 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 14
对比fi
对象的代码示例fi
对象在下面的代码示例。的numerictype
属性指定在下面的代码示例之前的签署
财产,所以由此产生fi
对象是无符号:
b = fi(π,“numerictype”T“签署”假)
b = 3.1416 DataTypeMode:定点:二进制扩展Signedness:无符号字:16 FractionLength: 14
复制一个fi对象
复制一个fi
对象,简单地使用任务:
一个= fi(π)
= 3.1416 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 13
b =一个
b = 3.1416 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 13
创建fi对象类型中使用的表
您可以编写一个可重用的MATLAB算法通过保持算法的数据类型变量在一个单独的类型表。例如,
函数T = mytypes (dt)开关dt情况下“双”T。b =双([]);T。双(x = []);T。双(y = []);情况下“fixed16”T。b = fi(15)[], 16日;T。x = fi([], 16日15);T。y = fi(14)[], 16日;结束结束
在算法的数据类型的变量的类型表中描述手工定点转换的最佳实践。
函数[y, z] = myfilter (b, x, z, T) y = 0(大小(x),“喜欢”,T.y);为n = 1:长度(x) z (:) = [x (n);z (1: end-1)];y (n) = b * z;结束结束
在一个单独的测试文件,设置输入数据给到你的算法,并指定数据类型的输入。
%测试输入0.25 b = fir1(11日);t = linspace(0, 10 *π,256);x =罪((π/ 16)* t。^ 2);%线性啁啾%将输入T = mytypes (“fixed16”);b =投(b,“喜欢”、肺结核);x =投(x,“喜欢”,T.x);z = 0(大小(b),“喜欢”,T.x);运行%[y, z] = myfilter (b, x, z, T);