主要内容gydF4y2Ba

定点概念和术语gydF4y2Ba

定点数据类型gydF4y2Ba

在数字硬件中,数字以二进制字的形式存储。二进制字是一个固定长度的位序列(1和0)。硬件组件或软件功能解释1和0序列的方式由数据类型定义。gydF4y2Ba

二进制数表示为浮点或定点数据类型。在本节中,我们将讨论与定点数、数据类型和数学相关的许多术语和概念。gydF4y2Ba

定点数据类型的特征是字的位数长度、二进制点的位置以及可以有符号或无符号的数字的有符号性。有符号数和数据类型可以表示正数和负数,而无符号数和数据类型只能表示大于或等于零的值。gydF4y2Ba

二进制点的位置是固定点值缩放和解释的方法。gydF4y2Ba

例如,一个广义定点数(有符号或无符号)的二进制表示如下所示:gydF4y2Ba

在哪里gydF4y2Ba

  • bgydF4y2Ba我gydF4y2Ba是gydF4y2Ba我gydF4y2BathgydF4y2Ba二进制数字。gydF4y2Ba

  • 王gydF4y2Ba是二进制字的位数,也称为字长。gydF4y2Ba

  • bgydF4y2Ba王gydF4y2Ba1gydF4y2Ba是最高位(MSB)的位置。在有符号二进制数中,这个位是符号位,表示该数是正还是负。gydF4y2Ba

  • bgydF4y2Ba0gydF4y2Ba为最低有效位(LSB)的位置。二进制字中的这个位可以表示最小值。LSB的权重由:gydF4y2Ba

    wgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba tgydF4y2Ba lgydF4y2Ba 年代gydF4y2Ba BgydF4y2Ba =gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba fgydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba

    在那里,gydF4y2BafractionlengthgydF4y2Ba是二进制点右侧的位数。gydF4y2Ba

  • 二进制点左边的位是整数位和/或符号位,二进制点右边的位是小数位。二进制点左侧的位数称为整数长度。本例中的二进制点显示在LSB左边的四个位置。因此,这个数字有四个小数位,或者长度为4的小数。gydF4y2Ba

定点数据类型可以是有符号的,也可以是无符号的。gydF4y2Ba

有符号二进制定点数通常用以下三种方式之一表示:gydF4y2Ba

  • 符号/幅度——有符号的定点或浮点数的表示。在符号/大小表示中,二进制字的一个位总是专用符号位,而字的其余位则编码数字的大小。使用符号/幅度表示的否定包含将符号位从0(正)翻转到1(负),或从1翻转到0。gydF4y2Ba

  • 一个人的补充gydF4y2Ba

  • Two's补码——Two's补码是符号定点数最常见的表示形式。看到gydF4y2Ba二进制补码gydF4y2Ba为更多的信息。gydF4y2Ba

无符号定点数只能表示大于或等于零的数。gydF4y2Ba

扩展gydF4y2Ba

在[斜率偏差]表示法中,定点数字可以根据该方案进行编码gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba 年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba )gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba 一个gydF4y2Ba 年代gydF4y2Ba

斜率可以表示为gydF4y2Ba

年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba =gydF4y2Ba 年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba dgydF4y2Ba jgydF4y2Ba ugydF4y2Ba 年代gydF4y2Ba tgydF4y2Ba 米gydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba ×gydF4y2Ba 2gydF4y2Ba egydF4y2Ba xgydF4y2Ba pgydF4y2Ba ogydF4y2Ba ngydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba

这个词gydF4y2Ba斜率调整gydF4y2Ba有时用作分数斜率的同义词。gydF4y2Ba

在一般情况下,斜率= 1,偏差= 0。对于纯整数,如int8,以及真正的浮点类型single和double,缩放总是微不足道的。gydF4y2Ba

这个整数有时被称为gydF4y2Ba存储整数gydF4y2Ba.这是原始二进制数,其中二进制点假设在单词的最右边。在系统工具箱中,指数的负数通常被称为gydF4y2Ba部分长度gydF4y2Ba.gydF4y2Ba

斜率和偏差一起表示定点数的缩放。在零偏差的数字中,只有斜率影响缩放。仅按二进制点位置缩放的不动点数等价于定点设计器™[坡度偏差]表示中的一个数字,该数字的偏差为零,坡度调整为1。这被称为二进制仅点缩放或二次方缩放:gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba 2gydF4y2Ba egydF4y2Ba xgydF4y2Ba pgydF4y2Ba ogydF4y2Ba ngydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba

或gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba fgydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba

在System Toolbox软件中,您可以通过指定字长度和数量的分数长度,为多个块的输出或参数定义定点数据类型和伸缩。字长和分数长定义了二进制点信号的整个数据类型和缩放信息。gydF4y2Ba

所有支持定点数据类型的System Toolbox块都支持仅二进制点伸缩的信号。许多不执行算术运算而只是重新排列数据的不动点块,如Delay和Matrix转置,也支持具有[Slope Bias]缩放的信号。gydF4y2Ba

精度和范围gydF4y2Ba

您必须注意为模拟中的块选择的定点数据类型和伸缩的精度和范围,以便知道是否会调用舍入方法或是否会发生溢出。gydF4y2Ba

范围gydF4y2Ba

范围是定点数据类型和伸缩可以表示的数字范围。二补字长度定点数的可表示数字的范围gydF4y2Ba王gydF4y2Ba、缩放gydF4y2Ba年代gydF4y2Ba和偏见gydF4y2BaBgydF4y2Ba所示:gydF4y2Ba

对于任何数据类型的有符号和无符号定点数,不同位模式的数量为2gydF4y2Ba王gydF4y2Ba.gydF4y2Ba

例如,在2的补数中,负数必须同时表示为0,因此最大值为2gydF4y2Bawl-1gydF4y2Ba.因为零只有一种表示法,所以正数和负数的数目是不相等的。这意味着-2有一个表示gydF4y2Bawl-1gydF4y2Ba但不是2个gydF4y2Bawl-1gydF4y2Ba:gydF4y2Ba

全范围是数据类型的最大范围。对于浮点类型,整个范围是-∞到∞。对于整数类型,全范围是该类型可以表示的最小到最大整数值(有限)的范围。例如,对于有符号的8位整数,从-128到127。gydF4y2Ba

溢出处理。gydF4y2Ba因为定点数据类型表示有限范围内的数字,所以如果操作的结果大于或小于该范围内的数字,就会发生溢出。gydF4y2Ba

系统工具箱软件不允许您动态地向数据类型添加保护位,以避免溢出。保护位是硬件寄存器或软件模拟中的额外位,它被添加到二进制字的高端,以确保在溢出的情况下不会丢失信息。任何保护位必须在模型初始化时分配。然而,软件确实允许你做任何一件事gydF4y2Ba饱和gydF4y2Ba或gydF4y2Ba包装gydF4y2Ba溢出。饱和表示正溢出作为正在使用的范围内的最大正数,负溢出作为正在使用的范围内的最大负数。包装使用模运算将溢出强制转换回数据类型的可表示范围。看到gydF4y2Ba模运算gydF4y2Ba为更多的信息。gydF4y2Ba

精度gydF4y2Ba

定点数的精度是由其数据类型和缩放表示的连续值之间的差值,它等于其最低有效位的值。最低有效位的值,以及该数字的精度,是由小数位的数量决定的。固定点值可以表示为其数据类型和伸缩精度的一半以内。术语解析有时用作此定义的同义词。gydF4y2Ba

例如,在二进制点右侧有4位的不动点表示的精度为2gydF4y2Ba4gydF4y2Ba或者0.0625,这是它的最低有效位的值。此数据类型和伸缩范围内的任何数字都可以表示为(2gydF4y2Ba4gydF4y2Ba)/2或0.03125,这是精度的一半。这是一个用有限精度表示数字的例子。gydF4y2Ba

舍入模式。gydF4y2Ba当您用有限精度表示数字时,并不是所有可用范围内的数字都能精确表示出来。如果一个数字不能精确地用指定的数据类型和伸缩表示,那么它就是gydF4y2Ba圆形的gydF4y2Ba到一个可表示的数字。尽管在舍入操作中总是会损失精度,但操作的成本和引入的偏差量取决于舍入模式本身。为了在成本和偏差之间的权衡中为您提供更大的灵活性,DSP System Toolbox™软件目前支持以下舍入模式:gydF4y2Ba

  • 天花板gydF4y2Ba将计算结果舍入到正无穷方向上最接近的可表示数。gydF4y2Ba

  • 收敛gydF4y2Ba将计算结果舍入到最接近的可表示数字。在平局的情况下gydF4y2Ba收敛gydF4y2Ba四舍五入到最近的偶数。这是工具箱提供的偏差最小的舍入模式。gydF4y2Ba

  • 地板上gydF4y2Ba,这相当于截断,将计算结果舍入到负无穷方向上最接近的可表示数。截断操作导致从一个数字中删除一个或多个最低有效位。gydF4y2Ba

  • 最近的gydF4y2Ba将计算结果舍入到最接近的可表示数字。在平局的情况下gydF4y2Ba最近的gydF4y2Ba四舍五入到正无穷方向上最接近的可表示数。gydF4y2Ba

  • 轮gydF4y2Ba将计算结果舍入到最接近的可表示数字。在平局的情况下gydF4y2Ba轮gydF4y2Ba将正数四舍五入到正无穷方向上最接近的可表示数,将负数四舍五入到负无穷方向上最接近的可表示数。gydF4y2Ba

  • 简单的gydF4y2Ba使用舍入模式将计算结果舍入(gydF4y2Ba地板上gydF4y2Ba或gydF4y2Ba零gydF4y2Ba),这样可以在生成的代码中添加最少的额外舍入代码。有关更多信息,请参见gydF4y2Ba舍入模式:简单gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba

  • 零gydF4y2Ba将计算结果舍入到零方向上最接近的可表示数字。gydF4y2Ba

要了解关于这些舍入模式的更多信息,请参见gydF4y2Ba舍入gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba

有关舍入模式的直接比较,请参阅gydF4y2Ba选择舍入方法gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba

Baidu
map