如何通俗的理解傅立叶变换?
让我们从比较容易懂的解释开始吧。
1666年牛顿发现太阳光经三棱镜的折射后可呈现彩色光,称为光的色散现象:
先说一个物理常识,光是一种波,而光的颜色由振幅和频率所决定。
所以色散实际上是,白色的光波被分解为七色光波(实际应该是无数种颜色的光波):
七色光波可以用正弦波
(其中
是振幅,
可以表示频率)来近似。因此上面实际就是傅立叶级数(下面只是傅立叶级数的非常不准确的近似,为了帮助理解简化成了这样子,让我心中充满了罪恶感,后面会给出严格定义):
雨过天晴,有时就会看见彩虹:
雨后空气中的水分就好像无数的三菱镜,把太阳光拆成了彩色。正是大自然中的色散现象。
这大概是我们在自然界中最容易观察到的傅立叶级数。
在自然界中这个故事还有续集,我们继续讲下去。
德国化学家罗伯特·威廉·本生(1811一1899),发明了本生灯:
本生灯除了温度高外,还有一个显著特点,如果合理的控制燃料的成分和喷射压力,可以让火焰没有颜色。
偶然的情况下,本生撒了把盐(氯化钠)到灯的火焰上:
本来无色的火焰变成了黄色:
这实际上就是盐中的钠燃烧的颜色。
不同的化学元素燃烧的时候会有不同的颜色,复合物质的燃烧颜色会由它的成分的燃烧颜色来合成决定。
因此,如果我们想检测某个物质的成分,就可以把它点燃,然后对它的光进行傅立叶级数分解,就可以得到组成成分。
从这个意义上来说,万物皆可进行傅立叶级数分解,这也是它的发现者约瑟夫·傅里叶男爵(1768 -1830)所坚信的(实际上是有一定限制的,这个就比较数学了,可以查看傅立叶的收敛定理)。
好了,直观解释讲完了,其实也没有什么卵用。
就好像“听过很多道理,依然过不好这一生”。
我们需要更深入的理解,才能陪傅立叶好好过完这一生。
我迫不及待的要给出傅立叶级数的严格形式,以弥补我之前的近似。
假设,
为周期为
的函数,并且满足傅立叶级数的收敛条件,那么可以写作傅立叶级数:
其中:
2.1 欧拉公式
根据欧拉公式:
我们可以推出:
根据上式,我们可以写出傅立叶级数的另外一种形式:
其中:
看到复数也不要怕,根据我之前的文章如何通俗易懂地解释欧拉公式,我们看到类似于
这种就应该想到旋转:
从这角度来看,傅立叶级数:
实际上就是说,曲线可以理解为无数旋转的叠加,这怎么理解呢?
2.2 火星的轨迹曲线
比如这是地球上观察到的火星运行的轨迹(图片来源):
我们可以通过两个圆周运动的叠加来模拟出这个曲线(图片来源):
其实这就是地心说,感兴趣可以看下我的这篇文章。
通过这种圆环套圆环的做法,可以模拟各种复杂的图形,比如可以画出辛普森来:
视频出处。
2.3 旋转的傅立叶
所以,傅立叶级数实际上就是把
看作是圆周运动的组合。
只是
是不断变大的,而不是绕着圆变换的,所以就画出了函数曲线:
不断增大的
就好像是时间流逝,永不回头,所以我们也称为“时域”。
时域是现实存在的,频域却是生造的了,理解起来更加抽象。
但,敲黑板了,频域是傅立叶级数(变换)更本质的内容。
把傅立叶级数(变换)视作圆周运动的组合,是比较粗浅的看法,是买椟还珠的作法。
而把傅立叶级数(变换)看作频域,等于直接把它绑上了线性代数的战车,把它从固定在发射井中的常规核武器变成了游走不定、更具威力的核潜艇、核卫星。
3.1 线性代数
线代的最基本的研究对象就是向量,带箭头的一根直线:
线代的基本操作就是把向量分解为基的合成:
即:
这么做的好处很多,比如物理中,分析各个方向上的受力,然后进行合成:
比如,如果
,我们就可以知道,
上的分量更重要,
方向上的分量可以丢掉。(关于这个内容可以参看我写的如何通俗的理解奇异值)。
线性代数还有很多好处,你在使用傅立叶级数的时候就会感受到。
3.2 傅立叶级数的基
傅立叶级数(变换)本身是线性的(这个就是比较抽象的线性了),因此我们可以把线性代数在傅立叶级数上进行推广。
让我们先找到傅立叶级数的基是什么。
为了说明方便,假设
的周期
,那么有:
其中,以下无穷集合:
是无限维向量空间中的一组基,而且还是正交单位基。
可是,函数为什么可以做基啊?怎么有无限个基啊?无限维向量空间又是什么啊?这个,咱们这里就不展开了,如果确实想知道,这里有你需要的一切:傅立叶分析专题。
3.3 傅立叶级数向量
可以写作:
因为
是基,所以可把
表示为一个向量:
这个向量其实就是傅立叶级数的向量。
因为基
实际上反映了周期运动的频率,我们以频率为基,所以这样看待傅立叶级数的方式就是“频域”。
3.4 频谱图
对于:
我们用
来描点作图,就得到频谱图。
下面是一个周期矩形波的频谱图:
图片出处。
3.5 应用
3.5.1 图像压缩
我写的如何通俗的理解奇异值中,里面就说过图像压缩的问题。
傅立叶级数通过同样的原理也可以做图像压缩,比如JPG就是用傅立叶进行图片压缩的。
原理可以大概这么理解,哪些基上的坐标值特别小,就可以丢掉,这样就可以压缩图像。
这就是把函数分解到正交基上的好处,我们可以用线性代数中的知识直接去处理。
信号处理中还有不少类似的分解,比如小波变换。所以掌握数学思想尤为重要。
3.5.2 模式识别
类似的图像,通过傅立叶变换,转换到频域之后看起来确实比较类似,比如下面这幅图,A的频域看起来就挺像,而A、B、C、D之间看起来就不太一样:
图片出处。
我们人眼观察图片的方法对计算机并不适用,似乎对于计算机而言,频域更能揭示“特征”。
傅立叶级数是基于周期函数的,如果我们把周期推广到
,那么也就变为了非周期函数,这就是傅立叶变换。
两者的频谱图对比,可以看到傅立叶变换的频谱图是连续的(上面是周期函数的傅立叶级数分解,下面是非周期函数的傅立叶变换):
图片出处。
最后,我在找资料的时候,发现了一个可以完成傅立叶级数的机械装置,非常好玩:
视频出处。