主要内容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

  • 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),以及真正的浮点类型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

所有支持定点数据类型的“系统工具箱”块都支持仅二进制点伸缩的信金宝app号。许多不执行算术运算而只是重新排列数据的定点块,如延迟和矩阵转置,也支持[Slope Bias]缩放的信号。金宝appgydF4y2Ba

精度和范围gydF4y2Ba

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

范围gydF4y2Ba

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

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

例如,在2的补数中,负数必须和零一样表示,因此最大值为2gydF4y2Bawl-1gydF4y2Ba.因为0只有一种表示,所以正数和负数的数目是不相等的。这意味着有-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™软件目前支持以下舍入模式:金宝appgydF4y2Ba

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