最近有感,如果说现实世界是一个巨大的草台班子,那么数学世界就是一个极其规律统一的班子。对之前的傅里叶级数做一个认知上的扩展。
什么是傅里叶级数?
用一句话概括:任何周期性的复杂信号,都可以看作是由许多不同频率、不同幅度的正弦波(Sine)和余弦波(Cosine)叠加而成的。
[!NOTE]
时间上的分解, 在这一个时刻,可以把某个信号进行一个分解。
我们可以用一个生活中的类比来理解:棱镜与光。
- 白光(复杂的周期信号)看起来是一个整体。
- 棱镜(傅里叶分析)将其分解为彩虹七色(不同频率的正弦波)。
- 傅里叶级数就是这个“光谱”的数学配方列表(例如:30%的红光 + 20%的绿光 + …)。
核心思想:万物皆可“正弦化”
在时域(Time Domain)上看起来非常尖锐、方正或奇怪的波形(只要是周期的),其实都是圆润的正弦波“凑”出来的。
- 基波(Fundamental): 与原信号频率相同的正弦波。
- 谐波(Harmonics): 频率是基波整数倍(2倍、3倍…)的正弦波。
通过调整这些正弦波的幅度(大小)和相位(起跑点) ,并将它们加在一起,你就能重建出原始信号。
数学公式(三角形式)
假设 f(t)f(t)f(t) 是一个周期为 TTT 的函数,角频率为 ω0=2π/T\\omega_0 = 2\\pi/Tω0=2π/T。它可以写成:
f(t)=a0⏟直流分量+∑n=1∞(ancos(nω0t)+bnsin(nω0t)⏟交流分量(基波+谐波))
f(t) = \\underbrace{a_0}_{\\text{直流分量}} + \\sum_{n=1}^{\\infty} \\left( \\underbrace{a_n \\cos(n\\omega_0 t) + b_n \\sin(n\\omega_0 t)}_{\\text{交流分量(基波+谐波)}} \\right)
f(t)=直流分量a0+n=1∑∞交流分量(基波+谐波)ancos(nω0t)+bnsin(nω0t)
- a0a_0a0 (直流分量): 信号的平均值(也就是信号在上下振荡时的中心线)。
- nnn : 谐波的阶数(1是基波,2是二次谐波,以此类推)。
- an,bna_n, b_nan,bn (傅里叶系数): 这是一个“权重”,告诉我们在合成这个信号时,第 nnn 个频率的余弦/正弦波需要放多少量。
[!NOTE]
拓展一下,基坐标与向量。分解的前提在于正交性与线性无关。
直观例子:方波的合成

这是最经典的例子。想象一个跳变的方波(Square Wave)。它看起来一点也不像圆滑的正弦波,对吧?
但如果我们开始叠加:
复指数形式(通往雷达信号处理的桥梁)
在工程和雷达中,我们更常用欧拉公式 ejθ=cosθ+jsinθe^{j\\theta} = \\cos\\theta + j\\sin\\thetaejθ=cosθ+jsinθ 将其写成复数形式:
f(t)=∑n=−∞∞cnejnω0t
f(t) = \\sum_{n=-\\infty}^{\\infty} c_n e^{j n \\omega_0 t}
f(t)=n=−∞∑∞cnejnω0t
- 这和上面的三角形式是等价的。
- 物理意义: 这里不再是正弦波在震荡,而是无数个旋转的向量(Phasors)以不同的速度(nω0n\\omega_0nω0)在旋转。
- cnc_ncn : 是复数系数,包含了幅度和相位信息。
傅里叶级数展开的定义
将一个周期信号分解为一个直流分量和一系列复指数信号分量之和的过程被称为傅里叶级数展开。
周期信号的傅里叶级数展开式为:
f(t)=∑k=−∞∞ckejkω0t
f\\left(t\\right)=\\sum_{k=-\\infty}^{\\infty}c_{k}e^{jk\\omega_{0}t}
f(t)=k=−∞∑∞ckejkω0t
其中:ω0\\omega_0ω0:ω0=2πT\\omega _{0}= \\frac {2\\pi }Tω0=T2π, 周期T确定了ω0\\omega_0ω0就确定了。ckc_kck: 就是傅里叶系数,c0c_0c0是直流分量。
傅里叶级数展开几何意义

傅里叶级数展开的本质就是用一系列角速度为ω=kω0\\omega=k\\omega_0ω=kω0的旋转向量ckejkω0tc_{k}e^{jk\\omega_{0}t}ckejkω0t来合成周期信号。旋转向量在t=0t=0t=0时刻对应的向量就是傅里叶系数ckc_kck。
傅里叶系数
ck=1T∫−T/2−T/2f(t)e−jkω0tdt(k=0,±1,±2,⋯ )
c_{k}=\\frac{1}{T}\\int_{-T/2}^{{-T/2}}f(t)\\mathrm{e}^{-\\mathrm{j}k\\omega_{0}t}\\mathrm{d}t\\quad(k=0,\\pm1,\\pm2,\\cdots)
ck=T1∫−T/2−T/2f(t)e−jkω0tdt(k=0,±1,±2,⋯)
方波信号的傅里叶系数:
ck=12⋅sin(kπ/2)kπ/2=12sinc(k2)
c_{k}=\\frac{1}{2}\\cdot\\frac{\\sin(k\\pi/2)}{k\\pi/2}=\\frac{1}{2}\\sin c\\left(\\frac{k}{2}\\right)
ck=21⋅kπ/2sin(kπ/2)=21sinc(2k)
周期矩形信号的傅里叶系数
ck=1nsinc(kn)
c_{k}=\\frac{1}{n}\\sin c\\left(\\frac{k}{n}\\right)
ck=n1sinc(nk)
幅度为1的周期矩形信号的傅里叶系数只与占空比有关。
Tips:sinc函数
sinc(x)=sin(πx)πx
\\sin c\\left(x\\right)=\\frac{\\sin\\left(\\pi x\\right)}{\\pi x}
sinc(x)=πxsin(πx)

与泰勒级数的区别
既然已经有了泰勒级数,可以将信号进行分解,为什么还需要傅里叶级数呢?
确实,泰勒级数(Taylor Series)和傅里叶级数(Fourier Series)都是把复杂的函数分解成简单的项。但是,它们的“分解哲学” 、 “使用工具”以及“适用场景”完全不同。
如果用一句大白话概括:
- 泰勒级数是“以点带面”: 它关注当前的趋势(斜率、曲率),试图预测未来。
- 傅里叶级数是“整体拆解”: 它关注整个时间段内的成分,试图分析构成。
局部 vs. 全局 (Local vs. Global)
这是两者最大的区别。
泰勒级数(关注“点”):
泰勒展开是在某一个特定的点 x0x_0x0 展开的。它利用该点的一阶导数(斜率)、二阶导数(弯曲程度)等信息,向外延伸。
缺点: 离这个点 x0x_0x0 越远,误差通常越大。它就像是你站在山脚下(x0x_0x0),只凭脚下的坡度来猜测整座山(函数)的形状。
傅里叶级数(关注“段”):
傅里叶级数是在一个完整的周期区间 [0,T][0, T][0,T] 上进行积分。它利用的是函数在整个区间上的“平均能量”匹配。
优点: 它的误差是平均分布在整个区间上的。它就像是用无人机拍下了整座山的照片,然后分析山的整体结构。
对“平滑度”的要求 (Handling Discontinuities)
泰勒级数(必须平滑):
泰勒级数通过求导数(f′,f′′,f′′′…f', f'', f''' \\dotsf′,f′′,f′′′…)来计算系数。这意味着函数必须无限可导(非常光滑)。
致命伤: 如果信号有一个尖角(如三角波)或者跳变(如方波、雷达脉冲),在该点无法求导,泰勒级数直接失效,无法展开。
傅里叶级数(不挑食):
傅里叶级数通过积分计算系数。积分对“跳变”和“尖角”非常宽容。
优势: 哪怕信号是断开的(如开关信号),傅里叶级数依然可以完美工作(除了在断点处的吉布斯现象,但整体依然收敛)。
物理意义:多项式 vs. 频率 (Polynomials vs. Frequencies)
泰勒级数(多项式):
它的基底是 1,x,x2,x3…1, x, x^2, x^3 \\dots1,x,x2,x3…。
f(x)≈c0+c1x+c2x2+…
f(x) \\approx c_0 + c_1 x + c_2 x^2 + \\dots
f(x)≈c0+c1x+c2x2+…
这在计算器里计算 sin(x)\\sin(x)sin(x) 的值很有用,但在物理上,你能说这个信号含有“50%的 x2x^2x2 成分”吗?这没有明确的物理意义。
核心意义:用多项式逼近曲线。
它的逻辑是:“只要我站得够近,任何复杂的曲线看起来都像直线(或者抛物线)。”它利用某一点的信息(函数值、斜率、曲率…)来推测附近的函数行为。
- 数学本质: 将复杂函数(如 sin(x),ex\\sin(x), e^xsin(x),ex)转化为简单的幂函数 (1,x,x2,x3…1, x, x^2, x^3…1,x,x2,x3…) 的加权和。
- 关键词: 局部 (Local) 、求导、近似。
应用场景:
傅里叶级数(频率):
它的基底是 ejωte^{j\\omega t}ejωt (或者 sin,cos\\sin, \\cossin,cos)。
f(t)≈c1sin(ωt)+c2sin(2ωt)+…
f(t) \\approx c_1 \\sin(\\omega t) + c_2 \\sin(2\\omega t) + \\dots
f(t)≈c1sin(ωt)+c2sin(2ωt)+…
这直接对应了物理世界。声音: 基波是音高,谐波是音色。
核心意义:用正弦波合成周期信号。
它的逻辑是:“任何循环往复的动作,都可以拆解成不同频率的简单震荡。”它关注的是信号在整个周期内的能量分布。
- 数学本质: 将周期信号分解为基波(Fundamental)和整数倍频率的谐波(Harmonics)。
- 关键词: 周期 (Periodic) 、谐波、振动。
应用场景:
滤波与系统分析
假设你想从信号中滤除噪声。
用泰勒级数: 你有一堆 x,x2,x3x, x^2, x^3x,x2,x3 的系数。噪声通常是高频抖动,但这混杂在所有的 xnx^nxn 项里,你无法通过去掉“x5x^5x5项”来去掉噪声。
用傅里叶级数: 噪声通常表现为高频系数(nnn 很大的项)。你只需要把高频系数强制设为0(低通滤波器),再反变换回去,噪声就没了。没有傅里叶,就没有现代滤波器。
对比
| 构建模块 | 幂函数 (xnx^nxn) | 正弦波/复指数 (ejnωte^{jn\\omega t}ejnωt) |
| 核心操作 | 求导(微分) | 积分 |
| 视野 | 局部(从一点看世界) | 全局(纵观整个周期) |
| 处理突变 | 失败(无法处理方波/脉冲) | 成功(不仅能处理,还能分析) |
| 物理意义 | 数学逼近,物理意义弱 | 频率、频谱、能量分布 |
| 雷达应用 | 几乎不用 | 核心算法(FFT, 多普勒, 距离) |
再想深一点
泰勒级数与傅里叶级数的“坐标系”不一样,因为基底不一样。
区别在于,傅里叶级数的基底是正交的。
傅里叶级数真正的基石:函数的正交性 (Orthogonality)
这是傅里叶级数能成立的唯一原因。
在几何向量中,我们知道 XXX 轴和 YYY 轴是“垂直”(正交)的。这意味着:
- 你在这个世界上无论怎么沿着 YYY 轴走,你在 XXX 轴上的投影永远是 0。
- 我们可以把任何向量拆解成 3x⃗+4y⃗3\\vec{x} + 4\\vec{y}3x+4y,因为 xxx 和 yyy 互不干扰。
傅里叶发现了一个惊人的事实:三角函数系(正弦和余弦)就是函数世界里的 X,Y,ZX, Y, ZX,Y,Z 轴。
在数学上,这表现为:只要频率不同,它们相乘后在一个周期内的积分等于零。
∫0Tsin(nωt)⋅sin(mωt) dt=0(当 n≠m)
\\int_{0}^{T} \\sin(n\\omega t) \\cdot \\sin(m\\omega t) \\, dt = 0 \\quad (\\text{当 } n \\neq m)
∫0Tsin(nωt)⋅sin(mωt)dt=0(当 n=m)
∫0Tsin(nωt)⋅cos(mωt) dt=0(任何情况)
\\int_{0}^{T} \\sin(n\\omega t) \\cdot \\cos(m\\omega t) \\, dt = 0 \\quad (\\text{任何情况})
∫0Tsin(nωt)⋅cos(mωt)dt=0(任何情况)
这意味着什么?
这意味着频率为 1Hz1\\text{Hz}1Hz 的正弦波和频率为 2Hz2\\text{Hz}2Hz 的正弦波是“垂直”的。它们互不相干。你可以把一个复杂的信号分解成独立的频率分量,而不用担心它们混在一起算不清楚。
可以把它们看作两套不同的“积木系统”:
| 基础积木 (Basis) | 幂函数:1,x,x2,x3,…1, x, x^2, x^3, \\dots1,x,x2,x3,… | 三角函数:1,sin(x),cos(x),sin(2x)…1, \\sin(x), \\cos(x), \\sin(2x) \\dots1,sin(x),cos(x),sin(2x)… |
| 核心操作 | 求导数(Derivatives) | 求内积(Inner Product / Integral) |
| 逼近逻辑 | 以点带面:从一点出发,用多项式模拟曲线的弯曲。 | 投影分解:把函数“投影”到不同的频率轴上。 |
| 对函数的要求 | 极其挑剔:函数必须无限光滑、可导。 | 极其宽容:函数可以是断开的、有尖角的。 |
直观理解:
- 泰勒级数像是你在模仿一个人的笔迹。你盯着起笔的那一点(x0x_0x0),模仿它的斜率(一阶导)、弯曲度(二阶导)。离起笔点越远,模仿越不像。
- 傅里叶级数像是你在做一道菜。你分析这道菜里有多少盐(基波)、多少糖(二次谐波)、多少胡椒(三次谐波)。你是从整体口味(整个周期)去分析成分的。
虽然傅里叶级数与泰勒级数有一个共同的“爷爷”:线性代数中的“基底展开”(Basis Expansion)。
想象一个无限维的函数空间(Hilbert Space) :
- 这个空间里所有的函数都是“向量”。
- 泰勒级数选择了一组基底:{1,x,x2,… }\\{1, x, x^2, \\dots\\}{1,x,x2,…}。但这组基底其实不好用(它们不正交,互相纠缠)。
- 傅里叶级数选择了一组基底:{1,sinx,cosx,… }\\{1, \\sin x, \\cos x, \\dots\\}{1,sinx,cosx,…}。这是一组正交基(Orthonormal Basis)。
当你想算第 nnn 个系数 cnc_ncn 时,你不需要管其他系数是多少。利用正交性,只需做一个积分(投影),就能直接把 cnc_ncn 单独提取出来。
这就是公式:
cn=1T∫f(t)e−jnωtdt
c_n = \\frac{1}{T} \\int f(t) e^{-j n \\omega t} dt
cn=T1∫f(t)e−jnωtdt
本质上就是:f(t)f(t)f(t) 向量在 ejnωte^{j n \\omega t}ejnωt 这个坐标轴上的投影长度。





