
信号与系统学到 2-4 这一节课表上写着“连续时间傅立叶变换”很多人就以为只是把前面周期信号的傅立叶级数换个名字结果一做题就懵了。连续时间傅立叶变换CTFT是整个频域分析的分水岭它能处理非周期信号把“频谱”从离散的谱线变成连续的谱密度后续的采样定理、滤波器设计、调制解调全都建立在它上面。这篇内容适合三类人正在学信号与系统、被“傅立叶变换到底跟傅立叶级数什么关系”卡住的同学考研复习想快速把公式和性质串成体系的人以及工作中需要重新捡起频域分析的工程师。我尽量把推导直觉、手算步骤和容易踩的坑一次讲透。1. 连续时间傅立叶变换到底在干什么1.1 从“频率成分”到“频谱密度”的思维切换先看定义。一个连续时间信号 x(t) 的傅立叶变换是$$X(j\omega) \int_{-\infty}^{\infty} x(t) e^{-j\omega t} dt$$反变换是$$x(t) \frac{1}{2\pi} \int_{-\infty}^{\infty} X(j\omega) e^{j\omega t} d\omega$$很多课本把这组公式直接砸给你却不解释为什么是积分、为什么前面带 1/(2π)、为什么用 e^{-jωt} 而不是别的。我当初学的时候也卡了很久。后来我的理解是正变换本质上是在做“相关性检测”——把 x(t) 和每一个复数正弦 e^{jωt} 做内积得到的 X(jω) 就表示信号里“这个频率的成分有多少”。注意是连续扫描所有频率所以严格说 X(jω) 不是傅立叶级数里那个“幅度 Ck”而是频谱密度单位是“幅度 × 时间”对应到频域就是“幅度 / 频率”。这个概念的切换极其关键周期信号的频谱是离散的线谱每根谱线的高度就是那个频率分量的真实幅度非周期信号的频谱是连续的面X(jω) 本身是密度只有对频率做积分才能得到真实幅度。反变换为什么有 1/(2π)因为正变换做完频谱被压缩到了角频率域。 ω 2πf积分变量从 f 换成 ω 时就多出 2π 的因子。你可以把 X(jω) 理解成无数个 e^{jωt} 按“密度”叠加密度叠加完要还原真实信号幅度就得乘上 dω/(2π)。这个因子配合后面讲的对偶性用多了自然就记住不用死背。1.2 为什么核函数偏偏是 e^{-jωt}有人会问为什么分解成 e^{jωt} 而不是 cos、sin第一复数指数同时包含了 cos 和 sin 两个分量处理相位天然方便。一个频率成分不光有幅度还有相位用 cos 展开需要在公式里同时出现正余弦两个系数而 e^{jωt} 的实部和虚部天然承载了这两个信息。第二LTI 系统对复指数输入的处理极其简单——输出等于输入乘上频响 H(jω)e^{jωt} 是线性时不变系统的本征函数。这一条才是频域分析在工程里能用的根本原因。如果你非要用三角函数展开卷积定理、系统频响这些概念会变得绕脖子。另外提醒一点工程上有时会把傅立叶变换写成关于频率 f 的形式只差一个 2π 缩放$$X(f) \int_{-\infty}^{\infty} x(t) e^{-j 2\pi ft} dt$$两种写法没有谁对谁错但做题时一定要统一。下面的推导我统一用角频率 ω避免来回换算出错。2. 从傅立叶级数到傅立叶变换很多教材没讲透的“极限过程”2.1 周期延拓与非周期极限怎么衔接这一小节我想把“为什么非周期信号也要有傅立叶分析”讲清楚因为它直接决定了你对公式的记忆方式。周期信号 x_T(t) 可以展开成傅立叶级数$$x(t) \sum_{k-\infty}^{\infty} C_k e^{jk\omega_0 t}, \quad \omega_0 \frac{2\pi}{T}$$Ck 由在一个周期上的积分得到。现在让周期 T 无限增大信号就“不再重复”变成一个非周期信号。这个过程中基频 ω0 2π/T 趋近于 0离散谱线间隔越来越密。原本孤立的谱线 Ck位置在 kω0越来越靠近极限情况下变成一条连续曲线——这就是 X(jω)。所以傅立叶变换不是推翻傅立叶级数而是傅立叶级数在周期趋近无穷时的极限形式。我当时听老师讲这个“极限”觉得太抽象后来自己推了一遍才踏实。你可以设一个有限长的信号只在 [-T/2, T/2] 内有值其他为 0。把它按周期 T 重复成周期信号写出 FS 系数$$C_k \frac{1}{T} \int_{-T/2}^{T/2} x(t) e^{-jk\omega_0 t} dt$$如果定义$$X(j\omega) \int_{-T/2}^{T/2} x(t) e^{-j\omega t} dt$$那么显然 Ck X(jkω0) / T。随着 T 增大ω0 变小谱线变多每条谱线的幅度 Ck 也趋近于 0——因为能量被摊到越来越多的谱线上。但注意Ck 与 T 的乘积也就是 X(jkω0)是有限且连续的。所以真正的物理量是“谱密度”不是单根谱线的值。2.2 收敛条件与吉布斯现象不是所有信号都能直接套公式用积分定义计算时信号要保证傅立叶变换存在。最常用的一组条件是狄利克雷条件和 FS 的要求类似信号绝对可积即 ∫|x(t)|dt ∞在任何有限区间内只有有限个极值点只有有限个不连续点。满足这些条件时变换收敛且在连续点处反变换能精确还原 x(t)在不连续点处反变换收敛到左右极限的平均值。这里有个经典坑很多同学以为“绝对可积”是傅立叶变换存在的必要条件其实不是。它是充分条件之一。现实中很多常用信号并不可积比如常数、阶跃、符号函数、周期信号它们照样有傅立叶变换只是结果里会出现冲激函数后面会细说。所以遇到不可积信号时不要慌查表或者用广义函数理论去推不要直接说“不存在”。吉布斯现象也同样值得留意用有限项逼近一个带跳变的信号时跳变点附近会出现固定约 8.9% 的过冲不管取多少项都不会消失只是过冲区域越来越窄。这是频域截断带来的固有现象不是计算错误。图像压缩、滤波器设计里如果处理不好边缘会出现振铃根源就是它。3. 常用信号变换对手算推导与记忆技巧3.1 必须背熟的几个“基本款”下面几组变换对是后续所有计算的基石我建议你不仅要记住结果还要能自己推一遍。矩形脉冲。设 x(t) A|t| ≤ τ/2其他为 0$$X(j\omega) \int_{-\tau/2}^{\tau/2} A e^{-j\omega t} dt \frac{2A}{\omega} \sin\left(\frac{\omega \tau}{2}\right) A\tau ,\text{sinc}\left(\frac{\omega\tau}{2\pi}\right)$$这里“sinc”用归一化定义还是非归一化定义不同教材不一样。我只是用 sinc(x) 表示 sin(πx)/(πx) 这种常见写法自己推导时按 sin 处理就行。注意 X(0) Aτ正好等于信号与时间轴的面积这个检查很实用。单边指数衰减信号。x(t) e^{-at}u(t)a 0$$X(j\omega) \frac{1}{aj\omega}$$模值是 1/√(a²ω²)这是一个低通形状的谱相位是 -arctan(ω/a)。这个结果很好记而且可以由它推出很多其他变换对比如把 a 往 0 靠近就得到阶跃相关的式子。单位冲激。δ(t) 的变换是$$\mathcal{F}[\delta(t)] 1$$意思是一个冲激包含了所有频率分量且幅度均匀。反过来常数 1 的变换是 2πδ(ω)说明纯直流在频域只在 ω 0 处有能量。这两条合起来记住“时域冲激 ↔ 频域常数”“时域常数 ↔ 频域冲激”遇到很多问题能秒解。阶跃信号和符号函数。符号函数 sgn(t) 1t0、-1t0。它不是绝对可积但可以用极限法求$$\mathcal{F}[\text{sgn}(t)] \frac{2}{j\omega}$$阶跃 u(t) 可以写成 (1 sgn(t))/2所以$$\mathcal{F}[u(t)] \pi\delta(\omega) \frac{1}{j\omega}$$很多初学者不理解为什么会有 πδ(ω)。我提供一个直觉阶跃里含有一个直流分量——它在 t0 时恒为 1所以必然有 ω0 处的冲激另外它在 0 点跳变跳变贡献了类似符号函数的高频分量 1/(jω)。如果你从能量角度看阶跃既不是能量有限也不是绝对可积自然要用冲激来处理直流部分。这个结论在很多控制系统的拉普拉斯变换对应里也会用到值得写进笔记。3.2 周期信号的傅立叶变换一句话结论周期信号不满足绝对可积但它的变换同样存在而且结果是频域里的冲激串。最经典的例子是余弦信号$$\cos(\omega_0 t) ;\xleftrightarrow{\mathcal{F}}; \pi\left[\delta(\omega-\omega_0) \delta(\omega\omega_0)\right]$$正弦则对应$$\sin(\omega_0 t) ;\xleftrightarrow{\mathcal{F}}; -j\pi\left[\delta(\omega-\omega_0) - \delta(\omega\omega_0)\right]$$一般化的结论任何周期信号都可以先用傅立叶级数展开成一系列 e^{jkω0t}而指数信号 e^{jkω0t} 的傅立叶变换是 2πδ(ω - kω0)。于是周期信号的频谱就是原离散谱线 Ck 乘上 2π 后搬到对应频率位置变成一串冲激。这个“周期 ↔ 离散”的对应关系是后面采样定理、离散傅立叶变换理解的基础。我把常用变换对整理成一张表方便复习时域信号 x(t)傅立叶变换 X(jω)备注δ(t)1全频带均匀12πδ(ω)直流δ(t - t0)e^{-jωt0}时移 → 相位旋转e^{-at}u(t), a01/(ajω)低通形状t e^{-at}u(t), a01/(ajω)²二阶低通sgn(t)2/(jω)跳跃产生高频u(t)πδ(ω) 1/(jω)直流高频混合e^{-a|t|}, a02a/(a²ω²)双边指数矩形脉冲幅度A宽度τAτ · 2 sin(ωτ/2)/(ωτ)主瓣旁瓣cos(ω0 t)π[δ(ω-ω0)δ(ωω0)]两条冲激sin(ω0 t)-jπ[δ(ω-ω0)-δ(ωω0)]虚数带相位4. 傅立叶变换的性质做题提速的关键也是系统分析的命脉4.1 时移、频移和尺度变换的直观含义性质这部分不光是公式堆砌每一个性质都对应一个工程直觉。先说三个最简单的。线性。这个不用多讲满足叠加。做题时把复杂信号拆成表里的基本信号各算各的再加起来即可。时移。若 x(t) → X(jω)则 x(t - t0) → X(jω)e^{-jωt0}。它只改变相位不改变幅度谱。这一条说明时间上平移信号不会改变信号各个频率分量的强度只会改变它们的相对相位。滤波器设计里“线性相位”的概念就来源于此。频移。x(t)e^{jω0t} → X(j(ω - ω0))。它就是把频谱整体搬到 ω0 附近调制原理的本质要把基带信号搬到高频就用载波 e^{jω0t} 去乘。在通信系统里天天都在用。尺度变换。若 x(t) → X(jω)则$$x(at) ;\xleftrightarrow{\mathcal{F}}; \frac{1}{|a|} X\left(j\frac{\omega}{a}\right)$$a 变大时信号在时域被压缩频谱被展宽、幅度减小a 变小时时域被拉伸频谱变窄、幅度变大。这是“时域越窄频域越宽”的不确定性原理在傅立叶层面的体现。做脉冲设计时想缩短脉冲宽度就得接受占用更大带宽。4.2 对偶性、卷积定理、Parseval 公式对偶性是我觉得最“划算”的一条性质。因为正变换和反变换只差一个 1/(2π)所以很多时频结论可以成对记忆若 x(t) → X(jω)则 X(t) → 2π x(-ω)。举个例子前面说常数 1 → 2πδ(ω)对偶一下就能推出 δ(t) → 1两组结论互为镜像。做题遇到不熟悉的信号时先想想它是不是某个已知变换的“对偶形式”。能省大量计算。卷积定理。这是全书最核心的性质没有之一$$x_1(t) * x_2(t) ;\xleftrightarrow{\mathcal{F}}; X_1(j\omega), X_2(j\omega)$$时域卷积等于频域相乘。为什么 LTI 系统的输出 y(t) h(t) * x(t) 在频域里就是 Y(jω) H(jω)X(jω)就是这个定理。有了它你把系统时域的卷积运算变成频域乘法再配合常用的变换对和查表很多复杂的积分瞬间就能解出来。反过来说时域相乘对应频域卷积除 2π这就是调制和采样中频谱搬移的理论依据。我建议你把这组性质用笔手推一遍傅立叶级数的卷积再过渡到广义的卷积定理记牢它是后面所有系统分析的支柱。Parseval 定理。能量形式的定理也非常实用$$\int_{-\infty}^{\infty} |x(t)|^2 dt \frac{1}{2\pi} \int_{-\infty}^{\infty} |X(j\omega)|^2 d\omega$$它保证能量在时域和频域是守恒的。它除了帮你验证变换计算结果在功率谱密度估计、随机信号分析里也几乎是定义级的工具。补充一句对于功率信号比如周期信号因为有冲激的存在通常要把它先写成 FS 或受限信号的极限再用功率谱密度来描述这个细节在工作中很有用。我把性质表列出来方便当速查手册用性质时域频域线性a x1 b x2a X1 b X2时移x(t - t0)X(jω)e^{-jωt0}频移x(t)e^{jω0t}X(j(ω - ω0))尺度变换x(at)(1/对偶性X(t)2π x(-ω)时域卷积x1 * x2X1 X2频域卷积x1 x2(1/2π)(X1 * X2)时域微分dx/dtjω X(jω)频域微分-jt x(t)dX/dω帕塞瓦尔∫x5. 实操演练用手算跑通矩形脉冲的完整流程5.1 从定义出发的分段积分看再多的公式不如亲手算一道经典题。下面我用矩形脉冲做完整例子把过程拆到每一步你照着走一遍基本就能掌握套路。信号定义$$x(t) \begin{cases} A, |t| \le \tau/2 \ 0, \text{otherwise} \end{cases}$$第一步套正变换公式。因为信号只在有限区间非零积分区间可以截断$$X(j\omega) \int_{-\tau/2}^{\tau/2} A e^{-j\omega t} dt$$注意很多新手容易把积分上下限写错或者忘了只在非零区间积分。这个区间就是信号的支撑区间写对了后面才好算。第二步直接积。e 指数的积分是个经典公式$$\int e^{-j\omega t} dt \frac{e^{-j\omega t}}{-j\omega}$$所以$$X(j\omega) A \cdot \frac{e^{-j\omega t}}{-j\omega} \bigg|_{-\tau/2}^{\tau/2} \frac{A}{-j\omega}\left(e^{-j\omega \tau/2} - e^{j\omega \tau/2}\right)$$注意上下限代入时不要慌符号要看清楚。括号里是 e^{-ja} - e^{ja} -2j sin(a)所以$$X(j\omega) \frac{A}{j\omega} \cdot 2j\sin\left(\frac{\omega\tau}{2}\right) \frac{2A}{\omega}\sin\left(\frac{\omega\tau}{2}\right)$$这样就算完了。很多同学在这一步容易把分母的 ω 丢掉或者在 e 指数的符号上出错。我的建议是把欧拉公式写在旁边每步代入都检查一遍正负号。第三步整理成漂亮形式并做两个快速检查。写成$$X(j\omega) A\tau \cdot \frac{\sin(\omega\tau/2)}{\omega\tau/2}$$这里令 sinc 参数为 ωτ/2就是标准的“Sa 函数”形状。检查点有二。第一ω0 时用极限因为 sin(x)/x → 1所以 X(0) Aτ等于时域函数与坐标轴围成的面积。这个检查适用所有信号如果算出来不是面积基本可以判断积分过程出错。第二零点位置当 ωτ/2 kπk 为非零整数即 ω 2kπ/τ 时X 0。这些正是旁瓣和主瓣之间过零的位置。你可以取 A1、τ1画出来看主瓣在 [-2π, 2π] 之间零点在 ±2π。这样的图形你多画几次对“时域宽度和频域零点位置成反比”就有直觉了。5.2 用性质做核验一题多解才是真学会算完直接结果后我强烈建议再用性质验一遍。以矩形脉冲为例你可以把它看成两个阶跃之差$$x(t) A,u\left(t\frac{\tau}{2}\right) - A,u\left(t-\frac{\tau}{2}\right)$$用阶跃的变换 u(t) → πδ(ω) 1/(jω)配合线性与时移性质$$ X(j\omega) A e^{j\omega\tau/2}\left[\pi\delta(\omega) \frac{1}{j\omega}\right] - A e^{-j\omega\tau/2}\left[\pi\delta(\omega) \frac{1}{j\omega}\right] $$注意 e^{jωτ/2}δ(ω) 和 e^{-jωτ/2}δ(ω) 在 ω0 时都等于 δ(ω)所以冲激项其实互相抵消直觉也很好理解矩形脉冲没有直流平均之外的奇异直流。剩下的就是$$A\left(e^{j\omega\tau/2} - e^{-j\omega\tau/2}\right)\frac{1}{j\omega} \frac{2Aj\sin(\omega\tau/2)}{j\omega} \frac{2A}{\omega}\sin\left(\frac{\omega\tau}{2}\right)$$结果与直接积分完全一致。这种“一题多解”不是炫技而是核验计算是否出错的有效手段。此后你遇到阶跃组合成的信号就知道可以直接用性质拆不用每次从定义积分重头算。除此之外还可以用 Parseval 定理做一次能量核算。比如取 A1、τ1时域能量是 1。频域积分 (1/2π)∫ |2 sin(ω/2)/ω|² dω 也应该等于 1。这种计算稍繁琐但是当你不太确定某一个变换对的系数时这是最可靠的验算方式。我自己学的时候就用过这个办法能很快抓出漏了 1/(2π) 或者 2 的倍数错误。6. 常见坑与排查经验挂在黑板上的“血泪史”6.1 理论中的高频易错点以下几个问题是我在学习和答疑过程中见过最多的每一个都能让你在考场上或工程分析里栽跟头。第一收敛条件与不可积信号的冲突。前面说过绝对可积是充分非必要。做题时如果机械地先用“绝对可积”去判一个信号然后说它“没有傅立叶变换”就会丢掉阶跃、周期信号等一批重要情况。正确的姿势是先看是不是“基本信号”再查表或利用性质求广义变换。很多工程信号都不是能量有限信号但照样有频谱只是频谱里可能出现冲激。不要一看到不可积就停手。第二频率变量 f 和 ω 混用导致漏因子。同样一个信号用角频率写是 1/(ajω)用频率写可能是 1/(aj2πf)。变换对表如果用 ω 版本做完再除 2π 或补 2π 时就特别容易出错。我的习惯是全程只用 ω只在最后涉及实际采样率或物理频率时才换成 fω/(2π)。你要是习惯用 f那就别在做题中途切单位。第三算周期信号忘了冲激串。很多人对周期信号直接拿非周期信号的公式去积分发现不收敛就不知道怎么办。周期信号的傅立叶变换一定是频域里的冲激串每一项的位置对应谐波频率幅度对应 2πCk。如果你做到一个周期信号变换后没有出现 δ 函数大概率是漏了冲激或者把 FS 系数和 FT 幅度混为一谈。第四时移中的相位号总写错。时移 x(t - t0) 应该乘 e^{-jωt0}方向反了就会把相位搞成反向。快速检验方法就是看信号“向右移动”后各频率分量是否滞后——滞后对应负相位所以是负指数。这个判断比死记公式可靠。6.2 计算和验证时的自查清单下面是我自己解决问题时的排查顺序。遇到和傅立叶变换有关的一题做错了按这个顺序查一遍通常能在两分钟内定位问题检查积分区间是否正确。非零区间写错是最高频的错误。检查 e^{j...} 的符号。代入上下限时最容易漏符号。检查最终结果在 ω0 的值是否等于时域信号的面积适用于可积信号。检查量纲。如果 X 的量纲不对可能漏了时间单位或 2π 系数。检查是否存在周期性或直流分量。如果信号有直流结果里要有 δ(ω) 项没有就是算错了。用 Parseval 定理做一个粗评估。频域能量和时域能量差别悬殊时基本可以确定系数有误。最后再用数值手段验证。比如在 Python 里用 numpy 的 FFT 近似连续信号的变换看峰值位置和主瓣形状对不对注意 FFT 是离散且周期性的只能做定性验证别把两者直接等同。我个人还有一个学习习惯把每一章出现的变换对和性质都做一张“双栏卡片”一栏是时域表达式一栏是频域表达式随时翻看。等到后面学到拉普拉斯变换时这张卡片能帮你快速做对比把 jω 换成 s 就是很多公式的拉氏版本但要注意拉氏变换的收敛域ROC这个额外的维度。连续时间傅立叶变换学扎实了拉普拉斯变换、采样定理、离散傅立叶变换就是在这个地基上添砖加瓦。我把矩形脉冲从定义积分、性质核验到能量验证完整跑完一遍之后最大的感受是傅立叶变换不难难的是不熟悉的时候每一步都在怀疑自己。它不像解微分方程那样有很多“巧劲”本质就是积分、性质、表格三件套。只要多算几道典型题把常用变换对和性质变成肌肉记忆后面看到任何系统框图或者调制模型你都能下意识地在脑子里画出频谱搬移的过程——那时候这门课才算真正入门了。