你每天听的音乐、看的图片,都离不开这个公式。这张图里大大的公式就是傅里叶变换(Fourier Transform),有了它,你才能每天听MP3音乐,在网上看大量五颜六色的图片,甚至降噪耳机也是根据它的原理来制造的。它是如何做到的呢?下面我们就来详细说一说。
傅里叶变换之所以这么强大,是因为它有种特殊的能力,能让数学家快速理解不同信号中所包含的频率信息。别小看这种能力,它至关重要。不光我一个人这么认为,就连物理学家开尔文勋爵也在1867年表达过自己对这个数学方程不朽的爱。
傅里叶变换,看名字就能猜到,它是由数学家傅里叶(全名让·巴普蒂斯·约瑟夫·傅里叶)发明的,并于1822年发表在他的著作《热的解析理论》上。傅里叶对热量如何流入材料并围绕材料环流的过程很感兴趣,在研究上述现象时,他得到了这个变换公式。那时,傅里叶并没意识到他做出的贡献到底有多么重要,这一贡献并不只针对数学和物理学领域,而是整个自然科学、工程和技术领域。
他最主要的突破在于发现,复杂信号可以表示成一系列简单信号的简单加和,这些简单信号就是正弦曲线。在钢琴上同时敲击三个琴键发出一个和弦,你制造出三个不同的音调,它们都各自稳定的频率,波形看起来就如同美丽的正弦波一样。但是将这些正弦波叠加在一起后,乐音的波形通常都会看起来很凌乱。
傅里叶灵光一现,意识到不管最终的波形多么复杂,但它总是能表示成若干个(或无穷个)正弦函数的组合。对我来说,这个发现真正的天才之处在于,如果你能算出最终的波形是由哪些正弦波加和而成的,那么你也就很清楚地知道了这些正弦波的频率和数量,也就是说,你就能得到信号的准确频谱了。
这就是傅里叶变换公式的作用。x(t)是你试图想简化的巨大复杂的信号,e^(—jπ2ft) 看起来让人有些恐惧,但事实上这指的是正弦曲线。将这两部分乘在一起,再把整体进行积分,这样就能使方程逐一将每一个需要用来表示复杂的信号的正弦波函数挑选出来。所以,这个方程的结果X(f),给出了信号可以分解为的每一个正弦函数的振幅和时间延迟信息。
这就是傅里叶变换:它可以将原始信号分解为许多简单正弦波,并把这些正弦波都表达清楚。这听起来没什么用,事实上并非如此。
你在工作时可能需要网络来上传、下载或传送音频文件,传送的是什么样的音频呢?你当然可以选择传送唱片公司最初录制出的原始音频,只是如果那样,需要传送的文件会非常大,因为这些文件是“完整”的、无损的:录制时记录下的所有频率都被保存了下来,混合在一起得到了最终的音轨。但如果将一小段音轨进行傅里叶变换,你就会发现这些音轨中的一些频率占了绝对的主导地位,而剩下的频率则几乎没有记录。
MP3文件格式恰好就利用了这点——它将几乎察觉不到的和高于人类听觉上限的频率部分去除,从而达到节省存储空间的目的。把整首歌曲分成成千上万个小部分,再从中截去不重要的频率,留下重要的频率,最后被耳朵听到的音轨里只剩下那些被留下来的最重要的频率(音调)。这样处理过后,文件的大小只有原始文件的十分之一,而我们也很难分辨压缩后的音频和原始音频的区别。
降噪耳机同样也使用了傅里叶变换:其中内置的麦克风可以记录你周围环境的噪音,并在所有频谱里测量噪音的频率,之后这些噪音的频率会被反转,然后混合到你的音频内容里,这样能抵消你身边婴儿的哭声或公路上的噪声了。
但是傅里叶变换公式可不只有这点能耐。到现在为止,我们只讨论时间信号,如音频方面的问题——但是他发明这个方程是为了帮助他自己解决材料热流相关的问题,这说明它也有解决空间问题的方面的能力。对傅里叶来说,它可以将简单的2D热流类型进行加和从而表示更复杂的情况。而以类似的方式,用傅里叶变换来建立数字图像也比一个像素一个像素地创建图像更有效率。
无损图像文件中每一个像素的颜色都是分别定义的。
但在JPG格式的文件中,整个图像被分割成很多很小的小块,每一个小块都经过了2D傅里叶变换。这样能得到图像中每一个小块中颜色和亮度的变化的空间频率等描述信息,而就像MP3的存储方式一样,JPG图像会将高频部分留下来,也就是一张图片中对比强烈色彩鲜明的那些细节。我们中的大部分人眼睛都不能分辨出色彩中很细微的变化,所以即使丢弃一部分也是很难察觉的。
显然,将图片文件压缩得越来越小的过程,就是将某些越来越低的频率丢弃的过程。因为临近的两个子块间颜色的变化会很明显,所以图片看起来感觉会有斑驳感。
除了视力和听力受过良好训练的一些人,对大多数人来说,使用像MP3和JPG这样的压缩文件在大部分情况下基本不会产生可以察觉的影响,它们看起来、听起来还是那么好,占用的空间却要小很多。换句话说,它们使数字图像和音乐真正变为了现实,有了它们我们才能很便捷地分享音乐和图片。对一个公式来说,这绝对是一个了不起的壮举。毫无疑问,研究热流的傅里叶也会赞成这个说法的。