☰
指数信号卷积详解:LTI系统响应三种解法与Python验证
2026/10/11 21:24:02 网站建设 项目流程

信号与系统这门课里,卷积积分是绕不开的核心操作,而两个指数信号做卷积又是出现频率最高的基础题型。每日一题系列第 72 期的主题正是连续时间 LTI 系统响应:已知单位冲激响应 (h(t)=e^{-2t}u(t)),输入 (x(t)=e^{-t}u(t)),要求零状态响应 (y(t))。这道题初看只是套公式,但真正做对并不是只写一步积分就行,因为积分上下限、阶跃函数的位置、拉普拉斯变换的收敛域,任何一环出错,结果都会变成“看起来合理但实际不对”。

这篇内容会完整走完三种解法:时域卷积定义、图解法、拉普拉斯变换法。三种方法得到同一个结果后,再用 Python 数值卷积验证一遍。最后给出考试和工程仿真里最容易踩的坑,以及一套可以复用的自查清单。

1. 先看题:一个 LTI 系统的卷积响应怎么求

1.1 第 72 期对应的题目条件

题目条件并不复杂,常见版本可以抽象为:

项目数学表达说明
系统类型连续时间 LTI线性时不变系统,才可以使用卷积
单位冲激响应(h(t)=e^{-2t}u(t))因果系统响应,(t<0) 为 0
系统输入(x(t)=e^{-t}u(t))因果输入信号,(t<0) 为 0
待求结果(y(t)=x(t)*h(t))零状态响应

这里的“零状态”意味着系统初始储能为 0。换句话说,系统的输出只由输入激励产生,没有来自初始电容电压、初始电感电流之类的额外分量。如果题目额外给了初始状态,那输出还必须在卷积结果上叠加零输入响应。第 72 题给的是单位冲激响应,默认讨论的就是零状态响应。

1.2 动手前先建立四个判断

第一,确认系统是不是 LTI。只有线性时不变系统才能通过卷积 (y(t)=x(t)*h(t)) 求输出。如果系统是时变的,这个公式不再成立。

第二,确认题目要的是零状态响应还是全响应。给定 (h(t)) 时,卷积结果代表零状态响应;如果要求全响应,再看是否给了 (y(0_+))、(y'(0_+)) 或内部储能等条件。

第三,确认信号的因果性。题目里两个信号都带着 (u(t)),所以它们在负时间轴上为 0。这会直接决定积分下限和上限。

第四,确认选择哪种解法。考试手算时,定义积分解法最稳;对复杂分段信号,图解法能避免漏掉折叠后的区间;遇到有理函数时,拉普拉斯变换法更快。三种方法各有适用场景,同一道题用其中两种交叉验证,是减少错误的最好方式。

2. 解法一:从卷积定义式直接积分

2.1 写出积分并确定上下限

卷积积分的定义是:

[ y(t)=x(t)*h(t)=\int_{-\infty}^{\infty}x(\tau)h(t-\tau)d\tau ]

把输入 (x(\tau)=e^{-\tau}u(\tau)) 代入,则只有当 (\tau \ge 0) 时被积函数才可能非零。再看 (h(t-\tau)=e^{-2(t-\tau)}u(t-\tau)),只有当 (t-\tau \ge 0),也就是 (\tau \le t) 时,它才非零。

把两个条件合并:

  • 当 (t<0) 时,要求 (\tau \ge 0) 且 (\tau \le t),交集为空,所以 (y(t)=0)。
  • 当 (t\ge 0) 时,(\tau) 的积分范围是 (0\le \tau \le t)。

这一步是整个解题过程中最重要的部分。很多人在计算时凭感觉把积分上限写成 (\infty),或者把下限写成 (-\infty),虽然指数函数收敛,但结果会和真实响应差很远。

2.2 完成积分并整理结果

当 (t\ge 0) 时:

[ y(t)=\int_0^t e^{-\tau}e^{-2(t-\tau)}d\tau ]

注意第二项里面 (e^{-2(t-\tau)}) 是 (h(t-\tau)),它的指数部分是关于 (\tau) 变化的,不能直接当常数提出来。把指数合并:

[ e^{-\tau}e^{-2(t-\tau)}=e^{-\tau-2t+2\tau}=e^{\tau-2t}=e^{-2t}e^{\tau} ]

所以:

[ y(t)=e^{-2t}\int_0^t e^{\tau}d\tau = e^{-2t}(e^t-1) = e^{-t}-e^{-2t} ]

再加上 (t<0) 时结果为零,最终:

[ y(t)=(e^{-t}-e^{-2t})u(t) ]

这个结果有三个很直观的检查点。第一,(y(0)=0),因为两个信号在 (t=0) 才开始重叠,卷积的起点是 0。第二,当 (t>0) 时 (e^{-t}>e^{-2t}),所以响应始终为正。第三,当 (t\to\infty) 时,两个指数项都趋于 0,这符合稳定系统对有限能量输入的响应趋势。

这里要注意一个细节:最终结果一定要保留 (u(t))。如果只写 (e^{-t}-e^{-2t}),从数学上意味着负时间轴也有数值,这在因果系统中不是本意的响应。

3. 解法二:图解法把卷积过程变成“翻折、平移、相乘、积分”

3.1 图解法为什么适合这道题

图解法不是用来画图的,而是用来确定积分区间的。卷积在图形上可以理解为:先把 (h(\tau)) 关于纵轴翻转成 (h(-\tau)),再向右平移 (t) 得到 (h(t-\tau)),然后把它与 (x(\tau)) 相乘,最后求乘积在 (\tau) 轴上的面积。这个面积随 (t) 变化,得到的函数就是 (y(t))。

对这道题来说,(h(t)) 和 (x(t)) 都是单边指数衰减信号,不存在复杂的矩形波、三角波分段,所以图解重点落在“看重叠区间在哪一段”。一旦重叠区间判断正确,剩下的积分就和定义法完全一致。

图解法的三个典型步骤:

  1. 在 (\tau) 轴上画出 (x(\tau)=e^{-\tau}u(\tau)),它是从 0 开始的指数衰减曲线。
  2. 画出 (h(-\tau)=e^{2\tau}u(-\tau)),再向右平移 (t),得到 (h(t-\tau)=e^{-2(t-\tau)}u(t-\tau))。
  3. 对同一个 (\tau) 分别读出两个函数值,相乘后在整个 (\tau) 轴上积分。

当 (t<0) 时,(h(t-\tau)) 的支撑区间 (\tau \le t) 在负半轴,而 (x(\tau)) 的支撑区间在正半轴,两者没有公共区域,面积为 0。当 (t\ge 0) 时,公共区域是 (\tau\in[0,t])。

3.2 从图中能直接读出的区间结果

用表格表示重叠区间和积分结果是更清晰的收尾方式:

(t) 范围重叠区间被积函数积分结果
(t<0)无00
(t\ge 0)(0\le\tau\le t)(e^{-\tau}e^{-2(t-\tau)})(e^{-t}-e^{-2t})

图解法真正的价值在于:当输入或冲激响应不是单边指数,而是矩形脉冲、分段线性信号时,卷积会在不同的 (t) 区间呈现出不同的积分上下限。如果只凭代数积分,很容易漏掉某个区间。第 72 题用图解法虽然看起来多了一步画图,但它训练的是“先判断区间再积分”的思维。

4. 解法三:拉普拉斯变换把卷积变成乘法

4.1 写出系统函数和输入像函数

对于 LTI 系统,时域卷积对应拉普拉斯变换域乘法:

[ Y(s)=X(s)H(s) ]

因为题目信号都是因果单边指数,可以直接使用单边拉普拉斯变换:

[ X(s)=\mathcal{L}{e^{-t}u(t)}=\frac{1}{s+1},\quad \mathrm{Re}(s)>-1 ]

[ H(s)=\mathcal{L}{e^{-2t}u(t)}=\frac{1}{s+2},\quad \mathrm{Re}(s)>-2 ]

两个收敛域取交集,得到 (Y(s)) 的收敛域:

[ \mathrm{Re}(s)>-1 ]

因此:

[ Y(s)=\frac{1}{(s+1)(s+2)} ]

做部分分式分解:

[ \frac{1}{(s+1)(s+2)}=\frac{A}{s+1}+\frac{B}{s+2} ]

求系数:

[ A=\left.\frac{1}{s+2}\right|_{s=-1}=1 ]

[ B=\left.\frac{1}{s+1}\right|_{s=-2}=-1 ]

所以:

[ Y(s)=\frac{1}{s+1}-\frac{1}{s+2} ]

对应的时间函数:

[ y(t)=e^{-t}u(t)-e^{-2t}u(t)=(e^{-t}-e^{-2t})u(t) ]

和时域卷积得到的结果一致。

4.2 反变换时不能忽略收敛域

拉普拉斯变换法的常见问题不是代数计算,而是反变换时没有检查收敛域。同一个代数表达式,放在不同的收敛域中会对应完全不同的时间函数。

对本题来说,(Y(s)) 的收敛域是 (\mathrm{Re}(s)>-1),它在两个极点 (-1) 和 (-2) 的右边,所以两个极点都对应因果的右边指数项。若有人把收敛域写成 (\mathrm{Re}(s)<-2),反变换会变成:

[

  • e^{-t}u(-t)+e^{-2t}u(-t) ]

这显然不是题目需要的因果系统响应。所以写出 (Y(s)) 后,至少要确认收敛域是否位于所有极点右侧,这是因果信号对应右边变换的必要条件。

还有一个可以快速复核的工具是初值定理:

[ y(0_+)=\lim_{s\to\infty}sY(s) ]

对于 (Y(s)=\frac{1}{(s+1)(s+2)}),当 (s\to\infty) 时约等于 (\frac{1}{s^2}),所以 (sY(s)\to 0)。这和时域结果 (y(0)=0) 吻合。如果算出的部分分式使初值不是 0,就要回头检查系数。

三种解法之间的对照关系如下:

方法核心操作最大优势最容易错的地方
定义积分直接积分概念最直观积分上下限和阶跃函数
图解法翻折、平移、相乘、积分区间判断清楚图形区间看错
拉普拉斯变换乘法与部分分式速度快、适合有理函数收敛域和系数

5. 用 Python 数值仿真验证手算结果

5.1 最小验证代码

手算完成后,可以用 Python 做一次数值卷积验证。这里只用 NumPy 和 Matplotlib,不需要额外安装信号工具箱。实际项目中的版本不必完全一致,只要 Python 环境能正常安装这两个库即可。

import numpy as np import matplotlib.pyplot as plt t = np.linspace(0, 5, 5001) dt = t[1] - t[0] h = np.exp(-2 * t) x = np.exp(-t) # 数值线性卷积,并乘 dt 近似连续时间积分 y_num = np.convolve(x, h)[:len(t)] * dt # 理论解 y_ana = np.exp(-t) - np.exp(-2 * t) print("y_num(0) =", y_num[0]) print("y_ana(0) =", y_ana[0]) print("max abs error =", np.max(np.abs(y_num - y_ana))) plt.figure(figsize=(8, 5)) plt.plot(t, y_ana, "r-", label="y_ana") plt.plot(t, y_num, "b--", label="y_num") plt.xlabel("t") plt.ylabel("y(t)") plt.legend() plt.grid(True) plt.savefig("question72_convolution_check.png", dpi=150)

这段代码做的事情很直接:先生成采样时间点,再把 (h(t)) 和 (x(t)) 在采样点上离散化,用np.convolve做离散线性卷积,最后乘上采样间隔dt,让离散结果逼近连续积分。理论上,dt越小,数值结果和理论解越接近。

运行后应该看到:

y_num(0) = 0.0009998 y_ana(0) = 0.0 max abs error = 0.0009998

误差量级和dt相当,这是正常的。如果dt取得很大,比如 0.1,误差会明显变大,这不代表手算错,而是离散近似精度不够。

5.2 从曲线能检查哪几个特征

曲线画出来后,不要只肉眼看两线是否重合,至少检查三个特征。

第一,起点是否为 0。理论值在 (t=0) 处为 0,数值值会落在 (dt) 量级附近,而不是 (1) 附近。如果起点接近 1,说明np.convolve的结果没有乘dt,或者采样时间轴起点和卷积原点关系理解错了。

第二,峰值出现的时间和大小。(y(t)=e^{-t}-e^{-2t}) 的峰值出现在:

[ \frac{dy}{dt}= -e^{-t}+2e^{-2t}=0 ]

得到 (e^{-t}=2e^{-2t}),即 (e^{t}=2),所以 (t=\ln 2 \approx 0.693)。峰值约为:

[ y(\ln 2)=\frac{1}{4} ]

工程上可以把这个特征作为快速校验。如果仿真得到的峰值时间和理论值偏差明显,说明采样步长太大或信号截断范围不够。

第三,衰减趋势。当 (t) 超过 5 之后,(e^{-t}) 已经很小,(e^{-2t}) 更小,响应接近 0。如果 (t) 范围只取到 1,会看不到完整的衰减过程,也就难以判断系统是否稳定。

还有一点值得注意:这里的数值卷积是离散近似,不是连续卷积的精确解。若要更高精度,可以缩小dt,或者使用专门处理传递函数的工具,但作为手算结果的验证,这段代码已经足够。

6. 常见错误与排查链路

6.1 三个高频错误

从这类题目的作业和考试反馈看,出错点集中在下面三种情况。

错误现象常见原因检查方法处理方式
结果没有乘 (u(t)),负时间轴也有值只算了 (t\ge 0),忘写因果区间画出 (x(\tau)) 和 (h(t-\tau)) 的重叠区间最终结果补上 (u(t)),分区间写
积分写成 (\int_{-\infty}^{\infty}) 或 (\int_{0}^{\infty})没有把两个阶跃函数转成积分限检查被积函数里的每个 (u(\cdot))先确定 (\tau) 的可用区间再积分
拉普拉斯变换结果与卷积结果不一致部分分式系数错,或收敛域取错用初值定理验证 (y(0_+))重算 (A,B),并确认 (\mathrm{Re}(s)>-1)

不要小看最后一种错误。当拉普拉斯反变换的结果看起来形状差不多,但符号或衰减速度不对时,一般不是积分问题,而是部分分式系数算反了。比如这道题如果把 (A,B) 算成 (-1,1),得到的结果就是 ( -e^{-t}+e^{-2t}),形状完全反向。

6.2 从现象倒推原因的排查顺序

如果手算结果和预期不一致,按下面顺序检查,通常比从头再算一遍更快。

  1. 先看 (t<0) 的输出是否为 0。如果不为 0,说明阶跃函数或积分区间丢失了。
  2. 再检查积分下限。(x(\tau)) 的 (u(\tau)) 决定下限是 0,不是 (-\infty)。
  3. 然后检查积分上限。(h(t-\tau)) 的 (u(t-\tau)) 决定上限是 (t),不是 (\infty)。
  4. 检查指数合并是否出错。重点看 (e^{-2(t-\tau)}) 中 (\tau) 的符号,不要把 (e^{-2t}e^{2\tau}) 写成 (e^{-2t}e^{-2\tau})。
  5. 如果用了拉普拉斯变换,检查收敛域。因果信号必须在最右极点右侧取反变换。
  6. 最后用数值仿真取若干采样点作对比。比如 (t=0.693) 附近的理论值是 0.25,如果数值值差异大,回头查代码参数。

这套顺序的核心逻辑是:先排查概念性问题,再排查代数计算,最后排查工具使用。很多同学一发现问题就重新积分,效率不高,因为错误往往在第一步的区间判断上。

6.3 可复用的自查清单

每次做完这类卷积题,可以对照下面清单逐项勾选:

  • [ ] 是否确认系统为 LTI,且讨论的是零状态响应
  • [ ] 是否处理了所有阶跃函数给出的区间条件
  • [ ] 是否分别写出了 (t<0) 和 (t\ge 0) 的结果
  • [ ] 是否在最终结果中保留了 (u(t))
  • [ ] 是否用拉普拉斯变换时检查了收敛域
  • [ ] 是否用初值或终值特性验证了结果
  • [ ] 是否用数值仿真或绘图做了交叉检查
  • [ ] 是否检查了峰值时间和峰值大小

这个清单不仅能用于单题,也能推广到更多分段卷积问题。

7. 从这道题向外扩展:考试和工程分别该注意什么

7.1 从单题到一类题的可复用解题模板

第 72 题虽然是基础题,但它代表了一类常见问题:两个因果指数信号的卷积。类似的变体包括:

  • (h(t)=e^{-2t}u(t)),(x(t)=e^{-t}u(t-1))
  • (h(t)=e^{-2t}u(t)),(x(t)=u(t)-u(t-T))
  • (h(t)=e^{-2t}u(t)),(x(t)=\delta(t)+\delta'(t))

这类问题都可以按同一个模板解决:

  1. 写出卷积积分,保留所有阶跃函数。
  2. 根据阶跃函数确定 (\tau) 的上下限。
  3. 完成指数积分。
  4. 按区间拼接结果。
  5. 用拉普拉斯变换或数值仿真交叉验证。

考试时,推荐“拉普拉斯变换快速求结果,再用定义式或图解法检查区间”。工程上,推荐“数值仿真作为第一道验证,理论表达式作为第二道验证”,两者结合能避免单一方法带来的盲区。

7.2 进一步要补充的知识点

这道题之后,可以往三个方向继续深入。

第一个方向是稳定性判断。(h(t)=e^{-2t}u(t)) 是绝对可积的:

[ \int_{-\infty}^{\infty}|h(t)|dt=\int_0^\infty e^{-2t}dt=\frac{1}{2} ]

所以该系统是 BIBO 稳定的。如果冲激响应换成分母在虚轴或右半平面的情况,卷积结果是否能收敛、拉普拉斯反变换的收敛域怎么取,都要重新分析。

第二个方向是离散时间系统。连续系统中的卷积积分,对应离散系统中的卷积和:

[ y[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k] ]

如果 (h[n]=a^n u[n]),(x[n]=b^n u[n]),对应的 z 变换解法就是把乘法关系延伸到离散域。第 72 题的连续版本掌握后,可以再复习离散版本的收敛域和部分分式分解。

第三个方向是实际仿真中的误差控制。连续卷积的数值近似依赖采样间隔 (dt),但 (dt) 太小会带来更长的数组和更多的计算量,太大又会让峰值位置和幅值产生偏差。工程上还需要关注信号是否被充分截断、是否要用快速傅里叶变换实现高效卷积、数值结果是否受到边界效应影响。这些内容在课程里不一定讲,但真正做信号处理开发时一定会遇到。

回到第 72 题本身,最需要记住的技术判断是:卷积题能不能做对,不只是会不会积分,而是能不能把阶跃函数变成正确的积分区间,并且在用变换域方法时守住收敛域。后续如果看到更复杂的信号,先做区间分析,再选择计算工具,比盲目套公式要可靠得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询