CN103809931A - 一种专用高速浮点指数运算器的设计 - Google Patents

一种专用高速浮点指数运算器的设计 Download PDF

Info

Publication number
CN103809931A
CN103809931A CN201210438502.3A CN201210438502A CN103809931A CN 103809931 A CN103809931 A CN 103809931A CN 201210438502 A CN201210438502 A CN 201210438502A CN 103809931 A CN103809931 A CN 103809931A
Authority
CN
China
Prior art keywords
floating
point
exp
design
index
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.)
Pending
Application number
CN201210438502.3A
Other languages
English (en)
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.)
XI'AN YUANSHUO SCIENCE & TECHNOLOGY Co Ltd
Original Assignee
XI'AN YUANSHUO SCIENCE & TECHNOLOGY Co Ltd
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 XI'AN YUANSHUO SCIENCE & TECHNOLOGY Co Ltd filed Critical XI'AN YUANSHUO SCIENCE & TECHNOLOGY Co Ltd
Priority to CN201210438502.3A priority Critical patent/CN103809931A/zh
Publication of CN103809931A publication Critical patent/CN103809931A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种专用高速浮点指数运算器的设计,用来求解自然对数函数。浮点数x被分解为多个组成部分加和的形式:,然后分别求解出,则。其中,中的m值可直接转化为计算结果的阶数,可通过不同方式的查表方法得出,采用泰勒公式近似求解,则最终求解出自然对数。该方法设计合理,计算速度快,精度能够满足卫星导航解算中的粒子滤波器精度要求,是一种专门用于卫星导航解算中的粒子滤波器的专用浮点指数运算器。

Description

一种专用高速浮点指数运算器的设计
技术领域
本发明属于数字信号处理领域,尤其涉及粒子滤波的高速解算。 
背景技术
浮点指数运算在信号处理等诸多领域有着十分重要的应用,也是粒子滤波算法中的关键运算之一。粒子滤波算法在处理各种非线性问题中,较其它的线性处理方法,具有先天的独特优势,为各种非线性数字信号处理问题提供了良好的解决途径。但是,粒子滤波具有先天的缺陷,其运算量大,需要的存储空间大、实时性差,这些特点限制了粒子滤波的广泛应用。为了实现粒子滤波的实际工程应用,克服其不良特性,增强其使用性,需要对粒子滤波的进行专门的设计,形成粒子滤波专用数字信号处理器件。其中,浮点指数运算是粒子滤波算法中最耗运算资源的一种运算,也是计算次数频繁的一种运算。设计专用的浮点指数运算器件,能够大大提高粒子滤波器件的解算速度,是优化粒子滤波器的关键器件之一。本发明专利就是针对粒子滤波算法的特点,采用改良查表方法,实现了一种适合于粒子滤波器的专用高速速浮点指数运算器。 
发明内容
本发明旨在解决粒子滤波中的自然指数函数运算速度问题。本发明根据卫星导航系统中的粒子滤波算法的特点,设计卫星导航粒子滤波器专用的浮点指数运算器。一般处理器的浮点指数运算器不具有专用性,所以计算速度比较慢。该指数运算器根据卫星导航粒子滤波器所处理数据的特点,保证在适用范围内的解算精度的前提下,实现快速浮点指数解算。 
本发明基于FPGA平台设计,采用Table-driven算法,利用查表和级数展开方法相结合,将浮点指数运算分解为基本的浮点加法、乘法运算,整数加、乘运算,取整、取余运算等基本模块,利用浮点乘法器、取整运算器、浮点转换器、模32取余、浮点减法、定点减法器进行运算。首先确定指数浮点指数运算的符号位,该符号位为正。然后确定指数浮点数阶数,用整数表示。最后确定浮点数的尾数部分。 
双精度浮点数的表示如下表所示: 
s e f
63 62    ……    52 51    ……    0
s:符号位,s为1时表示负数,s为0时表示正数; 
e:阶数,取值范围为[1,2046],0和2047表示特殊值; 
f:尾数,由52位构成,0.5≤f<1。 
双精度浮点数的值表示如下式:(-1)s2(e-1023)×f。 
本发明依据如下算法原理进行设计: 
假设输入的双精度浮点数为x,则x可表示为如下形式: 
x = ( 32 &times; m - j ) &times; 1 n 2 32 + r - - - ( 1 )
其中m,j为整数;r为实数,且0<r<1n2/32。 
计算m,j和r这3个参数过程如下: 
N=round(X*C1) 
j=32–N mod 32 
m=(N–j)/32+1 
r=(N+1)*C2-X 
其中,C1=32/1n2;C2=1n2/32为常数;round表示取整运算;mod表示取余运算,令
Figure BDA00002362467600022
可通过查表计算。 
可以将r表示为如下的形式: 
r=ra+rb,rb=r-ra,|rb|<2-12,ra可以取下面列表中的值: 
43×2-5 42×2-5 41×2-5 40×2-5 39×2-5 38×2-5 37×2-5 36×2-5
35×2-5 34×2-5 33×2-5 32×2-5 31×2-5 30×2-5 29×2-5 28×2-5
27×2-5 26×2-5 25×2-5 24×2-5 23×2-5 22×2-5 21×2-5 20×2-5
19×2-5 18×2-5 17×2-5 16×2-5 15×2-5 14×2-5 13×2-5 12×2-5
11×2-5 10×2-5 9×2-5 8×2-5 7×2-5 6×2-5 5×2-5 4×2-5
3×2-5 2×2-5 1×2-5          
上述表中的数值生成方法如下:提取ra所表示的二进制纯小数部分的第0~10位6位二进制数。上表中列出了所有可能的取值。通过6位译码器将其中的第5~10位转换为整数,即可得到1~43的整数,通过该整数检索下表,即可得到exp(ra)的值: 
Figure BDA00002362467600023
则x的指数运算为: 
exp ( x ) = exp ( m 1 n 2 - j 32 1 n 2 + r a + r b ) - - - ( 2 )
= 2 m &times; 2 - j 32 &times; exp ( r a ) &times; exp ( r b )
对于exp(rb)可用泰勒级数近似为: 
exp ( r b ) = 1 + r b + 1 2 ! r b 2 + &CenterDot; &CenterDot; &CenterDot; + 1 N ! r b n &ap; r b
所以计算浮点指数可按照如下公式进行计算: 
exp ( x ) = exp ( m 1 n 2 - j 32 1 n 2 + r a + r b )
= 2 m &times; 2 - j 32 &times; exp ( r a ) &times; ( 1 + r b )
本发明的特点是对自然指数函数计算过程中的阶数计算采用最大取整方法进行计算。所谓最大取整方法是,对计算自然指数函数所输入的浮点数x,取x/1n2+1作为计算结果的实际阶数,然后通过该实际阶数加偏移量转换为浮点数的阶数。由于采用最大取整的方法,致使式(1)中
Figure BDA00002362467600034
所以结果不需要进行规格化处理,就可以得到规格化的浮点数。 
本发明的特点是通过对(2)式中的
Figure BDA00002362467600035
进行查表方式进行计算。查表方法不用计算,直接进行检索,运算速度快。 
本发明的特点是在式(2)中将式(1)中的r分解为ra和rb两个部分。其中ra具有如下特性:ra×32的结果为0到43,所可以通过查表的方法,计算出exp(ra)的值。 
本发明的特点是使用了并行结构设计,并行结构详见说明书附图及附图说明。 
本发明与现有的技术相比具有以下的优点: 
计算精度适合应用要求。计算精度能够满足卫星导航定位解算过程中的粒子滤波器的精度要求。在输入浮点数为10以内的数据时,计算的自然指数函数的值的精度可以达到9位十进制有效数字。 
计算速度快。通过使用FPGA的查表方法,以及合理的并行结构设计,简化了解算的步骤,加快了计算速度。 
实用价值高。通过使用该专用快速浮点指数计算器,能够大大的提高粒子滤波器的计算速度,提高粒子滤波器的实用价值和计算性能。 
综上所述,本发明设计简单合理、性能优越、用途广泛,是解决粒子滤波器设计的关键器件。 
附图说明
图1为本发明的整体设计原理图。1-1表示浮点指数运算的指数,为双精度浮点数,1-2表示浮点指数符号位,1-3表示浮点指数的阶数,1-4表示浮点指数的尾数。1-5为浮点指数运算的结果,为双精度浮点数。 
图2为求取过程量j,m,r。2-1表示求X*C1;2-2表示N取整;2-3浮点转换是指将2-2得到的结果转换为二进制整型表示形式;2-4对2-3的结果进行模32,然后求余数;2-5求出过程量m;2-6表示求(N+1)*C2;2-7表示求解(N+1)*C2-X。 
图3表示最后结算过程。3-1表示
Figure BDA00002362467600041
3-2表示
Figure BDA00002362467600042
3-3表示(1+rb)。 
具体实施方式
如图2所示,将浮点指数的指数x与常量C1相乘,然后对乘积进行取整操作得到N值;将取整的结果N转化为二进制整型形式,然后通过移位操作,去掉前五位,剩下的部分即表示取余的结果。用32减去取余的结果,即得到j的值。用上面求得的N值减去j,再加上1,便可以得到m的值。用N+1的值乘以常数C2,再减去x便得到r。则三个中间变量的求解全部完成。 
将r的尾数部分的第7位及后面的位全部清零,即得到ra。将r的尾数部分的第6位及前面的位全部清零,即得到rb。取r的二进制表示的尾数部分的前6位,转化为二进制数整数,用该整数进行查表,即可得到exp(ra)的值。将rb的尾数右移一位,然后将其最高位置为1,即可得到1+rb。 
用j的值进行查表,可得到
Figure BDA00002362467600043
的值。然后用
Figure BDA00002362467600044
乘以exp(ra)再乘以1+rb的值,将得到的双精度浮点数的尾数值作为最终计算结果的尾数值。将求解的中间量m加1023个偏移量得出最终计算结果的阶数。符号位s等于0。 
以上所述,仅是本发明的较佳实施例,并非对本发明做任何限制,凡是根据本发明实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明的保护范围。 

Claims (4)

1.一种专用高速浮点指数运算器的设计,包括:浮点乘法器1-1,取整运算器1-2,浮点转换器1-3,模32取余1-4,浮点乘法器1-5,浮点减法1-6,定点减法器1-7; 先用浮点乘法器1-1将指数和常数(32/ln2)相乘,用取整运算器1-2将乘积结果进行取整运算,然后将取整运算得到的浮点数通过1-3转换为整数表示的形式;将模取余的结果和模取余前的结果输入到定点减法器1-7中,求得浮点指数的阶数,将模取余的结果作为查表的索引;将取整运算器1-2的结果与常量(ln2/32)相乘,将其与浮点指数输入到浮点减法器1-6作减法运算,得出指数的余量r。
2.按照权利1要求所述一种专用高速浮点指数运算器的设计,其特征在于:用浮点乘法器1-1、取整运算器1-2、模32取余1-4等器件,求得查表索引,利用查表索引加快运算速度。
3.按照权利1要求所述一种专用高速浮点指数运算器的设计,其特征在于:用浮点乘法器1-1、取整运算器1-2、浮点转换器1-3、浮点减法1-6等器件,直接生成浮点指数的阶数项。
4.一种专用高速浮点指数运算器的设计,其特征在于对于指数余量r,将其分解为两部分,一部分用6位译码器直接得到查询偏移量进行查表。
CN201210438502.3A 2012-11-06 2012-11-06 一种专用高速浮点指数运算器的设计 Pending CN103809931A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210438502.3A CN103809931A (zh) 2012-11-06 2012-11-06 一种专用高速浮点指数运算器的设计

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210438502.3A CN103809931A (zh) 2012-11-06 2012-11-06 一种专用高速浮点指数运算器的设计

Publications (1)

Publication Number Publication Date
CN103809931A true CN103809931A (zh) 2014-05-21

Family

ID=50706772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210438502.3A Pending CN103809931A (zh) 2012-11-06 2012-11-06 一种专用高速浮点指数运算器的设计

Country Status (1)

Country Link
CN (1) CN103809931A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106787789A (zh) * 2016-11-10 2017-05-31 易事特集团股份有限公司 太阳能电池阵列模拟器输出电网外环控制中的输出电压外环计算方法和装置
CN111245683A (zh) * 2020-01-10 2020-06-05 成都优博创通信技术股份有限公司 一种rssi信号强度值的计算方法和装置
WO2021136259A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 浮点数乘法计算的方法、装置和算术逻辑单元
CN113296732A (zh) * 2020-06-16 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法和装置,处理器及数据搜索方法和装置
CN117492693A (zh) * 2024-01-03 2024-02-02 沐曦集成电路(上海)有限公司 一种用于滤波器的浮点数据处理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141670A (en) * 1997-09-30 2000-10-31 Intel Corporation Apparatus and method useful for evaluating periodic functions
CN101630243A (zh) * 2009-08-14 2010-01-20 西北工业大学 超越函数装置以及用该装置实现超越函数的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141670A (en) * 1997-09-30 2000-10-31 Intel Corporation Apparatus and method useful for evaluating periodic functions
CN101630243A (zh) * 2009-08-14 2010-01-20 西北工业大学 超越函数装置以及用该装置实现超越函数的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER C. DOSS ET AL: "FPGA-Based Implementation of a Robust IEEE-754 Exponential Unit", 《12TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES,2004》 *
李丽斯等: "浮点指数函数的设计与实现", 《微电子学》 *
谢跃雷等: "粒子滤波算法中浮点指数函数的FPGA设计实现", 《现代电子技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106787789A (zh) * 2016-11-10 2017-05-31 易事特集团股份有限公司 太阳能电池阵列模拟器输出电网外环控制中的输出电压外环计算方法和装置
CN106787789B (zh) * 2016-11-10 2019-04-02 易事特集团股份有限公司 太阳能电池阵列模拟器输出电网外环控制中的输出电压外环计算方法和装置
WO2021136259A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 浮点数乘法计算的方法、装置和算术逻辑单元
CN111245683A (zh) * 2020-01-10 2020-06-05 成都优博创通信技术股份有限公司 一种rssi信号强度值的计算方法和装置
CN113296732A (zh) * 2020-06-16 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法和装置,处理器及数据搜索方法和装置
CN113296732B (zh) * 2020-06-16 2024-03-01 阿里巴巴集团控股有限公司 数据处理方法和装置,处理器及数据搜索方法和装置
CN117492693A (zh) * 2024-01-03 2024-02-02 沐曦集成电路(上海)有限公司 一种用于滤波器的浮点数据处理系统
CN117492693B (zh) * 2024-01-03 2024-03-22 沐曦集成电路(上海)有限公司 一种用于滤波器的浮点数据处理系统

Similar Documents

Publication Publication Date Title
CN102722352B (zh) 一种Booth乘法器
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
CN106990937A (zh) 一种浮点数处理装置
CN103176767B (zh) 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN108021537A (zh) 一种基于硬件平台的softmax实现方式
CN107305484B (zh) 一种非线性函数运算装置及方法
CN105354006A (zh) 一种非线性函数的快速运算装置及其方法
CN103809931A (zh) 一种专用高速浮点指数运算器的设计
CN102073472B (zh) 一种三角函数cordic迭代运算协处理器及运算处理方法
CN109739470B (zh) 一种基于2型双曲cordic任意指数函数的计算系统
CN103677738A (zh) 基于混合模式cordic算法的低延时基本超越函数实现方法及装置
EP3447634A1 (en) Non-linear function computing device and method
CN106951211A (zh) 一种可重构定浮点通用乘法器
CN100583024C (zh) 一种用于浮点除法和平方根运算的预处理电路结构
CN108196822A (zh) 一种双精度浮点开方运算的方法及系统
CN112486455A (zh) 一种基于cordic方法求复数的n次开根号的硬件计算系统及其计算方法
CN104133656A (zh) 一种尾码采用移位和减法运算的浮点数除法器及运算方法
CN110187866B (zh) 一种基于双曲cordic的对数乘法计算系统及方法
CN111984226B (zh) 一种基于双曲cordic的立方根求解装置及求解方法
CN104375800A (zh) 一种嵌入式系统的浮点除法运算方法、系统和嵌入式系统
CN104536720B (zh) 基于fpga的待测角三角函数值的测算方法及系统
CN104636114B (zh) 一种浮点数乘法的舍入方法及装置
CN103176948A (zh) 一种低成本的单精度初等函数运算加速器
CN110837624B (zh) 一种针对sigmoid函数的近似计算装置
CN104699452A (zh) 一种素域gf(p)下实现位宽可变的模乘法器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
CB03 Change of inventor or designer information

Inventor after: Liu Xiaoxing

Inventor after: Jiang Xiaobo

Inventor before: Zheng Xiaming

Inventor before: Liang Shuyi

COR Change of bibliographic data
TA01 Transfer of patent application right

Effective date of registration: 20151223

Address after: 710075 rose building, science and technology road, hi tech Zone, Shaanxi, Xi'an, 2203

Applicant after: Xi'an law and Information Technology Co., Ltd.

Address before: 710077 Shaanxi city of Xi'an province high tech Zone Jinye Road No. 69 business R & D Park C District No. 1 gazelle Valley E room 503

Applicant before: XI'AN YUANSHUO SCIENCE & TECHNOLOGY CO., LTD.

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140521

WD01 Invention patent application deemed withdrawn after publication