傅里叶级数模拟器 返回
信号处理 / 数学

傅里叶级数模拟器

用N=1~50个谐波合成方波、三角波、锯齿波,实时观察吉布斯现象过冲与谐波振幅频谱的变化规律。

参数设置
波形类型
谐波数 N
振幅 A
动画速度
吉布斯现象:约 9.0% 过冲
计算结果
谐波数 N
10
峰值
RMS 误差
波形合成(实时动画)
谐波振幅频谱 |bn|
光谱
理论与主要公式

$$f(t) = \frac{a_0}{2}+ \sum_{n=1}^{N}\!\left(a_n\cos\frac{2\pi nt}{T}+ b_n\sin\frac{2\pi nt}{T}\right)$$

方波:$b_n = \tfrac{4A}{n\pi}$(仅奇数 $n$)
三角波:$b_n = \tfrac{8A}{n^2\pi^2}\sin\!\tfrac{n\pi}{2}$
锯齿波:$b_n = -\tfrac{2A}{n\pi}(-1)^n$

什么是傅里叶级数

🙋
傅里叶级数是什么?为什么能把一个方方正正的方波,用一堆圆滑的正弦波拼出来?
🎓
简单来说,傅里叶级数就像“声音的食谱”。任何一个周期性的“味道”(波形),都可以用不同“配料”(正弦和余弦谐波)按特定比例混合出来。在实际工程中,比如分析发动机的振动噪音,我们测到的是复杂的时间信号,用傅里叶级数分解后,就能知道是哪些频率的振动在“作怪”。你可以在模拟器里选择“方波”,然后试着把“谐波数N”从1慢慢拖到10,看看这些平滑的波浪是怎么一步步逼近一个棱角分明的方块的。
🙋
诶,真的吗?我拖到N=20,方波的边角确实更直了,但跳变的地方总有个小鼓包在抖,这是怎么回事?
🎓
你观察到的那个抖动的鼓包,就是著名的“吉布斯现象”!就像你用有限块乐高去拼一个直角,拐角处总会有锯齿。对于方波这种有突然跳变的信号,无论你加多少谐波(即使N很大),在不连续点附近总会存在大约9%的过冲和振荡。工程现场常见的是,在CFD模拟激波,或者FEM分析应力集中时,也会出现类似的数值振荡。你试试把波形切换到“三角波”,再用同样的谐波数叠加,会发现边角平滑多了,因为三角波的“配料”衰减得更快。
🙋
原来不同波形的“配料”比例还不一样啊!那右边那些竖条(频谱)代表什么?我调“AmplitudeA”滑块,它们怎么一起变?
🎓
那些竖条就是“食谱”的具体配方表!每个竖条的高度代表对应频率谐波的振幅大小。对于方波,只有奇数次谐波(n=1,3,5...)有“配料”,而且振幅按 $1/n$ 衰减。所以你改变顶部的总“AmplitudeA”,所有谐波的振幅都会按比例缩放,就像把整道菜做咸或做淡。试着把“波形类型”从方波切换到锯齿波,你会立刻看到频谱变成所有谐波(1,2,3,4...)都有分量了,这就是不同波形对应的不同数学公式在起作用。

物理模型与关键公式

傅里叶级数的核心思想是将一个周期为 $T$ 的复杂函数 $f(t)$,分解为一系列频率为基频整数倍的正弦和余弦函数的线性组合。

$$f(t) = \frac{a_0}{2}+ \sum_{n=1}^{N}\!\left(a_n\cos\frac{2\pi nt}{T}+ b_n\sin\frac{2\pi nt}{T}\right)$$

其中,$a_0/2$ 是直流分量(平均值),$a_n$ 和 $b_n$ 是傅里叶系数,决定了每个余弦和正弦谐波的“分量”大小,$n$ 是谐波次数,$N$ 是叠加的谐波总数。

不同波形的“身份”由其独特的傅里叶系数决定。模拟器中三种波形的关键系数公式如下(假设振幅为 $A$):

$$ \begin{aligned}&\text{方波(奇谐波)}: & b_n &= \frac{4A}{n\pi}\quad (n=1,3,5,\ldots), \quad a_n=0 \\ &\text{三角波(奇谐波)}: & b_n &= \frac{8A}{n^2\pi^2}(-1)^{(n-1)/2}\quad (n=1,3,5,\ldots), \quad a_n=0 \\ &\text{锯齿波(所有谐波)}: & b_n &= \frac{2A}{n\pi}(-1)^{n+1}\quad (n=1,2,3,\ldots), \quad a_n=0 \end{aligned} $$

注意系数衰减速度:方波 ($1/n$),三角波 ($1/n^2$),锯齿波 ($1/n$)。衰减越快,用有限项 $N$ 逼近时收敛得越好,吉布斯现象越不明显。

现实世界中的应用

结构振动与噪声分析:在汽车或飞机设计中,通过传感器采集机身的振动时域信号,利用傅里叶变换(傅里叶级数的推广)得到频谱,可以精准定位引起异常噪音或疲劳问题的共振频率,从而指导结构优化。

信号处理与通信:在无线通信中,任何调制信号(如AM/FM)都可以用傅里叶级数表示其频带特性。滤波器的设计也基于此,目的是保留有用频段,滤除噪声或干扰谐波。

热传导与电磁场分析:在求解具有周期性边界条件的热传导或电磁场偏微分方程时,傅里叶级数法是重要的解析工具。例如,分析周期性加热的金属板内的温度分布。

CAE中的数值仿真后处理:在有限元分析(FEA)或计算流体力学(CFD)得到瞬态结果后,工程师常对某个关键点的位移、压力等数据进行傅里叶分析,将时域响应转化为频域,以评估系统的动态特性或识别 dominant 的物理频率。

常见误解与注意事项

首先,人们常认为“N越大精度总是越高”,但实际上并非如此简单。对于平滑的三角波确实如此,但对于像方波这样具有不连续点的波形,由吉布斯现象引起的约9%过冲即使将N增至100或1000也不会消失。这是数学上已证明的收敛性质。在实际工程中,“应增加多少项数”取决于可接受的误差与计算成本之间的平衡。例如,若语音信号再现中9%的失真不可接受,那么方波近似本身可能就不适用。

其次,需注意仿真器中看到的“频谱”终究只是理想周期波形的频谱。实际CAE数据(例如时程振动数据)经FFT得到的频谱会混杂噪声和非稳态成分,不会呈现如此清晰离散的谱线。例如,对发动机振动数据进行FFT时,虽能看到与转速对应的峰值,但背景中必然存在宽频噪声。重要的是不能将工具的完美频谱直接等同于现实。

最后,要理解系数衰减速度 $1/n$ 和 $1/n^2$ 所揭示的“波形特性”。衰减越慢(如方波的$1/n$)则高频成分越多,包含急剧变化;反之衰减越快(如三角波的$1/n^2$)的波形越平滑。这直接关系到实际工程中的网格划分和时间步长设置。模拟冲击波这类急剧现象时,由于不能假设快速衰减,因此需要非常精细的网格或高采样频率。