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

    在那里,gydF4y2BaFractionLength.gydF4y2Ba是二进制点右边的位数。gydF4y2Ba

  • 二进制点左侧的位是整数位和/或符号位,并且二进制点右侧的位是分数位。二进制点左侧的比特数称为整数长度。该示例中的二进制点显示了LSB左侧的四个位置。因此,据说该数量具有四个分数位,或者分数长度。gydF4y2Ba

固定点数据类型可以签名或无符号。gydF4y2Ba

签名二进制定点编号通常以三种方式中的一种表示:gydF4y2Ba

  • 符号/幅度 - 签名固定点或浮点数的表示。在标志/级别表示中,二进制单词的一位始终是专用符号位,而单词的剩余位编码数量的幅度。使用符号/级别表示的否定包括将符号位从0(正)翻转到1(否定)或1到0。gydF4y2Ba

  • 一个人的补充gydF4y2Ba

  • 二的补码——二的补码是有符号定点数最常见的表示形式。看到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 mgydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba ×gydF4y2Ba 2gydF4y2Ba egydF4y2Ba xgydF4y2Ba pgydF4y2Ba ogydF4y2Ba ngydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba

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

在这种情况下,斜率= 1,偏差= 0。对于纯整数(如int8)以及真正的浮点类型single和double,缩放总是很简单的。gydF4y2Ba

整数有时被称为gydF4y2Ba存储整数gydF4y2Ba。这是原始二进制数,其中Binary点被假定在单词的右侧。在系统工具箱中,指数的负面通常被称为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号。许多不执行算术运算但仅重新排列数据的固定点块,例如延迟和矩阵转发,也支持与[斜率偏置]缩放的信号。金宝appgydF4y2Ba

精度和范围gydF4y2Ba

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

范围gydF4y2Ba

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

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

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

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

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

系统工具箱软件不允许您在飞行中将防护位添加到数据类型中以避免溢出。保护位是硬件寄存器或软件模拟中的额外位,该软件仿真被添加到二进制单词的高端,以确保在溢出时不会丢失任何信息。必须在模型初始化时分配任何保护位。但是,该软件确实允许您gydF4y2Ba饱和gydF4y2Ba或者gydF4y2Ba包装gydF4y2Ba溢出。饱和度表示正溢出作为所使用范围中的最大正数,负溢出作为所使用的范围中的最大负数。包装使用模数算法将溢出溢出回数据类型的可表示范围。看到gydF4y2BaModulo算术gydF4y2Ba想要查询更多的信息。gydF4y2Ba

精确gydF4y2Ba

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

例如,在二进制点右边有4位的定点表示精度为2gydF4y2Ba-4gydF4y2Ba或0.0625,这是其最低有效位的价值。此数据类型和缩放范围内的任何数字都可以在(2gydF4y2Ba-4gydF4y2Ba)/ 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