基于FPGACORDIC算法分析和实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGACORDIC算法分析和实现

基于FPGACORDIC算法分析和实现   摘要:该文分析了CORDIC算法为作为硬件实现基本的运算的方法,实现了开方、正弦、余弦、乘法、除法、正切、反正切,和一些双曲函数的实现。提供了一种基于流线设计的CORDIC算法的实现,在每层流水线上都可实现6种计算,共用一个加法器。减少了硬件内部资源的使用。通过是实现的结果可以看到计算结果在水线级数STAGE+3 个CLK信号后实现了连续的实时计算结果。   关键词:CORDIC;流水线设计;共用;基本运算   中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2013)04-0841-03   The Analysis and Implementation of CORDIC Algorithm Based on FPGA   LIU Wei-liang   (Chongqing University of Posts and Telecommunications, Chongqing 400065, China)   Abstract: This paper analyzed the CORDIC algorithm for hardware implementation of basic operation method, realized the root, sine, cosine, multiplication, division, tangent, inverse tangent, and some hyperbolic function. Provide a method based on pipeline design CORDIC algorithm, each line can be realized 6 kinds of calculation, sharing one adder. Reducing the hardware resource use. Is to achieve the results you can see through calculation results in line series STAGE+3 CLK signal after achieving a continuous real-time calculation results.   Key words: CORDIC; pipeline design; share; basic operations   1 概述   随着现代数字电路中工作频率的不断提高,计算结果要求随时按工作要求实时计算,然而在实际工作中软件语言实现的算法实时性不高,在硬件中计算数据只有加法和位移的操作。因此一种需要资源耗费小,实时性高的算法来实现工作中的基本运算。该文首先分析了CORDIC算法的基本原理,然后分别研究了几种基本运算的实现方法,几种运算的共用,最后进行了仿真和实现结果的分析。   2 CORDIC算法原理   CORDIC[1]是基于坐标旋转的数字计算方法,通过加法,位移和查找表的计算实现开方、正弦、余弦、乘法、除法、正切、反正切,和一些双曲函数。下式用极坐标分别表示了一个直角坐标系中的一个模长为[r],相角为[?]的向量,和此向量旋转[ψ]角后的另一个向量。   [x0=rcos(?)y0=rsin(?)] (1)   [x1=rcos(?+ψ)y1=rsin(?+ψ)] (2)   (2)式经过和差化积公式变换可得(3)式为   [x1=rcos(?)cos(ψ)-rsin(?)sin(ψ)y1=rsin(?)cos(ψ)+rcos(?)sin(ψ)] (3)   联合(1)式和(3)式可知   [x1y1=cos(ψ)-sin(ψ)sin(ψ)cos(ψ)x0y0] (4)   提取公因式[cos(ψ)]后得到   [x1y1=cos(ψ)1-tan(ψ)tan(ψ)1x0y0] (5)   现在假定旋转的角度[ψ]是经过多次旋转得到的,每次旋转的角度为[ψi]=[snarctan(2-n)](n= 0,1,2,……),[sn]={-1,+1}经过这样的假设后[tan(ψ)]变换为2-n,可见经过这样的变换之后乘法运算就变成为位移操作。则(5)式可以变换下式:   [x1y1=(i=0ncos(ψi)1-tan(ψi)tan(ψi)1)x0y0] (6)   上式中[ψi]和[ψ]的关系为[ψ]=[i=0nψi]。将上式分成n次迭代动作完成,则迭代的第i次为:   [xi+1yi+1=cos(ψi)1-tan(ψi)tan(ψi)1xiyi] (7)   又根据[ψi]=[snarctan(2-n)] 可得下

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档