网站大量收购独家精品文档,联系QQ:2885784924

xilinxSpartan6DFT设计笔记.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xilinxSpartan6DFT设计笔记

xilinx Spartan 6 DFT 设计笔记 系统工作环境: 芯片为:xilinx Spartan 6 软件:ise 12.2 目标:对采集到的时间序列做DFT 或者FFT 作者:calm_yi QQ :429665786 刚开始学习 FPGA ,很多东西都没有成型,而且是自学的,没有老师,交流 甚少!期待你的意见与交流!如果有经验的大神发现我的设计中有致命的错误, 请告诉我,感激不尽!(包括语言风格、设计风格、还有思想、整体的架构)^_^ 一、 设计说明 最初的思路是对采集的数据做FFT ,因为FFT 快,存储空间小啊,而且xilinx ISE 中自带了FFT 的IP 核,自己调用就行了,当时感觉挺美的,但是在设计中 过程中发现FFT 的致命伤,至少是对我来说,因为FFT 是基于基2 算法的,只 能对序列长度为2 的幂的序列做变换,如只能对长度为2 、4、16、……1024 序 列进行FFT 变换,但是设计中不能保证序列长度就是2 的幂啊!!! 尴尬!!!!! 为什么这么说呢,举个例子,要对一个3Hz 的方波做FFT ,采样率为15Hz , 那么你采集6 秒钟,也就是采集了90 个点吧!这时你会尴尬的发现他不是2 的 幂啊,那么怎么解决这个问题呢! 第一:为什么不采集128 个点啊,非要采集90 个点呢,这个问题我也想过,为 什么不啊,原因:在采集中,要对信号进行整周期采样,否则会发生频谱泄露, 比如采集了2.5 周期的信号,频谱就会泄露了,有matlab 做的实验结果为证。 采样的对象:x=3*sin(2*pi*t) 非整周期采样 整周期采样 第二:对信号进行整周期采样,比如还是3Hz 的方波,采集90 个点,这时, 对其做128 个点的DFT ,90 个点怎么做呢,补零。(90 个点+38 个零),但是因 为对序列进行了补零的操作,频谱结构是不会发生变化的,但是能量会损失。也 就是说计算出来的频率对应的幅值是不对的,有一定的衰减。有 matlab 实验结 果为证。 补零的结果 没有补零的结果 鱼与熊掌,整周与补零,两者不可兼得啊!!!!!! 补零、整周、补零、整周、补零、整周、补零、整周、补零、整周、补零、 整周、哎,放弃!!!!!!!! 在没有办法好偷懒的情况下,把目光转向了DFT ,查看了xilinxDFT 的IP 核, 发现其只能最高对18 位的数据进行DFT 的计算,而我们的AD 为24 位,在对 精度要求苛刻的设计中,不可行啊,pass !!!! 毛主席说:自力更生!!!!!!自己写吧! 二、 DFT 的理论基础 IDFT 的公式: N /2 N /2 x[i ] ReX [k ]cos(2ki / N ) Im X [k ]sin(2ki / N ) 0 k  N 1 k 0 k 0 其中: Re X [k ] Re X [k ] N / 2 Im X [k ] Im X [k ] N / 2 DFT 为: N 1 N 1 X [k ] x (i )cos(2ki / N )  j x (i )sin(2ki / N ) 0 n  N 1 i 0 i 0 其中: N 1 Re X [k ] x (i )cos(2ki / N ) i 0 N 1 Im X [k ]  x (i )sin(2ki / N )  i 0

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档