快速傅里叶变换(FFTS)
本章描述了执行快速傅里叶变换(FFTs)的函数。库中包含了radix-2例程(长度为2的幂)和混合基数例程(长度不限)。为了提高效率,对于真实数据和复杂数据,有不同版本的例程。混合基数例程是对Paul Swarztrauber的FFTPACK库的重新实现。FFTPACK的Fortran代码在Netlib上是可用的(FFTPACK也包括一些用于正弦和余弦变换的例程,但这些例程目前在GSL中不可用)。有关底层算法的详细信息和派生,请参阅文档“GSL FFT算法”(参见参考资料和进一步阅读)。
16.1 数学定义
快速傅里叶变换是计算离散傅里叶变换(DFT)的有效算法,

当函数在空间或时间上以离散间隔采样时,DFT通常是连续傅里叶变换的近似值。离散傅立叶变换的简单评估是矩阵向量乘积Wz。
一般的矩阵向量乘法对n个数据点进行O(n2)次运算。快速傅里叶变换算法使用分治策略将矩阵W分解成更小的子矩阵,这些子矩阵对应于长度n的整数因子。如果n可以分解成整数积f1f2…fm,然后在O(nfi)运算中计算DFT。对于基数为2 的FFT,运算次数为O(nlog2 n)。
基于相同的数学定义,所有FFT函数都提供三种类型的转换:正向、逆向和反向。反向傅里叶变换x = FFT(z)的定义是,

本文介绍了快速傅里叶变换(FFT)的基本概念,包括其在离散信号处理中的重要性,算法原理,以及GSL库中提供的各种FFT函数,如基数-2和混合基数例程,复数FFT的细节和数据布局。特别强调了正向、逆向和反向变换的区别,以及实际应用中的数据组织和频率映射。
最低0.47元/天 解锁文章
680

被折叠的 条评论
为什么被折叠?



