CurvG
登录

第 1 个 · 分析 · 信号

一串旋转的圆,为什么能画出任何曲线?

每个圆都是一个匀速旋转的正弦分量,首尾相接就能叠出方波,甚至画出一个 π。看圆一个个加上去,再自己画一笔,看它被拆成圆。

为什么?

讲解

任何周期运动都能拆成一串匀速旋转的圆;圆越多越准,但拐角处约 9% 的尖角永远不会消失。

01一个圆,一条正弦波

一个点在半径为 rr 的圆上匀速转,角度 θ\theta 随时间均匀增加。它的高度是 rsin⁡θr\sin\theta,把高度随时间记下来,就是一条正弦波。

圆转得越快,波越密;圆越大,波越高。转速和半径,就是这个圆的全部信息。

02把圆叠起来:傅里叶级数

把第二个圆的圆心钉在第一个圆的边上,末端的高度就是两条正弦波相加。方波需要的圆是这样一串:转速取 1、3、5、7……倍,半径按 1,13,15,17,…1, \tfrac13, \tfrac15, \tfrac17, \dots 缩小:

f(θ)=4π(sin⁡θ+sin⁡3θ3+sin⁡5θ5+⋯ )f(\theta)=\frac{4}{\pi}\left(\sin\theta+\frac{\sin 3\theta}{3}+\frac{\sin 5\theta}{5}+\cdots\right)

傅里叶在研究热传导时提出:任何周期函数都能写成这样一串正弦和余弦的和。每个圆的大小,就是那一项的系数。

  • 三角波的半径按 1/n21/n^2 缩小,5 个圆的误差就只有约 1%;
  • 方波按 1/n1/n 缩小,要慢得多:5 个圆还差约 20%,60 个圆仍差约 6%。

曲线越尖锐,需要的圆越多。

03拐角处的 9%:吉布斯现象

方波在跳变处,部分和总会冲过头。加更多的圆,尖角会变窄、贴近跳变点,但它的高度稳定在跳变幅度的约 8.95%。对 ±1\pm1 的方波,峰值约为 1.1791.179。

误差的总量确实越来越小(尖角越来越窄),但最大偏差不会消失。数学上说,傅里叶级数在跳变附近不一致收敛。Wilbraham 在 1848 年最先注意到它,Gibbs 在 1899 年再次指出,名字因此留给了 Gibbs。

工程里常用加权平均(如 Fejér 求和)压掉尖角,代价是拐角变圆。

04从波形到图形:平面里的圆

把平面上的点看成复数 z=x+iyz=x+iy,一个旋转的圆就是 cke2πiktc_k e^{2\pi i k t}:∣ck∣|c_k| 是半径,ckc_k 的辐角是起始角度,kk 是转速(负数表示顺时针)。一条闭合曲线 z(t)z(t) 可以写成

z(t)=∑kck e2πikt,ck=1N∑j=0N−1zj e−2πikj/Nz(t)=\sum_{k} c_k\, e^{2\pi i k t},\qquad c_k=\frac1N\sum_{j=0}^{N-1} z_j\, e^{-2\pi i k j/N}

这里先把曲线按弧长均匀取 N=256N=256 个点 zjz_j,再做离散傅里叶变换求出每个圆。画的时候按半径从大到小排,最大的圆决定大轮廓,小圆负责细节。

画板上的 π:3 个圆的误差约 40%,30 个约 2%,100 个只剩约 0.3%。

05为什么重要

"拆成一串频率"几乎是现代信号处理的起点:

  • 压缩:JPEG 把图像小块拆成余弦分量(傅里叶的近亲),MP3 对声音做同样的事,然后丢掉人眼人耳不敏感的小分量;
  • 频谱:调音器、均衡器、语音识别先看声音里有哪些频率;
  • 解方程:傅里叶最初就是用它解热传导方程,每个频率分量各自衰减,最后再加回去。

常见问题

为什么一定是圆?

匀速转圆是最简单的周期运动:它在任一方向上的投影都是正弦波。正弦波之间互不干扰(正交),所以每个圆的大小可以单独算出来,加减一个圆也不影响其他圆。

要多少个圆才够?

取决于曲线有多"尖"。光滑的曲线系数下降得快,几个圆就很像;有拐角或跳变的曲线下降得慢,要很多圆,而且跳变处总留着吉布斯尖角。

吉布斯尖角能去掉吗?

只加圆去不掉。可以给各项加权(例如 Fejér 求和、σ 因子)把尖角压平,代价是拐角变得圆钝。

我画的线没有闭合,会怎样?

傅里叶级数默认曲线是周期的,会把终点直接连回起点。这一段相当于一个跳变,你会在那里看到圆圈来回抖动的波纹,这正是吉布斯现象在平面上的样子。

课本里的这部分

相关曲线

资料: Fourier series — Wikipedia · Gibbs phenomenon — Wikipedia