一种幂函数计算装置及幂函数计算方法

文档序号:1270564 发布日期:2020-08-25 浏览:15次 >En<

阅读说明:本技术 一种幂函数计算装置及幂函数计算方法 (Power function calculation device and power function calculation method ) 是由 侯亮 江宏武 于振华 于 2020-04-10 设计创作,主要内容包括:本发明公开了一种幂函数计算装置及幂函数计算方法,其中,装置包括:输入电路,用于接收第一输入信息;存储电路,用于存储指定幂函数查找表;第一判断电路,连接输入电路,用于判断第一输入信息是否处于预设区间内;移位电路,连接第一判断电路,用于在第一输入信息未处于预设区间内时,利用第一移位值对第一输入信息进行移位得到第二信息,第二信息在预设区间内;运算电路,连接移位电路及存储电路,用于使用处于预设区间内的第一输入信息或第二信息在指定幂函数查找表中进行查找得到查表结果,并利用查表结果及幂函数的指数进行第一计算获取第一输入信息的幂函数值。用以在数字电路中实现特殊幂函数的计算,并且输出结果精度高。(The invention discloses a power function calculation device and a power function calculation method, wherein the device comprises: an input circuit for receiving first input information; a storage circuit for storing a specified power function lookup table; the first judgment circuit is connected with the input circuit and used for judging whether the first input information is in a preset interval or not; the shifting circuit is connected with the first judging circuit and used for shifting the first input information by utilizing the first shifting value to obtain second information when the first input information is not in the preset interval, and the second information is in the preset interval; and the operation circuit is connected with the shift circuit and the storage circuit and used for searching in the specified power function lookup table by using the first input information or the second information in the preset interval to obtain a lookup table result, and performing first calculation by using the lookup table result and the exponent of the power function to obtain the power function value of the first input information. The method is used for realizing the calculation of the special power function in the digital circuit, and the output result has high precision.)

一种幂函数计算装置及幂函数计算方法

技术领域

本发明涉及数字电路技术领域,具体涉及一种幂函数计算装置及幂函数计算方法。

背景技术

随着科技的进步,无论云计算、大数据还是人工智能,都将成为未来市场的主流,推动着人类的进步。这些领域在发展的同时会涉及到大量数据的处理,数据处理性能的优劣直接关系到它们的发展,而能效比和吞吐率作为数据处理性能的关键部分,尤为重要。基于专用集成电路(Application Specific Integrated Circuit,ASIC)和现场可编程门阵列(Field-Programmable Gate Array,FPGA)的异构系统因具有较高的能效比和吞吐率而成为业界研究焦点之一。

在实际业务应用时,各种算子的硬件实现存在一定程度上的困难,特别是特殊幂函数在数字电路中的实现。一般实现幂函数的方案有平方根倒数速算法(Fast InverseSquare Root)。这种方法因其浮点特性及消耗较多乘法器,并且局限于幂函数中的n=2的情形,并不能在数字电路中实现当n不等于2的特殊幂函数的计算。

发明内容

本发明提供一种幂函数计算装置及幂函数计算方法,用以在数字电路中实现特殊幂函数的计算,并且输出结果精度高。

为解决上述技术问题,本发明提供的第一个技术方案为:提供一种幂函数计算装置,包括:输入电路,用于接收第一输入信息;存储电路,用于存储指定幂函数查找表;第一判断电路,连接所述输入电路,用于判断所述第一输入信息是否处于预设区间内;移位电路,连接所述第一判断电路,用于在所述第一输入信息未处于所述预设区间内时,利用第一移位值对所述第一输入信息进行移位得到第二信息,所述第二信息在所述预设区间内;运算电路,连接所述移位电路及所述存储电路,用于使用处于所述预设区间内的所述第一输入信息或所述第二信息在指定幂函数查找表中进行查找得到查表结果,并利用所述查表结果及所述幂函数的指数进行第一计算获取所述第一输入信息的幂函数值。

其中,所述装置还包括:第二判断电路及数值转换电路;其中,所述第二判断电路连接所述输入电路及所述第一判断电路,用于判断所述第一输入信息是否为定点数值;数值转换电路,连接所述第二判断电路及所述第一判断电路,用于在所述第一输入信息不为定点数值时,利用第一定标值将所述第一输入信息转换为定点数值。

其中,所述存储电路用于存储经过第一压缩的第一查找表;或所述存储电路用于存储经过第二次压缩的第二查找表;其中,所述第二次压缩基于所述第一次压缩进行。

其中,所述存储电路用于存储预设区间内的多个组中的每组中的指定位置的采样点的指定函数值,以及其他所述采样点的指定幂函数值与所述指定位置的采样点的指定幂函数值的差值;其中,所述差值去除了与同组中其他差值共同的基数部分。

其中,所述存储电路用于存储每组中指定位置的所述采样点的原始数值,以及至少部分其他所述采样点的修正值,其中,所述修正值为相邻所述采样点的幂函数值得差值与颗粒度得差值,其中,所述颗粒度为所述组中所有采样点的平均差值的取整结果。

其中,所述幂函数的指数为大于等于-1的负数。

其中,所述运算电路包括乘法器及加法器,所述运算电路通过所述乘法器及所述加法器利用所述查表结果及所述幂函数的指数进行第一计算获取所述第一输入信息的幂函数值。

为解决上述技术问题,本发明提供的第二个技术方案为:提供一种幂函数计算方法,包括:接收第一输入信息;判断所述第一输入信息是否处于预设区间内;若是,使用所述第一输入信息在所述指定幂函数查找表中进行查找得到查表结果,若否,利用第一移位值对所述第一输入信息进行移位得到第二信息,所述第二信息在所述预设区间内,再使用所述第二信息在指定幂函数查找表中进行查找得到查表结果;利用所述查表结果及所述幂函数的指数进行第一计算获取所述第一输入信息的幂函数值。

其中,所述第一计算包括移位运算以及加法运算和/或乘法运算。

其中,所述指定幂函数的指数为-0.5。

其中,所述判断所述第一输入信息是否处于预设区间内的步骤之前还包括:判断所述第一输入信息是否为定点数值;若否,利用第一定标值将所述第一输入信息转换为定点数值;若是,则执行判断所述第一输入信息是否处于预设区间内的步骤。

其中,所述利用所述查表结果及所述幂函数的指数进行第一计算获取所述第一输入信息的幂函数值的步骤包括:利用所述查找表结果、所述查找表结果对应的定标值、所述第一定标值、所述第一输入信息的幂函数值对应的定标值、所述第一移位值及所述幂函数的指数计算得出所述第一输入信息的幂函数值。

其中,所述幂函数的指数为大于等于-1的负数。

其中,所述使用所述第二信息在指定幂函数查找表中进行查找,和/或使用所述第一输入信息在指定幂函数查找表中进行查找之前还包括:建立所述指定幂函数查找表。

其中,所述建立所述指定幂函数查找表之后进一步包括:对所述指定幂函数查找表进行第一次压缩以得到第一查找表;对所述第一查找表进行第二次压缩,以得到第二查找表。

其中,所述对所述指定幂函数查找表进行第一次压缩以得到第一查找表包括:所述指定幂函数查找表包括所述预设区间内的多个采样点及其指定幂函数值,所述采样点被划分为多个组,每组中指定位置的采样点的指定幂函数值以原始数值的方式存储,其他所述采样点的指定幂函数值与所述指定位置的采样点的指定幂函数值的差值的方式存储,并且所述差值去除了与同组中其他差值共同的基数部分。

其中,对所述第一查找表进行第二次压缩,以得到第二查找表具体包括:每组中指定位置的所述采样点的指定幂函数值以原始数值的方式存储,至少部分其他所述采样点以修正值的方式进行存储,其中,所述修正值为相邻所述采样点的指定幂函数值的差值与颗粒度的差值,其中,所述颗粒度为所述组中所有采样点的平均差值的取整结果。

本发明的有益效果是:区别于现有技术的情况,本发明通过将不处于预设区间中的第一输入信息移位至预设区间,以得到第二信息,然后利用处于预设区间内的第一输入信息或第二信息在指定幂函数查找表中进行查找得到查找结果,并利用查表结果及幂函数的指数进行第一运算获取第一输入信息的幂函数值。以在数字电路中实现特殊幂函数的计算,并且输出结果精度高。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:

图1是本发明幂函数计算装置的第一实施例的结构示意图;

图2是本发明幂函数计算装置的第二实施例的结构示意图;

图3是本发明幂函数计算方法的第一实施例的流程示意图;

图4是本发明幂函数计算方法的第二实施例的流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面结合附图和实施例对本发明进行详细的说明。

请参见图1,为本发明幂函数计算装置的第一实施例的结构示意图。包括:输入电路11、存储电路12、第一判断电路13、移位电路14及运算电路15。其中,输入电路11用于接收第一输入信息;存储电路12用于存储指定幂函数查找表;第一判断电路13连接输入电路11,用于判断第一输入信息是否处于预设区间内;移位电路14连接第一判断电路13,用于在第一输入信息未处于预设区间内时,利用第一移位值对第一输入信息进行移位得到第二信息,第二信息在预设区间内;运算电路15连接移位电路14及存储电路12,用于使用处于预设区间内的第一输入信息或第二信息在指定幂函数查找表中进行查找得到查表结果,并利用所述查表结果及所述幂函数的指数进行第一计算获取第一输入信息的幂函数值。

具体的,输入电路11获取到第一输入信息后,通过第一判断电路13判断第一输入信息是否处于预设区间内,若第一输入信息不处于预设区间内,则通过移位电路14利用第一移位值将第一输入信息移位至预设区间内,以得到第二信息。具体的,可以利用如下公式(1)对第一输入信息进行移位:

xc=x×2s (1)

其中,x为第一输入信息,s为第一移位值,xc为处于预设区间内的第二信息。

例如,在一实施例中,若第一输入信息x为12,预设区间为[0.5,1),若要利用上述公式(1)将第一输入信息x=12移位至预设区间[0.5,1)中,可以设置第一移位值为-4,即:xc=12×2-4,计算可得xc=0.75,xc=0.75处于预设区间[0.5,1)内。第一移位值为负数,可知在对第一输入信息进行移位时,将第一输入信息右移以缩小。例如,在另一实施例中,若第一输入信息x为0.1,预设区间为[0.5,1),若要利用上述公式(1)将第一输入信息x=0.1移位至预设区间[0.5,1)中,可以设置第一移位值为3,即:xc=0.1×23,计算可得xc=0.8,xc=0.8处于预设区间[0.5,1)内。第一移位值为正数,可知在对第一输入信息进行移位时,将第一输入信息左移以放大。

将第一输入信息移位至预设区间内后,运算电路15利用位于预设区间内的第一输入信息,或位于预设区间内的第二信息在存储电路12中存储的指定幂函数查找表中进行查找得到查表结果,并利用查表结果及幂函数的指数进行第一计算获取第一输入信息的幂函数值。具体的,由于幂函数在x的负半轴有效下,其以原点对称,因此,只要在x≥0区间内对其构建查找表即可。进一步地,为简化操作,可以通过移位等方式对输入信息进行移位,将其缩小或放大至区间内即可,因此,在构建查找表时只需要在xc∈[0.5,1)区间构建,以此还能节约存储电路12的存储空间。

具体的,存储电路12存储指定幂函数查找表时,可以存储经过第一压缩的第一查找表,即仅存储预设区间内的多个组中的每组中的指定位置的采样点的指定函数值,以及其他采样点的指定幂函数值与指定位置的采样点的指定幂函数值的差值;其中,差值去除了与同组中其他差值共同的基数部分。

例如,在预设区间内均匀采集W个采样点,将W个采样点分为N组,包括G1、G2、G3……GN组,每一组分别包括M个采样点:D1、D2、D3……DM。存储电路12存储每组中第一个采样点D1的指定幂函数值B1,后续采样点D2、D3……DM分别以与第一个采样点D1的指定幂函数值B1的差值进行存储,例如,第二个采样点D2的指定幂函数值为B2,第三个采样点D3的指定幂函数值为B3,第M个采样点DM的指定幂函数值为BM。此时,第二个采样点D2的指定幂函数值B2与第一个采样点D1的指定幂函数值B1的差值为Δ1,第三个采样点D3的指定幂函数值B3与第一个采样点D1的指定幂函数值B1的差值为Δ2,第四个采样点D4的指定幂函数值B4与第一个采样点D1的指定幂函数值B1的差值为Δ3,第M个采样点DM的指定幂函数值BM与第一个采样点D1的指定幂函数值B1的差值为ΔM-1。在一实施例中,存储电路12可以只存储每组中第一个采样点D1的指定幂函数值B1以及其余采样点与第一个采样点的差值,例如Δ1、Δ2、Δ3……ΔM-1。进一步地,为节省存储电路12的存储空间,存储电路12还可以只存储第一个采样点每组中第一个采样点D1的指定幂函数值B1以及其余采样点与第一个采样点的差值,例如Δ1、Δ2、Δ3……ΔM-1,其中,Δ1、Δ2、Δ3……ΔM-1去除了其共同的基数部分,例如,若Δ1、Δ2、Δ3……ΔM-1分别为2、4、6……2(M-1),则存储电路12存储1、2、3……M-1。

存储电路12通过上述方式进行存储,可以有效的减少存储空间。例如,若每组内采样点数M为8,则对每组内的采样点的指定幂函数值都进行存储,则存储指定幂函数查找表共占用4096/8=512个分组,按照上述压缩方案对指定幂函数查找表进行存储时,每组内使用16bit存储B1,用8bit存储Δ1、Δ2、Δ3……ΔM-1去除基数部分剩余的数,则每个分组占用72bit(7×8bit+16bit)存储空间,整个指定幂函数查找表压缩后占用存储空间为36Kbit(512×72bit)。

在另一实施例中,存储电路12还可以用于存储经过第二次压缩的第二查找表,即存储每组中指定位置的采样点的原始数值,以及至少部分其他采样点的修正值,其中,修正值为相邻采样点的幂函数值得差值与颗粒度的差值,其中,颗粒度为组中所有采样点的平均差值的取整结果。

具体的,假设每组中共8个采样点,且8个采样点对应的指定幂函数值为67,78,89,101,112,123,135,146,存储电路12存储每组中最小的指定幂函数值,记为Bn,例如存储电路12存储Bn=67。利用每组中的8个数据的最大值与最小值的差值除以(M-1),即(8-1)后的商取整,称为颗粒度,记为Gr,如上述列举的8个采样点对应的8个指定幂函数值,其颗粒度Gr=(146-67)÷7=11,即颗粒度为11。计算每组指定幂函数值中除最小值外的其余数值与相邻较小值的差值,并计算此差值与颗粒度Gr的差值,以得到修正值Gv,例如,Cv={[(78-67)-11],[(89-78)-11],[(101-89)-11],[(112-101)-11],[(123-112)-11],[(135-123)-11],[(146-135)-11]}={0,0,1,0,0,1,0}。

在进行查找表查找时,可以通过每组中最小的指定幂函数值Bn,颗粒度Gr,修正值Gv查找到查找结果,例如,若要查找第七个采样点的查找结果,由于指定幂函数在预设区间内为单调递减函数,则利用最小的指定幂函数值Bn加上6个颗粒度加上修正值的和,即B=67+6×11+2=135。

利用上述压缩方案,存储电路12用16bit存储每组采样点中最小值Bn,用5bit存储颗粒度Gr,用7bit存储最小值外其余7个数值对应的修正值Cv。这样,整个查找表再压缩后占用的存储空间为18Kbit(512×(16+5+7)bit),以此进一步压缩指定幂函数查找表的占用空间,进一步节约存储电路12的存储空间。在一实施例中,第二次压缩可以基于第一次压缩进行,以进一步减少指定幂函数查找表占用的存储空间。

在一实施例中,通过本发明提供的幂函数计算装置,能够计算指数大于等于-1的负数的幂函数。且本实施例提供的运算电路15包括乘法器及加法器,运算电路15通过乘法器及加法器利用查表结果及幂函数的指数进行第一计算获取第一输入信息的幂函数值。

本实施例体提供的幂函数计算装置,其在计算得到第一输入信息对应的幂函数值过程中,将移位操作与查找表结合,且在最终得到计算结果的过程中,仅使用一个乘法器及一个加法器,其节约的计算资源。

请参见图2,为本发明提供的幂函数计算装置的第二实施例的结构示意图。与图1所示的第一实施例相比,区别在于,本实施例还包括:第二判断电路16及数值转换电路17。其中,第二判断电路16连接输入电路11及第一判断电路13,用于判断第一输入信息是否为定点数值;数值转换电路17连接第二判断电路16及第一判断电路13,用于在第一输入信息不为定点数值时,利用第一定标值将第一输入信息转换为定点数值。

具体的,由于数字电路不能识别浮点数值,因此若第二判断电路16判断到第一输入信息为浮点数值时,通过数值转换电路17利用第一定标值将第一输入信息由浮点数值转换为定点数值。具体的,可以利用如下公式(2)将第一输入信息由浮点数值转换为定点数值:

F=f×2Q (2)

其中,F是定点数值,f是浮点数值,Q是第一定标值。

本实施例提供的幂函数计算装置,其在计算得到第一输入信息对应的幂函数值过程中,能够通过数值转换电路17将为浮点数值的第一输入信息转换为定点数值,以使得其能够适用于数字电路的运算。并且该幂函数计算装置将移位操作与查找表结合,且在最终得到计算结果的过程中,仅使用一个乘法器及一个加法器,其节约的计算资源。

请参见图3,为本发明幂函数计算方法的第一实施例的流程示意图。

包括:

步骤S31:接收第一输入信息。

具体的,可通过输入电路接收第一输入信息,将第一输入信息记为x。

步骤S32:判断第一输入信息是否处于预设区间内。

具体的,可通过第一判断电路判断第一输入信息x是否处于预设区间内。在一具体实施例中,预设区间为[0.5,1)。

步骤S33:若第一输入信息处于预设区间内,使用第一输入信息在指定幂函数查找表中进行查找得到查表结果。

具体的,若第一输入信息x处于预设区间内,例如x∈[0.5,1),则直接利用第一输入信息x在指定幂函数查找表中进行查找,以得到查表结果。具体的,在一实施例中,指定幂函数可以为:其中,n为大于等于1的有理数,在一具体实施例中,指定幂函数的指数可以为-0.5,即n可以为2。

步骤S34:若第一输入信息未处于预设区间内,利用第一移位值对所述第一输入信息进行移位得到第二信息,所述第二信息在所述预设区间内。

具体的,在一实施例中可以利用如下公式(1)通过移位电路对第一输入信息进行移位:

xc=x×2s (1)

其中,x为第一输入信息,s为第一移位值,xc为处于预设区间内的第二信息。

例如,在一实施例中,若第一输入信息x为12,预设区间为[0.5,1),若要利用上述公式(1)将第一输入信息x=12移位至预设区间[0.5,1)中,可以设置第一移位值为-4,即:xc=12×2-4,计算可得xc=0.75,xc=0.75处于预设区间[0.5,1)内。第一移位值为负数,可知在对第一输入信息进行移位时,将第一输入信息右移以缩小。例如,在另一实施例中,若第一输入信息x为0.1,预设区间为[0.5,1),若要利用上述公式(1)将第一输入信息x=0.1移位至预设区间[0.5,1)中,可以设置第一移位值为3,即:xc=0.1×23,计算可得xc=0.8,xc=0.8处于预设区间[0.5,1)内。第一移位值为正数,可知在对第一输入信息进行移位时,将第一输入信息左移以放大。

步骤S35:使用第二信息在指定幂函数查找表中进行查找,得到查表结果。

具体的,利用处于预设区间内的第二信息xc在指定幂函数查找表中进行查找,得到查表结果。指定幂函数可以为:其中,n为大于等于1的有理数,在一具体实施例中,指定幂函数的指数可以为-0.5,即n可以为2。

具体的,在一实施例中,在利用处于预设区间内的第二信息或者处于预设区间内的第一输入信息在指定幂函数查找表中进行查找以得到查表结果之前,还要建立指定幂函数的查找表。在一实施例中,指定幂函数的指数可以为-0.5,即指定幂函数可以为在建立查找表时,以函数进行建立。需要说明的是,在建立指定幂函数的查找表时,为了便于数字电路识别,对应的值均为定点数值,若其为浮点数值,则通过例如公式(2)的方式将其转换为定点数值。

在一实施例中,在建立好查找表后,为了减少存储电路的存储空间,可以对指定幂函数的查找表进行第一次压缩,以形成第一查找表。具体的,指定幂函数查找表包括预设区间内的多个采样点及其指定幂函数值,采样点被划分为多个组,每组中指定位置的采样点的指定幂函数值以原始数值的方式存储,其他采样点的指定幂函数值与指定位置的采样点的指定幂函数值的差值的方式存储,并且差值去除了与同组中其他差值共同的基数部分。具体的,例如,在预设区间内均匀采集W个采样点,将W个采样点分为N组,包括G1、G2、G3……GN组,每一组分别包括M个采样点:D1、D2、D3……DM。存储电路12存储每组中第一个采样点D1的指定幂函数值B1,后续采样点D2、D3……DM分别以与第一个采样点D1的指定幂函数值B1的差值进行存储,例如,第二个采样点D2的指定幂函数值为B2,第三个采样点D3的指定幂函数值为B3,第M个采样点DM的指定幂函数值为BM。此时,第二个采样点D2的指定幂函数值B2与第一个采样点D1的指定幂函数值B1的差值为Δ1,第三个采样点D3的指定幂函数值B3与第一个采样点D1的指定幂函数值B1的差值为Δ2,第四个采样点D4的指定幂函数值B4与第一个采样点D1的指定幂函数值B1的差值为Δ3,第M个采样点DM的指定幂函数值BM与第一个采样点D1的指定幂函数值B1的差值为ΔM-1。在一实施例中,存储电路可以只存储每组中第一个采样点D1的指定幂函数值B1以及其余采样点与第一个采样点的差值,例如Δ1、Δ2、Δ3……ΔM-1。进一步地,为节省存储电路的存储空间,存储电路还可以只存储第一个采样点每组中第一个采样点D1的指定幂函数值B1以及其余采样点与第一个采样点的差值,例如Δ1、Δ2、Δ3……ΔM-1,其中,Δ1、Δ2、Δ3……ΔM-1去除了其共同的基数部分,例如,若Δ1、Δ2、Δ3……ΔM-1分别为2、4、6……2(M-1),则存储电路存储1、2、3……M-1。

存储电路通过上述方式进行存储,可以有效的减少存储空间。例如,若每组内采样点数M为8,则对每组内的采样点的指定幂函数值都进行存储,则存储指定幂函数查找表共占用4096/8=512个分组,按照上述压缩方案对指定幂函数查找表进行存储时,每组内使用16bit存储B1,用8bit存储Δ1、Δ2、Δ3……ΔM-1去除基数部分剩余的数,则每个分组占用72bit(7×8bit+16bit)存储空间,整个指定幂函数查找表压缩后占用存储空间为36Kbit(512×72bit)。

在另一实施例中,为了进一步压缩指定幂函数查找表的所占空间,可以对第一查找表进行第二次压缩,以得到第二查找表。具体的,每组中指定位置的采样点的指定幂函数值以原始数值的方式存储,至少部分其他采样点以修正值的方式进行存储,其中,所述修正值为相邻采样点的指定幂函数值的差值与颗粒度的差值,其中,颗粒度为所述组中所有采样点的平均差值的取整结果。例如,具体的,假设每组中共8个采样点,且8个采样点对应的指定幂函数值为67,78,89,101,112,123,135,146,存储电路存储每组中最小的指定幂函数值,记为Bn,例如存储电路存储Bn=67。利用每组中的8个数据的最大值与最小值的差值除以(M-1),即(8-1)后的商取整,称为颗粒度,记为Gr,如上述列举的8个采样点对应的8个指定幂函数值,其颗粒度Gr=(146-67)÷7=11,即颗粒度为11。计算每组指定幂函数值中除最小值外的其余数值与相邻较小值的差值,并计算此差值与颗粒度Gr的差值,以得到修正值Gc,例如,Cv={[(78-67)-11],[(89-78)-11],[(101-89)-11],[(112-101)-11],[(123-112)-11],[(135-123)-11],[(146-135)-11]}={0,0,1,0,0,1,0}。

在进行查找表查找时,可以通过每组中最小的指定幂函数值Bn,颗粒度Gr,修正值Gv查找到查找结果,例如,若要查找第七个采样点的查找结果,由于指定幂函数在预设区间内为单调递减函数,则利用最小的指定幂函数值Bn加上6个颗粒度加上修正值的和,即B=67+6×11+2=135。

利用上述压缩方案,存储电路用16bit存储每组采样点中最小值Bn,用5bit存储颗粒度Gr,用7bit存储最小值外其余7个数值对应的修正值Cv。这样,整个指定幂函数查找表再压缩后占用的存储空间为18Kbit(512×(16+5+7)bit),以此进一步压缩指定幂函数查找表的占用空间,进一步节约存储电路的存储空间。

步骤S36:利用查表结果及幂函数的指数进行第一计算获取第一输入信息的幂函数值。

在得到查表结果之后,运算电路通过查表结果及需要计算的幂函数的指数进行第一计算获取到第一输入信息对应的幂函数值。具体的,第一计算包括移位运算以及加法运算和/或乘法运算。

具体的,可以利用查找表结果、查找表结果对应的定标值、第一定标值Q、第一输入信息x的幂函数值对应的定标值、第一移位值s及幂函数的指数计算得出第一输入信息的幂函数值。

具体的,可利用如下公式(3)利用查找表结果、查找表结果对应的定标值、第一定标值Q、第一输入信息x的幂函数值对应的定标值、第一移位值s及幂函数的指数计算得出第一输入信息的幂函数值:

其中,ytable为所述查找表结果,Qt为所述查找表结果对应的定标值,Qi为所述第一定标值,Qo为所述第一输入信息的幂函数值y对应的定标值,为对四舍五入取整的结果,s为第一移位值,n为大于等于1的有理数,为幂函数的指数。

其中,当mod(Qi+s,n)=0时,则:

其中,当mod(Qi+s,n)=1时,则:

由上式可知,本申请将幂函数的计算通过查找表及移位操作,并且仅使用了一个硬件乘法器及一个硬件加法器,使其变成了数字电路中容易实现的计算。另外,本身请提供给的幂函数计算方法,其能够解决现有的只限于n=2的幂函数计算情况,且解决了现有的n=2的幂函数在数字电路中无法应用的问题。

在一具体实施例中,所述幂函数的指数为大于等于-1的负数。

本实施例所示的幂函数计算方法,通过将其在计算得到第一输入信息对应的幂函数值过程中,将移位操作与查找表结合,且在最终得到计算结果的过程中,仅使用一个乘法器及一个加法器,其节约的计算资源。

请参见图4,为本发明幂函数计算方法的第二实施例的流程示意图。本实施例中的步骤S41、步骤S44、步骤S45、步骤S46、步骤S47及步骤S48与图3所示的第一实施例中的步骤S31、步骤S32、步骤S33、步骤S34、步骤S35及步骤S36相同,区别在于,本实施例在步骤S41之后还包括:

步骤S42:判断第一输入信息是否为定点数值。

具体的,由于数字电路无法识别浮点数值,因此还需要设置第二判断电路,用以判断到第一输入信息是否为定点数值。

步骤S43:若第一输入信息不是定点数值,则利用第一定标值将所述第一输入信息转换为定点数值。

具体的,若第一输入信息是定点数值,则执行判断所述第一输入信息是否处于预设区间内的步骤,即步骤S44。若第一输入信息不是定点数值,则将其转化为定点数值。具体的,通过数值转换电路利用第一定标值将第一输入信息由浮点数值转换为定点数值。具体的,可以利用如下公式(2)将第一输入信息由浮点数值转换为定点数值:

F=f×2Q (2)

其中,F是定点数值,f是浮点数值,Q是第一定标值。

本实施例提供的幂函数计算方法,其在计算得到第一输入信息对应的幂函数值过程中,能够通过将为浮点数值的第一输入信息转换为定点数值,以使得其能够适用于数字电路的运算。并且该幂函数计算装置将移位操作与查找表结合,且在最终得到计算结果的过程中,仅使用一个乘法器及一个加法器,其节约的计算资源。

以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数字电路结构

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类