一、实验目的:
1.掌握 FFT 的算法基本原理和 C 语言的编程方法;
2.掌握采样速率、FFT 点数与频谱分析之间的关系;
3.掌握DSP中FFT的设计和编程思想;
二、实验设备:
计算机,实验箱
三、实验原理:
1、本实验结合之前的 ADC 实验,将信号源输出的信号先进行 AD 转换,然后再
进行 FFT。
2、 离散傅立叶变换(DFT)的定义:将时域的采样变换成频域的周期性离散函
数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立
叶变换,简称 DFT。
3、 FFT 是 DFT 的一种快速算法,将 DFT 的 N2 次运算量减少为
次,极大的提高了运算的速度。
4、
,称为蝶形因子式旋转因子。
5、 FFT 算法
对于旋转因子来说,有如下的对称性和周期性:
对称性:
周期性:
FFT 就是利用了旋转因子的对称性和周期性来减少运算量的。
FFT 算法将长序列的 DFT 分解为短序列的 DFT。N 点的 DFT 先分解为两
个 N/2 点的 DFT,每个 N/2 点的 DFT 又分解为两个 N/4 点的 DFT 等等,最小变
换的点数即基数,基数为 2 的 FFT 算法的最小变换是 2 点 DFT。
一般而言,FFT 算法分为时间抽选(DIT)FFT 和频率抽选(DIF)FFT 两大类。
时间抽取 FFT 算法的特点是每一级处理都是在时域里把输入序列依次按奇/偶一
分为二分解成较短的序列;频率抽取 FFT 算法的特点是在频域里把序列依次按
奇/偶一分为二分解成较短的序列来计算。
DIT 和 DIF 两种 FFT 算法的区别是旋转因子
出现的位置不同,DIT FFT
中旋转因子
在输入端,DIF FFT 中旋转因子
在输出端,除此之外,两种算