Altera CPLDFPGA轻松入门与开发实例第6章 (6).pptVIP

Altera CPLDFPGA轻松入门与开发实例第6章 (6).ppt

  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文档。上传文档
查看更多
第6章典型数字信号处理算法FPGA设计 本章要点: 坐标旋转数字计算机(CORDIC)的原理与设计; 有限脉冲响应(FIR)数字滤波器的原理与设计; 无限脉冲响应(IIR)数字滤波器的原理与设计; 快速傅立叶变换(FFT)的原理与设计。 6.1 坐标旋转数字式计算机(CORDIC) 坐标旋转数字计算机(Coordinate Rotation Digital Computer,CORDIC)算法可以追溯到1957年由J.Volder发表的一篇文章。在20世纪50年代,在大型实际的计算机中实行移位相加受到了当时技术上的限制,所以使用CORDIC变得非常必要。到了70年代,惠普公司和其他公司生产出手持计算器,许多计算器使用一个内部CORDIC单元来计算所有的三角函数(那时求一个角度的正切值需要延迟大约1s)。 20年代80年代,随着高速度乘法器与带有大存储量的通用处理器的出现,CORDIC算法变得无关紧要了。 然而在21世纪的今天,对于FPGA来说,CORDIC一定是在数字信号处理应用中(例如:多输入多输出(MIMO)、波束形成以及其他自适应系统)计算三角函数的备选技术。 6.1.1 CORDIC算法原理 CORDIC算法包含圆周系统,线性系统,双曲系统三种旋转系统。由于这三种系统的原理以及推导过程相似,本书仅以圆周系统为例。 园坐标系旋转原理 如图6-1所示,在坐标平面内将点旋转角度到点。其关系用下式表示: 6.1.1 CORDIC算法原理 6.1.2 CORDIC算法结构 6.1.2 CORDIC算法结构 6.1.2 CORDIC算法结构 6.1.3 CORDIC算法设计 6.1.4 程序分析及设计 6.2 有限脉冲响应(FIR)数字滤波器 6.2 有限脉冲响应(FIR)数字滤波器 6.2.1 FIR数字滤波器原理 6.2.2 FIR数字滤波器程序设计 6.2.3 程序分析及设计 6.3 无限脉冲响应(IIR)数字滤波器 6.4 快速傅立叶变换(FFT) 6.4.1 FFT算法原理 6.4.2 FFT程序设计 6.4.3 程序分析及设计 机械工业出版社 * 机械工业出版社 Page * 坐标旋转数字式计算机(CORDIC) 6.1 有限脉冲响应(FIR)数字滤波器 6.2 无限脉冲响应(IIR)数字滤波器 6.3 快速傅立叶变换(FFT) 6.4 * 机械工业出版社 Page * * 机械工业出版社 Page * (6-1) 这被称为是平面旋转、向量旋转或者线性(矩阵)代数中 的Givens旋转。上面的方程组同样可写 成矩阵向量形式: (6-2) * 机械工业出版社 Page * 例如一个90度相移为: (6-3) 通过提出因数 ,式(6-1)可写成下面的形式: (6-4) 如果去除项 ,得到伪旋转方程式: (6-5) * 机械工业出版社 Page * (6-4) 实现CORDIC结构可以采用两种基本构架:较为简洁的状态机和高速全流水线处理器。 如果计算时间不严格的话,就可以采用图6-3所示的状态机。在每个周期内都将精确地计算一次(6-7)的迭代。这一设计中最复杂的就是两个筒状移位器。这两个筒状移位器可以由一个单一筒状移位器代替,采用一个图6-4所示的多路转换器或者一个串行(右移或者是左/右)移位器。表6-6给出了采用Xilinx XC3K FPGA实现的不同设计选择之间的比较。 * 机械工业出版社 Page * 图6-3 CORDIC状态机 * 机械工业出版社 Page * 图6-4 降低复杂性的CORDIC状态机 * 机械工业出版社 Page * 在FPGA中可以实现的方式有:循环结构、非循环结构和非循环流水线结构。下面介绍实现CORDIC的循环结构。 1. 循环结构的原理 循环的方式,即所有的迭代均在一个单元内完成。在循环结构中,移位寄存器的实现是一个难点。在非循环的结构中使用的是固定结构的移位寄存器,能使用布线资源来建立。而循环方式的结构要求的是一个可变位数的移位寄存器,每个单元乘 ,表示移位比特。单个的cell单元必须能提供所有的值。这种可变移位寄存器可以使用桶形移位寄存器(barrel shifter)来实现。 2. 移位寄存器的设计 桶形移位寄存器可通过多路复用器来构成。图6-6给出一个4位桶形移位寄存器的例子。 * 机械工业出版社 Page * 以向量化模式中的圆周CORDIC为例: 第一次迭代旋转,向量分别从第二或者第三象限旋转到第一或者第四象限。移位序列是0,0,1和2。前4个步骤的旋转角度是: , 。可以执行8位数据的 VHDL程序代码为6-1-1: * 机械工业出版社 Page * (6-4) 顾名思义,FIR滤波器由有限个采样值组成,将卷积的数量

文档评论(0)

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

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

1亿VIP精品文档

相关文档