本文适合掌握高中三角函数知识以及一些初步的导数知识的同学阅读,方框里面的定义与定理如果看不懂尽可以忽略。
Section 0. 引言
昨天晚上,突然有一个之前偶然认识的高中生给我发消息:“侯老师,我明天要参加物理竞赛决赛了,”
这位同学之前不停地来问我题,结果现在知道这是一个大佬。我当年拼死拼活绞尽脑汁耗尽头屑才做出物竞复赛的两道题。
然后这位同学又发消息:“你能给我讲一讲物理实验吗?”
唔,物理实验,这个倒还好吧……我自认为动手能力还挺不错的,实验应该多少能讲一讲。我说:“你想让我讲什么实验?”
“你讲讲摄谱仪吧!”
喵喵喵?摄谱仪是啥?这就暴露出我的知识的贫乏了……
不过上网一查,还好。就是显示光的频谱的仪器。我想这下应该好解释了:“啊,摄谱仪嘛,就是显示光线的频谱的。”
“什么是频谱?”
相信各位看官看到这个问题的感觉和我当时一样,都是*花一紧。我瞬间感觉问题变得枯燥了起来。
“额,傅里叶变换听说过吗……”我不抱希望地问了问。
果不其然:“没有。”
于是,我意识到了:今晚又双叒叕早睡不了了。
Section 1. 三角函数的叠加
我接着问:“那你的三角函数学得咋样?”
“还行。”
“嗷,那就好办。”
我先发了一张图:“这张图眼熟不?”
“这不就是正弦函数嘛。”
“对,那这个呢?”
“这应该也是个正弦函数。”
“对。那这个呢?”
“这……这什么玩意?”
“其实这张图就是把上面两个图像叠加到一块了。”
在我们的印象中,三角函数应该是有非常对称非常有规律的图像。我们也学过一些类似于两角和公式辅助角公式什么的。只要两个正弦波的频率是一样的,他们叠加产生的新波形还是一个正弦波,只是可能变胖变瘦了或者平移了而已。但是一旦两者的频率不同,出来的图像就很难想象。
定理1(辅助角公式):
a sin x + b cos x = A sin (x + φ),
其中A=sqrt(a2+b2),φ=arctan(b/a).
“哇,这么难看吗?”
“其实还有更难看的。”
其实这个函数的表达式就是
sin x + 0.2sin 2x + 0.5sin 4x + 0.05sin 6x.
这其实只是四个不同频的三角函数叠加到一块产生的结果,已经足以让人认不出来了。我们据此可以大胆猜想一下一个任意复杂任意难看的函数都可以用一系列三角函数来表示出来。
可是我们仔细想一想就能发现一些问题。
Section 2. 三角函数叠加产生的一系列问题
首先我们再回到上面那个看起来乱七八糟的图像。我们试一试从混乱中寻找规律,仔细观察一下,这个函数有什么性质?
单调性?naive。
对称性?好像有点。
周期性?有!
这个函数有一个最大的特点,周期性。
定义1(周期函数):
已知一个函数f(x),如果存在一个不为零的常数T,使得对所有定义域内的x,都有f(x + T)=f(x),则称这个函数是一个周期函数,T叫做这个函数的周期.
定义2(最小正周期):
如果一个周期函数f(x)有周期T>0,而对所有x∈(0
, T)都不是f(x)的周期,则称T为f(x)的最小正周期,记作Tmin,通常简记为T.
定理2:
如果函数f(x)的最小正周期是T,那么kT (k∈Z\{0}) 也是f(x)的周期.
前面提到了,这个函数是四个不同频率的正弦函数叠加到一块的。我们知道正弦函数有周期,假设为T。而假如说有另一个函数也是周期函数,它的周期是0.5T。我们很容易验证这个函数也可以以T为周期。如果我们把sin x、sin 2x、sin 3x什么的加起来,也能看出来2π是sin x的周期,也是sin 2x、sin 3x,甚至是sin Nx(其中N代表任意正整数)的周期。那自然也是把sin x、sin 2x、sin 3x什么的加起来得到的那个函数的周期。
那么我们前面的一个猜想“一个任意复杂任意难看的函数都可以用一系列三角函数来表示出来”在这里就貌似有点问题。如果说这个比较难看的函数的确是个周期函数,而且函数的周期的确是2π,那么我们貌似就能用上面的“把sin x、sin 2x、sin 3x什么的加起来”来表示。
很多同学马上就看出问题来了:随随便便找一个函数cos x,这个函数的周期的确是2π,但是完全不可能用“把sin
x、sin 2x、sin 3x什么的加起来”这样的作法来表示。至少在x=0的时候cos x=1,而sin x、sin 2x、sin 3x什么的再怎么加,x=0的时候都是0。那好,我们看cos x长得挺好的,那就把cos x也放进来呗。既然cos x都进来了,那不妨把cos 2x、cos 3x什么的也放进来呗。这样,我们就可以把之前的猜想改成这样的“一个任意的以2π为周期的函数都可以用把sin x、sin 2x、sin 3x什么的和cos x、cos 2x、cos 3x什么的统统加起来”来表示。
很多同学又看出问题来了:那我再找一个函数:常函数1。这个函数也可以以2π为周期(有兴趣的同学可以想一想,这个函数的最小正周期是否存在)。我们也没法只拿sin多少多少x和cos多少多少x来表示。那我们也不妨也把这个常数也加进去。那么我们的猜想就变成了:
“一个任意的以2π为周期的函数都可以用把sin x、sin 2x、sin 3x什么的和cos x、cos 2x、cos 3x什么的还有一个常数a0统统加起来来表示”。
其实这个猜想还有很多问题。在看其它问题之前,我们先来聊一聊我们为什么要用sin和cos来表示周期函数。
Section
3. 为什么是sin和cos
那么有同学就要问了,为什么我们要用三角函数来表示周期信号呢?
首先一个最简单的原因,就是因为sin和cos都是周期函数,也是初等函数。我们比较熟悉的函数有3x+2、x2+2x+1、(x+1)(x+2)(x+5)这样的多项式函数,有x2、x5、、这样的幂函数,有2x、ex这样的指数函数,也有ln x、lg x、log2 x这样的对数函数,以及前面提到的三角函数。可以看出,除了三角函数里面的正弦、余弦、正切、余切之类的,其它函数都不是周期函数。
那我们为什么不用正切或者正割什么的呢?
定义3(正割、余割函数):
正割函数sec x=1/cosx.
余割函数csc x=1/sinx.
我们知道,我们日常生活中的信号,无论是光,还是水波,还是振动,它们基本上都是一个有限值。数学意义上的无穷大在日常生活中是不可能存在的。那么我们用会达到无穷大的正切正割什么的表示实际的信号也显得非常不现实。
那么我们为什么不用类似于分段函数之类的非初等函数来表示呢,那就要涉及到接下来的运算了。如果我们要对表示好的信号做进一步的处理,比如积分、求导数什么的,一旦涉及到分段,任务量将会变得大很多,而且甚至很难利用现成的仪器去处理。
定义4(线性组合):
设α₁,α₂,…,αₑ(e≥1)是域P上线性空间V中的有限个向量.若V中向量α可以表示为:α=k₁α₁+k₂α₂+…+kₑαₑ
(kₑ∈P, e=1,2,…,s),则称α是向量组α₁,α₂,…,αₑ的一个线性组合,亦称α可由向量组α₁,α₂,…,αₑ线性表示或线性表出.
定义5(线性相关、无关):
在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为线性无关或线性独立,反之称为线性相关.
定理3:
1(常数)、sin x、sin 2x、…、sin Nx、…、cos x、cos 2x、…、cos Nx…线性无关。
我们知道,如果我们用一系列正余弦函数来表示那个周期信号,我们能得到一组数字比如之前那个乱七八糟的图的表达式就是sin x + 0.2sin 2x + 0.5sin 4x + 0.05sin 6x,那我们就能得到一组数:1(对应sin x的系数),0.2(对应sin 2x的系数),0(对应sin 3x的系数,以此类推),0.5,0,0.05,0,0…那么有的同学就会问,这组数字是不是唯一的呢?
事实上,这组数字是唯一的。我们简单来看,我们容易验证,我们没法用sin x来表示cos x,不能用sin x表示sin 2x,事实上,我们没办法用“把(注意这里没有sin x)、sin 2x、sin 3x什么的和cos x、cos 2x、cos 3x什么的还有一个常数a0统统加起来”来表示sin x,也不能用“把sin
x、sin 2x、sin 3x什么的和cos x、(注意这里没有cos 2x)、cos 3x什么的还有一个常数a0统统加起来”来表示cos 2x。也就是说,任意拉出来一个函数,我们都没办法用另外剩下的函数来表示。
Section
4. 三角函数叠加产生的其它问题
首先接着说周期的问题吧。上面说到了周期必须是2π。但是很明显我们日常情况信号并不只是以2π为周期的。其实这个问题很好解决。我们只需要把以2π为周期的函数统统“拉长”或者“缩短”一点,就可以让最终获得的这个函数也是以我们想要的这个周期。事实上就是把原来的sin x改成sin1.5x或者sin πx 或者sin 8848x(准确地来说,对于任意T,我们需要把sin
x改成sin (),然后sin 2x、sin3x什么的相应的给2或者3乘就行了)。
到这里,我们的猜想再一次拓展:“一个任意的以T为周期的函数都可以用把sin
x、sin 2x、sin 3x什么的和cos x、cos 2x、cos 3x什么的还有一个常数a0统统加起来来表示”。
由此再次推广,我们将周期逐渐拉长,一直拉到周期无穷大——
什么?周期无穷大?那还有周期吗?
很好,这就是我们接下来要说的对非周期信号的表示。前面说到的是用一系列sin ()以及cos()来表示的。当这个T越来越大,也越来越小,我们可以试着想一下最终最前面的一项会变成什么样子。
如果说光从数学的角度来说最终可能会出现类似于sin 0x这种情况。不过不用担心,实际情况也不会,也没办法测量一个T是正无穷的信号的值。我们一般情况下可以近似地把在一个测量周期(比方说一秒测一次,就是用一秒)内的信号看作一个周期内的信号,对它加以分析,变成一系列sin ()以及cos()相加。当然有可能会出现不同时间测下来的数据不一样,那当然用来表示的正弦函数的组合是不一样的。
定义6(第一类间断点):
若函数在某间断点两侧的极限都存在,则称这个间断点是函数的第一类间断点。
定义7(狄利克雷条件):
一个信号,如果满足
(1)在一周期内,连续或只有有限个第一类间断点;
(2)在一周期内,极大值和极小值的数目应是有限个;
(3)在一周期内,信号是绝对可积的。
则这个信号满足狄利克雷条件。
定理4:
狄利克雷条件是函数可以进行傅里叶变换的充分条件。
还有一个问题,就是前面提到的“有限值”。的确,我们实际见到的信号都是有限值。但是数学家不乐意了,我们数学上有理想的无穷大的值,这里你打算怎么表示?
实际上,并不是所有的函数都可以用正弦余弦来表示。要能这样表示的函数必须满足一定的条件。
Section
5. 换一种方法表示信号
前面说过,如果我们用一系列正余弦函数来表示那个周期信号,我们能得到一组数字比如之前那个乱七八糟的图的表达式就是sin x + 0.2sin 2x + 0.5sin 4x + 0.05sin 6x,那我们就能得到一组数:1(对应sin x的系数),0.2(对应sin 2x的系数),0(对应sin 3x的系数,以此类推),0.5,0,0.05,0,0等等。如果我们把这种对应关系表示成点的话,就可以得到一系列点,比如(1,1)(第一个1表示sin的x前面的系数(也就是角频率)是1,第二个1表示这个sin前面的系数也是1),(2,0.2),(3,0),(4,0.5),(5,0),(6,0.05),(7,0)等等一系列点。如果我们在图像上也表示出来这个,我们就会发现:诶,一个角频率对应一个幅值,这不就是函数吗?
没错。根据这一点,我们就得到了一种“将sin x、sin 2x、sin 3x什么的和cos x、cos 2x、cos 3x什么的统统加起来”看起来特别复杂的函数表示成一个更简单的函数。这个函数的自变量是三角函数的角频率,当然也可以经过适当变换变成频率。我们把这样的函数叫做信号的频域表达式。原来的多少多少sin加上多少多少cos是以x,或者按照我们日常测量数据是以时间t为自变量,我们把这样的函数叫信号的时域表达式。想办法将时域表达式转换成频域表达式,这就是所谓的傅里叶变换的目的。
Section
6. 频谱
上面提到的是一个将时域表达式变换为频域表达式的方法,就是用每个频率的强度来表示每个频率的函数值。我们很容易能够看得出这个函数是离散的,也就是说光在整数处有值,其它地方,比如ω=3.5或者4.2的地方的函数值都是0。实际的情况由于函数没有周期性我们可能需要不止用sin x、sin 2x来表示,可能甚至还需要sin 1.5x、sin 1.414x、sin 1.14514x来表示,频率可能会越分越细,分到最细的时候,这个频域表达式就会越来越细,甚至最后可能就连续了。
但是实际情况下我们需要的信号强度肯定不是只要sin x,而sin 0.99999x或者sin1.00001x就不行的那种。这种理想情况只存在于数学家的笔下,实际情况仪器也没那么准,也用不着要这种数学上的精确。人们表示ω=1(就是sin x这样的)处信号的值会用ω=0.99999到1.00001之间的所有信号的值的和来表示。
然而这个时候我们不可能再用精确到某一点的值的和来表示信号在这个区间的信号强度了。毕竟你在0.99999处的强度可能是1,在0.999995处的值也是1,两个一加是2。哟呵,0.999994处的值也是1,再加?成3了!0.999993不符,再加,成4了!完了,要是这样加下去就没有止境了!怎么办?
在前面四千五百多字的废话之后,这下终于轮到我给那位同学介绍的对象“频谱”登场了。频谱是“频率谱密度”的简称。密度大家都熟悉。就像之前说到的,我们没法测量一个具体频率的信号的幅值,就像我们没法测量一根木棍在距离木棍左侧1.5cm处的材料的质量一样。实际我们关心的是木棒的材料在这里的密度是多少。质量有密度,这个信号也有密度。
而我们计算木棒的质量,需要用密度乘上体积,我们要计算某段频率的信号强度,我们就用这一段的频带宽度乘上频率密度。
Section
7. 结论
“现在知道频谱是干嘛的了吧?”
“嗯,知道了!”
“现在知道那个摄谱仪是干嘛……欸,等一下……棱镜摄谱仪是吧……哈哈哈,那用不着讲这么多哈,就是个光的色散,哈哈哈。”
当我听到那位同学让我讲的东西是棱镜摄谱仪的时候,我瞬间就意识到了我把问题搞复杂了。我耗费了两三个小时原来根本没讲到点子上……不过,能成功让一位高中生模模糊糊听懂我到现在都没搞懂的傅里叶变换,我也是不容易哈。
(完)