CN102566965A - 一种误差平坦的浮点数对数运算装置 - Google Patents
一种误差平坦的浮点数对数运算装置 Download PDFInfo
- 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
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为底的对数运算,该浮点数值表示为 ,其中,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;
一反相器6,与组合电路7连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路7,用于接收减法器5输出相减结果Z1、第四加法器44输出结果A4和反相器6的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
本发明的一种误差平坦的浮点数对数运算装置与现有技术相比具有以下的优点:该装置对浮点数的对数运算速度快,没有乘法运算,计算量小,复杂度低,只需查表,判断,移位,加法等简单操作,提高浮点数对数运算结果精确度,且平坦误差值。
附图说明
图1 表示本发明的浮点数的表示法的示意图。
图3 表示本发明的一种误差平坦的浮点数对数运算装置的架构示意图。
图4 表示对数曲线被划分4区间,本发明的浮点数对数运算结果误差曲线与“Low Cost Hardware Implementation of Logarithm Approximation”的浮点数对数运算结果误差曲线进行比较图。
具体实施方式
下面结合附图对本发明的实施例作详细说明。
图2 表示本发明线性线段分区间逼近对数曲线的示意图。如图所示,图中横轴表示浮点数的尾数F的取值,图中纵轴表示Y的取值,图中对数曲线表示。将对数曲线沿y轴方向平均划分n区间。A和B为第i区间的两个端点,B和C为第i+1区间的两个端点。A点坐标值为, B点坐标值为,C点坐标值为。线段AB表示为,。利用线段AB逼近第i区间曲线,。线段BC表示为,。利用线段BC逼近第i+1区间曲线,。Ei为第i区间曲线与线段AB之间的误差值,。Ei+1为第i+1区间曲线与线段BC之间的误差值,。
从式(1)可以看出整个运算过程需要乘法,为了适合嵌入式设备的应用,本发明采用移位和加减法代替乘法功能。将系数值ai分解成由系数值(pi , qi , ri)组成,(pi , qi , ri)为整数,表示为加减运算。式(1)转换为式(2)
最后根据上述的方法,求取每个区间的系数值(p , q , r , b)并存储于存储器。
其中,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;
一反相器6,与组合电路7连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路7,用于接收减法器5输出相减结果Z1、第四加法器44输出结果A4和反相器6的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
为了验证使用本发明的一种误差平坦的浮点数对数运算装置的浮点数对数运算结果误差效果,通过与“Low Cost Hardware Implementation of Logarithm Approximation”的浮点数对数运算结果误差进行比较。如图4所示,图中实线与虚线各有4个波峰,表示对数曲线被划分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个波峰,表示对数曲线被划分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为底的对数运算,该浮点数值表示为 ,其中,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;
一反相器(6),与组合电路(7)连接,用于接收浮点数的符号数S,将浮点数的符号数S取反,输出反相值J;
一组合电路(7),用于接收减法器(5)输出相减结果Z1、第四加法器(44)输出结果A4和反相器(6)的输出反相值J,并且将三者相加,输出该浮点数对数运算结果Y。
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)
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)
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 | 华为技术有限公司 | 对数计算的实现方法及装置 |
-
2011
- 2011-12-22 CN CN201110433754.2A patent/CN102566965B/zh active Active
Patent Citations (3)
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)
Title |
---|
赵海燕等: "对数/指数算法的改进及其VLSI实现", 《计算机工程与应用》 * |
Cited By (6)
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 |