傅里叶系列(一)傅里叶级数的推导

转载 2020-06-07 16:14  阅读 50 次 评论 0 条

首先,隆重推出傅里叶级数的公式,不过这个东西属于“文物”级别的,诞生于19世纪初,因为傅里叶他老人家生于1768年,死于1830年。

但傅里叶级数在数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学等领域都有着广泛的应用,这不由得让人肃然起敬。一打开《信号与系统》、《锁相环原理》等书籍,动不动就跳出一个“傅里叶级数”或“傅里叶变换”,弄一长串公式,让人云山雾罩。

如下就是傅里叶级数的公式:

\(\begin{equation} \begin{split} f(t)&=\frac{a_{0}}{2}+a_{1}cos(\omega t)+b_{1}sin(\omega t) \\ &+a_{2}cos(2\omega t)+b_{2}sin(2\omega t) \\ &+...\\ &=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}{[a_{n}cos(n\omega t)+b_{n}sin(n\omega t)]} \end{split} \end{equation}\tag{1}\)

其中:

\( \begin{align} &a_{n}=\frac{2}{T}\int_{t_{0}}^{t_{0}+T}f(t)cos(n\omega t)dt \tag{2} \\ &b_{n}=\frac{2}{T}\int_{t_{0}}^{t_{0}+T}f(t)sin(n\omega t)dt \tag{3}\\ \end{align}\)

不客气地说,这个公式可以说是像“臭婆娘的裹脚布——又臭又长”,而且来历相当蹊跷,不知那个傅里叶什么时候灵光乍现,把一个周期函数f(t)硬生生地写成这么一大堆东西。单看那个{1}式,就是把周期函数f(t)描述成一个常数系数a0、及1倍ω的sin和cos函数、2倍ω的sin和cos函数等、到n倍ω的sin和cos函数等一系列式子的和,且每项都有不同的系数,即An和Bn,至于这些系数,需要用积分来解得,即{2}{3}{4}式,不过为了积分方便,积分区间一般设为[-π, π],也相当一个周期T的宽度。

能否从数学的角度推导出此公式,以使傅里叶级数来得明白些,让我等能了解它的前世今生呢?下面来详细解释一下此公式的得出过程:

1、把一个周期函数表示成三角级数:

首先,周期函数是客观世界中周期运动的数学表述,如物体挂在弹簧上作简谐振动、单摆振动、无线电电子振荡器的电子振荡等,大多可以表述为:

\(f(t)=Asin(\omega t+\psi) \tag{4}\)

这里 \(t\)表示时间, \(A\)表示振幅, \(\omega\)为角频率, \(\psi\)为初相(与考察时设置原点位置有关,可以理解为一个常量)。

然而,世界上许多周期信号并非正弦函数那么简单,如方波、三角波等。傅叶里就想,能否用一系列的三角函数\(A_{n}sin(n\omega t+\psi_{n})\)之和来表示那个较复杂的周期函数 \(f(t)\)呢?因为正弦函数sin可以说是最简单的周期函数了。于是,傅里叶写出下式:(关于傅里叶推导纯属猜想、已经有知乎的网友指出是解热方程和弦振动导出的,有机会找找相关资料

\(f(t)=A_{0}+\sum_{n=1}^{\infty}{A_{n}sin(n\omega t+\psi_{n})}\tag{5}\)

这里,t是变量,其他都是常数。与上面最简单的正弦周期函数相比,5式中多了一个n,且n从1到无穷大。这里f(t)是已知函数,也就是需要分解的原周期函数。从公式5来看,傅里叶是想把一个周期函数表示成许多正弦函数的线性叠加,这许许多多的正弦函数有着不同的幅度分量(即式中An)、有不同的周期或说是频率(是原周期函数的整数倍,即n)、有不同的初相角(即 \(\psi_{n}\)),当然还有一项常数项(即 \(A_{0}\))。要命的是,这个n是从1到无穷大,也就是是一个无穷级数。

这里强调一下,傅里叶级数中对不同频率的波有一个要求就是给定一个初始的频率 \(\omega_{0}\),之后的角频率必须是 \(\omega_{0}\)的整数倍, 这就是DTF(离散傅里叶变化)中的角频率取值的原则。

应该说,傅里叶是一个天才,想得那么复杂。一般人不太会把一个简单的周期函数弄成这么一个复杂的表示式。但傅里叶认为,式子右边一大堆的函数,其实都是最简单的正弦函数,有利于后续的分析和计算。当然,这个式能否成立,关键是级数中的每一项都有一个未知系数,如A0、An等,如果能把这些系数求出来,那么5式就可以成立。当然在5式中,唯一已知的就是原周期函数f(t),那么只需用已知函数f(t)来表达出各项系数,上式就可以成立,也能计算了。

因为 \(\psi_{n}\)是个常数, \(A_{n}\)也是常数。解过常微分方程的人都知道,方程中的常数能整合到一起就整合到一起。

于是乎,傅里叶首先对式5作如下变形:

\(A_{n}sin(n\omega t+\psi_{n})={\color{blue}{A_{n}sin\psi_{n}}}cos(n\omega t)+\color{blue}{A_{n}cos\psi_{n}}sin(n\omega t)\\\)

这个变化并不陌生,源自于三角公式:

\(sin(\alpha\pm\beta)=sin\alpha cos\beta\pm cos\alpha sin\beta\\\)

式中,蓝色项即为我们需要合并的常数项,

记:\(a_{n}=\color{blue}{An\cdot sin\psi_{n}}\), \(b_n=\color{blue}{A_n\cdot cos\psi_n}\)

这样,公式{5}就可以写成如下公式{6}的形式:

\(f(t)=A_{0}+\sum_{n=1}^{\infty}{[a_ncos(n\omega t)+b_{n}sin(n\omega t)]} \tag{6}\)

到了这一步我们只要解出 \(A_{0}\)、 \(a_{n}\)、 \(b_{n}\)的值即可。

2、麦克劳林公式中的待定系数法:

这里为解出 \(A_{0}\)、 \(a_{n}\)、 \(b_{n}\)值奠定下思路:

泰勒级数即为任意一个函数都可以用一个多项式来逼近,记为:

\(f(x)=A+Bx+Cx^{2}+Dx^{3}+...\\\)

那么,麦克劳林令:

\(\begin{align} &f^{'}(x)=B+2Cx+3Dx^2\\ &f^{''}(x)=2C+6Dx\\ &........ \end{align}\\\)

在每个等式中令x=0,然后使用待定系数法就可以解出A,B,C...的值

\(A=f(0)\)

\(B=f^{'}(0)\)

\(C=f^{''}(0)/2\)

\(D=f^{'''}(0)/(1*2*3)\)

即:

\(N=f^{n}(x)/n!\\\)

而众所周知三角函数在一个周期内的积分为0,如图

3、三角函数的正交性:

这是为下一步傅里叶级数展开时所用积分的准备知识。一个三角函数系:1,cosx , sinx , cos2x , sin2x , … , cosnx , sinnx , … 如果这一堆函数(包括常数1)中任何两个不同函数的乘积在区间[-π, π]上的积分等于零,就说三角函数系在区间[-π, π]上正交,即有如下式子:

\(\begin{align} &\int_{-\pi}^{\pi}cos\ nxdx=0\quad\quad\quad(n=1,2,3,...)\\ &\int_{-\pi}^{\pi}sin\ nxdx=0\quad\quad\quad(n=1,2,3,...)\\ &\int_{-\pi}^{\pi}sin\ kx\cdot cos\ nxdx=0\quad\quad\quad(k,n=1,2,3,...;k\ne n)\\ &\int_{-\pi}^{\pi}cos\ kx\cdot cos\ nxdx=0\quad\quad\quad(k,n=1,2,3,...;k\ne n)\\ &\int_{-\pi}^{\pi}sin\ kx\cdot sin\ nxdx=0\quad\quad\quad(k,n=1,2,3,...;k\ne n)\\ \end{align}\\\)

以上各式在区间[-π, π]的定积分均为0,第1第2式可视为三角函数cos和sin与1相乘的积分;第3-5式则为sin和cos的不同组合相乘的积分式。除了这5个式子外,不可能再有其他的组合了。注意,第4第5两个式中,k不能等于n,否则就不属于“三角函数系中任意两个不同函数”的定义了,变成同一函数的平方了。但第3式中,k与n可以相等,相等时也是二个不同函数。下面通过计算第4式的定积分来验证其正确性,第4式中二函数相乘可以写成:

\(\begin{align} &cos\ kx\cdot cos\ nx=\frac{1}{2}[cos(k+n)x+cos(k-n)x]\\ &sin\ kx\cdot sin\ nx=-\frac{1}{2}[cos(k+n)x-cos(k-n)x]\\ &sin\ kx\cdot cos\ nx=\frac{1}{2}[sin(k+n)x+sin(k-n)x]\\ \end{align}\\\)

当 \(k\ne n\)时,有:

\(\begin{align} \int_{-\pi}^{\pi}cos\ kx \cdot cos\ nxdx&=\frac{1}{2}\int_{-\pi}^{\pi}[cos(k+n)x + cos(k-n)x]dx\\ &=\frac{1}{2}[\frac{sin(k+n)x}{k+n}\ +\ \frac{sin(k-n)x}{k-n}]|_{-\pi}^{\pi}\\ &=\frac{1}{2}[0+0]=0 \end{align}\)

可见在指定[-π, π]的区间里,该式的定积分为0。其他式也可逐一验证。

4、函数展开成傅里叶级数:

先把傅里叶级数表示为下式,即⑥式:

\(f(t)=A_{0}+\sum_{n=1}^{\infty}{[a_ncos(n\omega t)+b_{n}sin(n\omega t)]} \tag{6}\)

对⑥式从[-π, π]积分,得:

\(\begin{align} \int_{-\pi}^{\pi}f(t)&=\int_{-\pi}^{\pi}A_{0}+\int_{-\pi}^{\pi}\sum_{n=1}^{\infty}{[a_{n}cos(n\omega t)+b_{n}sin(n\omega t)]}\\ &=\int_{-\pi}^{\pi}A_{0}+0=A_{0}|^{\pi}_{-\pi}\\ &=(\pi-(-\pi))A_{0}\\ &=2\pi A_{0} \end{align}\\\)

解出: \(A_{0}=\frac{1}{2\pi}\int_{-\pi}^{\pi}f(t)\)

这就求得了第一个系数 \(A_{0}\)的表达式,即最上边傅里叶级数公式里的(2)式。接下来再求 \(a_{n}\)和 \(b_{n}\)的表达式。用 \(cos(k\omega t)\)乘{6}式的二边得:

\(\sum_{n=1}^{\infty}{[a_{n}cos(n\omega t)+b_{n}sin(n\omega t)}\)

\(\begin{align} f(t) \cdot cos(k\omega t)=&A_{0}cos(k \omega t)+\\&\sum_{n=1}^{\infty}{[a_{n}cos(n\omega t)\cdot cos(k\omega t)+b_{n}sin(n\omega t)\cdot cos(k\omega t)}] \end{align}\\\)

然后对上式从 \(-\pi\)到 \(\pi\)逐项积分:

\(\begin{align} \int_{-\pi}^{\pi}f(t) \cdot cos(k\omega t)dt=&A_{0}\color{red}{\int_{-\pi}^{\pi}cos(k \omega t)dt}+\\&\sum_{n=1}^{\infty}{[a_{n}\color{blue}{\int_{-\pi}^{\pi}cos(n\omega t)\cdot cos(k\omega t)dt}+b_{n}\color{red}{\int_{-\pi}^{\pi}sin(n\omega t)\cdot cos(k\omega t)dt}}] \end{align}\\\)

根据三角函数系的正交性,红色积分为0,蓝色项中仅当 \(k=n\)时积分不为0,其余项积分为0,所以有:

\(\begin{align} \int_{-\pi}^{\pi}cos(k\omega t) \cdot f(t)&=a_{n}\sum_{n=1}^{\infty}{\color{blue}{\int_{-\pi}^{\pi}cos(k\omega t)\cdot cos(n\omega t)dt}}\\ &=a_{n}\int_{-\pi}^{\pi}cos^{2}(n\omega t)dt\\ &=\frac{a_{n}}{2}\int^{\pi}_{-\pi}(1+cos2n\omega t)dt(半角公式)\\ &=\frac{a_{n}}{2}(\int^{\pi}_{-\pi}1dt+ \color{red}{\int^{\pi}_{-\pi}cos2n\omega t\ dt})\\ \\ &=\frac{a_{n}}{2} \cdot2\pi=a_{n}\pi\\ \end{align}\\ \)

解得:

\(a_n=\frac{1}{\pi}\int_{-\pi}^{\pi}cos(n\omega t) \cdot f(t)dt \quad \quad (k=n)\\\)

同理用 \(sin(k\omega t)\)乘{6}式的二边得:

\(b_n=\frac{1}{\pi}\int_{-\pi}^{\pi}sin(n\omega t) \cdot f(t)dt \quad \quad (k=n)\\\)

我们发现 \(A_{0}\)的分母为 \(2\pi\)而 \(a_{n}、b_{n}\)为 \(\pi\),为了统一分母我们令 \(a_{0}=2A_{0}\)有:

\(a_{0}=\frac{2}{T}\int_{-\pi}^{\pi}f(t)dt\\ \)

(6)变形为:

\(f(t)=\frac{a_{0}}{2}+\sum_{n=1}^{\infty}{[a_ncos(n\omega t)+b_{n}sin(n\omega t)]} \\\)

推导的时候假设 \(T=2\pi\),代入即可得到(2)、(3)、(4)

\( \begin{align} &a_{n}=\frac{2}{T}\int_{t_{0}}^{t_{0}+T}f(t)cos(n\omega t)dt \tag{2} \\ &b_{n}=\frac{2}{T}\int_{t_{0}}^{t_{0}+T}f(t)sin(n\omega t)dt \tag{3}\\ \end{align}\)

至此,已经求得傅里叶级数中各系数的表达式,当然这里有个条件: \(\int_{t_{0}}^{t_{0}+T}f(t)dt\)积分存在,这里涉及到勒贝格可积的问题,因为离散傅里叶变化涉及到周期内有无限个可去间断点的问题,狄利克雷条件仅仅是个充分条件,一个函数有傅里叶级数但是它也存在无限个间断点以及极大值极小值比如方波信号。

至于勒贝格可积有空另开篇文章进行证明。

综上,傅里叶级数的产生过程可以分为以下三步:

1、设想可以把一个周期函数f(t)通过最简单的一系列正弦函数来表示,即5式;

2、通过变形后用三角级数(含sin和cos)来表示;

3、通过积分,把各未知系数用f(t)的积分式来表达;

4、最后得到的4个表达式就是傅里叶级数公式。

我们眼中的世界就像皮影戏的大幕布,幕布的后面有无数的齿轮,大齿轮带动小齿轮,小齿轮再带动更小的。在最外面的小齿轮上有一个小人——那就是我们自己。我们只看到这个小人毫无规律的在幕布前表演,却无法预测他下一步会去哪。而幕布后面的齿轮却永远一直那样不停的旋转,永不停歇。这样说来有些宿命论的感觉。说实话,这种对人生的描绘是我一个朋友在我们都是高中生的时候感叹的,当时想想似懂非懂,直到有一天我学到了傅里叶级数……

没错一切都是 命运石之门的选择

本文地址:http://51blog.com/?p=10516
关注我们:请关注一下我们的微信公众号:扫描二维码广东高校数据家园_51博客的公众号,公众号:数博联盟
温馨提示:文章内容系作者个人观点,不代表广东高校数据家园_51博客对观点赞同或支持。
版权声明:本文为转载文章,来源于 游戏编程随笔 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情