在考研专业课复习中,信号与系统的难点往往不在于单个公式的记忆,而在于把时域、频域、复频域的工具串联起来,解决一道综合性题目。本篇是成都信息工程大学803《信号与系统》典型题分析系列的第3篇,我们选择一道覆盖“卷积积分、拉普拉斯变换、系统响应、稳定性判断、频率响应”五大考点的综合题,完整走一遍手算流程,并补充MATLAB验证方法。如果你正在刷题阶段,或者在系统响应章节卡壳,这篇文章值得耐心读完。
题目本身并不偏,但计算量适中、坑点密集,恰好能检验你对比“零输入响应、零状态响应、完全响应”的理解是否透彻。下面先梳理需要用到的核心概念,再进入完整求解。
1. 背景与核心概念
1.1 803《信号与系统》典型题在复习中的位置
803《信号与系统》这门课的考查风格通常偏向“基本概念 + 计算能力”。很多学校真题中,会有一道或两道大题的题源就是连续时间LTI系统分析,给定微分方程、输入信号和初始条件,要求求解系统响应并讨论系统性质。这类题目单看每一小问都不难,但放在一起后,非常考验对知识体系的整体把握。
典型题分析的意义在于:通过一道题把多个章节串起来,而不是每章各做一道孤立的小题。当你能够把“时域卷积”“拉普拉斯变换”“零输入与零状态”“频率响应”全部在同一个题目里熟练运用时,考试遇到类似问题就会形成条件反射。
1.2 本次题目覆盖的知识点
这道综合题主要涉及以下内容:
- 系统函数 H(s) 的定义与求解;
- 单位冲激响应 h(t) 的计算;
- 零输入响应 y_zi(t) 的求解;
- 零状态响应 y_zs(t) 的两种求解方式:卷积积分与拉普拉斯变换;
- 完全响应 y(t) 的合成与分量含义;
- 系统稳定性判断;
- 频率响应 H(jω) 与正弦稳态响应。
这些知识点基本对应教材中“连续时间系统的时域分析”和“连续时间系统的复频域分析”两个核心章节。把这两章打通,803中的系统分析大题基本就拿下一半。
1.3 核心概念速览
为了让后文解析更顺畅,这里先快速回忆几个关键概念。
- LTI系统:线性时不变系统。只要系统是LTI,就同时满足叠加性和时不变性,这是后面把响应分解为零输入响应和零状态响应的前提。
- 系统函数 H(s):在零初始条件下,系统输出拉普拉斯变换与输入拉普拉斯变换之比,即 H(s) = Y_zs(s) / X(s)。它是单位冲激响应的拉普拉斯变换,包含系统的全部特征信息。
- 零输入响应:外部输入为零,仅由系统初始储能引起的响应。它满足齐次方程,通解形式由系统特征根决定。
- 零状态响应:初始状态为零,仅由外部输入引起的响应。可以用卷积积分 y_zs(t) = h(t) * x(t) 计算,也可以用 H(s) X(s) 的反变换计算。
- 稳定性:对于因果系统,如果系统函数的所有极点都位于 s 平面的左半平面,则系统稳定。
- 频率响应:系统函数在虚轴上的值 H(jω),反映了系统对不同频率正弦信号的幅度和相位影响。
2. 分析前的知识准备
2.1 拉普拉斯变换常用结论
求解本题离不开拉普拉斯变换,这里列出后续步骤中会直接用到的几组常用结论:
- 微分性质:若 y(t) 的单边拉普拉斯变换为 Y(s),则 y'(t) 的变换为 sY(s) - y(0-),y''(t) 的变换为 s²Y(s) - s y(0-) - y'(0-)。如果使用 0+ 初始条件,公式中对应的就是 y(0+) 和 y'(0+)。
- 指数信号:e^{-at} u(t) 的变换为 1/(s+a),收敛域为 Re(s) > -a。
- 冲激响应:h(t) = L^{-1}{H(s)}。
- 带 t 的指数信号:t e^{-at} u(t) 的变换为 1/(s+a)²。
注意:使用单边拉普拉斯变换处理初始条件时,必须明确使用的是 0- 状态还是 0+ 状态。考研题目中如果直接给出 y(0) 和 y'(0),通常默认是 0+ 时刻的状态,用于零输入响应求解时可以直接代入。若题目明确指定 0- 初始条件,则还需要判断系统在零时刻是否发生跳变,不能盲目套用。
2.2 卷积积分的计算要点
卷积积分 y_zs(t) = ∫_{-∞}^{+∞} h(τ) x(t-τ) dτ 是求零状态响应的基础方法。实际做题时,通常不需要像考试卷面那样从定义反复推导,而是利用信号的有限区间快速确定积分限。
最常见的错误是积分限写错。对于两个因果信号,卷积积分下界取 0,上界取 t,因为 h(τ) 在 τ<0 时为 0,x(t-τ) 在 τ>t 时为 0。如果输入信号是单边指数信号,积分可以直接化为指数运算,结果会非常简洁。
2.3 初始状态与初始条件的区分
“初始状态”和“初始条件”在信号与系统课程中有细微差别。初始状态通常指系统在激励接入之前的储能情况,即 0- 状态;初始条件通常指系统响应及其导数在 t=0 时的取值。由于输入信号 x(t) 在 t=0 时刻接入,y(0+) 和 y'(0+) 可能相对于 y(0-) 和 y'(0-) 发生跳变。
考研题中,如果直接给出 y(0)、y'(0) 而不强调“0-”,一般当作 0+ 初始条件使用。在求零输入响应时,直接用这些条件代入齐次方程的通解。在列写拉普拉斯变换方程求完全响应时,也直接代入这些条件。这是大多数真题的默认约定。
2.4 手算与 MATLAB 验证工具说明
虽然考试要求完全手算,但复习阶段用 MATLAB 验证结果非常高效。本文后文会提供符号计算代码,使用syms、laplace、ilaplace、tf等常见函数。你不需要特定版本,只要能运行基本的符号工具箱和控制工具箱即可。重点是通过 MATLAB 检查手算的部分分式展开是否正确。
3. 典型综合题与完整解析
3.1 题目内容
已知一个连续时间LTI系统的微分方程为:
y''(t) + 5y'(t) + 6y(t) = x'(t) + 3x(t)
输入信号为:
x(t) = e^{-2t} u(t)
初始条件为:
y(0) = 1,y'(0) = -1
请完成以下计算:
- 求系统函数 H(s) 和单位冲激响应 h(t);
- 求零输入响应 y_zi(t);
- 求零状态响应 y_zs(t);
- 求完全响应 y(t);
- 判断系统的稳定性;
- 求频率响应 H(jω),并求输入 x(t) = cos(2t) 时的稳态响应。
这道题的信息量很大。你会发现第1问求出的 h(t) 很简单,但零输入响应会涉及到另一个特征根,很容易出现“系统函数已经约分,为什么零输入响应还有 e^{-3t} 项”的疑问。这正是本题的经典价值所在。
3.2 第一步:求系统函数 H(s) 与单位冲激响应 h(t)
对微分方程两边在零初始条件下取拉普拉斯变换,得到:
s²Y(s) + 5sY(s) + 6Y(s) = sX(s) + 3X(s)
因此:
H(s) = Y(s)/X(s) = (s + 3) / (s² + 5s + 6)
分母可以因式分解为:
s² + 5s + 6 = (s + 2)(s + 3)
所以:
H(s) = (s + 3) / [(s + 2)(s + 3)]
这里出现了分子分母都有 (s + 3) 的公共因子,直接约分:
H(s) = 1 / (s + 2)
不过建议在考卷上保留一步说明:因为 H(s) 的分子分母存在相同的零点与极点,直接化简不会改变冲激响应的结果,但要注意这并不代表原方程的特征根消失了。约分后求单位冲激响应:
h(t) = L^{-1}{1/(s+2)} = e^{-2t} u(t)
如果你对约分不放心,可以使用部分分式展开原式:
H(s) = (s+3)/[(s+2)(s+3)] = A/(s+2) + B/(s+3)
通过系数比较或留数法可以算出 A = 1,B = 0,结果同样是 h(t) = e^{-2t} u(t)。这个约分过程在第2问求解零输入响应时会形成对比,需要特别注意。
3.3 第二步:求零输入响应 y_zi(t)
零输入响应是输入为零时,仅由初始状态产生的响应。它满足齐次方程:
y''(t) + 5y'(t) + 6y(t) = 0
特征方程为:
r² + 5r + 6 = 0
解得特征根为:
r₁ = -2,r₂ = -3
因此零输入响应的通解形式为:
y_zi(t) = C₁ e^{-2t} + C₂ e^{-3t},t ≥ 0
代入初始条件 y(0) = 1,y'(0) = -1:
y_zi(0) = C₁ + C₂ = 1
y_zi'(0) = -2C₁ - 3C₂ = -1
联立求解:
C₁ = 2,C₂ = -1
所以零输入响应为:
y_zi(t) = 2e^{-2t} - e^{-3t},t ≥ 0
注意:虽然系统函数约分后只保留了极点 -2,但零输入响应中仍然有 e^{-3t} 项。这是因为零输入响应由系统的自然模态决定,而系统特征方程有两个根 -2 和 -3。输入到输出的传输通路上某个模态可能被零点抵消,但零输入响应不受输入影响,所以 e^{-3t} 依然存在。这是本题最容易出错的地方。
3.4 第三步:求零状态响应 y_zs(t)
零状态响应是初始状态为零时,仅由输入信号引起的响应。这里给出两种方法,你可以任选一种作答。
方法一:卷积积分
由于零状态响应可以表示为 h(t) 与 x(t) 的卷积:
y_zs(t) = h(t) * x(t)
其中 h(t) = e^{-2t} u(t),x(t) = e^{-2t} u(t)。
代入卷积定义:
y_zs(t) = ∫_{-∞}^{+∞} e^{-2τ} u(τ) · e^{-2(t-τ)} u(t-τ) dτ
对于因果信号,积分范围简化为 0 到 t:
y_zs(t) = ∫₀ᵗ e^{-2τ} e^{-2(t-τ)} dτ = e^{-2t} ∫₀ᵗ 1 dτ = t e^{-2t},t ≥ 0
所以:
y_zs(t) = t e^{-2t} u(t)
这个结果很整齐。两个相同的指数信号卷积,会产生 t 乘以指数的形式。时域卷积、频域相乘在这里体现得特别典型。
方法二:拉普拉斯变换
输入信号 x(t) = e^{-2t} u(t) 的拉普拉斯变换为:
X(s) = 1/(s + 2)
因此零状态响应的拉普拉斯变换为:
Y_zs(s) = H(s) X(s) = 1/(s+2) · 1/(s+2) = 1/(s+2)²
反变换得到:
y_zs(t) = t e^{-2t} u(t)
两种方法结果完全一致。推荐在考卷上使用时域卷积或复频域方法中的一种,但平时复习时两种都要熟练。
3.5 第四步:求完全响应 y(t) 并解释分量含义
完全响应等于零输入响应与零状态响应之和:
y(t) = y_zi(t) + y_zs(t) = [2e^{-2t} - e^{-3t}] + [t e^{-2t}] = (2 + t)e^{-2t} - e^{-3t},t ≥ 0
为了验证这个结果,我们直接用单边拉普拉斯变换求解原微分方程:
对原方程两边取拉普拉斯变换,代入 y(0)=1,y'(0)=-1:
s²Y(s) - s·1 - (-1) + 5[sY(s) - 1] + 6Y(s) = (s+3)X(s)
整理:
(s² + 5s + 6)Y(s) = (s+3)X(s) + s + 5 - 1 = (s+3)/ (s+2) + s + 4
化简后得到:
Y(s) = (s² + 7s + 11) / [(s+2)²(s+3)]
对 Y(s) 做部分分式展开,可得到:
Y(s) = 2/(s+2) + 1/(s+2)² - 1/(s+3)
反变换为:
y(t) = 2e^{-2t} + t e^{-2t} - e^{-3t},t ≥ 0
结果与前面的合成答案一致。这说明两种思路完全互通。
从这个结果中可以看到:
- 零输入响应2e^{-2t} - e^{-3t} 由初始状态决定,与输入信号无关;
- 零状态响应t e^{-2t} 由当前输入信号决定,初始状态为零;
- 完全响应中既包含自然响应,也包含受迫响应。自然响应包括 e^{-2t} 和 e^{-3t} 两类模态,受迫响应的形式与输入信号有关。
3.6 第五步:判断系统稳定性
判断系统稳定性有两种常见方式。
第一种方式从系统函数 H(s) 的极点出发。H(s) = 1/(s+2),极点为 s = -2,位于 s 平面左半平面,因此该因果系统是稳定的。
如果考虑完整的系统函数 H(s) = (s+3)/[(s+2)(s+3)],极点包括 s = -2 和 s = -3,同样都在左半平面,所以系统也是稳定的。
第二种方式直接从微分方程的特征根出发。齐次方程特征根为 -2 和 -3,全部具有负实部,因此系统稳定。
这里需要注意:零极点相消并不影响稳定性判断,因为稳定性取决于系统的全部自然模态是否收敛。即使是不可观的模态,只要它在左侧,系统就是稳定的。如果零极点相消发生在虚轴或右半平面,则要更加谨慎地讨论,但本题不涉及这种复杂情况。
3.7 第六步:求频率响应 H(jω) 与正弦稳态响应
频率响应是系统函数在虚轴上的取值:
H(jω) = H(s) |_{s=jω} = 1/(jω + 2)
对于输入 x(t) = cos(2t),系统处于稳定状态时,稳态输出为:
y_ss(t) = |H(j2)| cos(2t + ∠H(j2))
先计算 H(j2):
H(j2) = 1/(j·2 + 2) = 1/(2 + 2j) = (2 - 2j)/(8) = (1 - j)/4
因此幅度为:
|H(j2)| = √[(1/4)² + (1/4)²] = √2 / 4
相位为:
∠H(j2) = -π/4
所以稳态响应为:
y_ss(t) = (√2 / 4) cos(2t - π/4)
注意:这里输入 cos(2t) 是持续存在的正弦信号,而不是因果单边信号。如果要严格求解因果信号 cos(2t)u(t) 作用于系统的全响应,还需要考虑暂态过程,不能直接套用频率响应。考研中如果问“稳态响应”,默认输入从负无穷开始,系统已经进入稳态。这个细节也是高频考点。
3.8 MATLAB 验证与波形示意
为了验证手算结果,可以在 MATLAB 中用符号计算快速完成推导。
syms t s % 系统函数 H = (s + 3) / (s^2 + 5*s + 6); % 单位冲激响应 h = ilaplace(H); fprintf('h(t) = '); pretty(h) % 零状态响应 X = laplace(exp(-2*t) * heaviside(t)); Yzs = H * X; yzs = ilaplace(Yzs); fprintf('yzs(t) = '); pretty(yzs) % 完全响应(直接由微分方程拉普拉斯变换求得) % 初始条件:y(0)=1, y'(0)=-1 X = 1/(s+2); Y = ((s+3)*X + s + 5 - 1) / (s^2 + 5*s + 6); y = ilaplace(Y); fprintf('y(t) = '); pretty(y)运行后,MATLAB 会输出 h(t) = exp(-2t)heaviside(t),yzs(t) = texp(-2t)*heaviside(t),y(t) = (2 + t)exp(-2t)heaviside(t) - exp(-3t)*heaviside(t),与手算结果一致。
如果想观察系统的频率响应,可以使用控制工具箱:
sys = tf([1 3], [1 5 6]); bode(sys); grid on;从伯德图中可以看到,该系统相当于一个一阶低通网络,高频分量会被衰减,且相位滞后逐渐增大。这与 H(jω) = 1/(jω+2) 的解析结果一致。
4. 题目变形与高频考法
4.1 输入为门信号或矩形脉冲时怎么办
如果输入不是指数信号,而是门信号 x(t) = u(t) - u(t-2),时域卷积计算就需要分段讨论积分限。对于本题的系统 h(t) = e^{-2t}u(t),卷积结果可以写成:
- 当 t < 0 时,y_zs(t) = 0;
- 当 0 ≤ t < 2 时,积分限为 0 到 t;
- 当 t ≥ 2 时,积分限为 t-2 到 t。
类似题目在考研中也很常见。分段点通常就是门信号的两个跳变时刻,做题时先画信号波形,再确定积分限,可以大大降低出错概率。
4.2 离散时间系统对应解法
如果这道题改成离散时间差分方程,例如 y[n+2] + 5y[n+1] + 6y[n] = x[n+1] + 3x[n],那么拉普拉斯变换就换成 z 变换。对应概念如下:
- 系统函数 H(z) = (z+3)/(z²+5z+6);
- 单位脉冲响应 h[n] 通过部分分式展开求反变换;
- 零输入响应求解差分方程的特征根;
- 稳定性判断要求系统函数的极点都在单位圆内。
离散系统和连续系统在数学结构上高度相似,复习时可以将两组公式对照记忆。
4.3 初值定理、终值定理的使用陷阱
有些题目会追加一问:已知 H(s) 和输入,求系统输出的初值和终值。初值定理为 y(0+) = lim_{s→∞} sY(s),终值定理为 y(∞) = lim_{s→0} sY(s)。使用终值定理的前提是 Y(s) 的极点均位于 s 平面左半平面,或者最多在原点处有一个一阶极点。如果系统不稳定,终值定理会失效,这一点需要特别留意。
5. 常见问题与排查思路
下面整理一份信号与系统做综合题时的高频问题清单,每一条都值得对照自己的做题习惯检查。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 零输入响应缺少 e^{-3t} 项 | 被 H(s) 的零极点相消误导,忘记零输入响应使用齐次方程特征根 | 求零输入响应时不要看系统函数,直接由齐次方程特征根设通解 |
| 卷积积分上下限写错 | 没有先画出 h(τ) 和 x(t-τ) 的波形 | 先判断两个信号的支撑区间,再分段确定积分上下限 |
| y(0) 和 y'(0) 直接代入拉普拉斯方程时符号出错 | 对微分性质公式不熟 | 反复默写 s²Y(s) - sy(0) - y'(0),并代入题目数字练习 |
| 系统函数化简时盲目约分,导致后续稳定性判断错误 | 没有区分“传输函数”和“系统自然模态” | 约分只能说明某个模态不可观,不影响零输入响应和稳定性判断 |
| 正弦稳态响应错误地使用因果输入的全响应 | 忽略了频率响应方法的前提 | 看到“稳态”或“正弦稳态”关键词,直接用 H(jω) 计算幅值与相位 |
| 部分分式展开参数求错 | 代入极点时没有处理公共因子,或系数比较不细致 | 使用留数法时,若分子分母有公共因子,先约分再展开;也可以先用MATLAB验证结果 |
| 把系统函数极点直接当作特征根,忽略多重极点 | 对重根情况不熟 | 特征方程出现重根时,通解要写为 (C₁ + C₂t)e^{rt} 的形式 |
6. 复习最佳实践与答题建议
6.1 建立“双域转换”思维
信号与系统最核心的思维方式,就是同一个问题既能在时域做,也能在频域做。时域卷积对应复频域乘法,时域微分方程对应复频域代数方程。做题时不必局限于某一种方法,先判断哪种方法计算量更小。比如本题求零状态响应,用拉普拉斯变换明显更快;但考研真题有时候为了考卷积积分,会专门要求使用时域方法,这时候也要能写清楚卷积过程。
建议在复习阶段,每道系统分析题都用两种方法各做一遍。虽然耗时多一点,但能显著提高对公式的敏感度。
6.2 计算规范:不要跳步,标清 0+ 和 0-
阅卷时最怕出现“结果对,但过程跳步”的情况。对于初始条件,建议在做题开始时先说明使用的是 0+ 状态还是 0- 状态。如果题目没有特别说明,按照 0+ 处理。列写拉普拉斯方程时,把微分性质展开的每一项都写清楚,避免符号错误。
例如:
s²Y(s) - sy(0) - y'(0) + 5[sY(s) - y(0)] + 6Y(s) = (s+3)X(s)
代入数据后,再整理成标准形式。这个步骤虽然基础,但也是大多数人丢分的重灾区。
6.3 利用 MATLAB 辅助验证,但不能依赖
MATLAB 是非常好的验证工具,尤其适合检查部分分式展开和反变换结果。建议在每做完一道手算题后,用 MATLAB 或 Python 的 SymPy 验证一遍。如果结果不一致,回头检查自己的计算步骤,比直接看答案更有收获。
但考试时不能使用任何计算工具,所以平时做题不能一遇到计算就上 MATLAB。要先把基本功练扎实,再用工具校验。
6.4 时间分配与真题训练策略
803《信号与系统》的备考可以分为三轮:
- 第一轮:按教材章节系统过一遍概念、公式和基本例题,重点是卷积、傅里叶变换、拉普拉斯变换、z变换;
- 第二轮:按题型专项训练,比如今天这类综合系统分析题,至少每天做一道完整大题;
- 第三轮:整套真题模拟,限时训练,培养考场时间分配感。
每道错题都要记录原因,是计算错误、概念错误,还是方法选择错误。建议准备一个错题本,把本题这类“零极点相消 + 零输入响应”的经典陷阱单独归类。
7. 总结与下一步复习路线
通过这道典型题,你应该已经掌握了连续时间LTI系统从时域到复频域的完整分析流程。核心收获可以归纳为三点:
- 系统函数 H(s) 求出来后,单位冲激响应、零状态响应、频率响应都可以直接关联到它;
- 零输入响应必须回到齐次方程的特征根,不能因为 H(s) 约分就忽略某个自然模态;
- 稳定性判断与系统所有极点相关,零极点相消不影响稳定性结论,但会影响系统的可观性或可控性。
下一步,建议你尝试将题目改成离散时间版本,用 z 变换重做一遍。同时可以继续复习傅里叶变换的抽样定理、调制解调等内容,这些和拉普拉斯变换共同构成 803 信号与系统的核心主线。刷题过程中如果遇到“计算结果和手算不一致”的情况,优先检查积分限、初始条件和部分分式展开,这三点是错误率最高的位置。
最后提醒一句:典型题分析只是辅助,真正拿高分还是要靠亲手完整推导每一道题。建议把本文中的题目当成模板,自己独立重做两遍,直到不需要看步骤也能流畅写出全部过程为止。