CORDIC算法的优化及硬件实现

合集下载

Cordic算法说明与实现设计(word文档良心出品)

Cordic算法说明与实现设计(word文档良心出品)

Cordic 算法说明———— 王聪颖假设调制信号为()m t ,则其经FM 调制后的表达式为:0()cos(())tc f S t t K md ωττ=+⎰ 式(1)其中c ω为载波信号,f K 为常量。

因此,()m t 构成了()S t 信号的部分相位分量,而FM 解调过程就是将()m t 从()S t 的相位中提取出来,这里就可以通过Cordic 算法计算出()S t 信号的相位。

一、算法介绍在本次设计中,为了实现FM 的解调,主要对比了三种算法的实现方法:查表法和Cordic 算法的两种不同实现方法。

下面一一进行介绍:1)查表法:此方法其依据是当[0,/4]θπ∈时,tan [0,1]θ∈且单调递增,这样就可以在[0,/4]θπ∈内建立一个tan θ与θ相对应的表,根据tan θ计算出当前的相位值,同时,利用三角函数关系,将[0,2]π分成大小为/4π的8个部分,并将它们映射至[0,/4]π内从而准确求解。

2)Cordic 算法:其核心是笛卡尔坐标平面旋转,即在xy 坐标平面上将点11(,)x y 旋转θ角度到点22(,)x y 的标准方法如下所示:211211cos sin sin cos x x y y x y θθθθ=-⎫⎬=+⎭式(2)图1 平面坐标旋转示意图将式(2)中的cos θ提取出来,在增加一角度累加方程,即可得到Cordic 算法方程组。

(1)()()(1)()()(1)()()tan tan i i i j i i i j i i i j x x d y y y d y z z d θθθ+++⎫=-⎪=+⎬⎪=-⎭式(3) 在式(3)中,j d 的值为1或-1。

在这里出现两种方法实现Cordic 算法以求的相位:1)取02*45i θ-=,2)取t a n 2iθ-=。

第一种方式暂且称为Cordic 角度法,第二种方式我们暂且称之为Cordic 正切法。

二、算法的比较及实现三种通过计算相位来进行FM解调的算法有其不同的特点:查表法:其思路简单,只需要利用输入的正弦和余弦值求得其映射在0~45度间的正切值,然后进行查表最终获得相位值。

兔绵放因子CORDIC算法改进及FPGA实现

兔绵放因子CORDIC算法改进及FPGA实现
钟 频率 可 达 1 O 0 0 M H z 。
关键字: 算法改进; C O R D I C ; 免 缩放 因子; m o d e 1 S i m ; m a t 1 a b
中图法 分 类号 : T N 9 9 文 献标 识 码 : A
I mp r o v e d s c a l i n g - f r e e CORDI C r o t a t o r a l g o r i t h m a n d
摘要 : 本设计对免缩放 因子 C O R D I C 算法进一步改进 , 改进 包括进一步减少迭代次数和减少双步 C O R D I C
算法 中区间折叠模块输 出调整方式。将改进后的算法与免缩放 因子单步算法和免缩放 因子双步算法相
结合 , 给 出一种 正 余 弦 波形 产 生 的 架构 。用 V e r i 1 o g编 写 R T L级 实现 改进 后 的 架构 代 码 , 仿 真 输 出与 M a t 1 a b 数据对比, 其 中正 余 弦误 差都 集 中在 2 % 以 下 。在 A I t e r a E P 2 C 7 0 F 8 9 C 6芯 片上做 F P G A验 证 , 时
Ma t l a b da t a c o mpa r i s o n. wh i c h re a c o s i n e e r r o r s a r e c o nc e n t r a t e d i n 2 % o r l e s s . Ah e r a EP2C7 0F8 9 C6 c hi p FPGA v e r i f i c a t i o n , t he c l o c k f r e q ue nc y up t o 1 0 00 MHz . Ke y wor ds : Al g o it r h m I mp r o v e me n t ; CORDI C; S c a l i ng -f r e e ; Mo de l s i m; Ma t l a b

CORDIC算法的优化及实现

CORDIC算法的优化及实现

CORDIC算法的优化及实现
刘小宁;谢宜壮;陈禾;闫雯;陈冬
【期刊名称】《北京理工大学学报》
【年(卷),期】2015(35)11
【摘要】为提高坐标旋转数字计算(CORDIC)算法的精度并降低硬件资源消耗,对CORDIC算法收敛性以及旋转序列的选取进行了研究.针对圆周系统下CORDIC算法的角度覆盖范围、硬件资源和运算精度等问题提出了进一步的优化措施.利用经过优化后的CORDIC算法,在FPGA中实现了流水线结构的正余弦函数和反正切函数,并把运算精度与硬件资源消耗与Xilinx IP核进行了比较.比较结果表明该优化算法在提高运算精度的同时能够有效降低硬件资源消耗.
【总页数】7页(P1164-1170)
【关键词】CORDIC算法;三角函数;精度;硬件资源;FPGA
【作者】刘小宁;谢宜壮;陈禾;闫雯;陈冬
【作者单位】北京理工大学信息与电子学院
【正文语种】中文
【中图分类】TN47
【相关文献】
1.单浮点cordic算法的FPGA实现及其在导航算法中的应用 [J], 高延滨;阙兴涛;彭浩
2.基于CORDIC算法在现场可编程门阵列中正余弦运算的优化实现 [J], 张笛;雷海
3.一种CORDIC算法优化及32位浮点反正切函数FPGA实现 [J], 鲍宜鹏
4.CORDIC算法的优化及硬件实现 [J], 梁杰;孙未
5.CORDIC算法的优化及其硬件实现 [J], 肖顺文;陈亚军;戚淮兵
因版权原因,仅展示原文概要,查看原文内容请购买。

CORDIC算法研究及其硬件实现

CORDIC算法研究及其硬件实现



结 构 电路 见 图 3 由图 3可 以看 出 ,O D C算法 通 过 。 CR I 采 用 流水 线结 构 , 把每 一次 的迭代 过 程进 行 展开 , 高 提 了运 行速 度 ,明显 地 简化 了硬 件 架构 。在 流水线 架 构
中, 每一 级 的移位 器移 位宽 度 固定 , 位器 可 简化 至 只 移
Xlk i i i i i- ・ ・ + yd2 = Y =i M ii 。‘ d2 () 5 () 6
从而逼近所需旋转 的角度选取 固定旋转角度恰好使得 计算只有移位和相加 因此使乘法在硬件上得到很好 的
实现。
1 算法原理及 改进
在 直角 坐标 系 中 ,设 一个 矢 量 A 的坐标 为 ( ,) xY ,
2 1 年( 3 卷) 4 00 第 9 第 期
信 . 技术 电
O R O D l C算法研 究及其硬件实现
丁 晓红 - ,
(. 1 西北师范大学 数信学 院, 甘肃 兰州 70 7;. 3002 甘肃政法学院 计算机科 学学 院 , 甘肃 兰州 707 ) 300 摘 要:O DC算法可 以通过迭代方法完成矢量旋 转 , 而完成三角 函数的运算 。 C RI 从 扩展 的 C R I O DC算法在选 择不 同模 式和
: 兰 竺
f 多路选掸器拄捌
需 连 线 即可 ,简 化 了系统 设计 ,增加 了系统 的运 行 速
度; 同时 ,O IC算法采用流水线架构 以后 , C RD 每一步的 角度判断都并行计算 , 对于每一级计算过程而言 , 所用 到的角度数值是一个常数 。显著地增加硬件的最大时
=CS ( + ・ 2 ) O y d ・ 0
其 中 ,= d l时为逆 时针 旋转 ,=一1时为顺 时针 旋 转 。 d 若

cordic算法及其FPGA硬件实现 毕业论文

cordic算法及其FPGA硬件实现 毕业论文
Key words:cordic algorithm; FPGA; Coordinate rotation algorithm; Binary search method; pipeline architecture
第一
1.1 CORDIC
1.1.1 CORDIC
CORDIC(Coordinate Rotational Digital Computer-坐标旋转数字计算机)算法最早由J.Volder等人于1959年在美国航空控制系统的设计中提出,他的基本思想是:通过坐标轴旋转得出一个二维的函数关系式,对初始角度进行数值线性逼近,把初始角度的旋转转化成一系列基本角度逐次旋转完成,然后运用递推原理,得出一组递推公式,把每次递推得到的角度加进去,转换成一组三维的函数关系式,进一步推导,最终用圆周模型、线性模型、双曲线模型实现了加减乘除、三角函数、双曲线三角函数、平方根,指数、对数等函数的运算。20年后,随着VLSI的产生和迅速发展,CORDIC算法开始被重视,并得到了广泛的应用。原始算法描述的是二维的旋转,它被应用于数字信号处理(如:傅里叶变换、数字滤波器)、计算机图像处理和机器人技术等领域。
由于CORDIC算法本身具有众多的优点,目前,已经应用于很多领域,例如:8087数学协处理器、HP-35计算器、天气预报、雷达信号处理、三维图像处理、嵌入式系统以及移动通信、数控振荡器、数字下变频器及数字鉴别器等;此外,它还应用于许多数字信号处理问题,如:快速傅里叶变换、离散余弦变换、小波变换、数字滤波器、离散Hartley以及求解线性系统。Altera公司和Xilinx公司13还推出了CORDIC算法实现的IP核,可以按照实际需求直接调用。
在数字信号处理中,高速高精度的三角函数发生器有着广泛的应用,在通常情况下,计算三角函数、反三角函数、双曲线函数和其它超越函数有效的方法有:ROM查找表法、多项式近似法(主要是利用泰勒级数近似)、CORDIC法。

基于改进的cordic算法的fft复乘及其fpga实现

基于改进的cordic算法的fft复乘及其fpga实现

基于改进的cordic算法的fft复乘及其fpga实现本文首先介绍了基于改进的CORDIC算法的FFT复乘,包括FFT实现原理、CORDIC算法及其改进,随后给出了FPGA实现的硬件设计,最后给出的实验结果表明,基于改进的CORDIC算法的FFT复乘比传统的FFT复乘具有更高的时间效率及API设计的可靠性。

FFT(快速傅立叶变换)是数字信号处理的重要技术之一,通过其可实现频域的高效分析和归一化处理。

由于FFT的实现涉及到复乘,故若传统的乘法循环结构存在计算量大、时钟周期较长等问题,就将很大限制了整个病毒研究的效率。

CORDIC(乘算除等式微动计算)算法是基于矢量图模型的计算算法,可通过移位和加减实现因数变换,且计算量少、操作步骤少等优点,可有效地减少FFT复乘操作所需要的时钟周期。

本文通过对CORDIC算法的改进,克服了传统的CORDIC算法存在的精度偏差、收敛速度等问题,研究出基于改进的CORDIC算法的FFT复乘算法,其能有效地实现快速的数字滤波等复杂数字信号处理应用。

硬件设计方面,本文采用FPGA实现基于改进的CORDIC算法的FFT复乘。

首先,我们设计了硬件结构,有助于加快FFT复乘的效率;其次,采用了宽带非线性校正单元,以抑制图像复杂性;最后,运用了流水线技术,解决了数据处理上的弊端。

通过实验结果表明,本文提出的基于改进的CORDIC算法的FFT复乘的设计要比传统的FFT复乘的设计具有更高的时间效率及FPGA设计的可靠性。

总之,本文发表了基于改进的CORDIC算法的FFT复乘及其FPGA实现,经过实验,能有效地简化设计过程,提高系统复杂度低、节省空间,提高时间效率。

针对正弦余弦计算的CORDIC算法优化及其FPGA实现

针对正弦余弦计算的CORDIC算法优化及其FPGA实现
3.学位论文周柱基于CORDIC算法的直接频率合成技术的研究和应用2005
直接数字频率合成器是现代频率合成的主要工具,它有频率分辨率高,频率转化快等众多优点。这种器件被广泛应用于众多领域。
在CORDIC算法中,对数据的操作只有移位和加/减,易于用硬件实现的。而且CORDIC算法也容易流水线实现,可以在计算系统中的高速进行。
本文链接:/Thesis_Y1325245.aspx
授权使用:武汉大学(whdx),授权号:a42506fa-e993-4c54-b65b-9e4501376a91
下载时间:2010年12月7日
对于Jacobi算法的硬件实现,论文经过分析总结提出了两种大的结构:串行计算机构和并行计算结构。串行计算结构又根据具体计算过程的不同分成了两种方法,一种方法是先寻找矩阵非对角元素的最大元,然后对其相应的行列进行Jacobi旋转;另一种方法是通过遍历的方法来对矩阵的行列依次进行Jacobi旋转。并行计算结构是一种阵列型的结构,它由对角线处理单元和非对角线处理单元通过一定的连接组成,每个处理单元处理四个矩阵元素,在一次处理后跟相邻的单元进行数据交换进行新的一次计算。
2.会议论文肖顺文.陈亚军CORDIC算法的优化设计及其FPGA实现2007
针对采用流水结构实现CORDIC算法存在的不足,从旋转角度范围、旋转角度精度的调整、模校正因子的分解三个方面进行了详细的分析,并给出了相应的优化和改进措施;实现了CORDIC算法的全流水结构,并用CORDIC算法实现信号发生器加以验证。
设计以Altera CycloneⅡ EP2C35F672C8为目标器件,对算法的实现电路进行功能和时序仿真。仿真结果表明,算法电路有较高的转换精度和较高的运算速度,其中坐标转换模块的时钟频率达到130MHz,信号处理模块的时钟频率达到140MHz。最后,在FPGA硬件平台上对数字图像旋转引擎进行了整体验证。图像的输入信号取自 PC机的 VGA信号接口,处理后的图像输出液晶显示器的VGA信号接口。验证的结果显示,数字图像旋转引擎所处理的图像清晰稳定,能设定旋转角度、旋转方向和缩放比例,实现自如流畅的动态画面旋转和缩放。

cordic算法原理与实现

cordic算法原理与实现

CORDIC算法原理与实现引言概述在计算机科学和数学领域,CORDIC(Coordinate Rotation Digital Computer)算法是一种用于计算旋转和坐标转换的迭代算法。

由Jack E. Volder于1959年提出,CORDIC算法以其高效、简单的特性在数字信号处理、图形学和通信等领域得到了广泛应用。

本文将深入探讨CORDIC算法的原理和实现,揭示其在现代计算中的重要性。

正文内容1. CORDIC算法的基本原理1.1 旋转向量的基本概念CORDIC算法的核心思想是通过迭代旋转一个向量,使其逐步趋近于目标向量。

这里,向量旋转可以通过一系列坐标变换和旋转操作来完成。

在CORDIC中,旋转角度通常是一个固定的、预先设定的角度,如45度或30度。

1.2 坐标旋转的迭代过程CORDIC算法通过一系列迭代步骤,逐渐调整向量的坐标,使其最终趋近于目标向量。

每一步迭代都包括一个旋转和坐标调整操作,通过这种方式,算法能够在有限次迭代后收敛到所需的结果。

1.3 旋转因子的选择与优化CORDIC算法中,旋转因子的选择对算法的性能有着重要影响。

通过合理选择旋转因子,可以使得迭代过程更快速、更精确。

优化旋转因子的选择是CORDIC算法在不同应用中取得高性能的关键。

1.4 旋转模式与运算精度CORDIC算法支持不同的旋转模式,包括旋转、缩放和坐标转换等。

在应用中,需要根据具体问题选择合适的旋转模式。

此外,算法的运算精度也受到迭代次数的影响,需要权衡计算速度和精度。

1.5 硬件实现与软件实现CORDIC算法可以通过硬件电路实现,也可以通过软件编程实现。

硬件实现通常能够提供更高的运算速度,而软件实现更加灵活,适用于不同的计算平台。

选择合适的实现方式取决于具体应用的要求和硬件资源的可用性。

2. CORDIC算法的应用领域2.1 数字信号处理在数字信号处理领域,CORDIC算法常被用于计算旋转和相位调制等操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CORDIC算法的优化及硬件实现
【摘要】本文介绍了CORDIC算法的基本原理并分析了其优化的方法,在QUARTUS9.0平台上基本实现了其功能,有效的降低了资源的消耗并提升了工作频率。

【关键词】CORDIC优化;FPGA;仿真
CORDIC算法全称为坐标旋转数字计算机,它是由J.V older于1959年提出,cordic的运用大大降低了常用函数如sin,cos,sinh,cosh等在硬件上实现的难度,它主要是将复杂的函数在硬件上通过加减和移位运算递归计算出函数值,由于以上特性使得这一算法特变适合在FPGA上实现。

1.CORDIC算法基本原理
CORDIC算法主要是在一个平面上某一向量(x1,y1)经过旋转角后得到新的向量(x2,y2),如图1所示。

根据变换规则二者有如下关系:
2.传统CORDIC算法的局限性及优化
CORDIC算法在FPGA中主要通过流水线来实现,通常要将提前算出作为的输入预先存储到ROM中,随着流水线级数的增加ROM表的容量成指数增长增加了系统的资源消耗,CORDIC每次运算都要经过多次迭代随着迭代次数的增加计算速度受到很大的影响,一个结果往往要经过多个时钟周期才能得到,此外传统的CORDIC算法的角度范围受到很大的约束,旋转的最大的角度范围为-99.88≤≤99.88无法达到0≤≤360必须对输入的角度预先进行处理才能使其达到收敛针对以上情况采取优化反正切函数表来减少迭代次数,简化校正因子等可以解决资源和速度的缺陷,对于角度的收敛问题采用分象限法如表1。

对于一个15级流水线可以通过以上的方法减少到12次迭代减少了3级流水线,并且减少了ROM的使用量提高了运行效率。

3.CORDIC算法硬件的实现
由于CORDIC算法主要通过加减以及移位来实现,说以特别适合在FPGA 上实现,在这里我采用Altera公司的Cyclon2器件组中的EP2C5Q208C8整个实现过程都是在Quartus9.0中完成图2为系统的整体架构。

当接收完六个字节数据后开始进行优化CORDIC算法迭代运算流程图如图3所示。

4.CORDIC算法的硬件仿真
以16位的算法为例在00到3600的四个象限分别取一个值进行仿真角度用无符号的十六bit二进制表示结果用十六位的补码表示,最高位表示符号位具体结果如表2。

5.结束语
在Quartus9.0环境中成功实现了CORDIC算法,有效降低了硬件资源的消耗,优化后的CORDIC算法的精度达到了10-5数量级。

当前实时处理系统的数据量不断加大,这就要求我们不断提高系统的性能但性能的不断提高往往是硬件资源的不断扩充,如何在当前的硬件资源下实现更高的性能这是我们不断探索的,与其紧密相关各种算法的优化成为解决这一困境难题的不二选择。

参考文献
[1]甘露,吴国纲,徐政五,等.改进型MVR-CORDIC算法研究[J].电子科技大学学报,2004,33(5):489-491.
[2]金学哲.直接数字频率合成器及其FPGA实现[D].天津:南开大学,2002.
[3]龚耀寰,李航,苟仲文.基于CORDIC的无开方GIVENS旋转处理方法[J].电子科技大学学报,1997,26(6):565-569.
[4]鞠建波,别庆,杜爱国.基于CORDIC算法的ODDS的FPGA实现及精度分析[J].电视技术,2007,47(1):112-116.
[8]胡国荣,孙允恭.CORDIC算法及其应用[J].信号处理,1991,12(5):229-242.。

相关文档
最新文档