MATLAB实现快速傅里叶变换的原理和基本代码
- 格式:docx
- 大小:257.39 KB
- 文档页数:4
MATLAB实现快速傅里叶变换的原理和基本代码
作者:头铁的小甘
快速傅里叶变换原理
在分析和处理信号时,一般需要将信号时域转换到频域空间表示,这样可以清楚知道信号的频率成分分布,也便于对其进行信息提取,滤波、去噪等操作。由于计算复杂和繁琐,一般采取计算机进行计算和处理,为了提高计算速率,快速傅里叶变换应运而生,大大减少计算机的乘法操作,因此大幅度减少计算时间。快速傅里叶变化的主要原理采用蝶形运算进行表示,如下图所示
N=8需三级蝶形运算N=23=8,由此可知,N=2M共需M级蝶形运算,而且每级都由N/2个蝶形运算组成,每个蝶形运算需要一次复乘和两次复加。这就是快速傅里叶变换算法的简单原理。
时域——频域对应
在进行快速傅里叶时,数据的时域和频域怎样对应起来是一个重要的方面。基本原理如下
模拟数据进行采样成离散时间,便于计算机操作,采样满足奈奎斯特定理,所以采样间隔就是1/fs,fs是采样频率。对于频域来说:总长应该是采样频率,步长应该为fs/n,n是数据样本的数据长度。对应原理图如下所示
Matlab快速傅里叶变换基本代码
结果显示
按照三角函数的傅里叶变换,图中可以看到幅频特性应该是在f=100Hz是呈现狄拉克函数(冲激函数),数据点越多越满足结果。