CN111581590B - 一种基于定点数变量的积分计算方法及装置 - Google Patents
一种基于定点数变量的积分计算方法及装置 Download PDFInfo
- Publication number
- CN111581590B CN111581590B CN202010377873.XA CN202010377873A CN111581590B CN 111581590 B CN111581590 B CN 111581590B CN 202010377873 A CN202010377873 A CN 202010377873A CN 111581590 B CN111581590 B CN 111581590B
- Authority
- CN
- China
- Prior art keywords
- integral
- time period
- calculation
- integration
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于定点数变量的积分计算方法及装置,以及一种计算机可读存储介质。本发明提供的上述基于定点数变量的积分计算方法包括步骤:根据所述积分计算的精度需求确定单步计算的时间周期;根据所述时间周期确定放大系数;根据所述时间周期及所述放大系数确定积分步长,其中,所述积分步长为定点数变量;以及对前一时刻的累加值和当前时刻的输入值及所述积分步长的乘积求和,以计算当前时刻的积分计算结果。本发明能够提高处理器的计算精度,并节省计算所需要的硬件资源。
Description
技术领域
本发明涉及数值运算技术,尤其涉及一种由处理器执行的基于定点数变量的积分计算方法,以及一种用于执行该基于定点数变量的积分计算方法的装置。
背景技术
在一些需要进行数值积分运算的场合,出于运算设备的运算效率的要求,通常会采用定点数(fixed-point)变量来进行数值运算,其操作数一般采用整型数(integer,int)来表示。一个整型数变量的最大表示范围取决于运算设备所给定的字长,一般为16位、32位或64位。显然,整型数的字长越长,其所能表示的数值范围就越大,其数值精度也越高。
在许多情况下,数值运算过程中涉及的数据不一定都是整数。现有技术一般通过Q表示法使用整型数来表示定点小数。在Q表示法中,设计人员可以预先确定小数点在16位数中的位置,以供处理器对数值运算过程中涉及的小数进行定标及计算。也就是说,同样一个16位数,若小数点设定的位置不同,其所表示的数也就不同。
请参考表1,表1示出了一个16位数的16种Q表示及其所能表示的十进制数值范围。
表1 Q表示及数值范围
如表1所示,具有不同Q值的整型数不仅表示的数值范围不同,而且表示的数值精度也不相同。Q值越大,整型数表示的数值范围就越小,而其表示的精度则越高。反之,Q值越小,整型数表示的数值范围就越大,其表示的精度则越低。例如:Q0能够表示的数值范围是-32768到+32767,其数值精度为1;而Q15能够表示的数值范围为-1到0.9999695,其数值精度为 因此,对一个定点数变量而言,其能表示的数值范围与数值精度是一对矛盾。一个定点数变量要想能够表示比较大的数值范围,就必须以牺牲精度为代价。反之,若想提高定点数变量的数值精度,则必须相应地减小其能表示的数值范围。
在采用定点数变量计算积分函数时,当单步计算的时间周期Δt越小(例如:Δt=10-8s)时,积分结果的精度也越高。然而,Q15定点数所能表示的最小数值为无法表示10-8的小量。也就是说,仅配置16位整型数变量的处理器无法满足时间周期Δt=10-8s所对应的计算精度需求。
在现有技术中,只能通过增加运算设备的定点数的长度来满足上述计算精度的需求。例如,选用配置32位或64位的整型数变量的处理器来满足时间周期Δt=10-8s的积分精度需求。
然而,定点数长度的增加必然会造成计算量的增加。这不但会造成计算效率的降低,还会提高对处理器运算能力的要求及处理器的成本。
为了克服现有技术存在的上述缺陷,本领域亟需一种基于定点数变量的数值运算技术,用于提高处理器的计算精度并节省计算所需要的硬件资源。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之前序。
为了克服现有技术存在的上述缺陷,本发明提供了一种由处理器执行的基于定点数变量的积分计算方法、一种用于执行该基于定点数变量的积分计算方法的装置,以及一种用于存储该基于定点数变量的积分计算方法的计算机可读存储介质,用于提高处理器的计算精度并节省计算所需要的硬件资源。
本发明提供的上述基于定点数变量的积分计算方法包括步骤:根据所述积分计算的精度需求确定单步计算的时间周期;根据所述时间周期确定放大系数;根据所述时间周期及所述放大系数确定积分步长,其中,所述积分步长为定点数变量;以及对前一时刻的累加值和当前时刻的输入值及所述积分步长的乘积求和,以计算当前时刻的积分计算结果。
优选地,在本发明的一些实施例中,所述确定放大系数的步骤可以包括:对所述时间周期的倒数进行对数运算以获得对数值;以及对所述对数值进行向下取整运算以获得所述放大系数。
优选地,在本发明的一些实施例中,所述进行对数运算的步骤可以进一步包括:对所述时间周期的倒数进行以2为底的对数运算,以获得以2为底的对数值。
优选地,在本发明的一些实施例中,所述确定积分步长的步骤可以包括:将所述时间周期乘以2N以获得所述积分步长,所述N为所述放大系数。
优选地,在本发明的一些实施例中,所述确定积分步长的步骤还包括:对获得的积分步长进行定点数标定以确定所述积分步长的定点数变量。
优选地,在本发明的一些实施例中,所述计算当前时刻的积分计算结果的步骤还可以包括:对求和获得的当前时刻的累加值进行反向标定并乘以2-N,以获得当前时刻的积分计算结果,所述N为所述放大系数。
可选地,在本发明的一些实施例中,积分计算方法可以进一步包括步骤:预先执行确定所述时间周期的步骤、确定所述放大系数的步骤及确定所述积分步长的步骤;以及响应于所述输入值而执行计算当前时刻的积分计算结果的步骤。
根据本发明的另一方面,本文还提供了一种基于定点数变量的积分计算装置。该积分计算装置可以执行该基于定点数变量的积分计算方法,从而提高计算精度并节省计算所需要的硬件资源。
本发明提供的上述基于定点数变量的积分计算装置包括存储器及处理器。所述处理器耦接于所述存储器,并配置为:根据所述积分计算的精度需求确定单步计算的时间周期;根据所述时间周期确定放大系数;根据所述时间周期及所述放大系数确定积分步长,其中,所述积分步长为定点数变量;以及对前一时刻的累加值和当前时刻的输入值及所述积分步长的乘积求和,以计算当前时刻的积分计算结果。
优选地,在本发明的一些实施例中,所述处理器可以进一步配置为:对所述时间周期的倒数进行对数运算以获得对数值;以及对所述对数值进行向下取整运算以获得所述放大系数。
优选地,在本发明的一些实施例中,所述处理器可以进一步配置为:对所述时间周期的倒数进行以2为底的对数运算,以获得以2为底的对数值。
优选地,在本发明的一些实施例中,所述处理器可以进一步配置为:将所述时间周期乘以2N以获得所述积分步长,所述N为所述放大系数。
优选地,在本发明的一些实施例中,所述处理器还配置为:对获得的积分步长进行定点数标定以确定所述积分步长的定点数变量。
优选地,在本发明的一些实施例中,所述处理器还可以配置为:对求和获得的当前时刻的累加值进行反向标定并乘以2-N,以获得当前时刻的积分计算结果,所述N为所述放大系数。
可选地,在本发明的一些实施例中,所述处理器可以进一步配置为:预先执行确定所述时间周期的步骤、确定所述放大系数的步骤及确定所述积分步长的步骤;以及响应于所述输入值而执行计算当前时刻的积分计算结果的步骤。
可选地,在本发明的一些实施例中,所述处理器包括但不限于中央处理器、数字信号处理器和现场可编程逻辑门阵列。
根据本发明的另一方面,本文还提供了一种计算机可读存储介质。
本发明提供的上述计算机可读存储介质,其上存储有计算机指令。所述计算机指令被处理器执行时,可以实施上述任意一个实施例所提供的积分计算方法,从而提高计算精度并节省计算所需要的硬件资源。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了根据本发明的一方面提供的基于定点数变量的积分计算方法的流程示意图。
图2示出了根据本发明的另一方面提供的基于定点数变量的积分计算装置的结构示意图。
附图标记
101-104 基于定点数变量的积分计算方法的步骤;
20 基于定点数变量的积分计算装置;
21 存储器;
22 处理器。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合优选实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
另外,在以下的说明中所使用的“上”、“下”、“左”、“右”、“顶”、“底”、“水平”、“垂直”应被理解为该段以及相关附图中所绘示的方位。此相对性的用语仅是为了方便说明之用,其并不代表其所叙述的装置需以特定方位来制造或运作,因此不应理解为对本发明的限制。
能理解的是,虽然在此可使用用语“第一”、“第二”、“第三”等来叙述各种组件、区域、层和/或部分,这些组件、区域、层和/或部分不应被这些用语限定,且这些用语仅是用来区别不同的组件、区域、层和/或部分。因此,以下讨论的第一组件、区域、层和/或部分可在不偏离本发明一些实施例的情况下被称为第二组件、区域、层和/或部分。
如上所述,现有技术只能通过增加运算设备的定点数(fixed-point)的长度来满足积分计算的精度需求。例如,当单步计算的时间周期Δt=10-8s时,需要选用配置32位或64位的整型数(integer,int)变量的处理器来满足该积分精度需求。
当选用配置32位的整型数变量的处理器来进行积分计算时,Q31定点数所能表示的最小数值为2-31=4.6566×10-10。此时,以Q31的定点数表示时间周期Δt=10-8s的固定误差为
当选用配置64位的整型数变量的处理器来进行积分计算时,Q47的定点数即可表示2-47=7.1054×10-15的最小数值。此时,以Q47的定点数表示时间周期Δt=10-8s的固定误差为
也就是说,不仅配置16位的整型数变量的处理器无法满足时间周期Δt=10-8s所对应的积分精度需求,即使配置32位的整型数变量的处理器仍会产生±4.65%的固定误差。在实际的数值积分运算的应用中,至少需要配置64位的整型数变量的处理器才足以保障时间周期Δt=10-8s所对应的积分精度需求。
然而,定点数长度的增加必然会造成计算量的增加。这不但会造成计算效率的降低,还会提高对处理器计算能力的要求及处理器的成本。
为了克服现有技术存在的上述缺陷,本发明提供了一种由处理器执行的基于定点数变量的积分计算方法、一种用于执行该基于定点数变量的积分计算方法的装置,以及一种用于存储该基于定点数变量的积分计算方法的计算机可读存储介质,用于提高处理器的计算精度并节省计算所需要的硬件资源。
在本发明的一些实施例中,上述基于定点数变量的积分计算方法可以由上述基于定点数变量的积分计算装置的处理器来实施。该处理器包括但不限于中央处理器(CentralProcessing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)和现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等运算设备,可以支持16位整型数变量的计算。在一些实施例中,该处理器可以读取并执行计算机指令来实施上述基于定点数变量的积分计算方法。该计算机指令可以存储于上述基于定点数变量的积分计算装置的存储器。
在一些实施例中,基于定点数变量的积分计算装置的处理器可以采用数值积分法来计算定积分的近似值。数值积分法是求定积分的近似值的数值方法,即用被积函数的有限个抽样值的离散或加权平均近似值来代替定积分的值。在已知函数的微分方程的情况下,通常可以采用欧拉法(Euler method)、梯形法(Trapezoidal rule)或龙格库塔法(Runge-Kutta method)来求解函数下一时刻的值。
在一些实施例中,处理器可以基于欧拉法来求解函数下一时刻的值。具体来说,欧拉法的表达式可以写成以下的形式:
式中:yk+1是函数在k+1时刻的积分结果;yk是函数k时刻的积分结果;y′k是yk在k时刻的导数;h是单步计算的积分步长。
欧拉法的主要思想是用当前时刻的积分结果yk与当前时刻y′k与积分步长h的乘积之和来近似替代k+1时刻的实际的积分结果yk+1。也就是说,式(1)可以表示为:
yk+1=yk+xk×h=yk+xk×Δt 式(2)
式中:xk是函数在k时刻的输入值;Δt是单步计算的时间周期。
相比于梯形法和龙格库塔法,欧拉法具有计算方法简单的优点,其计算精度直接取决于积分步长h及时间周期Δt的大小。通过缩小单步计算的时间周期Δt,可以有效地降低近似计算的固定误差,从而提升近似结果的数值精度。通过将时间周期Δt取值为一个极致的小量,即可使近似计算获得的替代结果无限逼近实际的积分结果yk+1。
请参考图1,图1示出了根据本发明的一方面提供的基于定点数变量的积分计算方法的流程示意图。
如图1所示,本发明提供的上述基于定点数变量的积分计算方法,可以包括步骤:
101:根据积分计算的精度需求确定单步计算的时间周期Δt。
如上所述,在采用欧拉法近似计算积分结果的实施例中,通过对当前时刻的积分结果yk与当前时刻y′k与积分步长h的乘积求和,以近似替代k+1时刻的实际的积分结果yk+1。该近似计算的计算结果是呈阶梯式变化的。具体来说,在各时间周期Δt的过程中,近似计算的计算结果不会发生变化;而在到达时间周期Δt的时刻,近似计算的计算结果会发生突变。这与实际积分结果的随时间而持续变化的趋势不同,因此会造成近似计算结果与实际积分结果的固定误差。
在实际的积分计算的应用中,处理器需要根据积分计算的精度需求确定对应的单步计算的时间周期Δt,从而使近似计算结果与实际积分结果的固定误差小于规定的误差容忍值。
在一些实施例中,可以预先统计时间周期Δt与近似计算结果误差的对应关系,从而确定时间周期Δt与近似计算结果误差的对应关系表。在进行积分计算时,处理器可以根据积分计算的精度需求,从该对应关系表中查找并确定对应的时间周期Δt来进行数值积分。
在一些实施例中,处理器可以根据积分计算的精度需求,从上述对应关系表中查找并确定单步计算的时间周期Δt=10-8s。
如上所述,在现有技术中,仅配置16位整型数变量的处理器无法表示10-8的小量,因此无法满足积分计算的精度需求。
在本发明的一些实施例中,可以对上述时间周期Δt进行变换处理,降低上述积分计算对整型数长度的需求,从而使仅配置16位整型数变量的处理器能够精确地完成上述积分计算。
具体来说,在本发明提供的上述积分计算方法中,可以定义单步计算的积分步长Δh与单步计算的时间周期Δt满足以下对应关系:
Δh=Δt×2N<1 式(3)
式中:Δt是单步计算的时间周期;Δh是单步计算的积分步长;N是将时间周期Δt变换为积分步长Δh的放大系数。
由于在10-8的小量中,小数点后到有效数值之间被大量的数据0所占用,白白浪费了定点数有限的长度(即数据空间)。通过对时间周期Δt进行指数型放大的变换处理,可以大幅地缩减小数点后到有效数值之间的数据0的位数,从而充分地利用定点数的长度来表示实际的数据。
此外,由于现有的运算设备普遍都基于二进制的形式来存储和计算数据,采用2N作为放大系数的方案可以更符合现有运算设备存储和计算数据的方式,从而进一步方便于数值在积分计算中的左移和右移。
如图1所示,本发明提供的上述基于定点数变量的积分计算方法,还可以包括步骤:
102:根据时间周期Δt确定放大系数N。
在本发明的一些实施例中,可以对式(3)的不等式部分取以2为底的对数值,以确定放大系数N的取值范围:
在一些优选的实施例中,可以尽可能地取大放大系数N,以使转换后的时间周期Δt(即积分步长Δh)接近并小于1,即令积分步长Δh的数值范围在0.5~1之间,从而充分地利用定点数的长度来提升积分计算的精度。
在一些实施例中,响应于时间周期Δt=10-8s,处理器可以对时间周期的倒数进行2为底的对数运算,以获得对数值/>之后,处理器可以对该对数值进行向下取整运算,以获得最大的整数形式的放大系数N=26。
可以理解的是,通过对放大系数N进行取整运算,可以简化积分计算的过程。当N取26时,积分步长Δh最接近1,可以充分地利用定点数的长度来提升积分计算的精度。
因此,放大系数N的取值公式可以确定为:
式中:Floor为向下取整运算符。
如图1所示,本发明提供的上述基于定点数变量的积分计算方法,还可以包括步骤:
103:根据时间周期Δt及放大系数N确定积分步长dH。
在本发明的一些实施例中,根据式(3)及式(5)可以推导出积分步长Δh的取值公式为:
也就是说,可以通过将时间周期Δt乘以2N来获得放大后的积分步长Δh。
在一些实施例中,配置16位整型数变量的处理器在执行基于定点数变量的积分计算方法时,可以将积分步长Δh定标为整型数(int)形式的积分步长dH,用于后续的积分计算。该积分步长dH为定点数变量。
具体来说,在进行积分计算时,处理器可以首先定义浮点数(float)变量xk、dh、dt,以及定点数(int)变量Xk、dH。
式中:xk为xk的浮点数变量;dh为Δh的浮点数变量;dt为Δt的浮点数变量;Xk为定标后xk的定点数变量;dH为定标后Δh的定点数变量。
之后,处理器可以根据各参数的数值范围,对积分计算涉及的各参数进行定点数标定。在一些实施例中,可以定义经过定点数标定后xk的标定值为Qxk,Δh的标定值为Qdh。由此可以得出:dh=int(dt*2^N);dH=int(dh*2^Qdh);Xk=int(xk*2^Qxk)。
由于放大后的积分步长Δh数值范围在0.5~1之间,直接将积分步长Δh取值为整型的积分步长dH的操作不会对积分步长Δh造成明显的误差。
如图1所示,本发明提供的上述基于定点数变量的积分计算方法,还可以包括步骤:
104:对前一时刻的累加值yk和当前时刻的输入值xk及积分步长dH的乘积xk×dH求和,以计算当前时刻的积分计算结果。
在本发明的一些实施例中,在确定积分计算的积分步长dH之后,处理器可以根据以下计算公式来进行基于定点数变量的积分计算,以获取当前时刻的累加值Yk+1:
式中:Δt是单步计算的时间周期;Δh是单步计算的积分步长;N是将时间周期Δt变换为积分步长Δh的放大系数。Yk+1、Yk、Xk及ΔH均为16位的定点数。Qyk、Qxk、Qdh、N均为定点数标定值,可以根据实际需要进行标定值调整。
在一些实施例中,在计算获得当前时刻的累加值Yk+1后,处理器可以按照以下公式,对累加值Yk+1进行反向标定(即乘以2-Qyk)并乘以2-N,从而根据获得的当前时刻的累加值Yk+1输出的浮点数的当前时刻的积分计算结果:
yk+1=Yk+1(Qyk)×2-Qyk×2-N 式(8)
本领域的技术人员可以理解,虽然本实施例连续地描述了上述101~104的步骤,但这并不意味着在进行积分计算时,需要在现场对时间周期Δt进行方法变换以确定积分步长dH。
在一些优选的实施例中,处理器可以根据预先设定的积分计算的精度需求,预先执行确定时间周期Δt的步骤、确定放大系数N的步骤,以及确定积分步长dH的步骤,从而将积分步长dH作为积分计算的参数进行提前计算。响应于收到的输入值Xk,处理器可以直接利用提前计算积分步长dH来执行计算当前时刻的积分计算结果的步骤,从而进一步提升积分计算的效率。
综上所述,通过采用本发明提供的上述基于定点数变量的积分计算方法,即使仅配置16位整型数变量的处理器也可以满足时间周期Δt=10-8s的计算需求,并大幅改善积分计算的计算精度。因此,本发明能够有效地提高处理器的计算精度,并节省计算所需要的硬件资源。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
根据本发明的另一方面,本文还提供了一种基于定点数变量的积分计算装置。该积分计算装置可以执行该基于定点数变量的积分计算方法,从而提高计算精度并节省计算所需要的硬件资源。
请参考图2,图2示出了根据本发明的另一方面提供的基于定点数变量的积分计算装置的结构示意图。
如图2所示,本发明提供的上述基于定点数变量的积分计算装置20可以包括存储器21及处理器22。处理器22可以耦接于存储器21,并配置用于实施上述任意一个实施例所提供基于定点数变量的积分计算方法。
根据本发明的另一方面,本文还提供了一种计算机可读存储介质。
本发明提供的上述计算机可读存储介质,其上存储有计算机指令。该计算机指令被处理器22执行时,可以实施上述任意一个实施例所提供的积分计算方法,从而提高计算精度并节省计算所需要的硬件资源。在一些实施例中,该计算机可读存储介质可以包括上述积分计算装置20的存储器21。
本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (12)
1.一种基于定点数变量的积分计算方法,其特征在于,包括:
根据所述积分计算的精度需求确定单步计算的时间周期;
对所述时间周期的倒数进行对数运算,以获得对数值;
对所述对数值进行向下取整运算,以确定放大系数;
根据所述时间周期及所述放大系数进行定点数标定,以确定积分步长的定点数变量;以及
对前一时刻的累加值和当前时刻的输入值及所述积分步长的乘积求和,并对求和获得的当前时刻的累加值进行反向标定,以计算当前时刻的积分计算结果。
2.如权利要求1所述的积分计算方法,其特征在于,所述进行对数运算的步骤进一步包括:
对所述时间周期的倒数进行以2为底的对数运算,以获得以2为底的对数值。
3.如权利要求2所述的积分计算方法,其特征在于,确定所述积分步长的步骤包括:
将所述时间周期乘以,以获得所述积分步长,其中,N为所述放大系数。
4.如权利要求3所述的积分计算方法,其特征在于,所述计算当前时刻的积分计算结果的步骤包括:
将所述反向标定的结果乘以,以获得当前时刻的积分计算结果。
5. 如权利要求1所述的积分计算方法,其特征在于,进一步包括:
预先执行确定所述时间周期的步骤、确定所述放大系数的步骤及确定所述积分步长的步骤;以及
响应于所述输入值而执行计算当前时刻的积分计算结果的步骤。
6. 一种基于定点数变量的积分计算装置,其特征在于,包括:
存储器;以及
处理器,所述处理器耦接于所述存储器,并配置为:根据所述积分计算的精度需求确定单步计算的时间周期;对所述时间周期的倒数进行对数运算,以获得对数值;对所述对数值进行向下取整运算,以确定放大系数;根据所述时间周期及所述放大系数,进行定点数标定,以确定积分步长的定点数变量;以及对前一时刻的累加值和当前时刻的输入值及所述积分步长的乘积求和,并对求和获得的当前时刻的累加值进行反向标定,以计算当前时刻的积分计算结果。
7.如权利要求6所述的积分计算装置,其特征在于,所述处理器进一步配置为:
对所述时间周期的倒数进行以2为底的对数运算,以获得以2为底的对数值。
8.如权利要求7所述的积分计算装置,其特征在于,所述处理器进一步配置为:
将所述时间周期乘以以获得所述积分步长,其中, N为所述放大系数。
9.如权利要求8所述的积分计算装置,其特征在于,所述处理器还配置为:
将所述反向标定的结果乘以,以获得当前时刻的积分计算结果。
10. 如权利要求6所述的积分计算装置,其特征在于,所述处理器进一步配置为:
预先执行确定所述时间周期的步骤、确定所述放大系数的步骤及确定所述积分步长的步骤;以及
响应于所述输入值而执行计算当前时刻的积分计算结果的步骤。
11.如权利要求6所述的积分计算装置,其特征在于,所述处理器包括中央处理器、数字信号处理器和现场可编程逻辑门阵列。
12.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实施如权利要求1-5中任一项所述的积分计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010377873.XA CN111581590B (zh) | 2020-05-07 | 2020-05-07 | 一种基于定点数变量的积分计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010377873.XA CN111581590B (zh) | 2020-05-07 | 2020-05-07 | 一种基于定点数变量的积分计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581590A CN111581590A (zh) | 2020-08-25 |
CN111581590B true CN111581590B (zh) | 2023-08-29 |
Family
ID=72113366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010377873.XA Active CN111581590B (zh) | 2020-05-07 | 2020-05-07 | 一种基于定点数变量的积分计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581590B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904876A (zh) * | 2006-07-31 | 2007-01-31 | 华为技术有限公司 | 周期函数自变量变换装置、方法及应用其的通信设备 |
CN108052723A (zh) * | 2017-12-08 | 2018-05-18 | 南京工程学院 | 一种广义全范围柔性变步长积分方法及电磁暂态仿真方法 |
CN108701250A (zh) * | 2017-10-16 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 数据定点化方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3852438B2 (ja) * | 2003-11-27 | 2006-11-29 | セイコーエプソン株式会社 | 誤差関数演算装置及び誤差関数演算方法 |
US8694573B2 (en) * | 2009-10-26 | 2014-04-08 | Jadavpur University | Method and system for determining a quotient value |
-
2020
- 2020-05-07 CN CN202010377873.XA patent/CN111581590B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904876A (zh) * | 2006-07-31 | 2007-01-31 | 华为技术有限公司 | 周期函数自变量变换装置、方法及应用其的通信设备 |
CN108701250A (zh) * | 2017-10-16 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 数据定点化方法和装置 |
CN108052723A (zh) * | 2017-12-08 | 2018-05-18 | 南京工程学院 | 一种广义全范围柔性变步长积分方法及电磁暂态仿真方法 |
Non-Patent Citations (1)
Title |
---|
徐强 ; 包伯成 ; 胡文 ; 杨晓云 ; .数字实现混沌系统的建模、仿真与实验.计算机工程与设计.2010,第31卷(第15期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111581590A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3460726B1 (en) | Hardware implementation of a deep neural network with variable output data format | |
CN103026619B (zh) | 具有以几何比变化的电阻的可变电阻器及其控制方法 | |
US20160313976A1 (en) | High performance division and root computation unit | |
TW202109319A (zh) | 曲線函數裝置及其操作方法 | |
CN116466910A (zh) | 一种基于浮点数的查表方法、装置、电子设备及存储介质 | |
CN114816331A (zh) | 具有时钟选通的用于执行矩阵乘法的硬件单元 | |
Hale et al. | A fast FFT-based discrete Legendre transform | |
De Caro et al. | Accurate fixed-point logarithmic converter | |
CN109716332A (zh) | 分段多项式评估指令 | |
CN111581590B (zh) | 一种基于定点数变量的积分计算方法及装置 | |
US20130262541A1 (en) | Method and circuitry for square root determination | |
CN105302520B (zh) | 一种倒数运算的求解方法及系统 | |
CN116594589B (zh) | 浮点数乘法计算的方法、装置和算术逻辑单元 | |
US10949498B1 (en) | Softmax circuit | |
Javadi et al. | Efficient utilization of imprecise blocks for hardware implementation of a Gaussian filter | |
CN116166217A (zh) | 执行浮点操作的系统和方法 | |
CN102789376B (zh) | 浮点数加法电路及其实现方法 | |
US9612800B2 (en) | Implementing a square root operation in a computer system | |
Harsha et al. | A low error, hardware efficient logarithmic multiplier | |
CN1936830A (zh) | 小数取幂的数字实现 | |
Hass | Synthesizing optimal fixed-point arithmetic for embedded signal processing | |
Geng et al. | QPA: A Quantization-Aware Piecewise Polynomial Approximation Methodology for Hardware-Efficient Implementations | |
US20090094306A1 (en) | Cordic rotation angle calculation | |
US20230409287A1 (en) | Accumulator hardware | |
US10037191B2 (en) | Performing a comparison computation in a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |