参考:https://www.youtube.com/watch?v=XQ45IgG6rJ4
就像棱镜可以把可见光分解为不同波长的光一样,FT 做的事情就是把复杂的声波转为不同频率的声波
FT 可以把时域信息转为频域信息
以下是对于 FT 的一些 intuition-level 的理解:
1.FT 会把原始信号跟不同频率的一系列正弦波对比
2.对于每一个正弦波频率,我们会得到一个标量 和 一个相位
3.高标量意味着 原始信号 和 正弦波 之间有高的相似性
接下来油管主开始展示代码了,这里的代码细节就不说了,我们说点有用的理论知识
如下,是使用 FFT 对钢琴声波处理后得到的频谱,最低频率的声波大约是 523 hz,后续的山峰的频率都是 523 hz 的倍数
所以,这个 523 hz 的频率的波就是基波,其它的是 二次谐波、三次谐波。。。
复习一下正弦波公式:
信号处理中,经常使用相似性来判断两个信号的相似程度。
傅里叶变换也会通过这种手段来寻找基波
关于相似性:把信号和正弦波的各采用点相乘在加起来,正值和正值相乘,负值和负值相乘,这样结果越大,就越相似
下图黄波就是相乘结果,它之所以小,是因为下图中的信号和构造正弦波的值都小于 1
从直觉的角度来解释傅里叶变换:
1.选择一个频率,构造正弦波
2.使用这个正弦波和信号计算相似性,选个最优的相位
3.计算标量
以下是使用数学形式展示的傅里叶变换
TODO: 这里有个意义不明的公式,只知道这是选取最大相位之后,计算的相似性的标量
关于如何重建一个信号,其实就是把正确相位、正确振幅的整数倍频率的正弦波们叠加起来
需要注意的是:频谱和原始信号具有相同的信息
从频谱回到原始信号的过程叫做 IFT,逆傅里叶变换