【信号与系统 - 6】周期信号的傅里叶变换
这个【信号与系统】系列写到这里,前面几篇已经把傅里叶级数、非周期信号傅里叶变换、常用变换对都过了一遍。按理说主线框架已经差不多了,但真正做题的时候,你会发现题目里动不动就冒出这么一句:“求周期信号 f(t) 的傅里叶变换”。很多同学当场就懵了:非周期信号有傅里叶变换,周期信号也有傅里叶变换?这俩不是两套体系吗?
没错,确实不是一回事。周期信号不满足绝对可积条件,直接套傅里叶变换定义根本算不下去,所以教材里通常把傅里叶级数和傅里叶变换分开讲。但实际工程和考试中,周期信号又必须纳入傅里叶变换的统一框架。这个需求不是老师故意刁难,而是因为后续的采样定理、调制解调、滤波器设计全都建立在“周期信号也有频谱”这个前提之上。你只有把周期信号的傅里叶变换吃透,后面学通信系统、数字信号处理才不至于卡壳。
这篇文章适合三类人:正在学信号与系统的本科生、备考信号与系统考研的同学、以及工作中需要快速回顾频域分析基础的工程师。我会从最底层的公式推导讲起,把常见周期信号的频谱一个个手算给你看,再结合考研真题常考的题型,把容易踩的坑全部翻出来。
1. 从级数到变换:为什么周期信号要单独讨论傅里叶变换
1.1 普通傅里叶变换的门槛到底卡在哪里
先复习一个最基础的东西。非周期信号 f(t) 的傅里叶变换定义为:
F(jω) = ∫_{-∞}^{∞} f(t) e^{-jωt} dt
这个积分要收敛,通常要求 f(t) 绝对可积:
∫_{-∞}^{∞} |f(t)| dt < ∞
而周期信号在无限长时间内一直重复,能量无限大,这个积分显然发散。所以从定义出发,周期信号的傅里叶变换是不存在的。这就是为什么教材要在前面先讲傅里叶级数,把周期信号分解成无数个复指数分量的叠加,再用级数系数去描述它的频谱。
但问题来了:级数是级数,变换是变换,两个工具各管一摊事,用起来非常别扭。实际分析中我们常常希望把周期信号和非周期信号放进同一个坐标系里看频谱,比如画出 cos(ω0t) 的频谱图。如果用级数,画出来是几条竖线;如果用变换,理论上又算不出来。数学上这种矛盾必须有解,否则通信系统里那么多周期信号都没法做频域分析了。
1.2 冲激函数就是那座桥
解决思路其实很暴力:既然周期信号不满足绝对可积,那我就人为引入一个足够“尖锐”的函数,让积分在广义函数的意义下收敛。这个函数就是单位冲激函数 δ(t)。
冲激函数有一个非常关键的性质:它在 t=0 处取值无穷大,但面积为1。用它参与积分时,可以把积分结果“钉”在某个频率点上。这样一来,周期信号虽然本身不收敛,但它的频谱可以写成一系列冲激函数的加权和。每个冲激的强度和它所在频率的幅度分量成正比。
所以周期信号的傅里叶变换,本质上就是在频域里摆一排冲激,这些冲激的位置对应基波和谐波的频率,强度对应每个频率分量的复振幅。这个思路一旦打通,周期信号和非周期信号就在傅里叶变换的框架下统一了。
2. 核心推导:周期信号傅里叶变换公式从哪来
2.1 先啃下复指数信号 e^{jω0t} 的傅里叶变换
所有推导的关键,是搞清楚一个最基础的信号——复指数信号 e^{jω0t} 的傅里叶变换是什么。这个信号本身也是周期的,不满足绝对可积,但我们依然可以借助冲激函数写出它的频谱。
直接看定义,如果 F[e^{jω0t}] = 2πδ(ω-ω0),那么反变换应该是:
f(t) = (1/2π) ∫_{-∞}^{∞} 2πδ(ω-ω0) e^{jωt} dω
根据冲激函数的抽样性质,这个积分直接等于 e^{jω0t}。看,反变换正好把原信号还原回来了。这说明 F[e^{jω0t}] = 2πδ(ω-ω0) 在广义函数意义下是成立的。
这个结论非常重要,它说明一个复指数信号在频域里就是一根位于 ω0 处的冲激,而且强度是 2π 而不是 1。这个 2π 是很多初学者最容易漏掉的地方,后面所有周期信号的傅里叶变换公式里如果带着 2π,源头都在这。
2.2 从级数到变换的通式
任意周期信号 f(t),周期为 T,基波角频率 ω0 = 2π/T,可以展开成傅里叶级数:
f(t) = Σ_{n=-∞}^{∞} F_n e^{jnω0t}
其中傅里叶级数系数 F_n 的求解公式:
F_n = (1/T) ∫_{-T/2}^{T/2} f(t) e^{-jnω0t} dt
现在对等式两边同时做傅里叶变换。因为傅里叶变换是线性变换,所以可以先对每一项 e^{jnω0t} 求变换,再叠加起来:
F(jω) = Σ_{n=-∞}^{∞} F_n · F[e^{jnω0t}]
把刚才得到的结论 F[e^{jnω0t}] = 2πδ(ω-nω0) 代进去:
F(jω) = 2π Σ_{n=-∞}^{∞} F_n δ(ω-nω0)
这就是周期信号傅里叶变换的通用公式。
在实际计算时,很多题目会反过来用这个公式的变形:先求单周期内信号的傅里叶变换,再推出级数系数,最后写出整个周期信号的频谱。这个思路比直接用定义求级数系数快得多,后面第四部分会专门讲。
3. 常见周期信号的傅里叶变换实操计算
3.1 正弦信号和余弦信号
先算最简单的。根据欧拉公式:
cos(ω0t) = (1/2)(e^{jω0t} + e^{-jω0t})
利用前面复指数的结论:
F[cos(ω0t)] = (1/2)[2πδ(ω-ω0) + 2πδ(ω+ω0)] = π[δ(ω-ω0) + δ(ω+ω0)]
sin(ω0t) 同理:
sin(ω0t) = (1/2j)(e^{jω0t} - e^{-jω0t})
所以:
F[sin(ω0t)] = (1/2j)[2πδ(ω-ω0) - 2πδ(ω+ω0)] = (π/j)[δ(ω-ω0) - δ(ω+ω0)]
把 1/j 写成 -j,也可以写成:
F[sin(ω0t)] = -jπ[δ(ω-ω0) - δ(ω+ω0)]
这里要注意符号:cos 频谱两个冲激都是正强度,sin 在正频率处是负虚数,负频率处是正虚数。很多同学画 sin 的频谱时容易把两个冲激的箭头方向画反,就是因为忽略了 j 带来的相位旋转。
3.2 周期冲激串的处理
接下来是另一个重量级信号:周期冲激串 δ_T(t) = Σ_{n=-∞}^{∞} δ(t-nT)。
这个信号看着吓人,其实算起来很规整。先求它的傅里叶级数系数。由于每个周期内只有一个冲激,在 [-T/2, T/2] 内积分,只有 t=0 处那个冲激起作用:
F_n = (1/T) ∫_{-T/2}^{T/2} δ(t) e^{-jnω0t} dt = 1/T
所以周期冲激串的傅里叶变换:
F[δ_T(t)] = (2π/T) Σ_{n=-∞}^{∞} δ(ω-nω0)
这里 ω0 = 2π/T,所以 (2π/T) 也可以写成 ω0。也就是说,时域里周期为 T 的冲激串,频域里变成周期为 ω0 的冲激串,而且每个冲激强度都是 ω0。
这个结果对后面理解采样定理极其关键。采样本质上就是在时域乘以周期冲激串,对应频域就是频谱的周期延拓。如果这里系数算错,后面采样频率那部分全乱套。
3.3 周期矩形脉冲(周期方波)的频谱
周期矩形脉冲是考研题里出现频率最高的周期信号。设脉冲宽度为 τ,周期为 T,幅度为1,单个周期内的脉冲从 -τ/2 到 τ/2。
先看单个脉冲的傅里叶变换,也就是门函数 g_τ(t) 的频谱,前面系列文章已经算过:
F_0(jω) = τ · Sa(ωτ/2)
其中 Sa(x) = sin(x)/x(有些教材写成 sinc(x) = sin(πx)/(πx),两者 x 差一个 π,注意区分)。
再用第4部分要讲的关系,周期矩形脉冲的傅里叶系数:
F_n = (1/T) F_0(jnω0) = (τ/T) Sa(nω0τ/2)
于是整个周期信号的频谱:
F(jω) = 2π Σ_{n=-∞}^{∞} (τ/T) Sa(nω0τ/2) δ(ω-nω0)
注意,这里的 Sa 函数是自变量的离散采样,只取 nω0 这些频率点上的值。频谱图画出来后,冲激的高度不相等,外面包络是 Sa 曲线。
4. 单脉冲频谱与周期信号频谱的采样关系
4.1 一个能省一半计算量的公式
前面说过,周期信号的傅里叶级数系数可以直接通过单个周期的傅里叶变换求出:
F_n = (1/T) F_0(jnω0)
这个公式成立的条件是:在周期信号 f(t) 中取出一个周期的信号 f_0(t),它绝对可积且有傅里叶变换 F_0(jω)。然后,f(t) 的傅里叶级数系数就等于 F_0(jω) 在 ω=nω0 处取值的 1/T 倍。
换句话说,周期信号的谱线强度,就是单脉冲频谱在离散频率点上的采样结果,再整体除以周期 T。
这个关系是周期信号频谱分析最重要的捷径。很多题不会让你真的去算级数积分,而是让你先求单脉冲频谱,再写出系数。如果你背住了这个关系,很多计算可以一步到位。
4.2 画频谱图的正确姿势
画周期信号频谱图的时候,正确画法是:先画出单脉冲频谱的包络线,然后在包络线上 nω0 位置点出离散谱线,谱线高度是包络值乘以某个系数。
以周期矩形脉冲为例,包络线就是 τ Sa(ωτ/2) 的形状,主瓣在 ω=0 处,高度为 τ,两侧零点出现在 ωτ/2 = mπ,即 ω = 2mπ/τ。在这些零点处,对应的谐波分量消失。
这个特性经常被拿来出题。比如占空比 τ/T = 1/2 的周期方波,它的频谱零点位于 ω = 2mπ/τ = 2mπ/(T/2) = 4mπ/T,而谐波位置在 ω = nω0 = n·2π/T。要让谐波落在零点上,需要 2πn/T = 4πm/T,即 n = 2m。也就是说,所有偶数次谐波全部为零,频谱里只剩奇次谐波。这个结论在很多电路分析和通信调制题里都能直接用。
4.3 频域离散性背后的物理含义
周期信号频谱是离散的,非周期信号频谱是连续的,这个性质可以通过上面的采样关系统一理解:周期化在时域是重复拼接,在频域就是对单脉冲频谱做离散采样;而离散采样在时域对应周期延拓。时域周期、频域离散;时域连续、频域非周期。这组对应关系是整个信号与系统课程的一条暗线,采样定理的核心就是在利用这个对偶性。
做题的时候,看到“周期信号”四个字,第一反应就应该是:频谱一定离散。如果题目让你画连续频谱,那你肯定已经跑偏了。
5. 三角脉冲的傅里叶变换记忆方法
5.1 为什么三角波老记混
热搜词里专门有“三角脉冲的傅里叶变换记忆方法”,可见这个知识点确实坑了不少人。三角脉冲的频谱公式带有 Sa² 项,和矩形脉冲的 Sa 项长得很像,一不小心就写错。
矩形脉冲频谱是 τ Sa(ωτ/2),三角脉冲频谱长什么样呢?设高度为1、底边宽度为 2τ 的三角脉冲(从 -τ 到 τ,顶点在0):
F(jω) = τ Sa²(ωτ/2)
这里 Sa 的平方确实容易和矩形脉冲的公式打架,而且不同教材对“宽度”的定义还不一样,有写 2τ 的,也有写 τ 的,导致公式前面系数五花八门。
5.2 方法一:用卷积定理记
三角脉冲和门函数的关系是什么?一个门函数和它自身卷积,得到的就是三角脉冲。这是卷积的性质:两个宽度为 τ 的门函数卷积,结果是宽度为 2τ 的三角形。
频域里,时域卷积等于频域相乘。门函数的频谱是 τ Sa(ωτ/2),自己乘自己就是 τ² Sa²(ωτ/2),再考虑到高度归一化等系数问题,整理后就得到 τ Sa²(ωτ/2)。
这个方法的好处是你不需要死记三角脉冲的公式,只要记住门函数频谱和卷积定理,三角波频谱现推都能推出来。考试时如果紧张忘了公式,用这个思路十秒就能救回来。
5.3 方法二:用微分性质记
还有一个更“硬核”的推导思路。三角脉冲求两次导数,会出现正负两个冲激(一正一负)。时域求导对应频域乘以 (jω),反过来,已知冲激信号的频谱是常数,那么除以 (jω)² 就得到原信号的频谱。
三角脉冲的二阶导是 δ(t) 的组合,具体是 (2/τ)[δ(t+τ/2) + δ(t-τ/2) - 2δ(t)] 之类的形式,频域算出来再除以 (jω)²,得到含 cos 项和常数项的式子,最后用三角恒等式化简成 Sa² 形式。
这个方法推导过程稍长,但优势是通用,任何分段线性信号都能用。如果你把门函数频谱忘了,又不想记卷积结论,这条路可以兜底。
5.4 一个简洁的速查表
| 信号类型 | 时域表达式 | 傅里叶变换 |
|---|---|---|
| 矩形脉冲(门函数) | g_τ(t) | τ Sa(ωτ/2) |
| 三角脉冲 | Δ_τ(t)(底宽2τ,高1) | τ Sa²(ωτ/2) |
| 单位冲激 | δ(t) | 1 |
| 直流信号 | 1 | 2πδ(ω) |
| 复指数 | e^{jω0t} | 2πδ(ω-ω0) |
| 余弦 | cos(ω0t) | π[δ(ω-ω0)+δ(ω+ω0)] |
| 正弦 | sin(ω0t) | -jπ[δ(ω-ω0)-δ(ω+ω0)] |
这张表建议抄在笔记本上,配合“门函数卷积出三角波”这个记忆锚点,考前扫一眼就够了。
6. 考研实战:周期信号频谱题怎么拿满分
6.1 题型一:求周期信号的傅里叶变换表达式
这类题给一个具体的周期波形,让你写出频谱 F(jω)。大方向就是用公式 F(jω) = 2πΣF_n δ(ω-nω0),关键是求出 F_n。
解题模板分三步:第一步,写出周期 T 和基频 ω0 = 2π/T;第二步,取单周期信号 f_0(t),求它的傅里叶变换 F_0(jω);第三步,用 F_n = (1/T)F_0(jnω0) 得到系数,再代入通式。
比如之前算过的周期矩形脉冲,模板套用后直接得到:
F(jω) = 2π Σ (τ/T) Sa(nω0τ/2) δ(ω-nω0)
这种标准答案写法,老师判卷时一眼就能看到关键步骤,不容易丢分。
6.2 题型二:周期冲激串与采样定理结合
常考题目会问:时域理想采样后信号的频谱是什么?设采样信号为 f_s(t) = f(t) · δ_T(t),根据频域卷积定理:
F_s(jω) = (1/2π) F(jω) * F[δ_T(t)]
把周期冲激串的傅里叶变换 (2π/T)Σδ(ω-kωs) 代入,得到:
F_s(jω) = (1/T) Σ F[j(ω-kωs)]
这就是采样后频谱周期延拓的表达式。这道题能不能做对,完全取决于周期冲激串的傅里叶变换系数是否记对。很多同学就是在这里把系数算错,导致整个频谱幅度比例全错。
6.3 题型三:周期信号通过线性系统后的响应
如果周期信号通过一个频率响应为 H(jω) 的系统,输出信号仍然是周期信号,它的频谱可以直接用输入频谱乘以 H(jω) 得到。因为冲激函数与普通函数相乘时,只在冲激点处取值,所以:
Y(jω) = 2π Σ F_n H(jnω0) δ(ω-nω0)
这里每个谐波分量的增益是 H(jnω0) 在各谐波频率处的取值,不需要做积分,直接代入频率点即可。这种题在信号与系统考研里特别常见,尤其是讨论滤波器滤除谐波、保留基波这类问题,本质上就是考察周期信号频谱的离散性。
7. 常见问题与易错点排查实录
7.1 为什么我算出来的结果里没有 2π
这是答疑时被问得最多的问题。原因在于你用了不同的公式形式。如果你用“频谱密度函数”的定义,周期信号傅里叶变换里的系数是 2πF_n;如果你看图时只看谱线相对高度,可能会把 2π 约掉。但写成表达式时,只要严格从 F[e^{jω0t}] = 2πδ(ω-ω0) 出发,2π 一定会出现。检查时看看自己的结果里有没有漏掉 2π,基本就能判断推导对不对。
7.2 周期信号频谱的冲激强度可以是负的吗
可以。傅里叶系数 F_n 本身是复数,对于实信号,F_n 与 F_{-n} 共轭。比如方波频谱中某些谱线的 Sa(nω0τ/2) 可能为负,这意味着该频率分量的相位是 π,而不是负能量。画频谱图时如果画出负数高度,要么用向上或向下的箭头表示相位,要么拆成幅度谱和相位谱分别画。考试时题目如果只问幅度谱,直接用 |F_n| 就对了。
7.3 门函数频谱和周期矩形脉冲频谱老混
门函数是单个矩形脉冲,频谱连续,形状是 Sa 曲线;周期矩形脉冲是无穷多个矩形脉冲,频谱离散,包络也是 Sa 曲线。两者的区别就在于离散还是连续。记住一句话:周期化在时域,必然导致频域离散化;只要信号是周期的,频谱图像一定是冲激串,不可能出现连续谱线。
7.4 判断谐波消失的快速方法
当周期矩形脉冲的占空比 τ/T = 1/m(m 为整数)时,凡是 n 为 m 的整数倍的谐波,都落在单脉冲频谱的零点上,这些谐波分量全部为零。这个规律可以直接用来快速画出频谱草图,也可以用来检查计算结果:如果占空比 1/2,频谱里只有奇次谐波,你要是写出了二次谐波的冲激,说明零点算错了。
8. 写在最后的一点实操建议
说点掏心窝的话。周期信号的傅里叶变换这个知识点,在最开始学的时候确实容易让人绕晕,我当时也花了不少时间才把“级数系数”和“频谱密度”这两套符号体系理顺。后来应试和做工程久了,发现最管用的方法就是把核心公式 F(jω) = 2πΣF_n δ(ω-nω0) 和采样关系 F_n = (1/T)F_0(jnω0) 钉在脑子里,然后所有周期信号的题目都沿着“先单脉冲、再采样、再画冲激串”这个套路走,基本不会出大错。
现在每次拿到一个周期信号,我的第一反应不是去翻公式表,而是先画包络线、找零点、判断哪些谐波被消掉,然后才动笔写表达式。这套思维顺序一旦建立,做题速度和准确率都会有质的变化。希望这篇文章能帮你在周期信号傅里叶变换这条路上少绕几个弯。