FFT IP核的简明使用教程

本文是一篇关于FFT IP核使用的教程,涵盖了信号处理基础知识,FFT IP核的配置,使用方法以及调试结果分析。通过实例展示了如何在Altera FPGA上配置和使用FFT IP核,以及如何解析和理解FFT输出的频谱信息。
摘要由CSDN通过智能技术生成

想必学过信号的同学都知道“时域”和“频域”是信号的基本性质,也是分析信号的两个重要方式。(注:本文指的信号均为一维信号,二维信号一般泛指图像信号)
信号的时域信息,即我们使用示波器采集信号时,在示波器界面上显示的信号的波形。但信号的频域信息往往隐藏其中,我们不能直接观察信号的频域信息。此时我们需要采集一段时域信号,并对其做傅里叶变换即可得到信号的频域数据。
因此接下来,一休哥将带领大家来学习FFT IP核的使用。
本文将分四个小部分来展开介绍:
1、回顾信号处理相关知识
2、FFT IP核的配置
3、FFT IP核的使用
4、FFT IP核的调试结果分析
本文涉及到的全部资料链接:
链接:http://pan.baidu.com/s/1mi1HLkG 密码:fxmt

1 回顾信号处理相关知识

在介绍FFT IP核之前呢,在这里我们需要了解一些信号处理知识,梳理清楚一些概念问题。
①什么是信号处理?
从信号的连续性角度来说,信号处理分连续信号处理和离散信号处理。但是,连续信号处理只是在理论上存在着的,在实际的工程项目中,我们往往接触到的是离散信号处理。为什么这么说呢,这是因为我们想要处理信号,首先就要得到信号,而得到信号的方式就是使用ADC。ADC的作用就是将模拟信号转换为数字信号,而数字信号也就是离散信号。因为,事实上,我们做工程的时候,用到的往往是离散信号处理,而连续信号处理在理论分析与仿真上用的很多。
②傅里叶变换与FFT的区别
耳熟能详的,大家都知道傅里叶变换,它的作用就是实现信号的时频域转换。而信号分连续和离散,所以对离散信号做傅里叶变换,则是离散傅里叶变换,简称DFT(Discrete Fourier Transform)。由于DFT的运算量非常大,所以为了简化操作,就出现了一种高效的算法,即快速傅里叶变换(FFT——Fast Fourier Transform)。
③使用FFT的准备工作——ADC的若干性质
在对信号进行FFT处理之前,通常我们会使用ADC模块对信号进行一段时间的采样。采样频率与ADC芯片的性能有很大关系,ADC芯片的最小转换速率近似等于信号的最大采样频率。事实上,ADC芯片分为串行和并行两种,并行ADC芯片的转换速率比串行ADC芯片大,而我们进行信号采样时,我们所用的采样频率要小于转换速率的90%,所以在进行高速信号处理时,我们一般选用并行ADC芯片。当然,并行ADC芯片很适合做高速处理,但是由于其价格昂贵,精度一般较低等缺点,我们在选择ADC芯片的时候,需要从转换速率、数据精度和价格之间来做权衡。
最大转换速率:ADC芯片更新一次有效输出数据的最短时间。
数据精度:ADC芯片输出数据的位宽。

2 FFT IP核的配置

好了,说了这么多,该来的干货总算是来了。下面,我们将时间交给FFT。
本次实验,一休哥选用的是锆石科技推出的Altera系列经典开发板——A4。
实验平台为:Quartus II 13.1
FPGA芯片:EP4CE10F17C8
首先,我们打开Quartus II 13.1软件,点击MegaWizard Plug-In Manager,搜索FFT,选择后进入FFT核设置界面。如下图所示。
这里写图片描述
我们将在“Step1:Parameterize”中设置FFT核的相关参数,由于一休哥暂时没有计划介绍FFT的仿真,所以选择不设置Step2部分,但是也不影响大家对FFT IP核的理解和运用。
①点击“Step1:Parameterize”,进入FFT IP核的参数配置。从下图中我们可以看到,转换长度(Transform Length)为1024个点,数据输入精度(Data Input Precision)为10bits。设置旋转因子精度(Twiddle Precision)时,我们一般让它与数据输入精度一样即可,为10bits。
2.png
②设置FFT核的输入/输出数据流的方式为Streaming模式。
FFT的IP核提供4种运算结构,以方便用户根据运算速度及硬件资源情况进行选择使用。按运算速度从高到低(相对的,资源占用从多到少)的顺序排列为Streaming、Variable Streaming、Buffered Burst、Burst。其中Variable Streaming可以处理浮点型数据,Burst与Buffered Burst采用的蝶形运算单元更少,为了节约资源而牺牲了处理速度。
3.png
③设置FFT核的结构,选择“4 Mults/2 Adders”来实现复数乘法运算。(Mults为乘法器,Adders为加法器。)。选择“DSP Blocks/Logic Cells”(DSP块/逻辑资源)来实现乘法运算。
4.png
④经过上述三个步骤的配置后,Step1就结束了,由于我们不弄仿真,所以允许一休哥我跳过Step2,直接点击“Step3:Generate”。至此,我们就算成功配置完了FFT IP核了。
5.png
⑤在生成FFT IP核的界面中我们可以看到IP核所有的引脚。

  • 23
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值