资讯动态

傅里叶变换与频谱分析:用频域思维攻克信号与系统复习

发布时间:2026/8/31 4:01:43 来源:尧图企业网站定制
期末复习季最折磨人的往往不是高数而是《信号与系统》。翻开教材傅里叶变换、频谱分析、调制解调、系统响应每一章都认识合上书又全连不起来。更常见的是你辛辛苦苦算完一道积分最后发现题目根本不想考你手算能力而是想让你回答一个更本质的问题这个信号的频谱长什么样我当年学这门课也走过弯路。第一遍复习就是抄公式、背性质、刷题结果模拟卷上的调制题一换参数就卡住。后来把思路倒过来——先不管计算先回答三个问题这个信号属于什么类型它在频域里是什么样子系统对它做了什么——再回头看教材很多公式突然就长在了该长的位置上。这篇文章把信号与系统里最常考、也最实用的四条线串起来傅里叶变换、频谱分析、调制解调、傅里叶变换的应用。重点不是替你把全书重讲一遍而是帮你建立一条更接近直觉的复习和排障路径。你不需要背下所有性质表但你可以带走一个更值钱的习惯拿到任何信号先问一句它在频域里长什么样。1. 别急着背公式傅里叶变换其实是一次视角切换1.1 傅里叶变换不是在算信号而是在换坐标系先讲一个最容易被忽略的事实傅里叶变换本身不是信号处理的目标它是一种观察方式的切换。同一个信号你可以用时域波形来看——横轴是时间纵轴是幅度也可以用频域来看——横轴是频率纵轴是该频率分量的幅度或相位。时域描述的是信号在一段时间里怎么变化频域描述的是这个信号由哪些频率成分组成每个成分有多大。举个例子一段由 50Hz 和 120Hz 两个正弦波叠加成的信号时域波形是一条看不出规律的曲线。但如果做傅里叶变换工程里一般用 FFT频谱图上是两根清晰的谱线一根在 50Hz一根在 120Hz。这就是视角切换带来的差别时域里纠缠在一起的信息频域里可能干干净净地分开。这个理解比背着公式 X(ω)∫x(t)e^(−jωt)dt 有用得多。公式只是一个从时域坐标换算到频域坐标的工具真正重要的是你愿意把一个信号当成一堆正弦波的组合来看待。一旦你接受了这个观点后面所有内容都顺了。1.2 为什么换一个视角就能解决很多问题原因用一句话概括很多在时域里复杂至极的操作在频域里会变得极其简单。最典型的就是滤波。假设你采集到一段带 50Hz 工频干扰的信号时域波形上有用信号和干扰完全叠在一起肉眼很难分离。但在频域里干扰就是 50Hz 处的一个尖峰而你关心的信号频谱分布在别的频率范围。这时做一个带阻滤波器把 50Hz 附近的幅度压下去再还原回时域干扰就基本被去掉了。这个先变到频域、做处理、再变回来的思路是整个信号处理最重要的通用框架。调制解调、频谱分析、滤波器设计本质上都是在这个框架里完成某一个环节。所以学傅里叶变换不要纠结于我能不能手算出积分结果而要问自己这个信号变到频域之后哪个特征变清晰了这个问题想明白了傅里叶变换就不是负担而是你手里的一个放大镜。2. 频谱分析之前先分清四类信号2.1 周期、非周期、连续、离散选工具先看信号类型我见过不少人在做频谱分析时犯同一个错误不管信号是周期的还是非周期的反正上来就一个 FFT。结果图能跑出来但解释不清楚谱线到底代表什么。根源在于没有先给信号分类。信号可以从两个维度划分维度类别影响时间取值连续信号 / 离散信号决定用连续时间分析还是离散时间分析是否周期周期信号 / 非周期信号决定频谱是离散谱线还是连续谱密度对应到数学工具可以简化成一张表信号类型数学工具频谱形态周期连续信号傅里叶级数FS离散谱线间隔是基频非周期连续信号傅里叶变换FT连续频谱周期离散信号离散傅里叶级数DFS周期离散谱非周期离散信号离散时间傅里叶变换DTFT周期连续谱实际工程里用的 FFT是离散傅里叶变换DFT的快速算法它直接处理的只有离散且有限长的信号。你采集到的数据天然是离散有限长的所以 FFT 在工程里几乎是唯一入口但脑中要清楚FFT 算出来的是真实频谱在有限长度下的采样近似而不是频谱本身。2.2 采样率、混叠和频率分辨率频谱分析真正的边界频谱分析最容易翻车的地方不在 FFT 本身而在前置条件。三条最基本的安全线第一采样率必须高于信号最高频率成分的两倍这是奈奎斯特采样定理的基本要求。低于这个值高频成分会折叠回低频区形成混叠。你会在频谱图上看到一些低频分量但实际上信号里根本没有那些成分。第二FFT 的频率分辨率等于采样率除以 FFT 点数Δf fs / N。如果两个信号频率太接近比如 100.0Hz 和 100.5Hz而分辨率只有 1Hz频谱图上它们会糊成一个峰肉眼分不出来。想分辨得更细要么增加采样时长N 变大要么用更精细的分析方法而不是简单地拉高采样率。第三无限长信号被截断会产生频谱泄漏。处理短数据时通常建议先加窗汉宁窗、汉明窗等减少截断带来的旁瓣泄漏。但加窗会稍微展宽主瓣这是分辨率和泄漏之间的一个折中。实际排查时如果频谱图里出现了理论上不该出现的峰我一般按这个顺序查先看采样率够不够再看截断长度是不是引入了泄漏然后核对频率分辨率能不能区分目标最后检查数据里是否混入了直流偏置或趋势项。这个顺序能筛掉大部分低级错误。3. 调制解调的本质把频谱搬到合适的位置3.1 为什么要搬频谱基带信号不适合直接传输先问一个问题一个 0 到 4kHz 的语音信号为什么不能直接把它变成电磁波发射出去原因有两层。第一层是物理层面的要高效发射电磁波天线尺寸通常要和工作波长在同一个量级。低频信号波长很长比如 1kHz 对应的波长约为 300 公里这样的天线工程上根本没法做。把频谱搬到高频载波上之后波长变小天线才好做。第二层是资源复用层面的如果所有电台都把音频频谱直接放在 0–4kHz空中的信号会完全重叠接收端无法区分谁是谁。调制相当于给每个信号分配一个不同的载波频率让它占据一段不相交的频谱。你用收音机调台本质上就是在让哪个载波频率的频谱进入后面的解调电路。所以调制不是多此一举的绕圈子它的本质是频谱搬移把基带信号的频谱从低频区挪到以载波频率为中心的某个高频区间。这也是为什么学调制解调时最有用的一张图是基带频谱 载波 → 带通频谱。3.2 调幅AM的最小可运行流程调幅是最直观的调制方式因为它真的就是乘一下。设基带信号为 m(t)载波是 c(t)cos(2πf_c t)调幅信号可以写成s(t) [A m(t)] · cos(2πf_c t)这里的 A 是直流偏置用来保证包络不出现负值方便用简单的包络检波解调。从频域看基带频谱被搬到了 ±f_c 两侧形成上边带和下边带。这个搬移过程不需要复杂的电路模型一个乘法器就能完成。解调则反过来。接收端把 s(t) 再乘以一个同频载波 cos(2πf_c t)频域上会把信号重新搬回基带同时还会产生一个频率在 2f_c 附近的高频分量。用一个低通滤波器把高频分量滤掉就恢复了基带信号。这就是最经典的同步解调流程。从工程流程看一个小实验可以这样走生成 1kHz 的正弦波作为基带信号10kHz 作为载波。把两者相乘或按 AM 公式加直流偏置后相乘。观察时域波形里的包络以及 FFT 频谱里出现在 10kHz ± 1kHz 处的谱线。接收端再乘同频载波做低通滤波对比输出与原始基带。这个流程的价值在于它把所有抽象概念都落到了一个可观察的链路上。你先看到频谱搬移再看到它搬回来调制解调就不再是教材上的框图而是一条具体的信号流。3.3 频率调制和相位调制另一种搬法调幅改变的是载波的幅度所以它对幅度噪声敏感。调频FM把信息放到载波频率的瞬时变化上调相PM放在瞬时相位上。两者的直觉差别在于FM 的载波幅度保持不变频率跟随 m(t) 变化PM 的相位跟随 m(t) 变化频率则近似是相位的导数。FM 的好处是抗幅度噪声能力强因为接收端更关心信号过零点的密度而不是幅度大小。代价是它占用的带宽通常比 AM 宽并且频谱结构不是简单的频谱搬移而是在载波两侧产生一系列边带。工程上常用卡尔森公式估算 FM 带宽经典表述是带宽约为 2 倍最大频偏加 2 倍基带最高频率。这里不展开推导但你需要记住FM 的带宽和频偏强相关设计链路时先确认频率资源够不够再决定用多大的频偏。注意调幅、调频、调相都是一类把基带信息放进载波参数的框架选哪种取决于带宽、抗噪性和电路成本之间的权衡不存在一个在所有场景里都最好的调制方式。4. 傅里叶变换的应用从频谱分析到系统响应判断4.1 频率响应系统在频域里的性格傅里叶变换不只作用于信号本身它也适用于系统。线性时不变系统LTI的输入输出关系在时域用卷积描述y(t)x(t)*h(t)。到了频域卷积变为相乘Y(ω)X(ω)·H(ω)。这里的 H(ω) 就是系统的频率响应它回答的问题是系统对每个频率分量分别放大多少、移相多少。低通滤波器在低频段 H(ω)≈1在高频段接近 0谐振电路在谐振频率附近有一个峰。理解了这一点滤波器设计就变成了一件非常直观的事你想让哪些频率通过就把 H(ω) 做成在那些频率上接近 1、其他频率上接近 0 的曲线。这也是为什么工程师乐意在频域里分析系统。时域里你只能看到输出长得像什么频域里你能直接看到系统对哪个频率敏感。这个视角一旦建立后面学通信原理、控制理论、图像处理都会反复用到。4.2 卷积定理为什么这么重要卷积定理说时域卷积等于频域乘积。反过来时域乘积等于频域卷积。它的重要性体现在两个地方。第一多个系统串联时总频率响应就是各级频率响应相乘。比如一个放大器和滤波器级联通带特性可以直接从 H1(ω)H2(ω) 看出来而不需要回到时域去算一遍复杂的卷积积分。第二它解释了截断、加窗这一类操作的频谱效果在时域把信号乘以一个窗函数频域就是原始频谱与窗函数频谱的卷积。矩形窗的旁瓣是 sinc 形状所以直接截断会产生频谱泄漏加平滑窗可以减少旁瓣但主瓣会变宽。对做信号分析的工程师来说卷积定理相当于把一套微积分操作简化成了代数乘法。这也是为什么你会在各种教材里反复看到它它不是一个孤立考点而是连接时域和频域的一座桥。4.3 用频谱分析排查干扰的三步链路实际项目里遇到信号不对、原因不明时这套链路比先改参数更可靠第一步看时域波形先归类是周期干扰、突发脉冲还是宽带噪声周期干扰会在频域表现为离散尖峰突发脉冲表现为宽底座的连续谱宽带噪声则是平缓抬高的底噪。类型判断对了后续工具才不会选错。第二步做 FFT记录所有显著谱峰对应的频率和幅度。注意先把直流分量处理掉减均值避免 0Hz 的巨大分量把其他细节压扁。第三步对照干扰源50Hz 工频及其谐波、开关电源的开关频率、时钟信号的基频和谐波都是常见干扰来源。如果一个峰出现在某开关频率附近就先查电源布局如果出现在和采样率严格相关的特定位置则优先怀疑混叠而非真实干扰。排查到底层之后再动手通常比蒙参数快得多。注意FFT 能告诉你的只是频谱上有哪些成分不能直接告诉你是从哪里来的。来源判断要靠频率数值、已知干扰源目录和实验对照来确认。5. 速成阶段的三个可复用习惯5.1 先给信号分类再选工具题目拿到手不要先想着套公式。先做三件事这个信号是连续还是离散它是周期还是非周期我关心的是频谱形状、幅度还是相位这三个答案决定了你该用傅里叶级数、傅里叶变换、Z 变换还是直接上 FFT。很多人在考试里卡住不是因为不会积分而是没判断出题目里的信号到底是周期还是非周期。周期信号用傅里叶级数可以写成离散谱线非周期信号用傅里叶变换得到连续谱数字信号处理里的离散信号则要看它是否有界、是否有限长。分类一旦乱了后面的工具全是错配。5.2 把公式翻译成图像复习时我建议每遇到一个公式都问一句它把一个信号变成了什么样例如傅里叶变换时域波形 → 频谱图。逆傅里叶变换频谱图 → 时域波形。时移性质信号在时域平移频域只改变相位幅度谱不变。调制定理时域相乘频域搬移。如果你脑子里能出现搬移平移加窗卷积这些动作画面就不需要死背性质表了。性质表本质上是一套在时域做某个操作相当于在频域做另一个操作的翻译字典。看得懂画面字典只是辅助看不懂画面背了也会在考场上混淆。5.3 做完题以后检查四件事无论做题还是做仿真结果出来后都不要直接跳到下一题。花十秒钟检查量纲和单位频率是 Hz 还是 rad/s时间是秒还是毫秒特征频点0 处的频谱值是否等于时域信号的积分或均值边界条件频率趋近 0 和无穷大时结果是否合理极限情形当某个参数变成 0 或无穷大公式是否退化成已知结论这四件事能筛掉大量低级错误。它们检查的是思路是否自洽而不是重新计算一遍。如果你做完题能清晰地回答这个频谱图应该长什么样那正确率通常会比自己预想的高很多。6. 从考试到实际项目还差这几块拼图6.1 把公式变成代码频谱分析的最小 Python 流程如果只是复习考试笔算够用。但想真正体会频谱分析和调制解调的对应关系把信号放进代码里跑一遍是成本最低的方式。下面是一个常见的频谱分析示例流程import numpy as np import matplotlib.pyplot as plt fs 1000 # 采样率单位 Hz t np.arange(0, 1, 1/fs) # 1 秒时间轴 # 一个由 50Hz 和 120Hz 组成的测试信号 x np.sin(2*np.pi*50*t) 0.5*np.sin(2*np.pi*120*t) X np.fft.fft(x) # 做 FFT freqs np.fft.fftfreq(len(x), 1/fs) # 通常只画正频率部分 half len(x) // 2 plt.plot(freqs[:half], np.abs(X[:half])) plt.xlabel(Frequency (Hz)) plt.ylabel(Magnitude) plt.show()这里有两个常见坑。一是fftfreq返回的频率含负值画图时通常取前半段二是直接用abs画的是幅度谱如果关心功率应改用幅度平方。加窗则可以在 FFT 之前把x乘以np.hanning(len(x))代价是主瓣变宽、峰值幅度会偏低。我建议你在这个例子上顺手验证两件事把采样率降到 100Hz 再观察 120Hz 分量变成了什么这就是混叠的直观演示把两个信号改成 100.0Hz 和 100.5Hz观察 1 秒数据能不能分辨频率分辨率的概念就出来了。这种实验的价值超过做十道填空题。注意上面的示例是演示用代码不考虑实时性。实际嵌入式环境做频谱分析时还要考虑数据长度、内存占用和 FFT 库的定点实现不能直接把 NumPy 的思路平移过去。6.2 这门课的适用边界它解决什么不解决什么说句实话信号与系统里的傅里叶变换和分析方法真正擅长的是线性时不变系统上的稳态分析。它适合解决这些场景判断信号里有哪些频率成分。设计滤波器分离不同频段的信号。理解调制解调为什么能把基带信号搬上高频。分析 LTI 系统对不同频率的响应。但它不适合或者说需要进一步工具的场景也必须说清楚非平稳信号也就是频率随时间变化的信号比如语音、chirp 信号等傅里叶变换只能给出整个时间段的平均频谱看不出频率随时间的变化。这时要用短时傅里叶变换或小波分析。非线性系统输入输出关系不能简单地用频率响应描述。实际通信系统里的同步、均衡、信道编码信号与系统课程只是基础不能直接覆盖。所以不要指望学完这门课就能上手设计一个完整的通信系统。它更像是地基把频谱思维扎进你的直觉里之后无论是数字信号处理、通信原理、控制理论还是图像处理都会反复调取这套视角。回到开头那个复习场景。如果你现在正盯着傅里叶变换的公式发愁我的建议是先合上书找一段音频或者一段测量数据用 FFT 看它的频谱再用一个乘法器代码里就是逐点相乘完成一次调幅再解调回来。做完这两个小实验再回头读教材里的性质表你会发现自己看懂了以前看不懂的很大一部分。信号与系统教给你的不是一套用来应付期末的积分技巧而是一个更底层的思维方式拿到任何信号先问一句——它在频域里长什么样这个问题问多了调制解调、频谱分析、滤波器设计就不再是孤立的考点而是同一个思维模型的不同侧面。这也是这门课最值得你花时间带走的东西。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价