帕塞瓦尔定理模拟器 返回
信号处理模拟器

帕塞瓦尔定理 — 时间与频率的能量守恒

用正弦、矩形脉冲、高斯三种信号实时验证:离散信号的时域能量与频域能量在 DFT 下完全相等。直观体验傅里叶分析最核心的守恒律。

参数设置
信号类型(0=正弦 1=矩形脉冲 2=高斯)
幅度 A
频率 f₀(用于类型 0)
bin
采样点数 N

默认值(正弦, A=1, f₀=10, N=512)下 E_t=E_f=256,相对误差仅为浮点舍入级别(约 1e-12)。

计算结果
时域能量 E_t = Σ|x|²
频域能量 E_f = (1/N)Σ|X|²
相对误差 |E_t-E_f|/E_t
峰值频率 bin
时间信号 x[n] 与功率谱 |X[k]|²/N

上:时间信号 x[n](蓝色,前 200 采样点)/下:PSD = |X[k]|²/N(红色,k = 0..N/2,峰值高亮)

理论与主要公式

帕塞瓦尔定理表明信号的总能量在时域与频域之间是守恒的。对于长度为 N 的离散信号 x[n],有以下关系:

离散傅里叶变换(DFT):

$$X[k] = \sum_{n=0}^{N-1} x[n]\, e^{-j 2\pi k n / N}$$

帕塞瓦尔定理(标准 DFT 归一化约定):

$$\sum_{n=0}^{N-1} |x[n]|^2 = \frac{1}{N}\sum_{k=0}^{N-1} |X[k]|^2$$

功率谱密度(周期图估计):

$$\mathrm{PSD}[k] = \frac{|X[k]|^2}{N}$$

对单频正弦信号 $x[n] = A\cos(2\pi f_0 n / N)$,由于 $\cos^2$ 的平均为 1/2,时域能量为 $\sum |x[n]|^2 = N A^2 / 2$。

什么是帕塞瓦尔定理模拟器?

🙋
教材里见过『帕塞瓦尔定理』这个名字,可只看公式总觉得抽象。它到底有什么用?
🎓
一句话总结:它保证信号的总能量在时域和频域都给出完全相同的数值。看模拟器的默认参数(正弦、A=1、N=512):E_t = 256,E_f 也 = 256,相对误差基本为零。因为 $\cos^2$ 的平均是 1/2,理论值正好是 $N \cdot A^2/2 = 512 \cdot 1/2 = 256$。用两条完全不同的路径计算,结果一定一致——这就是定理的核心。
🙋
确实,E_t 和 E_f 都正好是 256!相对误差显示约 1e-13。这是什么误差?
🎓
那是浮点运算的『舍入误差』。理论上应该为零,但累加 N 次时每次都有约 2⁻⁵² 的误差累积。反过来说,1e-13 的误差正是定理在双精度下严格成立的证据。把振幅 A 改为 2 试试:E_t 与 E_f 会一起跳到约 1024(= N·A²/2),始终保持相等。
🙋
切到信号类型 1(矩形脉冲),能量大幅下降,但两边依然相等!
🎓
矩形脉冲只在中央 N/8 个采样点取 A=1,其他为 0,所以时域能量应该是 N/8 = 64。下方频谱呈现 sinc 函数般的宽分布,把所有 bin 加起来再除以 N,正好也是 64。信号波形完全不同,两侧的能量总和却始终平衡——这就是帕塞瓦尔的力量,它不在乎信号长什么样。
🙋
高斯信号(类型 2)的频谱更平滑。这在实际工程中怎么用?
🎓
最典型的是振动与声学测量。要从加速度计信号求总振动能量,可以直接对时间波形平方求和,也可以做 FFT 后对频谱求和——两条路径结果相同,正是帕塞瓦尔保证的。更妙的是,如果只想得到 100Hz–200Hz 的『带功率』,只需在频域对该范围 bin 求和,结果与时域带通滤波后的能量完全一致——这在工程上极为实用。

常见问题

DFT 有三种常见约定:(1) 正变换不归一化(本工具及 NumPy fft、MATLAB fft):Σ|x|² = (1/N)·Σ|X|²;(2) 正变换乘 1/N:Σ|x|² = N·Σ|X|²;(3) 对称约定(正变换乘 1/√N,SciPy norm='ortho'):Σ|x|² = Σ|X|²。三种约定下帕塞瓦尔均成立,只是系数不同。使用 FFT 库前务必查阅其文档。
实信号的 DFT 具有『厄米对称性』:X[N-k] 等于 X[k] 的复共轭,因此 |X[k]|² = |X[N-k]|²。cos 信号包含 +f₀ 与 -f₀ 两个频率成分,会对称地出现在 k=f₀ 与 k=N-f₀ 两个 bin。本工具下方图只显示 k=0..N/2,所以仅看到左侧的峰(k=10),峰值 bin 也以此为准。
严格地说,『功率谱』指每 bin 的功率 |X[k]|²/N²,『功率谱密度(PSD)』指单位频率的功率 |X[k]|²/(N·Δf),当 Δf=fs/N 时即 |X[k]|²/fs。在能量守恒语境下本工具采用归一化周期图 |X[k]|²/N,便于使 (1/N)·Σ|X|² 直接等于时域能量。涉及物理单位(V²/Hz、g²/Hz)的测量则需除以采样频率以使量纲一致。
连续信号的帕塞瓦尔(Plancherel 定理)为 ∫|x(t)|²dt = ∫|X(f)|²df,积分形式。离散信号中积分变为求和,并按 DFT 归一化约定出现 1/N 系数。物理本质相同——时间与频率间的能量守恒——但有限长离散情形会受到帧端不连续引起的频谱泄漏影响。不过帕塞瓦尔本身严格成立:泄漏只是将能量在各 bin 间重新分布,总和不变。

实际应用

振动与声学测量:在机械状态监测和声学测量中,从加速度计或麦克风得到时间序列,无论是用时域平方求和得到『总 RMS 值』,还是用 FFT 后从频谱求和计算,结果都相同——帕塞瓦尔定理保证了这两种计算路径的一致性。1/3 倍频程分析等只提取特定频带能量的方法,本质就是在频域对相应 bin 求和。

通信系统的 SNR 评估:无线通信与光通信中测量信号功率 S 与噪声功率 N 之比(SNR),既可以从时域波形平方平均得到总功率,也可以在频谱上分离信号带与噪声带分别计算——两者完全等价。MATLAB 的 snr() 函数与 NumPy 的频谱分析内部都使用了这一原理。

图像处理与压缩:JPEG/MPEG 等图像压缩将图像变换到频域(DCT、DFT)后舍弃能量较少的高频成分。这时用 PSD 评估『各频率成分含有多少能量』,优先丢弃低能量成分。结合 Wiener-Khinchin 定理,自相关性强(PSD 集中)的信号可获得更高压缩率。

量子力学的概率诠释:帕塞瓦尔定理在数学上是酉变换的范数守恒律。量子力学中,波函数 ψ(x) 的位置概率密度 |ψ(x)|² 与动量表示 φ(p) 的 |φ(p)|² 满足 ∫|ψ|²dx = ∫|φ|²dp,保证无论在位置空间还是动量空间计算概率,『总概率 = 1』始终成立——这是量子论的根本性质。

常见误解与注意事项

最常见的错误是『忘记归一化常数 1/N』。NumPy 和 MATLAB 的 fft() 采用不归一化的正变换约定,所以原始频谱和 Σ|X[k]|² 是时域能量的 N 倍。要验证能量守恒必须先除以 N。反之,SciPy 使用 norm='ortho' 时为对称约定,Σ|X[k]|² 直接等于时域能量。务必查阅所用库的文档后再进行跨域比较。

其次是『不考虑原始周期图的统计不稳定性』。本工具显示的 PSD[k] = |X[k]|²/N 只是单帧估计,对随机噪声而言每个 bin 的方差很大,估计值会围绕真值剧烈波动。实务中需用 Welch 法(重叠分段平均)、Bartlett 法(不重叠分段平均)或自回归(AR)建模等降低方差。帕塞瓦尔定理对任何估计法都严格成立,但单个 bin 的可靠性则是另一回事。

最后是误以为『有频谱泄漏时帕塞瓦尔不成立』。当信号频率不正好落在整数 bin 上、或没有加窗时,会出现频谱泄漏,把单根谱线扩散到附近多个 bin。这只是使特定 bin 的值偏离真功率,对所有 bin 求和后总能量仍与时域能量完全一致——帕塞瓦尔严格成立。本工具切到高斯信号即可看到:尽管频谱宽广,E_t 和 E_f 仍精确到机器精度地相等。