这次我们继续做成都信息工程大学803《信号与系统》的典型题分析。前两期如果已经看完,基本的时域分析和拉普拉斯变换应该有了底子;这一期的重点非常明确,就是频域分析、系统函数、采样判断这三块内容。这三块内容在803《信号与系统》里属于高频考点,题型基本稳定,但计算量不小,容易在符号、边界、收敛域这些细节上丢分。
这一期不是照着课本念定义,我们会先把常见考法拆开,再给三道典型题分析,每道题都按“题目定位、解题思路、完整推导、结果检查”的顺序展开。题目会结合成都信息工程大学803《信号与系统》的常考难度来设计,主要用于方法演示,不代表考场原题。你自己刷真题的时候,拿着这套思路去套,效率会明显比盲目刷题高。
文章后半部分会补上MATLAB/Python验证思路、常见错误排查清单和复习节奏建议。如果你现在正在准备803《信号与系统》,建议把这篇收藏起来,遇到频域计算卡住的时候直接翻到对应小节对照检查。
1. 803《信号与系统》典型题分析:核心能力速览
| 项目 | 说明 |
|---|---|
| 考点模块 | 傅里叶变换、频域分析、系统函数、采样定理 |
| 常见题型 | 频谱函数计算、系统频率响应、正弦稳态响应、频谱图绘制、采样混叠判断 |
| 前置知识 | 常用傅里叶变换对、傅里叶变换性质、卷积、系统稳定性 |
| 关键计算工具 | 欧拉公式、部分分式展开、因式分解、频率轴标定 |
| 推荐验证工具 | MATLAB Signal Processing Toolbox、Python NumPy/SciPy |
| 主要易错点 | 符号漏写、积分上下限错误、收敛域不检查、相位取值范围不写、频谱图端点不标 |
| 适用人群 | 备考803《信号与系统》的考生、正在学信号与系统的本科生、需要快速回顾频域分析的技术人员 |
这张速览表是整篇文章的导航。你在复习时如果时间紧张,优先抓“傅里叶变换性质应用”“系统函数求法”“采样率判断”三个点。这三个点每年都会变着问,但底层逻辑是固定的。
2. 适用场景与使用边界
这篇典型题分析适合三类场景:第一类是803《信号与系统》考前冲刺,需要把高频题型过一遍;第二类是课程期末考试前,想用例题串联知识点;第三类是工作中需要重新捡起信号处理基础,但不想翻整本教材。
不适合的场景是:如果你连基本的傅里叶变换定义和常用变换对都还没记熟,直接啃典型题会有些吃力。不建议跳过基础直接做题。这套分析的重点是“用题带知识点”,默认你已经学过一遍课程内容,现在需要把知识转成解题能力。
另外要提醒一句:教材和真题材料都有版权边界。做题时不能只看题库答案,要把每一步推导自己重新写一遍。803《信号与系统》的判卷重点往往是过程分,结果算对了但关键性质没写,照样会丢分。刷题阶段也尽量使用自己购买的正版教材和学校公布的历年真题,不要传播扫描版题目。
3. 环境准备与前置条件
我们聊的是数学推导为主的课程,但环境准备同样重要。考试当然不需要电脑,但复习阶段用工具验证推导结果,能少踩很多坑。
数学前置条件:
- 高等数学中的积分、微分、极限计算。
- 复变函数基础,重点是一般复数运算、欧拉公式。
- 信号与系统课程中的傅里叶级数、傅里叶变换、拉普拉斯变换基本概念。
- 概率论中的随机信号概念不是803《信号与系统》的必考方向,但如果报考方向涉及通信,后续会用到。
软件环境建议:
- MATLAB R2019b及以上版本,或者Octave;803《信号与系统》课程常用MATLAB做连续系统仿真。
- Python 3.8以上,配合NumPy、SciPy、Matplotlib。如果电脑上已经有Anaconda,那直接用Jupyter Notebook即可。
- 不需要GPU,不需要深度学习环境。这个阶段的验证是工程计算,不是神经网络训练,普通笔记本就能跑。
如果电脑上还没有Python环境,给出一个最简检查方式:
python --version pip list | grep numpy pip list | grep scipy如果numpy和scipy没装,直接安装:
pip install numpy scipy matplotlib这里不需要编造版本号,实际安装时以官方源最新稳定版为准。验证工具的目的不是替代手工推导,而是帮助你确认某个中间结果是否算错。所以代码只要能跑通、能画图、能对比公式结果就够了,不用搭复杂项目结构。
4. 频域计算的标准步骤:先把方法框架立起来
803《信号与系统》里的频域计算题,看上去题型很多,其实核心方法可以收敛成一条固定流程。
第一步,写出信号的时域表达,并判断属于哪一类问题。是求单个信号的傅里叶变换,还是求系统对正弦输入的稳态响应,或者是求采样后的频谱?这三个方向虽然都出现在频域章节,但使用的工具完全不同。
第二步,选择可用的变换对和性质。常用的变换对包括:单位冲激信号、单位阶跃信号、单边指数信号、矩形脉冲信号、Sa函数、周期信号傅里叶级数等。常用性质包括:线性、时移、频移、尺度变换、对偶性、时域微分、频域微分、卷积定理。做题的时候,先把题目条件和这些性质逐一对照,不要一上来直接套积分公式硬算。
第三步,列出计算式并化简。这里最忌跳步。比如频域微分性质使用时,前面的系数是j还是-j,要看清楚定义。很多同学题目本身会做,最后符号错了,丢掉一大半分数。
第四步,画图或判断边界。如果题目要求画出频谱图,必须标注关键频率点、幅度值、相位值,不能只画一个形状。如果题目涉及采样,必须判断频谱是否混叠。
第五步,用物理意义检查结果。对于系统频率响应H(jω),如果输入是实信号,输出也必须是实信号,最终的余弦表达式不能被写成虚数形式。如果算出来的幅度响应是负值,可能是符号约定问题,也可能是计算过程中把模长和实部混淆了。
这套五步法并不复杂,但真正落实到计算上,需要反复练习。下面三道典型题就是从这三个方向设计的。
5. 典型题分析:三个高频方向
5.1 方向一:利用傅里叶变换性质求频谱
题目定位:这种题属于803《信号与系统》里的基础计算题,难度中等,但很能看出对性质的理解程度。
模拟例题:设信号
$$x(t)=t e^{-2t}u(t)$$
求其傅里叶变换 $X(j\omega)$。
解题思路:这个信号是单边指数信号 $e^{-2t}u(t)$ 乘以时间变量t。标准的做法不是直接做积分,而是利用频域微分性质。
已知基本变换对:
$$e^{-2t}u(t) \leftrightarrow \frac{1}{j\omega + 2}$$
根据频域微分性质:
$$t x(t) \leftrightarrow j\frac{d}{d\omega} X(j\omega)$$
所以:
$$X(j\omega)=j\frac{d}{d\omega}\left(\frac{1}{j\omega+2}\right)$$
这里要小心复合函数求导。把 $j\omega+2$ 看成一个整体,设 $u=j\omega+2$,则:
$$\frac{d}{d\omega}\left(\frac{1}{j\omega+2}\right)=-\frac{j}{(j\omega+2)^2}$$
这里容易算错,因为分母对 $\omega$ 求导会出现系数 $j$,不能漏掉。继续化简:
$$X(j\omega)=j \cdot \left(-\frac{j}{(j\omega+2)^2}\right)=\frac{1}{(j\omega+2)^2}$$
最终结果是:
$$X(j\omega)=\frac{1}{(j\omega+2)^2}$$
检查方法:如果不放心,可以直接从定义做积分验证。这个例子简单,你会发现直接积分也能得到相同结果。但遇到更复杂的信号,直接积分会非常麻烦,所以性质推导必须熟练。
5.2 方向二:系统频率响应与正弦稳态响应
题目定位:系统函数是803《信号与系统》绝对的高频考点。给微分方程求系统函数,再给输入信号求稳态响应,这个套路几乎每年都会变化出现。
模拟例题:某连续LTI系统由下列微分方程描述:
$$y''(t)+3y'(t)+2y(t)=x'(t)+x(t)$$
输入为:
$$x(t)=\cos(2t)$$
求系统的频率响应 $H(j\omega)$,并求系统的稳态输出 $y(t)$。
解题思路:对微分方程两边做傅里叶变换,利用时域微分性质。这里需要注意,系统初始状态为0时才可直接使用频率响应法,题目默认是这种稳态分析场景。
对时域微分,有:
$$y'(t) \leftrightarrow j\omega Y(j\omega)$$
$$y''(t) \leftrightarrow (j\omega)^2 Y(j\omega)$$
对输入也做同样处理:
$$x'(t) \leftrightarrow j\omega X(j\omega)$$
代入原方程:
$$\left[(j\omega)^2+3j\omega+2\right]Y(j\omega)=(j\omega+1)X(j\omega)$$
因此系统函数为:
$$H(j\omega)=\frac{Y(j\omega)}{X(j\omega)}=\frac{j\omega+1}{(j\omega)^2+3j\omega+2}$$
分母可以因式分解:
$$(j\omega)^2+3j\omega+2=(j\omega+1)(j\omega+2)$$
于是:
$$H(j\omega)=\frac{j\omega+1}{(j\omega+1)(j\omega+2)}=\frac{1}{j\omega+2}$$
这里要特别注意:分子分母约掉 $(j\omega+1)$ 时,隐含条件是 $j\omega=-1$ 的零极点相互抵消。在因果稳定系统且只研究 $\omega$ 为实数的情况下,这个化简可以直接使用,但严格写过程时最好说明一句“零极点相消后”。
当虚频率为 $j\omega$,其中 $\omega=2$,代入:
$$H(j2)=\frac{1}{j2+2}=\frac{1}{2+j2}$$
分子分母同乘共轭:
$$H(j2)=\frac{2-j2}{8}=\frac{1}{4}-j\frac{1}{4}$$
幅度为:
$$|H(j2)|=\sqrt{\left(\frac14\right)^2+\left(-\frac14\right)^2}=\frac{\sqrt{2}}{4}$$
相位为:
$$\angle H(j2)=-\frac{\pi}{4}$$
因此稳态输出为:
$$y(t)=\frac{\sqrt{2}}{4}\cos\left(2t-\frac{\pi}{4}\right)$$
这个结果可以用物理直觉检查:系统是低通性质,高频分量会被抑制。输入角频率 $\omega=2$ 时,输出幅度明显小于输入幅度,这是合理的。
5.3 方向三:采样率判断与频谱混叠分析
题目定位:采样定理是803《信号与系统》里概念性较强的题目,常以填空、选择或简单计算题出现。难点在于把时域采样和频域周期延拓对应起来。
模拟例题:已知连续信号 $x(t)$ 的最高频率分量为 $5\text{kHz}$,用采样频率 $f_s=12\text{kHz}$ 对信号进行理想采样。判断采样后频谱是否混叠,并写出采样后频谱与原信号频谱的关系。
解题思路:根据奈奎斯特采样定理,为了能从采样信号中无失真恢复原连续信号,采样频率必须大于等于信号最高频率的两倍,即:
$$f_s \ge 2 f_{\max}$$
信号最高频率 $f_{\max}=5\text{kHz}$,所以最低要求是 $10\text{kHz}$。题目给的是 $12\text{kHz}$,大于 $10\text{kHz}$,因此采样后频谱不会发生混叠。
进一步写出理想采样后信号 $x_s(t)$ 的频谱:
$$x_s(t)=x(t)\sum_{n=-\infty}^{\infty}\delta(t-nT)$$
其中 $T=\frac{1}{f_s}$。对应的频谱为:
$$X_s(j\omega)=\frac{1}{T}\sum_{k=-\infty}^{\infty}X\left(j(\omega-k\omega_s)\right)$$
这里 $\omega_s=2\pi f_s$。这个公式的含义是:原连续信号频谱会在 $\omega=0,\pm\omega_s,\pm2\omega_s,\dots$ 处各复制一份,并把幅度乘以 $\frac{1}{T}$。
因为采样率满足要求,所以相邻频谱副本之间不会重叠,通过理想低通滤波器可以把原频谱单独取出来。但要注意,滤波器的截止频率应满足:
$$f_{\max} < f_c < f_s - f_{\max}$$
取 $f_c=5\text{kHz}$ 是一个常见选择。这个题目如果改成 $f_s=8\text{kHz}$,答案就变成频谱混叠,需要说明高频分量会被“折叠”到低频区间,无法恢复原信号。
还有一类变形是把连续频率改成数字频率:
$$\Omega=\omega T$$
采样后离散时间信号的频谱周期为 $2\pi$,而连续信号频谱周期为 $\omega_s$。这两个周期概念容易搞混,答题时要看清问的是离散序列频谱还是理想采样信号频谱。
6. 画图题的标准流程:不要只背形状
803《信号与系统》里除了计算,还有一类必考题型是画图。常见的是画信号波形、频谱图、卷积结果图。这类题看似是“画”,实际上考的是对定义的即时反应能力。
以连续信号卷积为例,两个信号 $f_1(t)$ 和 $f_2(t)$ 卷积的图解法可以拆成四步:翻转、平移、相乘、积分。先固定其中一个信号,把另一个信号关于纵轴翻转,再从左到右移动,在每个平移位置计算乘积覆盖的面积。
这里最常见的错误是忽略分段边界。两个矩形脉冲卷积,结果往往是一个梯形或三角形,分段点需要精确计算。你可以在草稿纸上把两个信号的起始点和终止点分别标记出来,然后判断两者重叠区间的变化规律。
频谱图画图题也类似。若信号 $x(t)$ 的频谱是 $X(j\omega)$,进行频移后变成 $X(j(\omega-\omega_0))$,频谱形状不会变,只会整体右移。画图时至少标注三个东西:中心频率、幅度值、带宽。如果题目考的是采样,还要画出以 $\omega_s$ 为周期的复制谱。
建议把常见信号频谱图整理成一张自己的“图库”,包括门函数、Sa函数、三角波、周期冲激串、单边指数信号等。每次画完图,再对照软件仿真结果检查边界坐标。
7. 用Python验证典型题:代码只需要跑得准
考试不能带电脑,但复习阶段用Python验证结果,可以快速定位自己的计算错误。下面给出两个验证脚本,一个是频率响应绘制,一个是采样频谱验证思路。
先看系统频率响应验证。假设系统函数是上一节中的:
$$H(j\omega)=\frac{1}{j\omega+2}$$
用Python画幅度谱和相位谱:
import numpy as np import matplotlib.pyplot as plt w = np.linspace(-10, 10, 2000) H = 1 / (1j * w + 2) mag = np.abs(H) phase = np.angle(H) plt.figure(figsize=(10, 4)) plt.subplot(1, 2, 1) plt.plot(w, mag) plt.title("Magnitude Response") plt.xlabel("omega") plt.ylabel("|H(jomega)|") plt.grid(True) plt.subplot(1, 2, 2) plt.plot(w, phase) plt.title("Phase Response") plt.xlabel("omega") plt.ylabel("Phase (rad)") plt.grid(True) plt.tight_layout() plt.show()这段代码跑完后,你会看到 $\omega=0$ 时幅度为0.5,相位为0;随着 $\omega$ 增大,幅度逐渐下降,相位趋近于 $-\pi/2$。这个趋势对应一阶低通系统,符合手工分析结果。
再看采样定理的直观验证思路。我们用一个高频正弦信号和一个低频正弦信号,分别以不足和满足条件的采样率采样,观察频谱混叠:
import numpy as np import matplotlib.pyplot as plt fs = 1000 t = np.arange(0, 1, 1/fs) x = np.sin(2 * np.pi * 30 * t) + 0.5 * np.sin(2 * np.pi * 400 * t) # 直接观察原始信号的频谱 X = np.fft.fft(x) freq = np.fft.fftfreq(len(x), 1/fs) plt.figure(figsize=(8, 3)) plt.plot(freq, np.abs(X)) plt.xlim(0, 500) plt.title("Original Spectrum") plt.xlabel("Frequency (Hz)") plt.ylabel("Magnitude") plt.grid(True) plt.show()如果把这个信号降采样到100Hz,400Hz分量会混叠到低频,频谱图上会出现一个虚假的峰值。具体混叠频率可以用 $f_{alias}=|f - n f_s|$ 计算。这种验证方法不需要高深代码,但能帮你建立“采样率不足”的现象直觉。
如果你的电脑里有MATLAB,也可以使用freqs和lsim函数验证。MATLAB代码更直接:
b = [1 1]; a = [1 3 2]; H = tf(b, a); freqs(b, a);这里freqs函数会画出模拟滤波器的幅频和相频响应。实际上,这类系统仿真代码在803《信号与系统》复习中最大的价值不是算考试题,而是帮你快速判断某个结果是否符合基本物理规律。
8. 典型计算常见错误与排查方法
803《信号与系统》计算题丢分,很多时候不是思路不会,而是细节出错。下面把这些高频错误整理成一张排查表,你在刷题时可以直接对照。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 频谱函数结果差一个负号 | 频域微分性质系数用错 | 回代基本变换对检查 | 把频域微分性质重新推一遍 |
| 系统函数分子分母写反 | 输出/输入关系搞混 | 检查H(jω)=Y(jω)/X(jω)定义 | 先写方程再代入,不要跳步 |
| 分母因式分解错误 | 二次方程根算错 | 用求根公式验算 | 写出完整因式再约分 |
| 正弦稳态输出不会写 | 幅度和相位没从复数中提取 | 用 | H |
| 频谱图幅度负值 | 直接画实部而不是模长 | 检查纵轴是否为 | X(jω) |
| 采样混叠判断错误 | 把最高频率和带宽混淆 | 先列出fmax和fs | 判断fs≥2fmax后再下结论 |
| 傅里叶变换和拉普拉斯变换混用 | 没有注意信号是否绝对可积 | 检查信号类型 | 连续非周期信号优先用傅里叶变换 |
| 收敛域不写 | 答题习惯问题 | 检查所有变换结果 | 养成写收敛域或适用条件的习惯 |
这些错误在很多人身上反复出现。建议不要每次只改单个题目,而是把同类错误的题目放在一起,集中做十五到二十道,把这个“坑”一次性填平。比如频域微分性质总是错,就专门练十道t乘指数信号求频谱的题。803《信号与系统》的复习不是比谁做得多,而是比谁能稳定拿分。
9. 复习与答题的最佳实践
这里讲几条工程化的复习方法,不是空话,都是能直接落地的。
第一,把常用傅里叶变换对和性质做成一张A4纸表格,贴在书桌前。每天开始复习前默写一遍,五分钟后默写另一面。连续三天全对,就可以把这张表收起来,每周抽查一次。核心变换对包括:
- $\delta(t) \leftrightarrow 1$
- $u(t) \leftrightarrow \pi\delta(\omega)+\frac{1}{j\omega}$
- $e^{-at}u(t) \leftrightarrow \frac{1}{j\omega+a}$
- $g_{\tau}(t) \leftrightarrow \tau Sa\left(\frac{\omega\tau}{2}\right)$
如果这些变换对都正确,说明你已经具备解典型题的基本盘。
第二,每次做题都用“已知、目标、方法、步骤、结果”五个小标题写答案。这个方法对考试特别有效。因为803《信号与系统》判卷通常是按步骤给分,你写出傅里叶变换性质、写了系统函数表达式、画了频谱图,每一部分都能拿分。最后结果错了,前面的步骤分还在。
第三,做错题复盘时,不要只看标准答案,要记录“我卡住的位置”和“我为什么卡住”。是公式忘了吗?是复数运算不熟吗?是没想到用频域微分性质吗?卡点越具体,下一轮复习越有针对性。
第四,每周安排一次限时训练。找一套历年真题或模拟卷,只做频域和系统函数相关的题目,时间控制在60分钟。限时训练的意义不是压速度,而是暴露考场上容易犯的低级错误。如果连续两次在同一个地方出错,就不只是不够熟练的问题,而是相关知识点没有真正理解。
第五,使用软件验证时,统一建立“信号与系统复习”文件夹,里面按章节分子目录,每个题目保存一份手写推导照片和一份代码结果截图。这样到了复习后期,你不用重新翻整本笔记,直接看错误记录就能快速恢复记忆。
10. 总结与下一步
成都信息工程大学803《信号与系统》的典型题分析,重点题型其实很清晰:频谱函数计算、系统频率响应、正弦稳态响应、采样定理应用。这一期我们通过三道典型题,把这几个高频方向完整过了一遍。最值得记住的不是某道题的具体答案,而是那套标准解题流程:先定问题类型,再选变换性质,然后列式计算,最后画图检查。
如果你还在复习前期,先不要急着刷整套真题,先把今天这三道题对应的基础变换对和性质全部推导一遍。尤其是频域微分性质和系统函数H(jω)的化简,这两块是后续大量题型的共同基础。最容易踩的坑是符号和边界,做题时必须把每一步的j、负号、积分区间都写清楚。
下一步的扩展方向有两个:一是进入拉普拉斯变换与系统稳定性分析,二是开始做历年真题的整套限时训练。803《信号与系统》的知识点并不散,它们都围绕“系统分析”这条主线展开。把频域分析吃透,后面的离散系统分析和状态方程学习会轻松很多。建议把本文收藏起来,做题卡住时回来对照排查表,效率会高很多。