一种快速高精度对数转换装置和方法

文档序号:6460964阅读:212来源:国知局
专利名称:一种快速高精度对数转换装置和方法
技术领域
本发明涉及一种高速数字信号处理器中对数转化表格制作及其转换方法 和装置。
背景技术
许多高速数字信号处理器使用定点格式,对数转换时使用查表法。查表 法是先建立一对数表,然后按一定规则在所对应表格查找对应的对数值。目 前已有的查表方法中主要有精度可控和精度固定两种。精度可控型查表方法 计算步骤麻烦,而且需要进行多次除法运算速度较慢,虽然占用内存较小但
不适合高速数字系统;精度固定的型的查表方法是按目标精度设计对数表, 对于高精度系统需庞大表格而耗用巨大内存空间。因此一直高精度速度快, 而占用内存又小的对数转换装置成为必要。

发明内容
本发明提出了一种快速高精度对数转换方法和装置,它主要包括粗精度 查询和细精度查询,粗精度查询用来直接查询二进制中高位对数转化值;细 精度表用来查询二进制中低位的一归一化对数转化值,然后两种查询结果通 过一定运算就可得出最后结果,其基本原理和游标卡尺相似。
为了实现上述目的,本发明提供一种快速高精度对数转换方法,是把一
待转换数Tn转换为一以B为底的对数Ru ,该转换方法主要包括如下步
骤步骤一,根据指定的转换精度位数建立粗细精度查询表;步骤二,输入
以定点数格式表示的待转换数,进行粗细精度查询表查询;步骤三,根据查 询结果计算出转换结果。
其中,优选方案,上述步骤一主要包括根据高位位数建立以B为底的 粗精度表Tablel,根据低位位数建立以B为底的细精度查询表Table2 。其中,优选方案,所述细精度表为一归一化的对数表。
其中,优选方案,步骤二中待处理数Tn需进行分段查询,高位进行粗精 度查询,低位进行细精度查询。
其中,优选方案,步骤三中相对结果计算Ra=Numl+R*ANuml , Numl为粗 精度表查询结果,R为细精度表查询结果,ANuml为对数表中对数值之差。
本发明还包括一种快速高精度对数转换的装置,该装置能把待转换数转 换成要求精度的对数,它主要包括建立装置、提取装置、查询装置、计算和 结果输出装置,其特征在于所述建立装置包括一决策单元,根据对数转化 精度分配高和低位数; 一粗精度表建立单元,根据高位位数建立以B为底的 粗精度表;和一细精度表建立单元,根据低位位数建立以B为底一归一化的 细精度查询表。
其中,优选方案,所述提取装置包括一最高位位数记录单元,记录最高 位位数; 一高位提取单元,提取待转换二进制的高位到粗精度查询单元;和 一低位提取单元,提取低位到细精度查询单元。
其中,优选方案,所述查询装置包括一粗精度表,根据高位提取的数在 粗精度表中查询相应的对数值;以及一细精度表,根据从低位提取的数在西 精度表中查询相应的值。
本发明的对数转换方法和装置的优点在于
首先,它查询速度快,待查询数使用定点二进制数,它与高速数字处理 中数的格式相同,无需转化为浮点数进行复杂计算和转化;并且转换时只需 要进行4次加减法和2次乘法,没有任何除法运算,运算量少,因此速度 快。
其次,它查询表所占内存少,对于一个I位精度的转换,它的表格需 3*21/2个内存单元,而普通查表方法需2'个内存单元,因此大大节约了内存 空间,而且对于精度越高的转换,此方法节省空间优势越强。


下面接合附图对本发明的实施方法进一步说明
图1表示本发明实施例快速高精度对数转换方法流程图。
图2表示本发明实施例快速高精度对数转换装置框图。
图3表示本发明实施例待转换32位二进制数。
图4表示本发明实施例被提取的高5位和低5位。
图5表示本发明实施例粗精度转换表。
图6表示本发明实施例细精度转换表。
附图符号说明
其中,对数转换装置204 ,提取装置206 ,建立装置212 ,查询装置 220 ,结果输出装置230
具体实施例方式
下面结合附图对本发明快速高精度对数转换作进一步说明。 图1为本发明快速高精度对数转换方法流程图。
如图所示。本发明提供了一种快速高精度对数转换方法。此方法把一二 进制数Tn转化为以B为底的对数Ru,其中,待转化数Tn为定点二进制,结果 Ru可为二进制数,也可为十进制数。
本发明快速高精度对数转化方法主要包括以下过程首先是设置,它主 要包括设置输入参数和建立粗细精度查询表;其次是查询计算,它主要包括 粗细表格查询和输出查询结果;最后是计算和转换结果输出。
前述设置步骤,确定转换精度位数I,确定定点数位数J,分配高位和 低位位数I-m+n ,建立以B为底的n位高位粗精度查询表,建立以B为底的 m位低精度查询表。在分配高位和低位位数时需注意它们的精度控制和所占 用的内存空间,n位高位所占内存为2(n—"位,m位低位所占内存为2M立,因 此要使内存占用最小那么高位和地位相差应不大于3位,否则会造成内存成 倍的浪费。在建立粗精度表时最高位应为1 ,它对应的对数值为相应的高位 对数值。细精度表为一归一化表,细精度值应为归一化值和相邻高位间距的 乘积。前述查询计算过程可包括,输入待查询二进制数Tn,记录最高非零位位 数K,从最高位开始向下提取n位进行粗精度查询得Numl,从最高位开始提 取n至n+m位进行细精度查询得R, R为一归一化值,细精度值实际大小应 为归一化值和相邻高位间距乘积,因此相对结果应为
Ra=Numl+R*ANuml=Numl+Num2 (1) 前述结果为一相对值,它是一个I位二进制整数对数转换值,没有考虑 其小数点位数,其对数转换实际大小应为
Ru=Ra-(K-J-I)*F (2) 其中K为转换数最高位位数,J为定点数位数,I为转换精度位数, (K-J-1)的物理意义是把待转换数Tn的需要保持的精度的最低位,即第I位 移至定点数小数点位所需移动的位数,每移动一位,数值变化为接近F, F=10*logB(2)dB,在底数B确定后它为一常数,在粗精度和细精度查表过程
中,忽略了小数点位数,因此最后输出结果需要把它考虑进去。
图2为本发明的快速高精度对数转换装置204的结构示意图。该装置能 把待转换数转换成要求精度的对数,它主要包括建立装置212 、提取装置 206 、查询装置220 、结果输出装置230 ,其中,建立装置212包括一决策 单元214,根据对数转化精度分配高和低位数; 一粗精度表建立单元216 , 根据高位位数建立以B为底的粗精度表;和一细精度表建立单元218 ,根据 低位位数建立以B为底一归一化的细精度查询表。
其中,所述提取装置包括一最高位位数记录单元209 ,记录最高位位 数; 一高位提取单元208,负责提取待转换二进制的高位到粗精度查询单 元;和一低位提取单元210 ,负责提取低位到细精度查询单元。
其中,所述查询装置220包括一粗精度表224 ,根据高位提取的数在粗 精度表中查询相应的对数值;和一细精度表228,根据从低位提取的数在西 精度表中查询相应的值。
该装置的工作原理为对数转换装置204在对数转换精度输入后,建立 装置中的决策单元214根据需要的精度按优分配高位和低位数,同时建立装 置212的粗精度表建立单元216和细精度表建立单元218根据高位数和低位 数分别建立自己的粗精度查询表224 、细精度查询表228 ,这一个过程为查 询表建立过程。当查询表建立好以后,如果有待转换数需输入从待转换数输端口 200输入,提取装置206的最高位记录单元209立即记录待转换二进制 定点数的最高非零位位数,同时高位和低位被高位提取单元208和低位提取 单元210提取并分别传送到查询装置的粗精度查询表224和细精度查询表 "8 ,经查询后,结果被送往计算和结果输出装置230 ,此装置首先计算综 合粗精度表224和细精度表228查询结果得出待转换数相对转换结果,最后 装置根据提出单元传送过来的最高非零位位数计算出最终绝对大小。
本发明主要利用了泰勒公式和导数原理。当x—x0时依泰勒公式有 f (x) =f (x0) +f' (x0) (x-xO) +o (x-xO) (3) 式中x为待转换数,xO为高位粗精度对应的数,f (x0)对应为粗精度转换 表,f'(x。) (x-x。)对应于细精度转换表,(x-x。)相对于x很小,为l/2",因此 误差项o(x-x。)非常小,经验证对于10位精度对数转换,结果精度在一个数 字量以内。
下面举例说明本发明的快速高精度对数转换方法及装置的运作。假设一 待转换32位定点二进制数如图3所示,小数位在第15位,转化成十进制后为 5.23016,要求转换精度为10位,基底为IO。为了直观,本例查询表对数部分 都用十进制表示。
首先,建立查询表格,决策单元214按要求把10位精度分为高5位和低 5位,然后,粗表、细表建立粗表单元216、细表单元218建立以10为底的 粗精度表224和细精度表228 ,粗精度表如图5所示,它由16组数组成,细 精度表如图6所示,它是一归一化的32组数组成。
然后,待转换数5. 23016输入至提取装置206 ,高位记录单元209记录 最高位为18,高位提取单元208从最高位向下提取5位,即得10100,同 时,低位提取单元210从最高位向下提取第5至第10位,即得11101,如图 4所示。
然后,查询装置220根据高位和低位提取单元送来的二进制数查询所对 应的结果,从粗精度表可知10100对应的对数为28. 0618 ,而11101相对应 的细精度表的归一化数为0.908185 。
最后,结果输出装置230根据送来的数据计算最终结果,其计算过程如下首先是根据粗细查询结果,利用公式(1)计算相对结果
Ra=28. 0618+0. 908185* (28. 27369-28. 0618)=28. 25424
然后结合相对结果和高位提取单元208传送过来的最高位位数,利用公式
(2)可得出绝对结果(其中F为3, 0103):
Ru=28. 25424-3. 0103* (18-15-10) =7. 182138 5. 230163的实际对数应为7. 176705 ,查表结果误差为0.0757%。
本发明是一种快速高精度对数转换方法和装置,它的优点在于 首先,它查询速度快,待查询数使用定点二进制数,它与高速数字处理 中数的格式相同,无需转化为浮点数进行复杂计算和转化;并且转换时只需 要进行4次加减法和2次乘法,没有任何除法运算,运算量少,因此速度 快。
其次,它查询表所占内存少,对于一个I位精度的转换,它的表格需 3*21/2个内存单元,而普通查表方法需2'个内存单元,因此大大节约了内存
空间,而且对于精度越高的转换,此方法节省空间优势越强。
以上所述者,仅为本发明最佳实施例而已,并非用于限制本发明的范 围,凡依本发明申请专利范围所作的等效变化或修饰,皆为本发明所涵盖。
权利要求
1、一种快速高精度对数转换方法,是把一待转换数Tn转换为一以B为底的对数Ru,该转换方法主要包括如下步骤步骤一,根据指定的转换精度位数建立粗细精度查询表;步骤二,输入以定点数格式表示的待转换数,进行粗细精度查询表查询;步骤三,根据查询结果计算出转换结果。
2、 根据权利要求1所述的快速高精度对数转换方法,其特征在于上述 步骤一主要包括根据高位位数建立以B为底的粗精度表Tablel;根 据低位位数建立以B为底的细精度查询表Table2。
3、 根据权利要求2所述的快速高精度对数转换方法,其特征在于所述 细精度表为 一 归 一化的对数表。
4、 根据权利要求1所述的快速高精度对数转换方法,其特征在于步骤 二中待处理数Tn需进行分段查询,高位进行粗精度查询,低位进行细 精度查询。
5、 根据权利要求1所述的快速高精度对数转换方法,其特征在于步骤 三中相对结果计算Ra=Numl+R*ANuml , Numl为粗精度表查询结果,R 为细精度表查询结果,ANuml为对数表中对数值之差。
6、 一种快速高精度对数转换的装置,该装置能把待转换数转换成要求精 度的对数,它主要包括建立装置、提取装置、查询装置、计算和结果 输出装置,其特征在于所述建立装置包括一决策单元,根据对数转 化精度分配高和低位数; 一粗精度表建立单元,根据高位位数建立以B为底的粗精度表;和一细精度表建立单元,根据低位位数建立以B 为底一 归 一化的细精度查询表。
7、 根据权利要求6所述的快速高精度对数转换的装置,其特征在于所 述提取装置包括一最高位位数记录单元,记录最高位位数; 一高位提 取单元,提取待转换二进制的高位到粗精度查询单元;和一低位提取 单元,提取低位到细精度查询单元。
8、 根据权利要求6所述的快速高精度对数转换的装置,其特征在于所 述查询装置包括一粗精度表,根据高位提取的数在粗精度表中查询相 应的对数值;以及一细精度表,根据从低位提取的数在西精度表中查 询相应的值。
全文摘要
本发明提供一种快速高精度对数转换方法,是把一待转换数Tn转换为一以B为底的对数Ru,该转换方法主要包括如下步骤步骤一,根据指定的转换精度位数建立粗细精度查询表;步骤二,输入以定点数格式表示的待转换数,进行粗细精度查询表查询;步骤三,根据查询结果计算出转换结果。该方法根据指定的转换精度位数建立以B为底粗精度表Table 1、细精度表Table2和它们对应的高位和低位二进制位数(n,m),当以定点数格式表示的待转换数Tn输入后,方法自动提取的高位和低位进行对应的粗精度表和细精度查询,查询结果通过最高位位数计算出转换的最终结果Ru。该方法的查询速度快,且节省空间优势较强。
文档编号G06F1/02GK101620453SQ20081006817
公开日2010年1月6日 申请日期2008年7月2日 优先权日2008年7月2日
发明者虞爱华, 黄必昌 申请人:昂纳信息技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1