SeeSharp入门培养日记 2-FFT与拉格朗日和高斯有密切关系

32 篇文章 0 订阅
5 篇文章 0 订阅

FFT是什么

前天小A问,什么是FFT。 我当时没空,让他查Fast Fourier Transform Wiki。 但我觉得这个是数字信号处理最有用的算法,应该写下来。

个人感受

我个人认为FFT即快速傅里叶变换是频谱分析的核心算法,这个频谱分析告诉我们时域信号(幅度随时间变化的曲线)是由哪些频率组成的,每个频率组分的大小如何。
下面是wikipedia的图片,将红色时域波形分解为若干蓝色正弦波,正弦波频率幅度投射到频域,就看到频谱了。
在这里插入图片描述
https://en.wikipedia.org/wiki/Fourier_transform#History

频谱分析的步骤如下:

  1. 加窗函数,消除时域非周期性对傅里叶变换的影响
  2. 快速傅里叶变换,或(离散)傅里叶变换,将时域信号转换到频域(幅度对频率的曲线)
  3. 物理单位转换,得到你想要的纵坐标读数,比如:电压幅度,功率等等

比如,你采集了空中的无线电信号,里面混合了各个电台的播音,通过频谱分析, 你就可以看到87.9MHz、103.7MHz等等频率点上面有信号,信号大小多少,占用频率宽度多少。 频谱分析是数字信号处理最常用的算法,可能没有之一。

加窗

傅里叶变换假设被处理的信号是周期重复的,才可以数学上分解为均匀间隔的频率分量。 但是实际信号不一定是周期重复,也就是说,如果将被分析的时域波形拷贝一份放在第一份的后面,第一个点和最后一个点波形不连续,这样就是一个断点。这个断点会将傅里叶变换的频谱底部噪声虚假地抬高。 所以我们要加窗。窗函数是一个和被分析时域波形一样长的波形,两头接近零,这样和时域波形点积后就强制头尾连续了。 这样的代价是频率分量会被稍微展宽。

快速傅里叶变换

当变换数据点长度是某些特别数字时,有快速算法。 比如长度是2的整数次方的,就像1024, 4096,可以加快很多。 实际上任何合数长度都有快速算法。

历史

傅里叶变换不是傅里叶一个人发明的。
傅里叶 1822年阐明了时域波形可以由无限多谐波叠加得到。
但是古巴比伦人、希腊人都运用类似概念表述天体位置。拉格朗日(Louis Lagrange)对离散傅里叶变换有关键贡献。 1770年他提出了现代离散傅里叶变换算法的雏形。
https://en.wikipedia.org/wiki/Fourier_analysis#History

傅里叶变换的wiki太理论化,推荐看历史部分:
https://en.wikipedia.org/wiki/Fourier_transform#History

而快速傅里叶变换源自高斯1805年未发表的工作:
https://en.wikipedia.org/wiki/Fast_Fourier_transform#History
而现代FFT算法来自 1965年发表的工作。

延伸阅读

加窗都是用人名命名的,这又是一部近代数字信号处理历史大片, 强烈建议大家去看看。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值