对数计算的实现方法及装置制造方法及图纸

技术编号:2830619 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供一种对数计算的实现方法,用于实现对输入变量的对数计算,包括以下步骤:判断所述输入变量所处的一般区间,获取所述一般区间对应的映射因子;通过所述映射因子将所述输入变量映射为位于基本区间内的基本数;将所述映射因子的对数与所述基本数的对数求和。本发明专利技术实施例还提供一种对数计算的实现装置。本发明专利技术实施例计算对数的速度快,最快可以在一个时钟周期内实现;数据表可根据实际需要调整大小,根据实际需要还可做到很小;没有乘法运算,降低了系统成本;计算量小、复杂度低,只有查表、判断、移位、延迟或暂存、加法等简单操作。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种对数计算的实现方法及装置
技术介绍
在现代数字系统中,为了表述需要,经常要进行对数/反对数的计算。一种计算方法是查表法,这种方法将预先计算得到的结果存到ROM (Read OnlyMemory,只读存储器)表中,使用的时候通过查表的方式直接读出结果, 但^ROM表不可能做到很大,所以这种方式有其固有的局限性。目前采用较多的是实时计算法。这种方法一般利用泰勒公式及其变化形式, 对输入的每一个值,进行实时计算。这种方法计算量大,往往需要使用乘法器、 除法器甚至还需要迭代运算。在很多应用中,需要快速高效的计算出对数或反对数值,而上述方法显然 不能满足要求。
技术实现思路
本专利技术实施例要解决的技术问题在于,提供一种对数计算的实现方法及装 置,以高效率、低成本、方便快捷地实现对输入变量的对数计算。为解决上迷技术问题,本专利技术实施例提供一种对数计算的实现方法,用于 实现对输入变量的对数计算,包括以下步骤判断所述输入变量所处的一般区间,获取所述一般区间对应的映射因子;通过所述映射因子将所述输入变量映射为位于基本区间内的基本数;将所述映射因子的对数与所述基本数的对数求和。本专利技术实施例还提供一种对数计算的实现装置,用于实现对输入变量的对数计算,包括判断单元,用于通过判断输入变量所处的一般区间,获取所述一般区间对 应的映射因子以及通过所述映射因子将所述输入变量映射为位于基本区间内的 基本数;计算单元,用于将所述映射因子的对数与所述基本数的对数求和。 本专利技术实施例具有以下有益的效果速度快,最快可以在一个时钟周期内 实现;数据表可根据实际需要调整大小,根据实际需要可做到很小;没有乘法 运算,降低了系统成本;计算量小、复杂度低,只有查表、判断、移位、延迟 或暂存、加法等筒单搡作。附图说明图1是本专利技术实施例一对数计算的实现方法的流程示意图。 图2是本专利技术实施例二对数计算的实现装置的结构示意图。具体实施例方式以下结合附图对本专利技术实施例进行详细描述。设j;-log。6,本专利技术实施例即是在已知a和6的情况下求y,即求对数运算; 或者在已知和y的情况下求6,即求反对数运算,其中底数为10或者2等值, 也可以为其它凝:值。下面以求对数运算为例说明本专利技术实施例的原理,采取相似的方法即可以 实现求反对数。设所关心的输入变量6的取值范围为[^A],其中~ >0。将[~,~]分为若干段连续的区间[~,6机],……[、,6 ],其中,& h。 在实数范围内任取一段区间作为基本区间,这里选取[~。,~。]作为基本区间。找到 一组数q,/ = 1,2,......,M作为映射因子,该映射因子位于映射因子区间,这个映射因子区间的上限为对应 一般区间下限除以基本区间下限所得的商,映 射因子区间的下限为对应 一般区间上限除以基本区间上限所得的商。即使得 、,……,6w、 6m,……,6服与基本区间[、A。]之间分别满足关系 & 2 A &。。这样,每个一般区间的数都可以通过映射因子q映射到[&。,&。]区间, 即一般区间内的数除以映射因子所得结果位于基本区间内。很显然,这个区间 相比原来的[&,^]小了很多。[^。,^。]可以是该取值范围内的一个区间,也可以 是独立于该取值范围的区间。对于在区间= 0,1,2,......,M上的输入变量6 ,其对数值为y = loga6 = log t/ = log。c,+log。由于分好^1之后,c,.就确定了,通过判断6所 在的区间就可获知相应的c,.,在已知的情况下,1og^则为常数。c/是基本区间 A。,&。]的内一个数,称为基本数,需要注意的是,1og^可以是预先求取出的, 也可以预先求出基本区间内相应基本数的对数值log。 d ,将这些预先求取的数据 做成数据表,即可以通过查表得到相应c,与d的对数值。通过适当选择^ , c/ = 6/c, 不需使用除法,仅通过移位即可实现,比如选择c^为2的幂。这样一次计算实际上只需要进行1次查表、1次加或减法和数次判断即可完成。本专利技术实施例一对数计算的实现方法,包括以下步骤步骤一,对输入变量6的取值范围[&,^] ( & >0 )分段,分成若干段一 般区间,[ ,^],......[6,6服],其中,^丄H分段与数据表的大小有关,可以根据数据表的大小灵活分段,多分段则数 据表小,少分段则数据表大,数据表可以由ROM或RAM等存储介质实现,基本 区间一定时,增加数据表的容量可以增加计算的精度。分段和映射因子之间存 在线性映射关系,是集合中多对一的关系。分好各段区间之后压缩映射关系就确 定了,映射因子c,.也就确定了,同时还将得到各段一般区间的判断门限&,......》w和、,......,V/备用。举例而言,对于32bit二进制的定点整数,如果ROM表为大小1024bit,则可 以将1024~1024* 1024内的数据除以1024 , 1024* 1024~1024* 1024* 1024范围内的 数据除以1024*1024, , 1024*1024*1024 1024*1024*1024*1024的数据除以1024*1024*1024,这样所有32bit二进制整数都可以映射到1 1024区间内。这 里三个除数1024, 1024*1024, 1024*1024*1024则为不同区间的映射因子c,,对 应区间则为一般区间,而1 1024为基本区间。又如,将1/( 1024*1024*1024*1024) ~1/ ( 1024*1024*1024 )的数据除以1/ ( 1024*1024*1024*1024 ) , 1/ (1024*1024*1024 ) 1/ ( 1024*1024 ) 范围内的数据除以1/ (1024*1024*1024 ) , , 1/ ( 1024*1024 ) ~1/1024内的数据除以1/(1024*1024),这样所有数据都可以映射到1 1024区间内。这里三个除数1/ (1024*1024*1024*1024), 1/( 1024*1024*1024), 1/( 1024*1024)则为不同 区间的映射因子c,,对应区间则为一般区间,而1 1024为基本区间。上述只是例举性说明,其他小数、浮点数等等也可以用类似方法处理。步骤二,将每一段一般区间所对应得映射因子c,.,分别预求得常数log。。存储到数据表(如ROM表)备用。步骤三,将基本区间[6,。,^。]内所关心的相应变量的对数预先求取出来,存储到数据表(如ROM表)备用。步骤四,计算输入变量6的对数,如图1所示,具体包括如下步骤51、 判断所述输入变量所处的一般区间,获取该一般区间对应的映射因子; 将输入变量6和判断门限、,......,/^和Z^,......,^w比较,判断其处于哪一段一般区间,例如,经判断~2 sw~2,处于区间[&U,则对应的映射因子就是^。52、 通过所述映射因子将所述输入变量映射为位于基本区间内的基本数; 具体是指将所述输入变量除以所述映射因子得到的商作为所述基本数。例如该基本数d = 6 /c2 。适当选择c,,本文档来自技高网...

【技术保护点】
一种对数计算的实现方法,用于实现对输入变量的对数计算,包括以下步骤:    判断所述输入变量所处的一般区间,获取所述一般区间对应的映射因子;    通过所述映射因子将所述输入变量映射为位于基本区间内的基本数;    将所述映射因子的对数与所述基本数的对数求和。

【技术特征摘要】
1、一种对数计算的实现方法,用于实现对输入变量的对数计算,包括以下步骤判断所述输入变量所处的一般区间,获取所述一般区间对应的映射因子;通过所述映射因子将所述输入变量映射为位于基本区间内的基本数;将所述映射因子的对数与所述基本数的对数求和。2、 根据权利要求1所述的实现方法,其特征在于还包括步骤 将所述输入变量的取值范围划分为若干,爻一4殳区间;确定所述一般区间对应的映射因子。3、 根据权利要求2所述的实现方法,其特征在于所述确定所述一般区间 对应的映射因子,具体是指从一般区间对应的映射因子区间内选取一数值确定为所述一般区间对应的 所述映射因子,所述映射因子区间的上限为 一般区间下限除以基本区间下限所 得的商,所述映射因子区间的下限为 一般区间上限除以基本区间上限所得的商。4、 根据权利要求1所述的实现方法,其特征在于所述判断所述输入变量所处的一般区间,具体是指将输入变量与所述一般 区间的门限进行比争支,以判断所述输入变量所处的一般区间。所述通过所述映射因子将所述输入变量映射为位于基本区间内的基本数, 具体是指将所述输入变量除以所述映射因子得到的商作为所述基本数。5、 根据权利要求2所述的实现...

【专利技术属性】
技术研发人员:李政强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1