书签 分享 收藏 举报 版权申诉 / 11

快速反正切计算预处理和后处理的方法.pdf

  • 上传人:e1
  • 文档编号:4038969
  • 上传时间:2018-08-12
  • 格式:PDF
  • 页数:11
  • 大小:1.22MB
  • 摘要
    申请专利号:

    CN201410616359.1

    申请日:

    2014.11.05

    公开号:

    CN104732056A

    公开日:

    2015.06.24

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 19/00申请公布日:20150624|||实质审查的生效IPC(主分类):G06F 19/00申请日:20141105|||公开

    IPC分类号:

    G06F19/00(2011.01)I

    主分类号:

    G06F19/00

    申请人:

    通用汽车环球科技运作有限责任公司

    发明人:

    R.M.兰塞姆

    地址:

    美国密歇根州

    优先权:

    14/140,026 2013.12.24 US

    专利代理机构:

    北京市柳沈律师事务所11105

    代理人:

    谭华

    PDF完整版下载: PDF下载
    内容摘要

    一种快速反正切计算预处理和后处理的方法。一种计算反正切的方法包括将用于y值和x值的符号编码成3位索引。当x值的绝对值大于y值的绝对值时,x值和y值的绝对值交换,并且索引的交换位被编码以指示x值和y值被交换。反正切是从交换的x值除以交换的y值的商计算的。圆缺底角基于索引的编码的x位、y位和交换位从表中提取。被编码的符号从圆缺底角提取并应用到计算的反正切输出值,以定义校正的反正切值。圆缺底角被加到校正的反正切值上以定义所述点的反正切。

    权利要求书

    权利要求书
    1.  一种计算通过笛卡尔坐标系的y值和x值定位在平面上的点的反正 切的方法,该方法包括:
    用控制器编码索引的y位,以指示所述y值的符号;
    用控制器编码所述索引的x位,以指示所述x值的符号;
    用控制器清除表示y值的二进制值的符号位,以定义净值的y值;
    用控制器清除表示x值的二进制值的符号位,以定义净值的x值;
    当净值的x值等于或小于净值的y值时,用控制器计算净值的x值除 以净值的y值的商的反正切,以定义计算的反正切输出值;
    当净值的x值大于净值的y值时,用控制器将净值的x值与净值的y 值交换,以定义交换的x值,并且用控制器将净值的y值与净值的x值交 换,以定义交换的y值;
    用控制器编码索引的交换位,以指示净值的x值和净值的y值被交 换,以分别定义交换的x值和交换的y值;
    当净值的x值大于净值的y值时,用控制器计算交换的x值除以交换 的y值的商的反正切,以定义计算的反正切输出值;
    用控制器,基于索引的被编码的x位、被编码的y位和被编码的交换 位,从角度调节表中查询圆缺底角;
    用控制器从被编码到提取的圆缺底角中的反向位提取数字符号;
    用控制器将来自圆缺底角的反向位的数字符号应用于计算的反正切输 出值,以定义校正的反正切值;
    用控制器清除圆缺底角的反向位,以定义净值的圆缺底角;以及
    用控制器将校正的反正切值加到净值的圆缺底角上,以定义所述点的 反正切。

    2.  如权利要求1所述的方法,还包括在所述控制器的存储器中建立所 述索引。

    3.  如权利要求1所述的方法,其中,清除表示y值的二进制值的符号 位被进一步定义为利用控制器的处理器的整数运算清除表示y值的二进制 值的符号位,且其中,清除表示x值的二进制值的符号位以定义净值的x 值被进一步定义为利用控制器的处理器的整数运算清除表示x值的二进制 值的符号位。

    4.  如权利要求3所述的方法,还包括:利用控制器的处理器的整数运 算将净值的x值与净值的y值相比较,以确定净值的x值是否大于净值的 y值。

    5.  如权利要求3所述的方法,还包括当净值的y值等于零时返回等于 零的值。

    6.  如权利要求1所述的方法,其中,所述圆缺底角的反向位被编码到 表示圆缺底角的32位浮点数的位12或位13中的一个。

    7.  如权利要求1所述的方法,其中,角度调节表是被参考以计算所述 点的反正切的唯一查询表。

    8.  如权利要求1所述的方法,其中,所述索引是3位二进制值。

    9.  如权利要求8所述的方法,其中,所述x位、y位和交换位被预先 移位,以用作用于包含32位数据的表的表查询索引。

    10.  如权利要求9所述的方法,其中,x位、y位和交换位被分别编码 在所述索引的第二位、第三位和第四位中。

    说明书

    说明书快速反正切计算预处理和后处理的方法
    技术领域
    本发明总地涉及一种计算反正切的方法,并更具体地说,涉及用于快 速反正切计算的数据的预处理和后处理。
    背景技术
    在各种车辆系统的控制过程中,车辆控制器经常需要计算反正切。例 如,车辆控制器可能需要计算反正切,以便正确控制混合动力车辆的电马 达。
    反正切仅可以在360°角度圆的45°圆缺上计算。于是,用于计算反正 切值的任何x值输入和y值输入必须从初始八分圆(即,初始45°圆缺)调 整到圆的与其中可以计算反正切的45°圆缺对应的圆缺上。在计算反正切的 数字值之后,必须调整回到圆的初始八分圆上。
    发明内容
    提供了一种计算通过笛卡尔坐标系的y值和x值定位在平面上的点的 反正切的方法。该方法包括编码索引的y位以指示y值的符号,并编码索 引的x位以指示x值的符号。表示y值的二进制值的符号位被去除以定义 净值的(cleared)y值,且表示x值的二进制值的符号位被去除以定义净值 的x值。当净值的x值等于或小于净值的y值时,通过将净值的x值除以 净值的y值来计算反正切计算输入自变量。然后计算输入自变量的反正切 以定义计算的反正切输出值。当净值的x值大于净值的y值时,净值的x 值与净值的y值交换,以定义交换的x值,并且净值的y值与净值的x值 交换,以定义交换的y值。索引的交换位被编码以指示净值的x值和净值 的y值被交换以分别定义交换的x值和交换的y值。当净值的x值大于净 值的y值时,反正切计算输入自变量通过将交换的x值除以交换的y值而 计算。输入自变量的反正切然后被计算以定义计算的反正切输出值。基于 索引的被编码的x位、被编码的y位和被编码的交换位,从角度调节表中 查找圆缺底角。从被编码到提取的圆缺底角中的反向位提取数值符号。来 自圆缺底角的反向位的数值符号被应用于计算的反正切输出值,以定义校 正的反正切值,并且圆缺底角的反向位被清除,以定义净值的圆缺底角。 校正的反正切值加到净值的圆缺底角上,以定义该点的反正切。
    于是,被编码到索引中的三个布尔运算位(即,y位、x位和交换位) 被用于从查询表(即角度调节表)获取编码值,该编码值被用于颠倒和调 节从反正切计算输出的计算数值。这使得与反正切计算相关的预处理和后 处理的时间最小化,由此改善了处理速度。
    还提供了一种计算通过笛卡尔坐标系的x值和y值定位在平面上的点 的反正切的方法,所述方法包括:在控制器的存储器内建立索引,其中, 所述索引包括3位二进制值;编码所述索引的y位,以指示所述y值的符 号;编码所述索引的x位,以指示所述x值的符号;清除表示所述y值的 二进制值的符号位以定义净值的y值;清除表示所述x值的二进制值的符 号位以定义净值的x值;将净值的x值与净值的y值相比较,以确定净值 的x值是否大于净值的y值,或者净值的x值是否等于或小于净值的y 值;当净值的y值等于零时返回等于零的计算的反正切输出值;当净值的 x值等于或小于净值的y值时,计算所述净值的x值除以净值的y值的商 的反正切以定义计算的反正切输出值;当净值的x值大于净值的y值时, 交换所述净值的x值与净值的y值,以定义交换的x值,并且交换净值的 y值与净值的x值,以定义交换的y值;编码索引的交换位,以指示净值 的x值和净值的y值被交换以分别定义交换的x值和交换的y值;当净值 的x值大于净值的y值时计算交换的x值除以交换的y值的商的反正切以 定义计算的反正切输出值;基于索引的被编码的x位、被编码的y位和被 编码的交换位,从角度调节表查询圆缺底角;从被编码在圆缺底角中的反 向位提取数字符号;将来自反向位的提取的数字符号应用到计算的反正切 输出值,以定义校正的反正切值;清除提取的圆缺底角的反向位,以定义 净值的圆缺底角;以及将校正的反正切值加到净值的圆缺底角上以定义所 述点的反正切。
    所述圆缺底角的反向位被编码到表示圆缺底角的32位浮点数的位12 或位13中的一个中。
    所述角度调节表是被参考以计算所述点的反正切的唯一查询表。
    所述x位、y位和交换位被预先移位,用作用于包含32位数据的表的 表查询索引。
    x位、y位和交换位被分别编码到索引的第二位、第三位和第四位中。
    清除表示y值的二进制值的符号位被进一步定义为利用整数运算清除 表示y值的二进制值的符号位,且其中,清除表示x值的二进制值的符号 位以定义净值的x值被进一步定义为利用整数运算清除表示x值的二进制 值的符号位。
    将净值的x值与净值的y值相比较被进一步定义为利用整数运算将净 值的x值与净值的y值相比较。
    从反向位提取数字符号被进一步定义为利用整数运算从反向位提取数 字符号。
    将从反向位提取的数字符号应用于计算的反正切输出值被进一步定义 为利用整数运算将从反向位提取的数字符号应用于计算的反正切输出值。
    清除提取的圆缺底角的反向位被进一步定义为利用整数运算清除提取 的圆缺底角的反向位。
    本发明的上述特征和优点以及其他特征和优点从下面结合附图给出的 用于实施本发明的最佳模式的详细描述中轻易理解到。
    附图说明
    图1是示出笛卡尔坐标系上的圆的不同八分圆的图;
    图2是示出用于圆缺底角以及它们相应的32位浮点二进制存储格式的 所有可能值的表;
    图3是表示用于将索引关联至图1所示圆的每个八分圆的角度调节表 的图表。
    具体实施方式
    本领域技术人员将认识到诸如“之上”、“之下”、“向上”、“向下”、 “顶”、“底”等的术语是描述性地用于附图,并不代表如所附权利要求书限 定的本发明的范围的限制。此外,本文中,本发明可在功能和/或逻辑块组 成和/或各种处理步骤的方面予以描述。应理解到这种块组成可以由被构造 成执行特定功能的任何数量的硬件、软件和/或固件构成。
    参照附图,图中,相同的附图标记在几幅图中表示相同的部件,提供 了一种计算针对一点的反正切的方法。该方法可以通过控制器,诸如但不 局限于计算机或控制模块来执行。控制器可操作以执行根据下述方法计算 反正切所需的各过程。控制器包括如下所述计算反正切所需的所有软件、 硬件、存储器、处理器、算法、编码等。
    参照图1,计算反正切所针对的点位于笛卡尔坐标系的y值和x值的 平面上。在图1内,笛卡尔坐标系的x轴在20处示出,而y轴在22处示 出。笛卡尔坐标系分成八个不同的八分圆。每个八分圆跨过45°圆缺。第一 八分圆大致在24处示出,第二八分圆大致在26处示出,第三八分圆大致 在28处示出,第四八分圆大致在30处示出,第五八分圆大致在32处示 出,第六八分圆大致在34处示出,第七八分圆大致在36处示出,而第八 八分圆大致在38处示出。坐标系的角度被示出以顺时针方式增加,0度角 定义为如在页面上所见的位于x轴上方的y轴的部分。第一八分圆跨过0° 和45°之间。第二八分圆跨过45°和90°之间。第三八分圆跨过90°和135° 之间。第四八分圆跨过135°和180°(也可以表示为-180°)之间。第五八分 圆跨过180°和225°(也可以表示为-135°)之间。第六八分圆跨过225°和 270°(也可以表示为-90°)之间。第七八分圆跨过270°和315°(也可以表 示为-45°)之间。第八八分圆跨过315°和0°(也可以表示为360°)之间。 虽然以度数描述了不同的八分圆,但是应该理解不同的八分圆可以替代地 以弧度描述。此外,八分圆也可以描述为带符号的或不带符号的。于是, 不同的八分圆可以以四种不同方式描述,即:带符号的度数、不带符号的 度数、带符号的弧度或者不带符号的弧度。图1示出可以描述八分圆的角 位置的不同方式。
    第一点40被示出在第一八分圆内。第一点40的反正切在下面的示例 1中计算。第二点42被示出在第六八分圆内,第二点42的反正切在下面 的示例2中计算。
    该方法包括在控制器的存储器内建立索引。该索引是三位二进制值, 其用于存储三个不同输入参数(y值、x值和交换位)的布尔运算信息。该 索引在后面用于从查询表检索值,该值用于颠倒(reverse)和/或调节计算 的反正切输出值。虽然索引仅使用3位来存储输入参数的布尔运算信息, 该索引编码成控制器所使用的位的数量,诸如但不限于32位、IEEE-754 标准浮点数格式,如在此示出和描述的。索引的这三个位包括y位、x位 和交换位。例如,索引可以表示为syx00,其中,s表示交换位,y表示y 位,而x表示x位。X位、y位和交换位预先移位,用作包含32位数据的 表的表查询索引。优选地是,并如上所表示的,x位、y位和交换位可以分 别编码成索引的第二位、第三位和第四位。
    如已知的,单精度浮点数在尺寸上是32位的。在大部分处理器中,存 储器的基础单位是8位(1字节)。在使用32位系统的大多数处理器中, 32位数值占据存储器的4个字节,因此为了标明32位数的一个毗邻组, 地址必须以3的步长增量。将索引向左预先移位两位使其被4乘。由于位 单个插入到索引中,该移位是自由的,即,不需要处理时间。如果索引是 右对齐的,即,未预先移位,那么在使用索引来参照查询表之前,处理器/ 控制器将必须将索引向左移位两位。于是,通过预先移位索引,查询的速 度增加。
    为了计算对于任何给定点的反正切,y值的符号被编码到索引的y位 中,其用于指示y值的符号。符号是正(+)符号或负(-)符号。如通常 理解的,正号通常在二进制编码中由0表示,而负号通常在二进制编码中 由1表示。于是,如果y值包括负号,即,如果y值是负数,y位可以用1 编码,而如果y值包括正数,即,如果y值是正数,则y位可以用0编 码。X值的符号被编码在索引的x位中,其用于表示x值的符号。符号或 是正(+)符号或是负(-)符号。于是,如果x值包括负号,即,如果x 值是负数,x位可以用1编码,而如果x值包括正数,即,如果x值是正 数,则x位可以用0编码。
    一旦该点的y值和x值的符号已经编码到索引的y位和x位中,则符 号可以从x值和y值被清除或掩盖,以分别定义净值的x值和净值的y 值。净值的x值和净值的y值分别有效地定义了x值和y值的绝对值。取 代浮点数运算,Y值和x值的符号利用整数运算来清除或掩盖。整数运算 包括数学和逻辑运算,它们在整数上执行,如本领域技术人员所理解和领 会的。X值和y值可以以32位二进制浮点形式存储在控制器的存储器中, 并由32位浮点数表示。于是,从x值清除或掩盖符号以及从y值清除或掩 盖符号以定义x值的绝对值和y值的绝对值可以包括分别清除x值和y值 的32位浮点数中的符号位,以将y值和x值定义为正数。如通常理解的, 32位浮点数所表示的数的符号是由符号位表示的,它是最重要的,通常是 32位浮点数的最左侧位。如通常理解的,正号通常在二进制编码中由0表 示,而负号在二进制编码中通常由1表示。如此,清除符号位包括将符号 位变成0。
    在y值和x值的符号被清除以分别定义净值的x值和净值的y值之 后,其分别有效地定义了x值和y值的绝对值,净值的x值(x值的有效 绝对值)与净值的y值(y值的有效绝对值)相比较,以确定净值的x值 是否大于净值的y值,或者净值的x值是否等于或小于净值的y值。利用 整数运算,而非浮点数运算,净值的x值与净值的y值相比较。于是,利 用整数比较,而非浮点数比较,净值的x值与净值的y值相比较。由于角 度的反正切是从x值除以y值的商计算,作为分母的y值必须包括非零 数。因此,如果净值的y值(y值的有效绝对值)等于零,等于零的值作 为该点的计算的反正切输出值返回。当净值的x值(x值的有效绝对值) 等于或小于净值的y值(y值的有效绝对值),通过将净值的x值除以净值 的y值,计算反正切计算输入自变量。输入自变量的反正切然后被计算, 以定义计算的反正切输出值。如此,净值的x值除以净值的y值的商的反 正切被计算以定义计算的反正切输出值。
    当净值的x值(x值的有效绝对值)大于净值的y值(y值的有效绝对 值)时,那么净值的x值与净值的y值交换以定义交换的x值,且净值的 y值与净值的x值交换以定义交换的y值。于是,交换的x值等于净值的y 值(y值的有效绝对值),且交换的y值等于净值的x值(x值的有效绝对 值)。如果该点落在第二八分圆26、第四八分圆30、第六八分圆34或第八 八分圆38之内,则x值和y值的净值被交换。
    当净值的x值和净值的y值交换时,索引的交换位被编码以指示净值 的x值和净值的y值被交换,以分别定义交换的x值和交换的y值。在示 例性实施方式中,交换位用0编码,以表示净值的x值和净值的y值尚未 被交换。相反,在示例性实施方式中,交换位用1编码,以表示净值的x 值和净值的y值已经被交换。例如,如果该点包括等于-4的x值和等于-3 的y值,则净值的x值(4)大于净值的y值(3),并且x值和y值的净值 被交换。如此,交换位被编码为1。由于x值和y值两者都包括负号,x位 和y位都被编码为1。于是,在示例性实施方式中,对于具有等于-4的x 值和等于-3的y值的点的编码索引以二进制形式在预先移位索引中表示为 11100。当净值的x值大于净值的y值时,并且在交换位已经被编码到索引 中之后,通过将交换的x值除以交换的y值,计算反正切计算输入自变 量。输入自变量的反正切然后被计算以定义计算的反正切输出值。如此, 交换的x值除以交换的y值的商的反正切被计算以定义计算的反正切输出 值。
    在前面的示例性实施方式中,交换位用1编码以表示净值的x值和净 值的y值已经被交换,并且用0编码以表示净值的x值和净值的y值尚未 被交换。但是,应该理解的是,交换位的极性可以颠倒,用0编码的交换 位表示净值的x值和净值的y值已经交换,而用1编码来表示净值的x值 和净值的y值尚未被交换。如果交换位的极性与上述示例性实施方式相 反,应该理解的是在下面描述的各种查询表必须适当地重新排序。
    包括用于x位、y位和交换位的编码值的编码索引用于从角度调节表 中查询圆缺底角。即,通过将计算的反正切输出值的后处理所需的所有信 息结合到角度调节表的单个元素中,只需要一次访问单个查询表(角度调 节表)来计算点的反正切,由此减少了存储器的使用并增加了处理速度。
    圆缺底角可以以32位二进制浮点形式存储在控制器的存储器中,并由 32位浮点数来表示。参照图2,可以用在角度调节表中的圆缺底角的所有 可能值在列44中提供,并且用于每个圆缺底角的32位浮点数在列46中提 供。图3的列48示出了对于圆缺底角的每个可能值的浮点数的十六位表 示。
    优选地是,反向位(reverse bit)被编码在表示圆缺底角的32位浮点数的 位12或位13中的一个内。位12在图2的列50中示出,而位13在图2的 列52中示出。图2示出对于圆缺底角的所有可能值,位12和位13都是 零。于是,位12或位13用于将反向位编码到表示圆缺底角的32位浮点数 中,这是因为位12和位13否则对于圆缺底角的所有可能值总是零。
    示例性实施方式的角度调节表在图3中示出。图3中所示的角度调节 表被构造成与无符号角度一起使用。应该理解的是如果反正切计算利用一 些其他角度单位执行,如用带符号的角度、无符号的弧度、或者带符号的 弧度来执行,那么角度调节表将不同地构成,以使用期望的角度单位。
    在图3内,列56列出了用于交换位、y位和x位的所有8种可能组 合,其中,s表示交换位,y表示y位,x表示x位。用于索引的每个可能 编码组合的圆缺底角设置在列58中。列58的每一行包括浮点数,或者与 整数“或”运算的浮点数,其设定了反向位(在下面更详细描述)。在列60 中提供了用于索引的每种可能编码组合的输出角度调节符号值。在列62中 提供了对于索引的每种可能编码组合的特定八分圆。
    在列64中以十六进制形式提供了用于索引的每种可能编码组合的编码 输出角度调节符号值和圆缺底角。在列66中以32位二进制浮点形式提供 用于索引的每种可能编码组合的编码输出角度调节符号值和圆缺底角。在 列68中以浮点十进制形式提供了用于索引的每种可能编码组合的编码输出 角度调节符号值以及圆缺底角。
    一旦基于索引的特定编码从角度调节表中查询圆缺底角,用于计算的 反正切输出值的数字符号从被编码在圆缺底角中的反向位提取。该数字符 号可以包括用于正数的正(+)号,或者用于负数的负(-)号。如通常理 解的,正号通常作为0编码到32位浮点数中,,而负号通常作为1编码到 32位浮点数中,。于是,对于正号,反向位可以用0编码,而对于负号, 用1编码。如上面提到的,反向位被编码到表示圆缺底角的32位浮点数的 位12或位13中的一个内,这是因为位12和位13否则对于圆缺底角的所 有值总是零。位12在图3的列70中示出,而位13在图3的列72中示 出。如图3所示,位12用于将反向位编码到表示圆缺底角的32位浮点数 中。
    从反向位提取的数字符号应用到如上算出的计算的反正切输出值,以 定义校正的反正切值。于是,校正的反正切值可以包括负数或正数。数字 符号利用整数运算而非浮点运算应用到计算的反正切输出值。圆缺底角的 反向位然后被掩盖或清除,以定义净值的圆缺底角。净值的圆缺底角是圆 缺底角的真实值或实际值。于是,净值的圆缺底角可以包括正数或负数。
    清除圆缺底角的反向位以定义净值的圆缺底角包括清除表示圆缺底角 的32为浮点数中的反向位。反向位利用基本整数清除运算(basic integer  clearing operation)清除,如本领域技术人员所理解的。
    校正的反正切值然后被加到净值的圆缺底角(即,圆缺底角的真实值 或实际值)上,以定义该点的反正切。应该理解到的是校正的反正切值可 以包括正数或负数,并且净值的圆缺底角也可以包括正数或负数。于是, 将校正的反正切值加到净值的圆缺底角上可以包括将正数加到正数上、将 负数加到正数上、或者将负数加到负数上。
    上述过程从用于计算该点的反正切的输入数据的预处理和后处理中去 除所有分支。如本领域技术人员所理解的,分支是计算机程序中的指令, 其在由控制器执行时可以导致控制器开始不同指令序列的执行。每次处理 器的线性流被分支中断,处理器减慢下来。上述方法从输入数据的预处理 和后处理去除所有分支,由此增加了计算点的反正切所需的速度。
    示例1
    下面在此描述用于计算第一点40的反正切的过程。第一点40包括等 于4的y值80和等于3的x值82。由于y值80和x值82都是正的,索引 的y位和x位都用0编码。分别表示x值和y值的32位浮点数的符号位然 后被掩盖或清除,以分别定义净值的x值和净值的y值。如上面指出的, 净值的x值有效地定义了x值的绝对值,而净值的y值有效地定义了y值 的绝对值。净值的x值等于3,而净值的y值等于4。由于净值的x值小于 净值的y值,净值的x值和净值的y值不交换,并且交换位用0值编码到 索引中。于是,交换位用0编码,y位用0编码,且x位用0编码。因 此,移位的索引可以通过二进制值表示为00000。净值的x值除以净值的y 值的商的反正切然后被计算以定义计算的反正切输出值。更具体地说,反 正切计算输入自变量可以通过将净值的x值除以净值的y值而计算。输入 自变量(即,净值的x值除以净值的y值的商)的反正切然后被计算以定 义计算的反正切输出值。于是,反正切计算输入自变量等于3除以4的 商。计算的反正切输出值等于输入值的反正切,即:3除以4的商的反正 切(acrtan 3/4),其等于36.87°。参照图3,用于被编码的索引的圆缺底角 从角度调节表中检索。对于交换位被定义为0,y位被定义为0且x位被定 义为0的索引的圆缺底角在图3的行84中提供,并包括0°的值。用于具有 0°的值的圆缺底角的32位浮点数在图3的列66、行84中提供。图3的列 70提供了用于圆缺底角的反向位,其包括0的编码,表示正号。反向位然 后被清除,以定义净值的圆缺底角。如上所述,净值的圆缺底角定义了圆 缺底角的实际值或真实值,其可以包括负数或正数。由于反向位已经编码 为0,表示正号,反向位在这个示例中不变化,并且净值的圆缺底角等于 0°。从圆缺底角(在这个示例中为正号)提取的反向位然后应用于计算的 反正切输出值以定义校正的反正切值。如上面提到的,计算的反正切输出 值等于36.87°,并且从圆缺底角提取的反向位为正,因此校正的反正切值 等于+36.87°。校正的反正切值(+36.87°)然后加到净值的圆缺底角(0°) 上,以定义第一点40的反正切。于是,第一点40的反正切被计算为 36.87°,并由角86表示,如图1所示。
    示例2
    下面,在此描述用于计算第二点42的反正切的过程。第二点42包括 等于-4的x值88以及等于-3的y值90。由于x值88和y值90两者都是 负的,索引的x位和y位都用1编码。分别表示x值88和y值90的32位 浮点数的符号位然后被清除以分别定义净值的x值和净值的y值。如上所 述,净值的x值和净值的y值分别有效地定义了x值和y值的绝对值。净 值的x值等于4,而净值的y值等于3。由于净值的x值大于净值的y值 (4>3),净值的x值和净值的y值被交换以定义交换的x值和交换的y 值。如此,交换的x值等于净值的y值(交换的x值=3),且交换的y值等 于净值的x值(交换的y值=4)。由于净值的x值和净值的y值被交换,则 交换位用1的值编码到索引中。于是,交换位用1编码,y位用1编码, 且x位用1编码。因此,移位的索引可以通过二进制值表示为11100。交换 的x值除以交换的y值的商的反正切然后被计算以定义计算的反正切输出 值。更具体地说,反正切计算输入自变量是通过将交换的x值除以交换的 y值而计算。输入自变量(即交换的x值除以交换的y值的商)的反正切 然后被计算,以定义计算的反正切输出值。于是,反正切计算输入自变量 等于3除以4的商。计算的反正切输出值等于输入值的反正切,即,3除 以4的商的反正切(arctan 3/4),其等于36.87°。参照图3,用于被编码的 索引的圆缺底角从角度调节表中检索。用于交换位定义为1、y位定义为1 且x为定义为1的索引的圆缺底角设置在图3的行92中,并包括为整数形 式的“270.0│0x1000”、“0x43871000”的值,或者为浮点数形式的“270.125” 的值。对于具有0x43871000的值(其等于270.125)的圆缺底角的32位浮 点数在图3的列66、行92中提供。图3的列70提供了用于圆缺底角的反 向位,其包括“1”的编码,表示负号。反向位然后被清除,以定义净值的 圆缺底角,它是圆缺底角的实际值或真实值。由于反向位被编码为1,表 示负号,反向位被清除,以定义0的值,由此将圆缺底角恢复至其270°的 真实值或实际值。
    从圆缺底角提取的反向位所指示的负号应用于计算的反正切输出值, 以定义校正的反正切值。如上面指出的,计算的反正切输出值等于 36.87°,并且从圆缺底角提取的反向位是负的,因此校正的反正切值等于- 36.87°。校正的反正切值(-36.87°)然后加到净值的圆缺底角(270°)上, 以定义第二点42的反正切。于是,第二点42的反正切被计算为233.13°, 并由角度94表示,如图1所示。
    详细描述和附图或图形用于支持和描述本发明,但是本发明的范围仅 由权利要求书限定。虽然已经详细描述了用于实施所要求保护的发明的一 些最佳模式和其他实施方式,但是存在各种替代设计和实施方式用于实践 所附权利要求中限定的发明。

    关 键  词:
    快速 正切 计算 预处理 处理 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:快速反正切计算预处理和后处理的方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4038969.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1