第 4 讲:Fourier 级数

Fourier 级数的核心想法是:把一个周期函数表示成不同频率的正弦和余弦之和。它不是凭空猜系数,而是利用三角函数的正交性做“投影”。

三角函数系为什么能拆信号

在 [−π,π][-\pi,\pi] 上,1,cos⁡nx,sin⁡nx1,\cos nx,\sin nx 两两正交。例如 m≠nm\ne n 时

∫−ππcos⁡mxcos⁡nx dx=0,\int_{-\pi}^{\pi}\cos mx\cos nx\,dx=0,

而

∫−ππcos⁡2nx dx=π.\int_{-\pi}^{\pi}\cos^2 nx\,dx=\pi.

因此设

f(x)∼a02+∑n=1∞(ancos⁡nx+bnsin⁡nx),f(x)\sim\frac{a_0}{2} +\sum_{n=1}^{\infty}\bigl(a_n\cos nx+b_n\sin nx\bigr),

两边分别与 1,cos⁡nx,sin⁡nx1,\cos nx,\sin nx 相乘并积分,就得到

a0=1π∫−ππf(x) dx,a_0=\frac1\pi\int_{-\pi}^{\pi}f(x)\,dx, an=1π∫−ππf(x)cos⁡nx dx,bn=1π∫−ππf(x)sin⁡nx dx.a_n=\frac1\pi\int_{-\pi}^{\pi}f(x)\cos nx\,dx,\qquad b_n=\frac1\pi\int_{-\pi}^{\pi}f(x)\sin nx\,dx.

对周期 2l2l 的函数,把 nxnx 换成 nπx/ln\pi x/l,系数前的 1/π1/\pi 换成 1/l1/l。

先用对称性,能省一半计算

  • ff 为偶函数:bn=0b_n=0,只剩余弦级数;
  • ff 为奇函数:a0=an=0a_0=a_n=0,只剩正弦级数。

若函数只给在 (0,l)(0,l),可以人为做偶延拓得到半区间余弦级数,或做奇延拓得到半区间正弦级数。两种展开在 (0,l)(0,l) 内都表示原函数,但端点和区间外的周期延拓不同。

等号右边到底收敛到什么

形式上写出系数,不代表每一点都收敛到 f(x)f(x)。在常见的分段光滑条件下,Fourier 级数在 xx 处收敛到

f(x−0)+f(x+0)2.\frac{f(x-0)+f(x+0)}2.

所以:

  • 连续点收敛到 f(x)f(x);
  • 跳跃点收敛到左右极限的平均值;
  • 周期端点要比较周期延拓后的左右极限,而不是只看原区间端点值。

这也是方波的 Fourier 部分和在跳跃附近产生 Gibbs 现象的原因:增加项数会把振荡压缩到更窄的区域,但最大超调不会简单消失。

一个完整算例

把 f(x)=xf(x)=x 定义在 (−π,π)(-\pi,\pi) 并作 2π2\pi 周期延拓。它是奇函数,所以只有正弦项:

bn=1π∫−ππxsin⁡nx dx=2π∫0πxsin⁡nx dx.b_n=\frac1\pi\int_{-\pi}^{\pi}x\sin nx\,dx =\frac2\pi\int_0^{\pi}x\sin nx\,dx.

分部积分得

bn=2(−1)n+1n.b_n=\frac{2(-1)^{n+1}}n.

因此在 −π<x<π-\pi<x<\pi,

x=2∑n=1∞(−1)n+1nsin⁡nx.x=2\sum_{n=1}^{\infty}\frac{(-1)^{n+1}}n\sin nx.

在 x=±πx=\pm\pi,周期延拓左、右极限分别是 π\pi 和 −π-\pi,所以级数收敛到平均值 00,而不是端点处任意指定的函数值。

选特殊的 xx 代入 Fourier 展开,常能求出数项级数的和。不过代入前必须确认该点的收敛值。

复数形式

利用 einx=cos⁡nx+isin⁡nxe^{inx}=\cos nx+i\sin nx,可以写成

f(x)∼∑n=−∞∞cneinx,cn=12π∫−ππf(x)e−inx dx.f(x)\sim\sum_{n=-\infty}^{\infty}c_ne^{inx},\qquad c_n=\frac1{2\pi}\int_{-\pi}^{\pi}f(x)e^{-inx}\,dx.

实函数满足 c−n=cn‾c_{-n}=\overline{c_n}。复数形式把正、负频率统一起来,在信号分析中更自然;考试若要求实三角形式,则仍应把最后结果还原成正弦、余弦。

计算模板

  1. 明确基本区间和周期;
  2. 判断奇偶性,决定哪些系数必为零;
  3. 分段函数按断点拆积分;
  4. 算出 a0,an,bna_0,a_n,b_n 并写完整展开;
  5. 单独说明连续点、跳跃点和周期端点的收敛值;
  6. 若代入特殊点求和,先核对该点是否是跳跃点。

最容易错的是把“原函数在端点的定义值”误当成级数的极限。Fourier 级数看到的是周期延拓后的左右行为。

评论