描述
在调试ADC、TIA等高速信号链时,如果你用示波器去观察方波信号的跳变沿,往往会看到边缘处存在烦人的振铃现象(Ringing)。我们常以为这是电路寄生参数或是带宽受限导致的非理想效应,但其实,即便在纯粹的数学世界里,用完美的正弦波去拟合方波,这种过冲也是命中注定的。

这就是著名的吉布斯现象(Gibbs Phenomenon):当我们用很多项光滑的波去逼近一个有跳变的方波时,边缘总会多冲。更反直觉的是,大力出不了奇迹——随着叠加的项数越来越多,振荡区域确实会变窄,但过冲的高度比例却会收敛到一个非零常数值,而非一直变小。
具体而言,设函数:
$$ f(x)= \begin{cases} 1, & 0\lt x\lt L, \\ -1, & -L\lt x\lt 0. \end{cases} $$并作 $2L$ 周期延拓。记它的傅里叶部分和为:
$$S_N(x) = \frac{4}{\pi}\sum_{k=0}^{N}\frac{1}{2k+1}\sin\frac{(2k+1)\pi x}{L}$$当 $N \to \infty$ 时,$S_N(x)$ 在间断点 $x=0$ 右侧第一个峰值,相对于平台值 1 的过冲极限为 $\frac{2}{\pi}\int_0^{\pi}\frac{\sin u}{u}\mathrm{d}u - 1$,该过冲比例约为总跳变高度的 8.949%。以下是详细说明。
思路
面对一个复杂的无限级数,直接观察是很难看出端倪的。我们要找的是过冲的最高点,也就是极大值。
因此核心思路非常清晰:
- 求导
- 定位
- 求极值
- 求离散的收敛
过程
求导与级数化简
首先,对傅里叶部分和 $S_N(x)$ 针对 $x$ 求导:
$$S_N'(x) = \frac{4}{\pi} \sum_{k=0}^{N} \frac{1}{2k+1} \cdot \frac{(2k+1)\pi}{L} \cos\frac{(2k+1)\pi x}{L} = \frac{4}{L} \sum_{k=0}^{N} \cos\frac{(2k+1)\pi x}{L}$$为了化简它,令 $\theta = \frac{\pi x}{L}$,然后积化和差
$$2 \sin\theta \cos((2k+1)\theta) = \sin((2k+2)\theta) - \sin(2k\theta)$$在和式两端同乘 $2\sin\theta$:
$$\begin{aligned} 2\sin\theta \sum_{k=0}^{N} \cos((2k+1)\theta) &= [\sin(2\theta) - \sin(0)] + [\sin(4\theta) - \sin(2\theta)] + \dots + [\sin(2(N+1)\theta) - \sin(2N\theta)] \\ &= \sin(2(N+1)\theta) \end{aligned}$$中间项全部抵消!导数式变成了单纯的模样:
$$S_N'(x) = \frac{2}{L} \frac{\sin\left(\frac{2(N+1)\pi x}{L}\right)}{\sin\left(\frac{\pi x}{L}\right)}$$锁定跳变沿后的第一个波峰
我们要找极大值,即令 $S_N'(x) = 0$。 显然,只要分子 $\sin\left(\frac{2(N+1)\pi x}{L}\right) = 0$ 且分母不为零即可。
紧挨着原点右侧的第一个正根出现在:
$$\frac{2(N+1)\pi x_1}{L} = \pi \implies x_1 = \frac{L}{2(N+1)}$$极限化为积分
将极值点坐标 $x_1$ 代回原求和式中,看这个峰有多高:
$$S_N(x_1) = \frac{4}{\pi} \sum_{k=0}^{N} \frac{1}{2k+1} \sin\left(\frac{2k+1}{2N+2}\pi\right)$$这依然是一个离散的求和。但注意到当 $N \to \infty$ 时,项数趋于无穷,这正是黎曼积分的经典定义形式。
我们构造抽样点 $u_k = \frac{2k+1}{2N+2}\pi$,相邻点的步长就是 $\Delta u = \frac{\pi}{N+1}$。
稍微变换一下系数,$\frac{1}{2k+1} = \frac{\Delta u}{2u_k}$,原式就变成了优雅的 Sa 函数黎曼和:
$$S_N(x_1) = \frac{2}{\pi} \sum_{k=0}^{N} \frac{\sin(u_k)}{u_k} \Delta u$$当 $N \to \infty$ 时,黎曼和变为黎曼定积分:
$$\lim_{N \to \infty} S_N(x_1) = \frac{2}{\pi} \int_0^{\pi} \frac{\sin u}{u} \mathrm{d}u$$找到不变的比率
上面得到的积分就是著名的正弦积分(Sine Integral),查表或数值计算可知 $\int_0^{\pi} \frac{\sin u}{u} \mathrm{d}u \approx 1.851937$。 计算出该峰值的绝对高度约为:
$$\lim_{N \to \infty} S_N(x_1) \approx \frac{2}{\pi} \times 1.851937 \approx 1.17898$$原方波在 $x>0$ 处的目标平台值为 1,所以相对平台的绝对过冲量为 $1.17898 - 1 = 0.17898$。
方波是从 -1 跳变到 1,总跳跃跨度是 2。
因此,过冲量占总跳变的比例为:
$$\text{Ratio} = \frac{0.17898}{2} \approx 0.08949$$想法
叠加无限平滑的高频谐波,在方波的边缘,依然会存在一个可以收敛到 8.949% 的 peek ratio。
对于剧变的数字信号,简单粗暴地通过截断高频带(比如理想砖墙低通滤波器)来处理,会引入严重的振铃干扰。要消除这种现象就需要加窗或使用平滑滤波器。