CN102566965A - 一种误差平坦的浮点数对数运算装置 - Google Patents

一种误差平坦的浮点数对数运算装置 Download PDF

Info

Publication number
CN102566965A
CN102566965A CN2011104337542A CN201110433754A CN102566965A CN 102566965 A CN102566965 A CN 102566965A CN 2011104337542 A CN2011104337542 A CN 2011104337542A CN 201110433754 A CN201110433754 A CN 201110433754A CN 102566965 A CN102566965 A CN 102566965A
Authority
CN
China
Prior art keywords
output
floating number
value
result
adder
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.)
Granted
Application number
CN2011104337542A
Other languages
English (en)
Other versions
CN102566965B (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201110433754.2A priority Critical patent/CN102566965B/zh
Publication of CN102566965A publication Critical patent/CN102566965A/zh
Application granted granted Critical
Publication of CN102566965B publication Critical patent/CN102566965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Radar Systems Or Details Thereof (AREA)

Abstract

本发明公开了一种误差平坦的浮点数对数运算装置,浮点数以2为底的对数运算,该浮点数值为,其中,S为浮点数的符号数,E为浮点数的指数,且E为L位比特数,F为浮点数的尾数,,该装置包括:比较器1;存储器2,与比较器连接;第一移位器31,与第一加法器41连接;第二移位器32,与第一加法器41连接;第三移位器33,与第二加法器42连接;第一加法器41,与第三加法器43连接;第二加法器42,与第三加法器43连接;第三加法器43,与第四加法器43连接;第四加法器44,与组合电路7连接;减法器5,与组合电路7连接;反相器6,与组合电路7连接;组合电路7。该装置计算量小,复杂度低,对数运算结果精确度高,且误差平坦。

Description

一种误差平坦的浮点数对数运算装置
技术领域
本发明涉及的是一种误差平坦的浮点数对数运算装置,属于通用数字系统领域。
技术背景
现代电子计算机中,绝大多数运算采用浮点数运算,浮点数的效率决定了电子计算机的性能,通用数字系统中,经常需要求对数运算。目前,常用的求对数运算装置有两种:
一种求对数运算装置是查表法装置,该查表法装置会受到通用数字系统资源的约束,导致对数运算结果误差较大。
另一种求对数运算装置是实时运算装置,该实时运算装置对输入的每一个值,进行实时运算。但现有的实时运算装置计算量大,复杂度高,且对数运算结果误差不平坦。
发明内容
有鉴于此,本发明主要目的在于提供一种误差平坦的浮点数对数运算装置,该装置用于实施浮点数的对数运算,其计算量小,复杂度低,对数运算结果精确度高,且误差平坦。
为达成上述目的,本发明所采用的技术方案是:一种误差平坦的浮点数对数运算装置,用于实施浮点数以2为底的对数运算,该浮点数值表示为                                                
Figure 301427DEST_PATH_IMAGE001
,其中,S为浮点数的符号数,E为浮点数的指数,且E为L位比特数,F为浮点数的尾数,
Figure 824812DEST_PATH_IMAGE002
,且F为N位比特数,L与N为自然数,该浮点数对数运算装置包括:
一比较器1,用于判断浮点数的尾数F所属区间,并输出浮点数的尾数F所属区间值i;
一存储器2,与上述比较器1连接,用于接收比较器1输出的浮点数的尾数F所属区间值i,根据该值i输出对应的系数值(p , q , r , b);
一第一移位器31,与第一加法器41连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值p,根据该值p对F进行右移,输出结果S1;
一第二移位器32,与第一加法器41连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值q,根据该值q对F进行右移,输出结果S2;
一第三移位器33,与第二加法器42连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值r,根据该值r对F进行右移,输出结果S3;
一第一加法器41,与第三加法器43连接,用于将第一移位器31的输出结果S1与第二移位器32的输出结果S2相加,输出相加结果A1;
一第二加法器42,与第三加法器43连接,用于将第三移位器43的输出结果S3与存储器2输出对应的系数值(p , q , r , b)中的值b相加,输出相加结果A2;
一第三加法器43,与第四加法器43连接,用于将第一加法器41的输出结果A1与第二加法器42的输出A2相加,输出相加结果A3;
一第四加法器44,与组合电路7连接,用于将第三加法器43的输出结果A3与浮点数的尾数F相加,输出相加结果A4;
一减法器5,与组合电路7连接,用于将浮点数的指数E与
Figure 67706DEST_PATH_IMAGE003
值相减,输出相减结果Z1;
一反相器6,与组合电路7连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路7,用于接收减法器5输出相减结果Z1第四加法器44输出结果A4和反相器6的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
上述比较器(1)设置判断门限,其判断门限分别为:
Figure 43752DEST_PATH_IMAGE004
Figure 584455DEST_PATH_IMAGE005
Figure 290242DEST_PATH_IMAGE006
Figure 625409DEST_PATH_IMAGE007
,其具体如下:将对数曲线
Figure 354330DEST_PATH_IMAGE008
沿y轴方向平均划分n区间,求取各区间F的取值范围,设定比较器的判断门限为
Figure 433145DEST_PATH_IMAGE004
Figure 247310DEST_PATH_IMAGE006
Figure 463527DEST_PATH_IMAGE007
本发明的一种误差平坦的浮点数对数运算装置与现有技术相比具有以下的优点:该装置对浮点数的对数运算速度快,没有乘法运算,计算量小,复杂度低,只需查表,判断,移位,加法等简单操作,提高浮点数对数运算结果精确度,且平坦误差值。
附图说明
图1 表示本发明的浮点数的表示法的示意图。
图2 表示本发明线性线段分区间逼近对数曲线
Figure 346033DEST_PATH_IMAGE009
的示意图。
图3 表示本发明的一种误差平坦的浮点数对数运算装置的架构示意图。
图4 表示对数曲线
Figure 760833DEST_PATH_IMAGE010
被划分4区间,本发明的浮点数对数运算结果误差曲线与“Low Cost Hardware Implementation of Logarithm Approximation”的浮点数对数运算结果误差曲线进行比较图。
图5 表示对数曲线
Figure 703382DEST_PATH_IMAGE010
被划分15区间,本发明中的浮点数对数运算结果误差曲线与“Power and Area-Efficient Unified Computation of Vector and Elementary Functions for Handheld 3D Graphics Systems”的浮点数对数运算结果误差曲线进行比较图。
具体实施方式
下面结合附图对本发明的实施例作详细说明。
如图1所示,本发明中浮点数值表示为
Figure 141316DEST_PATH_IMAGE011
,其中,S为浮点数的符号位;E为浮点数的指数,且E为L位比特数;F为浮点数的尾数,
Figure 561933DEST_PATH_IMAGE012
,且F为N位比特数;L与N为自然数;
图2 表示本发明线性线段分区间逼近对数曲线
Figure 847552DEST_PATH_IMAGE013
的示意图。如图所示,图中横轴表示浮点数的尾数F的取值,图中纵轴表示Y的取值,图中对数曲线表示
Figure 757739DEST_PATH_IMAGE010
。将对数曲线沿y轴方向平均划分n区间。A和B为第i区间的两个端点,B和C为第i+1区间的两个端点。A点坐标值为
Figure 907278DEST_PATH_IMAGE014
, B点坐标值为,C点坐标值为
Figure 331754DEST_PATH_IMAGE016
。线段AB表示为
Figure 744281DEST_PATH_IMAGE017
Figure 506701DEST_PATH_IMAGE018
。利用线段AB逼近第i区间曲线
Figure 688283DEST_PATH_IMAGE019
。线段BC表示为
Figure 105675DEST_PATH_IMAGE021
Figure 671786DEST_PATH_IMAGE022
。利用线段BC逼近第i+1区间曲线
Figure 147078DEST_PATH_IMAGE024
。Ei为第i区间曲线与线段AB之间的误差值
Figure 534197DEST_PATH_IMAGE025
Figure 638419DEST_PATH_IMAGE026
。Ei+1为第i+1区间曲线与线段BC之间的误差值
Figure 856911DEST_PATH_IMAGE027
Figure 653965DEST_PATH_IMAGE028
将对数曲线
Figure 262801DEST_PATH_IMAGE010
沿y轴方向平均划分n区间,得出各区间范围值
Figure 436294DEST_PATH_IMAGE029
Figure 257095DEST_PATH_IMAGE030
,将这些范围值作为比较器判断标准,并求取各个区间的系数值a和b,其中第i区间系数值
Figure 767207DEST_PATH_IMAGE033
Figure 960291DEST_PATH_IMAGE034
。第i区间线段AB表达式为:
Figure 99149DEST_PATH_IMAGE035
 (1)
从式(1)可以看出整个运算过程需要乘法,为了适合嵌入式设备的应用,本发明采用移位和加减法代替乘法功能。将系数值ai分解成由系数值(pi , qi , ri)组成
Figure 682577DEST_PATH_IMAGE036
,(pi , qi , ri)为整数,
Figure 745342DEST_PATH_IMAGE037
表示为加减运算。式(1)转换为式(2)
Figure 730615DEST_PATH_IMAGE038
 (2)
最后根据上述的方法,求取每个区间的系数值(p , q , r , b)并存储于存储器。
如图3所示,本发明的一种误差平坦的浮点数对数运算装置,用于获得浮点数 
Figure 40374DEST_PATH_IMAGE039
以2为底的对数运算结果Y:
Figure 226822DEST_PATH_IMAGE041
                      (3)
其中,S为浮点数的符号数,E为浮点数的指数,且E为L位比特数,F为浮点数的尾数,,且F为N位比特数,L与N为自然数,该浮点数对数运算装置包括:
一比较器1,用于判断浮点数的尾数F所属区间,并输出浮点数的尾数F所属区间值i;
一存储器2,与上述比较器1连接,用于接收比较器1输出的浮点数的尾数F所属区间值i,根据该值i输出对应的系数值(p , q , r , b);
一第一移位器31,与第一加法器41连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值p,根据该值p对F进行右移,输出结果S1;
一第二移位器32,与第一加法器41连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值q,根据该值q对F进行右移,输出结果S2;
一第三移位器33,与第二加法器42连接,用于接收浮点数的尾数F与存储器2输出对应的系数值(p , q , r , b)中的值r,根据该值r对F进行右移,输出结果S3;
一第一加法器41,与第三加法器43连接,用于将第一移位器31的输出结果S1与第二移位器32的输出结果S2相加,输出相加结果A1;
一第二加法器42,与第三加法器43连接,用于将第三移位器43的输出结果S3与存储器2输出对应的系数值(p , q , r , b)中的值b相加,输出相加结果A2;
一第三加法器43,与第四加法器43连接,用于将第一加法器41的输出结果A1与第二加法器42的输出A2相加,输出相加结果A3;
一第四加法器44,与组合电路7连接,用于将第三加法器43的输出结果A3与浮点数的尾数F相加,输出相加结果A4;
一减法器5,与组合电路7连接,用于将浮点数的指数E与
Figure 204136DEST_PATH_IMAGE003
值相减,输出相减结果Z1;
一反相器6,与组合电路7连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路7,用于接收减法器5输出相减结果Z1、第四加法器44输出结果A4和反相器6的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
上述比较器(1)设置判断门限,其判断门限分别为:
Figure 855697DEST_PATH_IMAGE004
,其具体如下:将对数曲线
Figure 995375DEST_PATH_IMAGE008
沿y轴方向平均划分n区间,求取各区间F的取值范围,设定比较器的判断门限为
Figure 75457DEST_PATH_IMAGE004
Figure 8778DEST_PATH_IMAGE005
Figure 677657DEST_PATH_IMAGE006
Figure 936600DEST_PATH_IMAGE007
为了验证使用本发明的一种误差平坦的浮点数对数运算装置的浮点数对数运算结果误差效果,通过与“Low Cost Hardware Implementation of Logarithm Approximation”的浮点数对数运算结果误差进行比较。如图4所示,图中实线与虚线各有4个波峰,表示对数曲线
Figure 487667DEST_PATH_IMAGE045
被划分4区间。图中横轴表示浮点数的尾数取值,纵轴表示误差取值。图中实线为采用本发明的一种误差平坦的浮点数对数运算方法后的误差曲线,图中虚线为采用文献“Low Cost Hardware Implementation of Logarithm Approximation”的对数运算方法后的误差曲线。该文献由Gutierrez, R.提出,于2011年发表于Systems, IEEE Transactions,12期19卷第2326页至2330页。从图4中可以看出,本发明的浮点数对数运算结果误差平坦,其4个区间的最大误差值相等,优于文献“Low Cost Hardware Implementation of Logarithm Approximation”的对数运算结果误差。
为了验证使用本发明的一种误差平坦的浮点数对数运算装置的浮点数对数运算结果误差效果,通过与“Power and Area-Efficient Unified Computation of Vector and Elementary Functions for Handheld 3D Graphics Systems”的浮点数对数运算结果误差进行比较。如图5所示,图中实线与虚线各有15个波峰,表示对数曲线
Figure 490258DEST_PATH_IMAGE045
被划分15区间,图中横轴表示浮点数的尾数取值,纵轴表示误差取值。图中实线为采用本发明的一种误差平坦的浮点数对数运算方法后的误差曲线,图中虚线为采用文献“Power and Area-Efficient Unified Computation of Vector and Elementary Functions for Handheld 3D Graphics Systems”的对数运算方法后的误差曲线。该文献由Byeong-Gyu提出,于2008年发表于Computers, IEEE Transactions,57期59卷第490页至第504页。从图5中可以看出,本发明的浮点数对数运算结果误差平坦,其15个区间的最大误差值相等,优于文献“Power and Area-Efficient Unified Computation of Vector and Elementary Functions for Handheld 3D Graphics Systems”的对数运算结果误差。
以上揭露的仅为本发明的较佳实例实施而已,当然不能以此来限定本发明的权利范围,因此依本发明权利要求所作的等同变化,均属本发明所涵盖的范围。

Claims (2)

1.一种误差平坦的浮点数对数运算装置,用于实施浮点数以2为底的对数运算,该浮点数值表示为                                                
Figure 2011104337542100001DEST_PATH_IMAGE001
,其中,S为浮点数的符号数,E为浮点数的指数,且E为L位比特数,F为浮点数的尾数,
Figure 606720DEST_PATH_IMAGE002
,且F为N位比特数,L与N为自然数,该浮点数对数运算装置包括:
一比较器(1),用于判断浮点数的尾数F所属区间,并输出浮点数的尾数F所属区间值i;
一存储器(2),与上述比较器(1)连接,用于接收比较器(1)输出的浮点数的尾数F所属区间值i,根据该值i输出对应的系数值(p , q , r , b);
一第一移位器(31),与第一加法器(41)连接,用于接收浮点数的尾数F与存储器(2)输出对应的系数值(p , q , r , b)中的值p,根据该值p对F进行右移,输出结果S1;
一第二移位器(32),与第一加法器(41)连接,用于接收浮点数的尾数F与存储器(2)输出对应的系数值(p , q , r , b)中的值q,根据该值q对F进行右移,输出结果S2;
一第三移位器(33),与第二加法器(42)连接,用于接收浮点数的尾数F与存储器(2)输出对应的系数值(p , q , r , b)中的值r,根据该值r对F进行右移,输出结果S3;
一第一加法器(41),与第三加法器(43)连接,用于将第一移位器(31)的输出结果S1与第二移位器(32)的输出结果S2相加,输出相加结果A1;
一第二加法器(42),与第三加法器(43)连接,用于将第三移位器(43)的输出结果S3与存储器(2)输出对应的系数值(p , q , r , b)中的值b相加,输出相加结果A2;
一第三加法器(43),与第四加法器(43)连接,用于将第一加法器(41)的输出结果A1与第二加法器(42)的输出A2相加,输出相加结果A3;
一第四加法器(44),与组合电路(7)连接,用于将第三加法器(43)的输出结果A3与浮点数的尾数F相加,输出相加结果A4;
一减法器(5),与组合电路(7)连接,用于将浮点数的指数E与
Figure 2011104337542100001DEST_PATH_IMAGE003
值相减,输出相减结果Z1;
一反相器(6),与组合电路(7)连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路(7),用于接收减法器(5)输出相减结果Z1、第四加法器(44)输出结果A4和反相器(6)的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
2.根据权利要求1所述的一种误差平坦的浮点数对数运算装置,其特征在于:上述比较器(1)设置用于比较的判断门限,其判断门限分别为:
Figure 968563DEST_PATH_IMAGE004
Figure 2011104337542100001DEST_PATH_IMAGE005
Figure 56604DEST_PATH_IMAGE006
Figure 2011104337542100001DEST_PATH_IMAGE007
,其具体如下:将对数曲线沿y轴方向平均划分n区间,求取各区间F的取值范围,设定比较器的判断门限为
Figure 584855DEST_PATH_IMAGE004
Figure 988154DEST_PATH_IMAGE005
Figure 814476DEST_PATH_IMAGE007
CN201110433754.2A 2011-12-22 2011-12-22 一种误差平坦的浮点数对数运算装置 Active CN102566965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110433754.2A CN102566965B (zh) 2011-12-22 2011-12-22 一种误差平坦的浮点数对数运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110433754.2A CN102566965B (zh) 2011-12-22 2011-12-22 一种误差平坦的浮点数对数运算装置

Publications (2)

Publication Number Publication Date
CN102566965A true CN102566965A (zh) 2012-07-11
CN102566965B CN102566965B (zh) 2014-12-31

Family

ID=46412485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110433754.2A Active CN102566965B (zh) 2011-12-22 2011-12-22 一种误差平坦的浮点数对数运算装置

Country Status (1)

Country Link
CN (1) CN102566965B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268307A (zh) * 2013-01-08 2013-08-28 上海大学 基于对数分段线性逼近的图形处理方法
CN103617148A (zh) * 2013-11-27 2014-03-05 桂林聚联科技有限公司 一种提高otdr对数计算速度的方法
CN112230882A (zh) * 2020-10-28 2021-01-15 海光信息技术股份有限公司 浮点数处理装置、浮点数加法装置及浮点数处理方法
CN114968170A (zh) * 2022-06-24 2022-08-30 北京百度网讯科技有限公司 浮点数的定和生成方法、相关装置及计算机程序产品
WO2023124235A1 (zh) * 2021-12-29 2023-07-06 腾讯科技(深圳)有限公司 多输入浮点数处理方法、装置、处理器及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1472636A (zh) * 2002-07-29 2004-02-04 矽统科技股份有限公司 浮点数的对数运算方法和装置
US20050004965A1 (en) * 1998-05-14 2005-01-06 Coleman John Nicholas Logarithmic arithmetic system
CN101178611A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 对数计算的实现方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004965A1 (en) * 1998-05-14 2005-01-06 Coleman John Nicholas Logarithmic arithmetic system
CN1472636A (zh) * 2002-07-29 2004-02-04 矽统科技股份有限公司 浮点数的对数运算方法和装置
CN101178611A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 对数计算的实现方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵海燕等: "对数/指数算法的改进及其VLSI实现", 《计算机工程与应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268307A (zh) * 2013-01-08 2013-08-28 上海大学 基于对数分段线性逼近的图形处理方法
CN103617148A (zh) * 2013-11-27 2014-03-05 桂林聚联科技有限公司 一种提高otdr对数计算速度的方法
CN112230882A (zh) * 2020-10-28 2021-01-15 海光信息技术股份有限公司 浮点数处理装置、浮点数加法装置及浮点数处理方法
WO2023124235A1 (zh) * 2021-12-29 2023-07-06 腾讯科技(深圳)有限公司 多输入浮点数处理方法、装置、处理器及计算机设备
CN114968170A (zh) * 2022-06-24 2022-08-30 北京百度网讯科技有限公司 浮点数的定和生成方法、相关装置及计算机程序产品
CN114968170B (zh) * 2022-06-24 2024-05-14 北京百度网讯科技有限公司 浮点数的定和生成方法、相关装置及计算机程序产品

Also Published As

Publication number Publication date
CN102566965B (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN102722352B (zh) 一种Booth乘法器
CN102566965B (zh) 一种误差平坦的浮点数对数运算装置
CN104598432B (zh) 用于求解数学函数的计算机及方法
CN100583024C (zh) 一种用于浮点除法和平方根运算的预处理电路结构
Dianov et al. Review of fast square root calculation methods for fixed point microcontroller-based control systems of power electronics
CN104699450A (zh) 一种基于进位保留加法器的基数-16定点除法器
CN104765713A (zh) 基于分段查表三角函数实现fpga数字信号处理的方法
US9151842B2 (en) Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation
CN110187866B (zh) 一种基于双曲cordic的对数乘法计算系统及方法
CN111813371A (zh) 数字信号处理的浮点除法运算方法、系统及可读介质
US9767073B2 (en) Arithmetic operation in a data processing system
CN103901405A (zh) 实时块浮点频域四路脉冲压缩器及其脉冲压缩方法
WO2022001722A1 (zh) 一种用于计算正弦或余弦函数的实现方法及装置
CN103809931A (zh) 一种专用高速浮点指数运算器的设计
RU167428U1 (ru) Преобразователь синусно-косинусного сигнала в код положения
CN103365826B (zh) 一种小面积的基-3fft蝶形单元
CN104615404A (zh) 一种基于查表操作的高速浮点除法部件装置
CN111984057B (zh) 基于gpu的数字nco高精度并行实现方法
CN107657078B (zh) 基于fpga的超声相控阵浮点聚焦发射实现方法
Banerjee et al. High performance novel square root architecture using ancient Indian mathematics for high speed signal processing
CN113778379A (zh) 一种基于cordic的低复杂度硬件系统和应用方法
CN1936830A (zh) 小数取幂的数字实现
EP3451152B1 (en) Device and method for performing multiple transcendental function operations
CN111814107B (zh) 一种高精度实现平方根倒数的计算系统及其计算方法
CN103761074B (zh) 一种流水结构定点fft字长配置方法

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