CN101510148B - 一种指数运算方法和装置 - Google Patents

一种指数运算方法和装置 Download PDF

Info

Publication number
CN101510148B
CN101510148B CN200910081340.0A CN200910081340A CN101510148B CN 101510148 B CN101510148 B CN 101510148B CN 200910081340 A CN200910081340 A CN 200910081340A CN 101510148 B CN101510148 B CN 101510148B
Authority
CN
China
Prior art keywords
displacement
index
module
data
current
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.)
Expired - Fee Related
Application number
CN200910081340.0A
Other languages
English (en)
Other versions
CN101510148A (zh
Inventor
尹宝林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongxing Technology Co ltd
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN200910081340.0A priority Critical patent/CN101510148B/zh
Publication of CN101510148A publication Critical patent/CN101510148A/zh
Application granted granted Critical
Publication of CN101510148B publication Critical patent/CN101510148B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种指数运算方法和装置,所述方法包括:存储若干步进值和对应的运算操作参数,根据输入指数的正负对输入指数进行预处理,指数运算开始时,设置移位加数据的初始值是1,首先把预处理指数和存储的若干步进值进行比较从而选择指数的步进值和对应的指数运算参数,把预处理指数和选择的步进值相减作为当前指数,把当前指数和存储的若干步进值进行比较再次选择指数的步进值和对应的指数运算参数,如此不重复地把当前指数与存储的步进值进行比较,直到当前指数小于存储的所有步进值,每一步都根据得到的指数运算参数对移位加数据进行移位或者移位和加法运算,最后根据输入指数的正负对把移位加数据进行处理后输出指数运算结果。

Description

一种指数运算方法和装置
技术领域
本发明涉及指数运算,尤其涉及一种指数运算的方法和装置。
背景技术
传统的指数运算采用经典的CORDIC(Coordinate Rotational DigitalComputer,坐标旋转计算器)算法。CORDIC算法是Volder于1959年在美国航空控制系统的设计中提出来的,其基本思想是用一系列与运算基数相关的角度的不断偏摆,从而逼近所需旋转的角度。CORDIC算法是一种用于计算运算函数的循环迭代算法,将复杂的算术运算转化为简单的加法和移位操作,然后逐次逼近结果。CORDIC算法主要用于三角函数、双曲函数、指数、对数的计算。对于指数运算:eθ=sinhθ+coshθ,采用CORDIC算法首先计算sinhθ和coshθ的值,最终得到指数的计算结果。
但是,CORDIC算法对输入的指数值很敏感,只有固定了指数的取值范围后才能正确计算,否则会发生运算振荡,使计算不收敛,从而不能获得正确的计算结果。因此,采用CORDIC算法进行指数运算时,需要对输入的指数值进行移位处理,使指数值在合适的范围内。但是对指数的移位处理带来的后果是增加了乘法运算,在硬件实现上要求硬件乘法器,从而使设计变得更加复杂。
发明内容
有鉴于此,为了克服传统采用CORDIC算法进行指数运算中存在的问题,本发明提供了一种指数运算方法和装置。
根据本发明的第一方面,提供了一种指数运算方法,包括步骤:
1)存储若干步进值和对应的若干运算操作参数,所述若干步进值是以指数运算的底为底的2i和(1+2j)的对数值,所述2i对应的运算操作参数是移位位数i,所述(1+2j)对应的运算操作参数是移位位数j以及加标志,所述i是整数,并且所述i≥1,所述j是整数,并且所述j≤-1;
2)对输入指数的正负进行判断,输出正或负判断结果,并根据所述判断结果对所述输入指数进行预处理:当所述判断结果是正时,把所述输入指数输出作为预处理指数,否则,把所述输入指数和一个预设值相加后输出作为预处理指数,所述预设值是以指数运算的底为底的2k的对数值,所述k是整数,并且所述k>1;
3)指数运算开始时,设置移位加数据的初始值是1;把所述预处理指数和所述存储的若干步进值进行比较:若所述预处理指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述预处理指数和所述当前步进值相减的结果输出作为当前指数,并且根据所述当前步进值得到对应的当前运算操作参数,根据所述当前运算操作参数对所述移位加数据进行操作,所述操作是:若所述当前运算操作参数是移位位数i时,把所述移位加数据移i位后输出作为下一步骤的移位加数据,若所述当前运算操作参数是移位位数j以及加标志时,把所述移位加数据移j位后与所述移位加数据相加输出作为下一步骤的移位加数据;若预处理指数小于存储的所有步进值,输出所述移位加数据,转到步骤5);
4)把所述当前指数和所述存储的若干步进值进行比较:若所述当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述当前指数和所述当前步进值相减的结果作为下一重复本步骤时的当前指数,并且根据所述当前步进值得到对应的当前运算操作参数,根据所述当前运算操作参数对所述移位加数据进行操作,所述操作是:当所述当前运算操作参数是移位位数i时,把所述移位加数据移i位后作为下一重复本步骤时的移位加数据,当所述当前运算操作参数是移位位数j以及加标志时,把所述移位加数据移j位后与所述加数据相加作为下一重复本步骤时的移位加数据,重复步骤4);若所述当前指数小于存储的所有步进值,输出所述移位加数据;
5)当所述输入指数的正或负判断结果为正时,把所述移位加的数据作为指数运算结果输出,当所述输入指数的正或负判断结果为负时,对所述移位加数据移-k位后后输出指数运算结果,指数运算结束。
根据本发明的第二方面,提供了一种指数运算装置,包括:
存储模块,用于存储若干步进值和对应的若干运算操作参数,所述若干步进值是以指数运算的底为底的2i和(1+2j)的对数值,所述2i对应的运算操作参数是移位位数i,所述(1+2j)对应的运算操作参数是移位位数j以及加标志,所述i是整数,并且所述i≥1,所述j是整数,并且所述j≤-1;
正负判断和处理模块,用于对输入指数的正负进行判断,输出正或负判断结果,并根据所述判断结果对所述输入指数进行预处理:当所述判断结果是正时,把所述输入指数输出作为预处理指数,否则,把所述输入指数和一个预设值相加后输出作为预处理指数,所述预设值是以指数运算的底为底的2k的对数值,所述k是整数,并且所述k>1;
步进选择模块,与所述存储模块和正负判断和处理模块连接,用于选择指数步进值和输出相应的运算操作参数;当运算开始时,把所述预处理指数作为当前指数;把当前指数和所述存储模块中存储的若干步进值进行比较:若所述当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述当前指数和所述当前步进值相减的结果反馈作为当前指数,并且输出根据所述当前步进值从所述存储模块中得到的对应的运算操作参数;若所述当前指数小于存储的所有步进值,输出步进值选择结束信号;
移位加模块,与所述步进选择模块连接,用于进行移位或者移位和加法操作,运算开始时,设置移位加模块的初始数据是1,所述移位加模块接收所述步进选择模块输出的运算操作参数,根据所述运算操作参数进行操作:当所述当前运算操作参数是移位位数i时,把所述移位加模块中的数据移i位后放在所述移位加模块中,当所述当前运算操作参数是移位位数j以及加标志时,把所述移位加模块中的数据与所述移位加模块中的数据移j位后相加的结果放在所述移位加模块中;当移位加模块接收到所述步进选择模块输出的步进值选择结束信号时,输出移位加模块中的数据;
结果处理模块,接收所述正负判断和处理模块输出的判断结果和所述移位加模块输出的数据,当所述判断结果为正时,把所述移位加模块输出的数据输出作为指数运算结果,当所述判断结果为负时,把所述移位加模块输出的数据移-k位后输出作为指数运算结果。
本发明把指数运算中的指数分解为若干指数步进值相加,把指数运算的相乘转换为指数的相加,不断地选择指数步进值和不断地缩小指数,最终使指数逼近于零,零所对应的指数运算为1,而运算中所采用的指数步进值均为2的整数次幂的对数,从而将乘法运算简化为移位运算。本发明的指数运算方法和指数运算装置在精度和资源利用上均优于传统的CORDIC算法。
附图说明
图1是本发明一实施例的指数运算方法的流程图;
图2是本发明一实施例的指数运算装置的结构框图。
具体实施方式
本发明的思想是:把指数运算分解为若干指数运算相乘,而若干指数运算中的指数是2的整数次幂的对数值或者是2的整数次幂的对数加1后的数值,从而把指数运算的相乘转化为简单的移位操作和加法操作。
a x = a log a 2 x 1 + log a 2 x 2 + · · · + log a 2 xm + ( 1 + log a 2 - y 1 ) + ( 1 + log a 2 - y 2 ) + · · · + ( 1 + log a 2 - yn )
= a log a 2 x 1 * a log a 2 x 2 * · · · * a log a 2 xm * a ( 1 + log a 2 - y 1 ) * a ( 1 + log a 2 - y 2 ) * · · · * a ( 1 + log a 2 - yn )
= 2 x 1 * 2 x 2 * · · · * 2 xm * ( 1 + 2 - y 1 ) * ( 1 + 2 - y 2 ) * · · · * ( 1 + 2 - yn )
由上式可以看出,当2-yn足够小接近于0时,(1+2-yn)接近于1,指数运算ax简化为移位操作以及移位操作和加法运算。
下面结合附图及具体实施方式对本发明技术方案做进一步的详细说明。
图1是本发明一实施例的指数运算方法的流程图,如图1所示,该指数运算方法的流程包括步骤:
1)存储若干步进值和对应的若干运算操作参数,若干步进值是以指数运算的底为底的2i和(1+2j)的对数值,其中,2i对应的运算操作参数是移位位数i,(1+2j)对应的运算操作参数是移位位数j以及加标志,i是整数,并且i≥1,j是整数,并且j≤-1。
步进值设置为是2i和(1+2j)的对数值,目的是使分解的多个指数运算结果的相乘变成简单的移位操作和移位操作以及加法运算。
j的取值与指数运算的运算精度有关,j值越小,指数运算的运算精度越高,但是运算速度也相对更慢。
在本发明的一个实施例中,i的取值范围是1至16的整数,j的取值范围是-1至-32的整数,即存储的步进值是216、215...22、21的对数值,其对应存储的移位参数是移位位数16、15...2、1,以及存储的步进值是(1+2- 1)、(1+2-2)...(1+2-31)、(1+2-32)的对数值,其对应存储的移位参数是移位位数-1、-2...-31、-32和加标志。
当移位操作的移位位数是正数时,移位的方向是从被移位数的低位向高位移动,当移位操作的移位位数是负数时,移位的方向是从被移位数高位向低位移动。
2)对输入指数的正负进行判断,输出正或负判断结果,并根据所述判断结果对所述输入指数进行预处理:当所述判断结果是正时,把所述输入指数输出作为预处理指数,否则,把所述输入指数和一个预设值相加后输出作为预处理指数,所述预设值是以指数运算的底为底的2k的对数值,所述k是整数,并且所述k>1。
由于指数运算的指数有的是正数,有的是负数,为了采用本发明的方法,把指数运算的输入指数都变换在正数范围内进行指数运算,因此首先对输入指数的正负进行判断,如果输入指数是正数,则不进行任何操作,把输入指数作为预处理指数输出,如果输入指数是负数,则把输入指数加上一个预设值,得到预处理指数并输出。这个预设值的大小根据输入指数的范围决定,要求输入指数加上这个预设值的结果是正数。
在本发明的一个实施例中,k取值为32,即预设值是232的对数。
3)指数运算开始时,设置移位加数据的初始值是1;把预处理指数和存储的若干步进值进行比较:若预处理指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把预处理指数和当前步进值相减的结果输出作为当前指数,并且根据当前步进值得到对应的当前运算操作参数,根据当前运算操作参数对移位加数据进行操作,该操作是:若当前运算操作参数是移位位数i,把移位加数据移i位后输出作为下一步骤的移位加数据,若当前运算操作参数是移位位数j以及加标志时,把移位加数据移j位后与移位加数据相加输出作为下一步骤的移位加数据;若预处理指数小于存储的所有步进值,输出移位加数据,转到步骤5);
4)把当前指数和存储的若干步进值进行比较:若当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把当前指数和当前步进值相减的结果作为下一重复本步骤时的当前指数,并且根据当前步进值得到对应的当前运算操作参数,根据当前运算操作参数对移位加数据进行操作,该操作是:若当前运算操作参数是移位位数i,把移位加数据移i位后作为下一重复本步骤时的移位加数据,若当前运算操作参数是移位位数j以及加标志,把移位加数据移j位后与移位加数据相加作为下一重复本步骤时的移位加数据,重复步骤4);若当前指数小于存储的所有步进值,输出移位加数据;
步骤3)和步骤4)是分解指数运算的指数,不断获得指数步进值和对应指数运算参数并根据指数运算参数逐步得到指数运算结果的过程。第一步,把步骤2)中输出的预处理指数与存储的步进值比较,根据比较结果或者输出移位加数据,结束步骤3),进行下述步骤5),或者选择出第一个当前步进值,预处理指数与第一个当前步进值相减得到第二步使用的当前指数,并根据得到的相应的第一个指数运算操作参数对移位加数据进行相应操作,得到第二步使用的移位加数据;第二步,把当前指数与存储的步进值比较,根据比较结果或者输出移位加数据,结束步骤4),进行下述步骤5),或者选择出第二个当前步进值,然后把当前指数与第二个当前步进值相减得到第三步运算的当前指数,并根据得到的相应的第二个指数运算操作参数对移位加数据进行相应操作,得到第三步使用的移位加数据;如此不断重复地把上一步获得的当前指数与存储的步进值进行比较,直到当前指数小于存储的所有步进值,结束步骤4),进行下述步骤5)。
在本发明的一个实施例中,步骤3)和步骤4)在比较和选择步进值时,若预处理指数或者当前指数大于多个步进值,选择其中最大的步进值作为当前步进值,这样可以加快运算速度。
5)当所述输入指数的正或负判断结果为正时,把所述移位加数据作为指数运算结果输出,当所述输入指数的正或负判断结果为负时,对移位加数据进行移位处理后输出指数运算结果,所述移位处理的移位位数是-k。
当输入指数是负数时,在步骤2)中对输入指数进行了预处理,把输入指数加了一个预设值,在设置为2k的对数值,因此,
a x = a x + log a 2 k - log a 2 k = a x + log a 2 k * a - log a 2 k = a x + log a 2 k * 2 - k
上式中,因为输入指数x是负数,把x加上使的结果为正数,从而把输入指数变换在正数范围内采用本发明的方法进行指数运算,这样在输出指数运算结果前需要进行相应的处理。因此当输入指数是负数时,在本步骤中对步骤4)输出的移位加的数据进行移位位数是-k的移位操作,从而得到最终的指数运算结果。由上式也可知,预设值设置为2k的对数值的目的是使本步骤的结果处理中的指数相乘变换为简单的移位操作。
下面再对本发明一实施例的指数运算装置进行详细说明。图2是本发明一实施例的指数运算装置的结构框图,如图2所示,指数运算装置包括存储模块、正负判断和处理模块、步进选择模块、移位加模块和结果处理模块。
其中,存储模块用于存储若干步进值和对应的若干运算操作参数,若干步进值是以指数运算的底为底的2i和(1+2j)的对数值,2i对应的运算操作参数是移位位数i,(1+2j)对应的运算操作参数是移位位数j以及加标志,i是整数,并且i≥1,j是整数,并且j≤-1。在本发明的一个实施例中,i的取值范围是1至16的整数,j的取值范围是-1至-32的整数,即存储的步进值是216、215...22、21的对数值,其对应存储的移位参数是移位位数16、15...2、1,以及存储的步进值是(1+2-1)、(1+2-2)...(1+2-31)、(1+2-32)的对数值,其对应存储的移位参数是移位位数-1、-2...-31、-32和加标志。
正负判断和处理模块用于对输入指数的正负进行判断,输出正或负判断结果,并根据判断结果对输入指数进行预处理,输出预处理指数,该预处理是:当判断结果是正时,则不进行操作,当判断结果是负时,则把输入指数和一个预设值相加,该预设值是以指数运算的底为底的2k的对数值,k是整数,并且所述k>1,预设值的大小根据输入指数的范围决定,要求输入指数加上这个预设值的结果是正数。
步进选择模块,与存储模块和正负判断和处理模块连接,用于选择指数步进值和输出相应的运算操作参数;当运算开始时,把预处理指数作为当前指数;把当前指数和存储模块中存储的若干步进值进行比较:若当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把当前指数和当前步进值相减的结果反馈作为当前指数,并且输出根据当前步进值从存储模块中得到的对应的运算操作参数;若当前指数小于存储的所有步进值,输出步进值选择结束信号。
在本发明的一个实施例中,把当前指数和存储模块中存储的若干步进值进行比较时,若当前指数大于或者等于存储的多个步进值,选择其中最大的步进值作为当前步进值。
移位加模块,与述步进选择模块连接,用于进行移位或者移位和加法操作。运算开始时,设置移位加模块的初始数据是1。移位加模块接收步进选择模块输出的运算操作参数,根据运算操作参数进行操作:若当前运算操作参数是移位位数i时,把移位加模块中的数据移i位后放在移位加模块中,若当前运算操作参数是移位位数j以及加标志时,把移位加模块中的数据与移位加模块中的数据移j位后相加的结果放在移位加模块中;当移位加模块接收到步进选择模块输出的步进值选择结束信号时,输出移位加模块中的数据。
结果处理模块,接收正负判断和处理模块输出的判断结果和移位加模块输出的数据,当判断结果为正时,把移位加模块输出的数据输出作为指数运算结果,当判断结果为负时,把移位加模块输出的数据移-k位后输出作为指数运算结果。
在本发明的一个实施例中,k取值为32,即正负判断和处理模块中的预设值是232的对数,结果处理模块中当判断结果为负时,把移位加模块输出的数据移-32位后输出作为指数运算结果。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。

Claims (10)

1.一种指数运算方法,其特征在于,包括步骤:
1)存储若干步进值和对应的若干运算操作参数,所述若干步进值是以指数运算的底为底的2i和(2+2j)的对数值,所述2i对应的运算操作参数是移位位数i,所述(1+2j)对应的运算操作参数是移位位数j以及加标志,所述i是整数,并且所述i≥1,所述j是整数,并且所述j≤-1;
2)对输入指数的正负进行判断,输出正或负判断结果,并根据所述判断结果对所述输入指数进行预处理:当所述判断结果是正时,把所述输入指数输出作为预处理指数,否则,把所述输入指数和一个预设值相加后输出作为预处理指数,所述预设值是以指数运算的底为底的2k的对数值,所述k是整数,并且所述k>1;
3)指数运算开始时,设置移位加数据的初始值是1;把所述预处理指数和所述存储的若干步进值进行比较:若所述预处理指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述预处理指数和所述当前步进值相减的结果输出作为当前指数,并且根据所述当前步进值得到对应的当前运算操作参数,根据所述当前运算操作参数对所述移位加数据进行操作,所述操作是:若所述当前运算操作参数是移位位数i时,把所述移位加数据移i位后输出作为下一步骤的移位加数据,若所述当前运算操作参数是移位位数j以及加标志时,把所述移位加数据移j位后与所述移位加数据相加输出作为下一步骤的移位加数据;若预处理指数小于存储的所有步进值,输出所述移位加数据,转到步骤5);
4)把所述当前指数和所述存储的若干步进值进行比较:若所述当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述当前指数和所述当前步进值相减的结果作为下一重复本步骤时的当前指数,并且根据所述当前步进值得到对应的当前运算操作参数,根据所述当前运算操作参数对所述移位加数据进行操作,所述操作是:当所述当前运算操作参数是移位位数i时,把所述移位加数据移i位后作为下一重复本步骤时的移位加数据,当所述当前运算操作参数是移位位数j以及加标志时,把所述移位加数据移j位后与所述加数据相加作为下一重复本步骤时的移位加数据,重复步骤4);若所述当前指数小于存储的所有步进值,输出所述移位加数据;
5)当所述输入指数的正或负判断结果为正时,把所述移位加的数据作为指数运算结果输出,当所述输入指数的正或负判断结果为负时,对所述移位加数据移-k位后输出指数运算结果,指数运算结束。
2.根据权利要求1所述的指数运算方法,其特征在于,所述i是1至16的整数,所述j是-1至-32的整数。
3.根据权利要求1所述的指数运算方法,其特征在于,所述预设值的大小满足所述预设值与输入指数相加的结果是正数。
4.根据权利要求1所述的指数运算方法,其特征在于,所述k是32。
5.根据权利要求1所述的指数运算方法,其特征在于,所述步骤3)中,所述预处理指数和所述存储的若干个步进值进行比较时,若所述预处理指数大于多个步进值,选择所述多个步进值中最大的步进值作为当前步进值;所述步骤4)中,所述当前指数和所述存储的若干个步进值进行比较时,若所述当前指数大于多个步进值,选择所述多个步进值中最大的步进值作为当前步进值。
6.一种指数运算装置,其特征在于,包括:
存储模块,用于存储若干步进值和对应的若干运算操作参数,所述若干步进值是以指数运算的底为底的2i和(1+2j)的对数值,所述2i对应的运算操作参数是移位位数i,所述(1+2j)对应的运算操作参数是移位位数j以及加标志,所述i是整数,并且所述i≥1,所述j是整数,并且所述j≤-1;
正负判断和处理模块,用于对输入指数的正负进行判断,输出正或负判断结果,并根据所述判断结果对所述输入指数进行预处理:当所述判断结果是正时,把所述输入指数输出作为预处理指数,否则,把所述输入指数和一个预设值相加后输出作为预处理指数,所述预设值是以指数运算的底为底的2k的对数值,所述k是整数,并且所述k>1;
步进选择模块,与所述存储模块和正负判断和处理模块连接,用于选择指数步进值和输出相应的运算操作参数;当运算开始时,把所述预处理指数作为当前指数;把当前指数和所述存储模块中存储的若干步进值进行比较:若所述当前指数大于或者等于存储的一个或多个步进值,选择其中一个步进值作为当前步进值,把所述当前指数和所述当前步进值相减的结果反馈作为当前指数,并且输出根据所述当前步进值从所述存储模块中得到的对应的运算操作参数;若所述当前指数小于存储的所有步进值,输出步进值选择结束信号;
移位加模块,与所述步进选择模块连接,用于进行移位或者移位和加法操作,运算开始时,设置移位加模块的初始数据是1,所述移位加模块接收所述步进选择模块输出的运算操作参数,根据所述运算操作参数进行操作:当所述当前运算操作参数是移位位数i时,把所述移位加模块中的数据移i位后放在所述移位加模块中,当所述当前运算操作参数是移位位数j以及加标志时,把所述移位加模块中的数据与所述移位加模块中的数据移j位后相加的结果放在所述移位加模块中;当移位加模块接收到所述步进选择模块输出的步进值选择结束信号时,输出移位加模块中的数据;
结果处理模块,接收所述正负判断和处理模块输出的判断结果和所述移位加模块输出的数据,当所述判断结果为正时,把所述移位加模块输出的数据输出作为指数运算结果,当所述判断结果为负时,把所述移位加模块输出的数据移-k位后输出作为指数运算结果。
7.根据权利要求6所述的指数运算装置,其特征在于,所述i是1至16,所述j是-1至-32。
8.根据权利要求6所述的指数运算装置,其特征在于,所述预设值的大小满足所述预设值与输入指数相加的结果是正数。
9.根据权利要求6所述的指数运算装置,其特征在于,所述k是32。
10.根据权利要求6所述的指数运算装置,其特征在于,所述步进选择和处理模块中,当前指数和所述存储模块中存储的若干步进值进行比较时,当所述当前指数大于多个步进值时,选择所述多个步进值中最大的步进值作为当前步进值。
CN200910081340.0A 2009-04-02 2009-04-02 一种指数运算方法和装置 Expired - Fee Related CN101510148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910081340.0A CN101510148B (zh) 2009-04-02 2009-04-02 一种指数运算方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910081340.0A CN101510148B (zh) 2009-04-02 2009-04-02 一种指数运算方法和装置

Publications (2)

Publication Number Publication Date
CN101510148A CN101510148A (zh) 2009-08-19
CN101510148B true CN101510148B (zh) 2014-10-29

Family

ID=41002553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910081340.0A Expired - Fee Related CN101510148B (zh) 2009-04-02 2009-04-02 一种指数运算方法和装置

Country Status (1)

Country Link
CN (1) CN101510148B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603221B (zh) * 2016-12-23 2022-07-26 北京握奇智能科技有限公司 一种抵抗spa攻击的模幂计算方法、系统及嵌入式单芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553012A (en) * 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
CN1492313A (zh) * 2003-07-29 2004-04-28 深圳迈瑞生物医疗电子股份有限公司 用于数字扫描变换装置的坐标转换方法及处理器
JP2005500724A (ja) * 2001-07-16 2005-01-06 クゥアルコム・インコーポレイテッド 対数ルックアップテーブル
CN1811698A (zh) * 2006-03-01 2006-08-02 成都卫士通信息产业股份有限公司 大数模幂系统的硬件高基实现方法
CN1945488A (zh) * 2006-11-07 2007-04-11 北京中星微电子有限公司 一种求定点数字信号常用函数值的方法及装置
CN101178611A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 对数计算的实现方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553012A (en) * 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
JP2005500724A (ja) * 2001-07-16 2005-01-06 クゥアルコム・インコーポレイテッド 対数ルックアップテーブル
CN1492313A (zh) * 2003-07-29 2004-04-28 深圳迈瑞生物医疗电子股份有限公司 用于数字扫描变换装置的坐标转换方法及处理器
CN1811698A (zh) * 2006-03-01 2006-08-02 成都卫士通信息产业股份有限公司 大数模幂系统的硬件高基实现方法
CN1945488A (zh) * 2006-11-07 2007-04-11 北京中星微电子有限公司 一种求定点数字信号常用函数值的方法及装置
CN101178611A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 对数计算的实现方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特表2005-500724A 2005.01.06

Also Published As

Publication number Publication date
CN101510148A (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
Suda et al. A fast spherical harmonics transform algorithm
CN103677736B (zh) 数字信号处理器的数据路径电路
CN107305485B (zh) 一种用于执行多个浮点数相加的装置及方法
De Dinechin et al. Floating-point exponential functions for DSP-enabled FPGAs
KR20190042470A (ko) 정밀 지수 및 정밀 소프트맥스 계산
KR100756137B1 (ko) 제산 및 제곱근 연산 유닛
CN110519058A (zh) 一种对于基于格的公钥加密算法的加速方法
Kaltofen Fifteen years after DSC and WLSS2 what parallel computations I do today: invited lecture at PASCO 2010.
CN101630243A (zh) 超越函数装置以及用该装置实现超越函数的方法
CN112486455A (zh) 一种基于cordic方法求复数的n次开根号的硬件计算系统及其计算方法
CN107202979A (zh) 相干对数正态分布雷达杂波实时模拟方法及系统
CN101510148B (zh) 一种指数运算方法和装置
Hussain et al. An efficient and fast softmax hardware architecture (EFSHA) for deep neural networks
Aggarwal et al. Hardware efficient architecture for generating sine/cosine waves
Hou et al. Enhancing precision and bandwidth in cloud computing: Implementation of a novel floating-point format on fpga
WO2005013116A2 (en) Methods and apparatus for extracting integer remainders
CN101551790B (zh) 应用于通信领域的快速傅立叶变换实现方法及装置
CN104317892B (zh) 可移植可执行文件的时序特征处理方法及装置
Panda Performance Analysis and Design of a Discreet Cosine Transform processor Using CORDIC algorithm
CN110532510B (zh) 一种生成旋转因子和校正因子的生成器
Tasche et al. Improved roundoff error analysis for precomputed twiddle factors
CN113377333A (zh) 基于抛物线综合法求复数的n次开根号的硬件计算系统和方法
Omran et al. A new truncation algorithm of low hardware cost multiplier
CN104636113A (zh) 一种计算机处理大整数的算法
Andersson FFT hardware architectures with reduced twiddle factor sets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co.,Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: VIMICRO Corp.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co.,Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141029