定点概念和术语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个位置。因此,我们说这个数字有四个小数位,或者说是一个小数长度为4。gydF4y2Ba

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

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

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

  • 一个人的补充gydF4y2Ba

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

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

扩展gydF4y2Ba

在[Slope Bias]表示中,可以根据该方案对定点数进行编码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)以及真正的浮点类型单和双精度浮点类型,缩放总是很简单的。gydF4y2Ba

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

斜率和偏差一起表示定点数的比例。在一个零偏差的数字中,只有斜率影响缩放。一个仅按二进制点位置缩放的定点数字,相当于定点设计师™[斜率偏差]表示中的一个偏差为零、斜率调整为1的数字。这被称为二进制单点缩放或2的幂缩放: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块都支持只进万博1manbetx行二进制点缩放的信号。许多不执行算术运算而只是重新排列数据的定点块,如Delay和Matrix转置,也支持[Slope Bias]缩放信号。万博1manbetxgydF4y2Ba

精度和范围gydF4y2Ba

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

范围gydF4y2Ba

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

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

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

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

溢出处理。gydF4y2Ba由于定点数据类型表示有限范围内的数字,如果操作的结果大于或小于该范围内的数字,则可能发生溢出。gydF4y2Ba

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

精度gydF4y2Ba

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

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

舍入模式。gydF4y2Ba当用有限精度表示数字时,并不是可用范围内的每个数字都能被精确表示。如果一个数字不能精确地用指定的数据类型和缩放来表示,则可以gydF4y2Ba圆形的gydF4y2Ba变成一个可表示的数。虽然舍入运算总是会损失精度,但运算的代价和引入的偏差量取决于舍入模式本身。为了在成本和偏差之间提供更大的灵活性,DSP System Toolbox™软件目前支持以下舍入模式:万博1manbetxgydF4y2Ba

  • 天花板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