法律状态公告日
法律状态信息
法律状态
2018-08-03
未缴年费专利权终止 IPC(主分类):G06F7/556 授权公告日:20170322 终止日期:20170718 申请日:20140718
专利权的终止
2017-03-22
授权
授权
2014-11-12
实质审查的生效 IPC(主分类):G06F7/556 申请日:20140718
实质审查的生效
2014-10-15
公开
公开
技术领域
本发明涉及一种应用FPGA定点化技术实现指数CORDIC算法收敛域 扩张的方法。
背景技术
指数函数和对数函数在超声检测、无线通信、图像信号处理等领域应用 非常广泛,用较低的硬件代价实现快速高精度的指、对数函数运算电路变得 非常重要。目前在硬件实现指数/对数函数求值的方法主要有查表法、泰勒展 开式法、查表相加法、基于查找表的多项式逼近和坐标旋转数字计算 (Coordinate Rotation Digital Computer,CORDIC)算法等。CORDIC算法由于 硬件实现简单而备受关注,它是1959年由Volder J提出,通过一系列固定 与运算基数有关角度不断偏摆迭代以逼近所需旋转角度,由简单加法、移位 操作即可完成三角函数、指数函数、对数函数等超越函数的计算。1971年 Walther J D把旋转模式、向量模式和线性模式统一成标准CORDIC迭代方 程,并根据旋转角度分为圆周系统和双曲系统。指数函数就是在双曲系统下 采用旋转模式实现的。
为实现指数函数的CORDIC算法,国内外开展很多有益研究,主要从 指数CORDIC算法实现机理、算法改进思路、算法收敛域扩张等进行研究, 但大多文献只给出了指数CORDIC算法的仿真实现及理论探索,对硬件实 现很少作详细讨论,更没有涉及FPGA实现技巧的研究。为此,本发明针对 指数函数CORDIC算法在FPGA实现的技巧问题,研究FPGA定点化技术 实现收敛域扩张的方法,在FPGA实现指数函数CORDIC算法。
发明内容
为解决上述技术问题,本发明的目的是提供一种应用FPGA定点化技术 实现指数函数CORDIC算法收敛域扩张的方法,该方法降低结构复杂度、 节省系统资源、收敛域范围宽和计算精度高。
本发明目的通过以下技术方案来实现:
1、一种应用FPGA定点化技术实现指数CORDIC算法收敛域扩张的方 法,包括:
A由双曲系统CORDIC算法推导收敛域内指数函数CORDIC算法;
B采用区间压缩方法实现指数函数CORDIC算法的收敛域扩张;
C应用定点化技术在FPGA实现指数函数CORDIC算法收敛域扩张。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:算法 只用两条数据链,即对角度zi与坐标xi进行迭代,能有效节省1/3硬件资源, 提高算法实时性;应用定点化技术在FPGA实现收敛域扩张方法,其求解方 法巧妙,只需使用两个乘法器,避免除法器的使用;采用15级流水线结构, 用FPGA实现双曲系统CORDIC算法来求解指数函数,运算结果相对误差 达到了10-4,满足实际工程精度要求。本指数CORDIC算法在超声相控TCG (Time Complement Gain)应用具有有重要的实际意义。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本 发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是应用FPGA定点化技术实现指数CORDIC算法收敛域扩张的方 法流程图;
图2是双曲函数坐标旋转模型;
图3是整数Q和小数θ定点化值求解原理框架图;
图4是双曲系统CORDIC算法求解指数函数流水线结构图;
图5是FPGA实现双曲系统CORDIC算法指数函数部分流水线电路图;
图6是CORDIC算法指数函数在Modelsim的仿真图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本 领域的一般技术人员可以提出本发明的多个结构方式和制作方法。因此以下 具体实施方式以及附图仅是本发明的技术方案的具体说明,而不应当视为本 发明的全部或者视为本发明技术方案的限定或限制。
下面结合实施例及附图对本发明作进一步详细的描述。
图1是应用FPGA定点化技术实现指数CORDIC算法收敛域扩张的方 法流程图,该方法包括:
步骤10由双曲系统CORDIC算法推导指数函数CORDIC算法,实现步 骤如下:
图2为双曲函数坐标旋转模型图,图中θ为射线OVn、双曲线和x轴围 成面积的2倍,为射线OV1、双曲线和x轴围成面积的2倍,分别对应阴影 部分面积的2倍,双曲线x2-y2=C上点V1(x1,y1)沿着上半轴曲线移动到点 Vn(xn,yn),可表示为:
矩阵形式表示为
将θ分解成一系列基本角度(实际上是面积)之和,为简化计 算,令微旋转角度满足条件θi=di·tanh-12-i,di为旋转方向,由每次迭代之后 剩下角度的极性决定,则式(2)可转化为式(3)。
其中,K为校模因子
当C=0时,双曲线x2-y2=C最终退化为直线x=±y,若暂不考虑K,则 迭代递推关系为:
由于式(5)只用到加法、乘法非常适合FPGA实现。
为满足迭代序列收敛,迭代序列i的取值从第4项开始,每个3k+1(k∈ Z+)项必须重复一次,即i=1,2,3,4,4,5,…,13,13,…
经过n次旋转后,有
若取初值x1=y1=1/K,zin=θ,则有:
xn+1=yn+1=coshzin+sinhzin=eθ (7)
步骤20采用区间压缩方法实现指数函数CORDIC算法的收敛域扩张, 实现方法如下:
为了保证迭代序列收敛,双曲系统的CORDIC算法的收敛范围为
由于zin的范围较小,实际应用意义不大。为扩大指数函数收敛域(输入 值范围),必须对输入值zin作预处理。
令zin=Qln2+θ,其中Q∈Z,|θ|<ln2=0.6931,使θ处于算法收敛域内, 由此可得:
若整数Q能确定,则2Q可通过左移或右移|Q|位实现,可把的计 算等效转化为eθ的计算,通过区间压缩方法实现指数函数CORDIC算法的收 敛域扩张。
步骤30应用定点化技术在FPGA实现指数函数CORDIC算法收敛域 扩张,实现步骤如下:
(1)整数Q值和小数θ值定点化值的求解
令
Q=[zin/ln2]
R=zin%ln2
θ=R/ln2
其中Q表示zin与ln2相除得到商的整数部分,R表示zin与ln2相除得到 的余数部分,θ表示R与ln2相除得到的商。
则有
通常FPGA实现定点数运算,故在FPGA求解Q、θ过程中,必须对式 (10)进行定点化,即乘以2n放大,再对结果右移n位实现除法恢复到原始值。
本算法扩大65536(216)倍实现定点化,把除法运算转换成乘法运算,实 现定点化运算,有利于硬件实现,这时有:
由于可以分解为整数Q和小数θ两部分,故式(11)可转化为:
图3为整数Q和小数θ定点化值求解原理框架图。
①定点化求解整数Q值
假设输入值zin∈[-27,27),对zin定点化后(扩大216倍)取整,用[zin·216]表 示,其位宽为24bit;对定点化后(扩大216倍)取整,用[zin·216·216/ln2]表 示,其位宽为42bit。表1为对应的二进制数位宽表,用H10表示bit[41:32] 共10bit,为整数部分,用L32表示bit[31:0]共32bit,为小数部分,则H10即 为Q整数部分。
表1
[zin·216·216/ln2]对应二进制数位宽表
②求解小数θ定点化值
根据式(12)与表1可以得出定点化小数部分为其中L16表 示L32的高16位bit[31:16],则216·θ=ln2·L16。由于ln2为浮点数,必须进行 定点化(扩大216倍),得216·216·θ=ln2·216·L16≈45426·L16,[45426·L16]位宽为 32bit。表2为对应的二进制数位宽表,用H17表示bit[32:16]共17bit,右移 16位可得216·θ=H17,即H17为θ小数部分的定点化值。
表2
[45426·L16]对应二进制数位宽表
在FPGA实现上只需两个乘法器,即可实现整数Q和小数θ定点化值求 解,实现定点化区间压缩,达到收敛域扩张的效果。
(2)采用流水线结构在FPGA定点化实现
图4为双曲系统CORDIC算法求解指数函数流水线结构图,图5为FPGA 实现双曲系统CORDIC算法指数函数部分流水线电路图。由于坐标xn、yn的初值与迭代模式相同,可以合成一个迭代通道,省掉坐标yn的迭代过程, 这时式(5)可以转化为式(13),只需用到两条数据链,即对角度zi与坐标xi进 行迭代,这种方式在硬件实现上可以节省约1/3硬件资源,大大提高了FPGA 处理算法的实时性。
图6为CORDIC算法指数函数在Modelsim的仿真图。采用15级流水 线CORDIC算法结构,输入定点化参数[zin·216],其中zin∈[-8,8]。图中斜线 为输入zin值,曲线为对应的指数函数值输出,垂直的线为光标线,此时光标 位置对应的输入值1,输出值为e1≈2.71823,与理论值2.71828相比,相对 误差为
表3列出了收敛域zin∈[-8,8]部分输入值的运算结果,可以看出,当输 入值zin<0时,其绝对误差很小,达到10-4,当输入值zin>0时,其相对误差 很小,达到10-4。
表3
收敛域zin∈[-8,8]部分输入值的FPGA运算结果
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本 发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内 的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的 形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所 附的权利要求书所界定的范围为准。
机译: 一种表达技术,它是一种清晰的空间重现方法,该方法将人的视觉和幻觉应用到人的视觉上,并在边界周围留有清晰的空间,将人的视觉和错觉附加到边界上,可以现实地表达立体效果,并在其空间上留出一定的余量仿真空间及其制造方法
机译: “财产识别方法”(“ PIM”)是一种新颖的算法,通过该算法,可以通过对文件(如市议会/房屋价格通知)进行图像处理来创建房地产管理局和/或产权转让数据。本发明建立了一种独特的算法,该算法结合了诸如深度学习分段和计算机视觉之类的技术来解码属性信息。该应用程序利用以某种方式配置的计算机实现的技术,以使运输商和房地产经纪人能够自动创建客户端文件。
机译: 计算机实现了用于提供测试设计和测试指令数据的方法,用于对不同速率或应用模式的不同速率或应用模式的植物指数对植被指数的比较试验的比较试验。