Fourier with Linear Algebra


恐怕在网络上有关 Fourier 分析的文章已经太多太多了,但是我一点也不介意再多写一篇,因为从个人的经历来看,在那其中真正优秀的资源可以说是比较少的。在看过的一些相关资源中,给我印象特别深刻的是 Gilbert Strang 与 Oppenheim 两位先生的课程,这些资源都能在网易公开课上找得到。就理解层面来说,那本 David C.Lay 所著的 Linear Algebra 也很有帮助,尽管里面并没有涉及到什么和 Fourier Analysis 相关的东西。

在准备理解一块相关知识之前,正确地约定符号和各种概念的用词是非常重要的。不过非常遗憾的是,国内许多信号方面的书籍在这方面做的比较差劲(在我所看到的书中,徐守时先生所著的那本信号与系统是比较好的)。在这一点上,有关傅里叶分析的符号可以说是非常容易引起困惑,给人印象最深刻的大概是 这两个了。

首先必须要解决这个符号问题,追其根源应该是离散与连续的区别,首先需要明确基函数的表述形式,首先来看一下连续时间正弦函数及其性质:

仔细观察就可以发现这里的角频率用的是小写的 ,那么离散的版本就可以约定为大写的 了,依然按照这种方式写出表述和其性质:

不过还是要提一下复指数信号:

搞清楚 omega 这个符号的表述问题,会在后面的分析中提供相当的方便。

符号的问题已经搞定,是时候用它们做点什么了。Linear Algebra 给出了大量与 vector 相关的描述,可以先回想一下线性代数中的正交概念。很清楚的是,如果有一个线性无关组构成了正交向量组,它一定可以构成某个向量空间的基。现在,可以将向量的正交推至函数的正交性上去。比较清楚的是,谈到正交就是在说内积为零,所以首先要定义的是函数的内积,有趣的是这里依然可以根据离散 or 连续进行区分。假设我们讨论的对象是实函数 ,它们的内积可以表述为简单的积分:

相同的条件,正交意味着内积为零:

不过更重要的是复函数的内积与正交性,当 函数为复函数时:

相似的理由,一旦我们定义了函数集上的正交性,就会想见它可以张成一个函数空间,而且正交函数集会作为基存在。比较幸运的是,凡是学习过 Fourier Analysis 的人都对三角函数集与复指数集耳濡目染,想必现在都会很清楚它们是作为完备正交集而存在的了,也就是说可以张成区间上的整个函数空间。套用一下线性代数的描述思路,可以说此空间中的任意函数都可以用基来进行线性表出。

大概会有不少人对此并不感兴趣,知道这个又有什么用呢?认认真真背会记住那几个复杂的傅里叶展开式,能够用来考试做题,似乎这样就算是完成了学习。这里我不得不再塞点私货,从做题目的角度来说,背公式的确是效率最高的,投入小见效快很符合常理,但是这里出现的问题就是在于公式的记忆上。以我个人的经历来看,那些公式虽然并不难背,但是想要持久地记住却不是一件简单的事情。所以,哪怕是为了能够找到更持久记忆那些公式的方法,就值得多想一想。幸运的是,我觉得这篇小文章确实可以做到,而且并不需要什么图,图解会限制想象,我们用抽象就够了。

回到正题,现在就可以想想我们目前需要的是什么,正交性可以为我们带来什么?回想一下就会发现,可以应用在投影上!就算正交函数集不是完备的,它也能张成一个子空间,相对于完备正交集而言,可以将它所张成的函数空间内的函数投影到子空间上。换句话说,可以将函数进行正交分解。具体的分解方法当然可以参考向量的正交分解:

最为著名的完备正交基大概是三角函数集和复指数集了,它们作为完备集而存在(对于周期函数的完备性),具有相当好的性质。对于三角函数集

它的正交性表现为:

复指数集 下也有类似的表现:

清楚了这些,剩下的事情就变得简单起来了。对于连续函数的情况,三角函数集或复指数集成为了无穷正交基,然后对于想要展开的函数 而言,只需要将它投影到函数空间上,进行正交分解就可以了。分别对 部分进行计算(同时包含 1 这个成分),可以将函数展开为:

类似的,选取复指数集作为基,可以展开为:

无论用什么基,这大概才是展开式的真面目吧!

由于篇幅的关系,课本上已经详细写出的那些展开式(系数)公式就不再在这里重述了。但是现在我们有了在正交投影意义下的展开式,可以有一种比较好的理解方式。回想一下,线性表出就相当于是函数或向量在某基下的坐标。那么,无论选取什么基,对应的展开系数就相当于在基向量或基函数上的投影强度,换言之,某坐标轴上的分量的大小。

一旦以这种思路进行理解,大多数与频谱或频谱密度相关的性质都可以进行直观地解释了。举一个最明显的例子,连续周期函数的频谱是离散的,同时也是无限的。为什么是无限的?因为这个基是无穷正交基。为什么是离散的?很显然,离散谱的值恰恰就表明了函数在各个基函数上的投影强度值,也就可以明白频域下的横坐标轴刻度能表示为整数集 的原因了。上面是连续的情形,但实际上对于离散的版本和此相差无几。

然后还可以进一步看看 Fourier Transform 去,依然有很多问题值得去进一步考虑。这里当然可以认为傅里叶变换是一种威力加强版,可以把非周期函数丢进去,也依然可以处理周期函数。首先可以明确,周期函数的周期越大,从频域上看,就显得越密。对一个非周期性的连续函数 进行周期延拓成为 形式,展开式形式为:

然后我们不断将延拓周期增大,将它们分开地越来越散( ):

就得到了傅里叶变换公式。

实际上,之所以叫频谱密度,是因为它的的确确表明的就是这个物理意义。这里可以顺便考虑一下采样,不是说时域采样,而在频域进行采样。可以先试着对周期性函数进行傅氏变换:

这样一来采样的意义也就很明显了:

可以看到实际上频率密度谱表现为包络。

到这里为止,实际上只是粗浅的谈了下 CTFS 和 CTFT 两种分析,这两种分析基本可以作为更深层次的变换域分析的基础了。无论如何深入,以这种方式进行入手的话,基本的理解部分只要类比一下就可以得到令人满意的结果。这样一来,DTFS、DTFT 以及 DFT 的分析都不会有什么大的问题了。