815信号与系统是西安交通大学电子通信类考研初试中一门150分的专业基础课。2019年真题的整体难度在历年真题中属于中等偏上,题型覆盖了连续系统的时域分析、卷积积分、傅里叶变换与采样定理、拉普拉斯变换与系统稳定性等核心章节。不少考生在考后反馈,失分并不是因为公式没背熟,而是在以下四个地方反复踩坑:卷积计算时区间拼错,傅里叶变换性质用反,采样率只记结论不记得判断依据,利用拉普拉斯变换判断稳定性时忽略了收敛域。本文从2019年真题的命题方向切入,拆解每一类题型的解法,并给出一套可以复用的“读题-建模-计算-验证”流程。
1. 先摸清815信号与系统的考试范围和命题偏好
考研复习最忌讳一上来就刷题。拿到真题之前,先要明确这门课考什么、怎么考、哪些地方容易丢分。815信号与系统虽然每年题目不同,但核心内容和命题逻辑相对稳定。
1.1 考试范围与常用教材
815信号与系统通常以连续时间信号与系统的分析为主线,部分年份会涉及离散时间信号与Z变换。常见参考教材包括吴大正《信号与线性系统分析》、郑君里《信号与系统》等。不同学校在章节取舍上会有差异,最终要以西安交大当年发布的考纲为准。
从复习角度看,可以把内容分成四块:
| 模块 | 常考内容 | 常见题型 |
|---|---|---|
| 信号与系统基础 | 信号变换、冲激函数、系统性质 | 选择、填空 |
| 时域分析 | 卷积积分、零输入响应、零状态响应 | 计算题 |
| 频域分析 | 傅里叶变换、频谱、采样定理 | 选择、计算 |
| 复频域分析 | 拉普拉斯变换、系统函数、稳定性 | 综合题 |
这四块不是独立存在的。综合题往往会把时域、频域和复频域串起来,例如给定微分方程,先求系统函数,再判断稳定性,最后求输入信号下的响应。
1.2 2019年真题体现的题型结构
从历年考生反馈和真题回忆来看,815信号与系统通常采用“选择题+填空题+计算题+综合题”的结构。选择题主要考概念辨析,例如判断系统是否线性、是否时不变;填空题偏重简单计算,例如采样率、频谱宽度、卷积结果在某个点的值;计算题需要完整写出步骤,最常考卷积和傅里叶变换;综合题则把拉普拉斯变换、系统函数、零极点和稳定性放在一道题里。
2019年真题最突出的特征是综合性强。前面小题的结论经常在最后一问中被再次使用,中间某一步算错,后面全盘受影响。因此在复习阶段就必须养成“边算边检查”的习惯。
1.3 高频考点与失分点速查
把高频考点整理成一张速查表,对照自己的薄弱环节:
| 考点 | 常见失分点 |
|---|---|
| 系统性质判断 | 把时间缩放系统当成时不变系统 |
| 卷积积分 | 积分下限和上限判断错误 |
| 傅里叶变换性质 | 时移、尺度变换、对偶性用反 |
| 采样定理 | 忘记最高频率是双边谱还是单边谱 |
| 拉普拉斯变换 | 收敛域判断错误导致逆变换选错 |
| 系统稳定性 | 只看极点位置,忽略ROC必须包含虚轴 |
| 部分分式展开 | 重根、复根处理不熟练 |
2. 必须熟练掌握的数学工具:卷积、傅里叶变换与拉普拉斯变换
这三类变换是815信号与系统的骨架。真题中所有计算题最终都会落到它们上面,区别只是角度和复杂度。
2.1 卷积积分:定义、几何含义与快速求解路径
卷积是判断系统零状态响应的核心工具,定义式为
$$ y(t)=\int_{-\infty}^{+\infty}x(\tau)h(t-\tau),d\tau $$
其中 $x(t)$ 是输入信号,$h(t)$ 是单位冲激响应。直观理解是:把输入分解成无数冲激,系统对每个冲激的响应按时间位置叠加。
实际计算时不要一上来就套公式,而是按下面的顺序处理:
- 画出 $x(\tau)$ 和 $h(t-\tau)$ 的图形。
- 确定 $h(t-\tau)$ 随 $t$ 移动后与 $x(\tau)$ 的交叠区间。
- 按 $t$ 的不同取值范围分段写出积分。
- 对每一段分别积分,最后把结果拼成分段函数。
这里最容易出错的地方是分段区间。对于只含阶跃函数、矩形脉冲和指数函数的信号,分段点通常是信号的突变点。每算出一段,都要检查该段边界处函数值是否连续。
2.2 傅里叶变换:从定义到常用变换对
傅里叶变换用于分析信号的频谱,正变换定义为
$$ X(j\omega)=\int_{-\infty}^{+\infty}x(t)e^{-j\omega t},dt $$
考试中直接套定义求变换的题目不多,更多是使用性质。高频性质包括线性、时移、频移、尺度变换、对偶性、时域微分和卷积定理。其中最容易混淆的是尺度变换性质:
$$ x(at) \longleftrightarrow \frac{1}{|a|}X\left(\frac{j\omega}{a}\right) $$
时间压缩对应频谱扩展。这个性质在判断时间和频率带宽关系时非常关键。
常用变换对要背熟。下面是最基本的几组:
| 时域信号 | 傅里叶变换 |
|---|---|
| $\delta(t)$ | $1$ |
| $u(t)$ | $\pi\delta(\omega)+\dfrac{1}{j\omega}$ |
| $e^{-at}u(t),\ a>0$ | $\dfrac{1}{a+j\omega}$ |
| 门函数 $g_{\tau}(t)$ | $\tau Sa\left(\dfrac{\omega\tau}{2}\right)$ |
| $\delta(t-t_0)$ | $e^{-j\omega t_0}$ |
2.3 拉普拉斯变换与系统函数
拉普拉斯变换是傅里叶变换的推广,适合处理不稳定系统和带初始条件的系统。变换定义式为
$$ X(s)=\int_{-\infty}^{+\infty}x(t)e^{-st},dt $$
拉普拉斯变换后,系统的微分方程变成代数方程,系统函数定义为
$$ H(s)=\frac{Y(s)}{X(s)} $$
判断系统稳定性时,不能只检查极点实部是否小于零,还要结合收敛域ROC。系统必须满足RO包含虚轴才是稳定系统。对因果系统,典型ROC是某个极点实部右侧的半平面;对非因果系统,RO可能是两个极点之间的带状区域。2019年这类题目的陷阱大多在这里。
3. 2019年真题典型题目的逐题解构
下面用几道与2019年真题考查角度一致的代表性题目做拆解。题目不要求原卷一比一还原,关键是把解法思路讲清楚,方便你迁移到同类题上。
3.1 选择题:系统性质判断
题目:判断系统 $y(t)=x(2t)$ 是否是线性时不变系统。
解:
首先验证线性。设输入 $x_1(t)$ 产生 $y_1(t)=x_1(2t)$,输入 $x_2(t)$ 产生 $y_2(t)=x_2(2t)$。对任意常数 $a,b$,输入 $ax_1(t)+bx_2(t)$ 产生的输出为
$$ a x_1(2t)+ b x_2(2t) = a y_1(t)+b y_2(t) $$
所以系统是线性的。
再验证时不变性。先把输入延迟 $t_0$,得到 $x(t-t_0)$,系统输出为
$$ x(2t-t_0) $$
如果先让系统输出再延迟 $t_0$,得到
$$ y(t-t_0)=x(2(t-t_0))=x(2t-2t_0) $$
两者不相等,所以系统不是时不变的。
这里要记住一个规律:只要系统表达式里直接出现了时间尺度变换,例如 $x(2t)$、$x(t/3)$,这个系统通常是时变系统。原因在于“先延迟后系统”和“先系统后延迟”两种顺序得到的信号不同。
3.2 填空题:采样与频谱
题目:某带限信号 $x(t)$ 的最高频率为 $3\text{kHz}$,为保证能从采样信号中无失真恢复原始信号,最小采样频率是____。
解:根据采样定理,最小采样频率必须大于最高频率的两倍,也就是
$$ f_s > 2 f_m = 6\text{kHz} $$
如果题目要求“最小”,严格来说需要大于6kHz,所以答案写作 $6\text{kHz}$,但在实际应用中通常取略高于理论值的采样率,并添加抗混叠滤波器。
这类题的延伸考法是把信号描述成频谱函数。例如给一个带通信号,问你采样频率至少多少。此时要格外注意“最高频率”是指正频率部分还是总频谱范围。对于实信号,频谱关于原点对称,最高频率通常指正频率最大值。
3.3 计算题:卷积与系统响应
题目:已知系统的单位冲激响应为 $h(t)=e^{-t}u(t)$,输入为 $x(t)=u(t)-u(t-2)$,求零状态响应 $y(t)$。
解:
零状态响应为
$$ y(t)=x(t)*h(t)=\int_{-\infty}^{+\infty} x(\tau)h(t-\tau),d\tau $$
因为 $x(\tau)$ 在 $\tau \in [0,2]$ 上等于1,其他区间为0,所以积分范围限制在
$$ y(t)=\int_0^{2} e^{-(t-\tau)}u(t-\tau),d\tau $$
其中 $u(t-\tau)$ 的约束是 $\tau \le t$。分三种情况讨论:
当 $t<0$ 时,$\tau\le t<0$,与 $\tau \in [0,2]$ 无交集,所以
$$ y(t)=0 $$
当 $0\le t<2$ 时,积分上限变成 $t$,得到
$$ y(t)=\int_0^{t} e^{-(t-\tau)},d\tau = 1-e^{-t} $$
当 $t\ge 2$ 时,积分范围是整个 $[0,2]$,得到
$$ y(t)=\int_0^{2} e^{-(t-\tau)},d\tau = e^{-t}\left(e^2-1\right) $$
所以最终结果为
$$ y(t)= \begin{cases} 0, & t<0 \[4pt] 1-e^{-t}, & 0\le t<2 \[4pt] e^{-t}(e^2-1), & t\ge 2 \end{cases} $$
检查连续性:在 $t=0$ 处,左右极限都是0;在 $t=2$ 处,左极限为 $1-e^{-2}$,右极限为 $e^{-2}(e^2-1)=1-e^{-2}$,连续。卷积结果不会出现跳变,这是检验分段是否正确的重要手段。
3.4 综合题:拉普拉斯变换与系统稳定性
题目:已知某系统的系统函数为
$$ H(s)=\frac{1}{s^2+3s+2} $$
判断该系统是否为因果稳定系统,并求单位冲激响应。
解:
先因式分解分母:
$$ s^2+3s+2=(s+1)(s+2) $$
所以
$$ H(s)=\frac{1}{(s+1)(s+2)} $$
部分分式展开:
$$ H(s)=\frac{1}{s+1}-\frac{1}{s+2} $$
如果系统是因果的,收敛域为
$$ \text{Re}(s) > -1 $$
这个ROC包含整个虚轴,因此系统稳定。单位冲激响应为
$$ h(t)=\left(e^{-t}-e^{-2t}\right)u(t) $$
如果题目没有说明因果性,则ROC有多种选择。例如ROC为 $-2<\text{Re}(s)<-1$ 时,系统既不是因果的,也不是稳定的,因为ROC不包含虚轴。这是815考试中典型的“隐藏条件”题,看到系统函数后一定要先确认默认条件是因果还是双边。
4. 用Python做数值验证,避免手工计算失误
信号与系统考试虽然不能带电脑,但平时复习时完全可以用Python验证自己的手算结果。数值方法是帮助你定位错误的工具,不是考场上的替代品。
4.1 卷积结果验证
对上一节的卷积题,可以用numpy和scipy做离散近似:
import numpy as np from scipy.signal import convolve import matplotlib.pyplot as plt fs = 2000 t = np.arange(-1, 5, 1 / fs) dt = t[1] - t[0] x = ((t >= 0) & (t < 2)).astype(float) h = np.exp(-t) * (t >= 0).astype(float) y = convolve(x, h, mode='full')[:len(t)] * dt for time in [0.5, 1.5, 3.0]: if time < 2: theory = 1 - np.exp(-time) else: theory = np.exp(-time) * (np.exp(2) - 1) idx = np.argmin(np.abs(t - time)) print(f"t={time:.1f}:数值解={y[idx]:.4f}, 理论值={theory:.4f}") plt.figure(figsize=(8, 3)) plt.plot(t, y) plt.title("y(t)=x(t)*h(t)") plt.xlabel("t") plt.ylabel("y(t)") plt.grid(True) plt.show()运行后会输出关键点的数值解与理论值。两者误差应该在10的负3次方量级,主要来自离散采样和dt的近似。如果数值解与理论值明显不同,通常不是程序问题,而是手算时分段区间写错。
convolve的mode='full'返回完整卷积长度,这里先截取与t等长的长度,再乘以时间步长dt。这一步不能漏掉,否则结果量纲会变成“点数之和”而不是“积分值”。
4.2 系统稳定性验证
拉普拉斯变换部分的题目可以用scipy.signal.tf2zpk直接得到零极点:
import numpy as np from scipy import signal z, p, k = signal.tf2zpk([1], [1, 3, 2]) print("零点:", z) print("极点:", p) stable_causal = all(pi.real < 0 for pi in p) print("因果情况下是否稳定:", stable_causal)输出极点应为 $-1$ 和 $-2$。对于因果系统,所有极点实部小于0,说明稳定。这个验证虽然简单,但能快速帮你确认部分分式展开后每个分量的衰减方向是否正确。
5. 常见错误与考场快速排查清单
考试中最可怕的是做完了所有题,却因为粗心丢掉了步骤分。下面整理最常见的几类错误,以及考场上可以执行的排查顺序。
5.1 常见错误现象与处理方案
| 错误现象 | 可能原因 | 处理方案 |
|---|---|---|
| 卷积结果在分段点不连续 | 积分上限或下限写错 | 用图形法重新检查交叠区间 |
| 判断系统性质时把 $y(t)=x(2t)$ 当成时不变 | 忽略时间尺度变换 | 用“先延迟后系统”与“先系统后延迟”对比 |
| 采样频率直接写成 $2f_m$ 且没有加滤波器 | 忽略实际采样工程约束 | 理论不高于 $2f_m$,实际应留余量并加抗混叠滤波 |
| 拉普拉斯逆变换结果指数项符号不对 | ROC选错 | 根据ROC判断结果是右边信号还是左边信号 |
| 判断稳定性只检查极点实部 | 忽略ROC是否包含虚轴 | 画出极点与ROC,再判断虚轴是否在内 |
5.2 考场上从现象倒推原因的排查链路
如果做完一道题发现结果可疑,不要立即重做,而是按下面的顺序排查:
- 检查输入信号是否抄错,例如阶跃函数起点、矩形脉冲宽度。
- 检查卷积的两个信号是否在正确的轴上,是否把 $h(t-\tau)$ 写成 $h(\tau-t)$。
- 检查分段区间是否覆盖了所有 $t$,尤其是 $t<0$ 的区域不能漏掉。
- 对每一段结果,用特殊点验证。例如卷积分段点应连续,若连续则大概率正确。
- 对于傅里叶变换题,用能量守恒或零频分量检查。$X(0)$ 应等于信号的面积。
- 对于拉普拉斯题,先画零极点图,再写ROC,最后才做逆变换。
5.3 考场时间分配建议
815信号与系统题量不小,建议按下面的节奏控制时间:
| 题型 | 建议用时 | 策略 |
|---|---|---|
| 选择题 | 15分钟 | 每个概念题控制在1分钟内 |
| 填空题 | 20分钟 | 只写关键结果,不展开 |
| 计算题 | 80分钟 | 每题15到20分钟,先写公式再代入 |
| 综合题 | 35分钟 | 最后留10分钟整体检查 |
如果某道计算题超过了20分钟还没算出来,先跳过,最后再补。考试得分策略是“把能拿的步骤分拿全”,即使中间某一步算错,前面的公式和流程也会给分。
6. 最后复习阶段可落地的学习计划
复习不能只靠刷题数量,更要有节奏。临近考试,把时间分成三个阶段,每个阶段目标明确。
6.1 三阶段复习安排
| 阶段 | 时间 | 主要任务 |
|---|---|---|
| 基础阶段 | 考前6到8周 | 过完教材课后题,整理错题本 |
| 强化阶段 | 考前3到5周 | 按专题刷真题,总结题型模板 |
| 冲刺阶段 | 考前1到2周 | 限时模拟整套真题,背诵公式表 |
冲刺阶段特别注意:完整地按考试时间做两套真题,不只是刷题,而是训练时间分配和心态。每次模拟后都按“错误类型”而不是“错误题目”归类,例如卷积分段、ROC选择、计算跳步。
6.2 考前检查清单
进考场前,确保以下内容已经内化:
- 卷积积分定义和常用信号的卷积结果。
- 傅里叶变换性质表,尤其是尺度变换、时移、频移、对偶性。
- 常用拉普拉斯变换对和系统函数求解步骤。
- ROC三种典型形态:右边、左边、双边,以及对应的因果性和稳定性结论。
- 采样定理的完整表述,以及抗混叠滤波器的必要性。
- 部分分式展开在单根、重根、复根三种情况下的公式。
- 初值定理和终值定理的使用条件。
这些内容不需要背熟每一道题,但要在考场上能做到看到条件就反射出解法。815信号与系统的核心得分点不是炫技,而是把基本的卷积和变换算得又快又准。把2019年真题暴露出的这几类问题逐一解决,比盲目多刷十套题更有用。
最后需要提醒的是,真题的参考价值在于它清晰标出了命题人的出题习惯和陷阱偏好。复习时不要只盯着正确答案,要重点分析错误选项是怎么构造出来的,以及自己为什么会选错。每道错题都补上一个“以后看到什么关键词,先检查什么条件”的提醒,考场上的稳定性会有明显提升。