FPGA在数字信号处理系方面的应用.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA在数字信号处理系统方面的应用 1、课题简介 2、课题总体设计思想 3、课题各模块的实现 课题简介 本课题旨在研究用FPGA实现FFT算法,重点设计实现了FFT算法中的蝶形处理单元,并采用高效乘法器算法设计实现了蝶形处理单元中的旋转因子乘法器。 课题的实现方案采用基—2 FFT算法以及单元结构的设计思路,用VHDL语言完成了系统设计描述,中间数据缓存单元采用双口RAM,减少了访问RAM的时钟消耗。在Quartus Ⅱ这一软件环境下,经过编译、综合和下载,给出了仿真测试的结果。理论和仿真分析论证了该方案的有效性,从而证明了用FPGA实现高速数字信号处理的可行性。 课题总体设计思想 FFT处理器的实现框图: 课题总体设计思想 FFT的硬件实现: 对于按时间抽取的FFT,基本的蝶形运算如下: 其中A、B表示输入的复数数据,C、D表示运算结果, 为蝶形系数。可知,基-2 FFT蝶形处理器的实现需要一个复数加法器、一个复数减法器和一个旋转因子乘法器。 课题总体设计思想 蝶形运算单元的实现框图: 这里蝶形运算单元采用Cyclone系列器件进行仿真。其中,操作数A、B、C、D存放在RAM中,旋转因子存放在ROM中。 课题各模块的实现 1、旋转因子乘法器的实现 旋转因子的复数乘法通常由4次实数乘法和6次实数加/减法运算实现,但经过运算的简化,可以只用3次实数乘法和3次实数加/减法运算实现复数乘法器。 高效复数乘法器的具体算法如下所述: 设复数旋转因子乘法R+jI=(X+jY)(C+jS),因为C和S可以预先计算的,并可以储存在一个表中。所以我们可以储存下面的三个系数: C、C+S、C-S 课题各模块的实现 有了这3个预先计算的因子,我们可以首先计算E=X-Y和Z=C*E=C*(X-Y),然后用 R=(C-S)*Y+Z I=(C+S)*X-Z 计算最后的乘积。 这种算法使用了3次乘法、1次加法和2次减法,其代价是多使用了一个表。由以上高效复数乘法器原理,可以设计实现旋转因子复数乘法器。 课题各模块的实现 对应的硬件的输入输出框图如下图所示: 其中,旋转因子乘法器是由3个lpm_mult组件实例和3个lpm_add_sub模块来实现的。 课题各模块的实现 假如有8位二进制输入数据,系数就应该有8位,再加上符号,并且乘以 时,量化成8位,旋转因子就变成了 。我们给定输入值为50+45j,从理论上所计算的结果应为: (50+45j)* =(50+45j)(121+j39)/256 =(4295+j7395)/256=16+j28 由于使用高效乘法器算法计算复数乘法,3个因子分别为: C=12l,C+S=160,C-S=82 课题各模块的实现 输入值为50+45j,旋转因子 时的仿真波形如下图所示: 课题各模块的实现 其中clk 是时钟信号,x_in 和y_in分别是输入数据的实部与虚部,这里输入为50+45j,所以所加输入激励为x_in=50、y_in=45。c_in、cas_in、css_in 就是所计算得出的因子C、C+S、C-S,这里C=121、C+S=160、C-S=82,仿真得到的输出分别为r_out=16、i_out=28。 这和前面理论上算得的输出结果是完全相符的,从而证明了基于高效乘法器所设计的旋转因子复数乘法器的正确性。 课题各模块的实现 2、蝶形运算单元的实现 对应硬件实现的输入输出框图: 其中该运算单元由上面所设计的旋转因子乘法器和Quartus II中的lpm_add_sub模块设计实现。 课题各模块的实现 现在计算一下输入分别为A=20+30j、B=50+45j,旋转因子C+jS=256* =121+j39时蝶形运算理论上得到的计算结果: A+B =(20+30j)+(50+45j)(12l+j39)/256

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档