信号与线性系统分析第4版课后题答案:思维训练与自查清单

发布时间:2026/11/3 23:54:14
信号与线性系统分析第4版课后题答案:思维训练与自查清单

很多人在搜索引擎里敲下“信号与线性系统分析第4版 课后习题答案”这几个字的时候,心里想的其实很简单:给我一个能对得上的结果,让我知道这题做对没做对。我当年也是这样过来的,抱着答案抄一遍,觉得看懂了,考试的时候拿到卷子还是一脸空白。后来带过几届低年级的同学做这门课的辅导,我才慢慢想明白一件事——这门课的课后习题答案,最大的价值不在于“对错判定”,而在于它是一份被精心设计过的思维训练清单。教材第4版的课后题编排是有讲究的,从连续到离散、从时域到变换域、从输入输出描述到状态空间描述,每一章的题目都在为下一章铺路。你把答案当终点,它就是一张废纸;你把答案当参照系,它才变成能反复咀嚼的东西。

这篇东西写给两类人:一类是正在被这门课折磨、想从题海里爬出来的在校同学;另一类是已经工作、需要回头补信号与系统这块基础,想拿课后题当复习材料的从业者。下面讲的不是什么速成秘籍,而是我自己做题、讲题、看别人做题踩出来的具体路径,包括题型怎么分布、变换域题目怎么手算才不出错、判定题怎么建立稳定的判断链条,以及对答案时那些最容易翻车的地方。

1. 搜“课后习题答案”的人,真正缺的往往不是答案本身

我带过的一个同学,把整本教材第4版的课后题答案打印出来订成一本,每天晚自习对着抄。抄了整整一个学期,期末考了五十几分。后来我翻他那本“答案册”,发现一个细节:所有题目的解题过程他都没写,只抄了最后那个结果。这就是典型的把答案当成产品、把做题当成验收的思维。信号与系统这门课的特点决定了,结果对了过程错的情况极少,但过程对了结果写错的情况非常多——一个符号、一个收敛域、一个阶跃函数的乘子漏掉,答案就面目全非。反过来,如果你只看结果,你连自己错在哪个环节都不知道,下一次照样错。

1.1 三种典型的答案误用方式

第一种是抄写式,就是上面说的那种,只看结果不看过程,把习题集变成了抄写练习。这种方式最直接的后果是,你对知识点的掌握程度永远停留在“眼熟”层面,一旦题型稍微变形就完全失效。比如连续时间系统的完全响应,课后题里经常给一个微分方程加初始条件,如果你只抄了那个“零输入响应 + 零状态响应”的最终表达式,而没搞清楚为什么特征根要那样求、特解为什么要设成那个形式,下一道题换个激励函数你就卡住了。

第二种是验证式滥用,做完一题立刻翻答案,对了就过,错了就改。这种方式表面上效率很高,实际上破坏了你对“自己判断力”的信任。真正考试的时候没有答案可翻,你必须有能力在一道题做完之后自己判断“这个结果是不是合理”。这个能力只能靠在平时训练中刻意留出“不看答案先自检”的环节来培养。

第三种是收藏式,把答案存进网盘、存进笔记软件,标签打了一堆,从来没打开过第二次。这种心理满足感很强,但实际收益接近零。我见过太多人手机里存着七八个版本的习题解答,真正动手推导过的题不到二十道。

1.2 答案能给你的和给不了你的

说清楚这一点很重要,因为它决定了你该怎么用这份材料。答案能给你的:标准解题路径的参考、符号规范的示范、某些巧妙的化简技巧、以及验证你自己思路是否跑偏的对照点。答案给不了你的:为什么这道题要用这个方法而不是另一个方法、这个方法在什么条件下会失效、这一类题的共性在哪里、以及你自己在哪个具体步骤上产生了误解。

后四样东西,没有任何一份现成的解答能替你想明白。它们只能靠你在做完题之后,拿自己的过程和参考答案做逐行比对,把差异点找出来,然后倒推自己当时的想法。这个过程很难受,但它是唯一有效的。我后来给那个同学的建议就是:每道题做完,先不翻答案,用两分钟检查单位、量纲、边界条件和收敛域这四项,然后再去比对过程而不是结果。他照做了一个学期,期末上了八十。

2. 这本教材第4版的题型地图:先做哪一类,后做哪一类

按顺序从头刷到尾是最笨的做法。这门课的章节之间是有依赖关系的,但课后题的难度分布并不是严格递增的,有些章节的计算题看起来吓人,其实套路固定;有些章节的概念题看着简单,实际上最容易失分。我把它拆成四类题型,按这个顺序推进效率最高。

2.1 四类题型与它们的攻克优先级

题型类别典型章节内容计算量概念难度建议投入占比
时域卷积与系统响应连续/离散卷积、冲激响应、零状态响应中到大中30%
变换域分析傅里叶、拉普拉斯、Z变换及其逆变换大中35%
系统性质判定线性、时不变、因果、稳定、可逆小高20%
状态空间与综合状态方程建立、矩阵求解、框图中高15%

这个配比不是拍脑袋定的。卷积类和变换域类占了总题量的六成以上,因为它们是整门课的计算主干,考试里也必然是大头。系统性质判定题题量少,但它是最容易出“送命题”的地方——一个系统既非线性又非时不变,你要能分别举出反例,很多人只会背定义不会构造反例,一考就露馅。状态空间那部分在本科阶段往往讲得比较赶,题量占比不高但综合性最强。

我建议的推进节奏是三轮。第一轮只做每章前面的基础题,目的是把定义和基本运算跑通,这时候用答案可以宽松一点,做不出来就看,看懂了立刻重做一遍。第二轮做每章中后段的综合题,这一轮必须严格执行“先自检再对答案”,一题一题啃。第三轮只做错题和第二轮里卡了很久的题,这时候答案的作用是提供第二视角,你要重点看的是它的解法和你当时卡住的位置之间的差异。

2.2 容易被跳过但其实最关键的前置章节

很多人急于冲到拉普拉斯变换那几章,把前面的信号基本运算和卷积跳过去。这是个致命的省略。卷积是整门课的语言,变换域里的乘积对应时域里的卷积,系统响应的求解本质是卷积,采样定理的推导也是卷积。你卷积没练熟,后面所有的推导都是空中楼阁。

具体来说,连续时间卷积的图解法和离散时间卷积的求和上下限确定,这两块必须练到条件反射的程度。我见过太多同学在解 Z 变换题目的时候,变换做得漂亮,逆变换拆得干净,最后结果少写一个 (u[n]) 或者把求和上限搞错,整题失分。这不是变换没学好,是离散卷积的边界感没建立起来。

所以我的建议是:哪怕你只剩两周复习时间,也要抽出两天专门把卷积那章的课后题从头到尾过一遍,重点不是算出结果,而是把每一题的积分区间或求和区间在图上一段一段标清楚。这个动作做完,后面几章的题你会发现自己下笔快很多。

3. 变换域题目的手算流水线:从拆分到逆变换

变换域是这门课课后题的重灾区,也是最能体现“方法选择”价值的地方。同一道题,用部分分式展开做要十分钟,用留数法做可能五分钟,用卷积性质反过来推可能两分钟。但不管用哪种方法,最终都要落到“把一个有理分式拆成若干基本项”这一步上。我把这一步拆成一条固定的流水线,练熟之后大部分逆变换题都能稳定推进。

3.1 部分分式展开的两个提速点

第一个提速点是先看分子分母的阶次关系。如果分子阶次不低于分母,必须先做长除法拆出多项式部分再加真分式部分。这一步经常被漏掉,漏掉之后部分分式展开会多出一个莫名其妙的项,而且最终结果里会缺一个冲激函数或者它的导数项。举个具体的例子,像 (\frac{s^2+3s+5}{s^2+3s+2}) 这种,先除一下得到 (1+\frac{3}{s^2+3s+2}),然后对后面的真分式做展开,这样才干净。

第二个提速点是重根的处理要一次到位。单极点的情况大家都会,用留数公式代一下就行。但一遇到重极点,比如 (\frac{1}{s(s+1)^2}) 这种,很多人就开始乱写。标准做法是先处理最高次重根项系数,再对低次项求导。具体来说:

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

其中 (A=\left.\frac{1}{(s+1)^2}\right|{s=0}=1),(B=\left.\frac{1}{s}\right|{s=-1}=-1),(C=\left.\frac{d}{ds}\left(\frac{1}{s}\right)\right|_{s=-1}=-1)。合起来:

[ f(t)=\left[1-e^{-t}-te^{-t}\right]u(t) ]

这个结果你可以自己验一下:(t=0) 时括号里是 (1-1-0=0),和 (F(s)) 在 (s\to\infty) 时趋于零这个事实是吻合的。用初值做合理性检验,这一招能帮你逮住大部分系数算错的情况。

再看一个带复极点的例子,这是很多人手算时最怕的:

[ F(s)=\frac{s+3}{s^2+2s+5} ]

分母的判别式小于零,极点是 (-1\pm j2)。这时候不要硬套留数公式去算复数系数然后共轭配对,太容易出错。直接配方:

[ F(s)=\frac{s+1+2}{(s+1)^2+4}=\frac{s+1}{(s+1)^2+2^2}+\frac{2}{(s+1)^2+2^2} ]

第一项对应 (e^{-t}\cos 2t),第二项对应 (e^{-t}\sin 2t),所以

[ f(t)=e^{-t}(\cos 2t+\sin 2t),u(t) ]

配方这条路比复数留数快得多,而且不容易在共轭配对的地方写反符号。我的经验是,只要分母配成完全平方之后系数是整数,就用配方,别碰留数。

3.2 收敛域才是决定答案形态的那一半

这是我认为整门课最容易被低估的一个点。同一道逆变换题,收敛域不同,答案完全不同,而且差的是“左边还是右边”这种根本性的差别。课后题里有大量这类设计,故意只给 (F(s)) 不给收敛域,或者给了收敛域但很多同学做的时候压根不看。

举个最典型的:(F(s)=\frac{1}{s+a})。如果收敛域是 (\text{Re}(s)>-a),答案是 (e^{-at}u(t));如果收敛域是 (\text{Re}(s)<-a),答案是 (-e^{-at}u(-t))。两个答案的形式完全不同,但很多人在做题的时候只记住了前一个。

离散时间这边更明显。(X(z)=\frac{z}{z-0.5}),收敛域 (|z|>0.5) 对应 ((0.5)^n u[n]),收敛域 (|z|<0.5) 对应 (-(0.5)^n u[-n-1])。Z 变换这一章的课后题,几乎每一道逆变换题都在考收敛域和序列形态的对应关系。如果做题时习惯性地忽略题目里那句“收敛域为……”,等于把一半的考点丢了。

我自己的做法是,在做任何逆变换之前,先在草稿纸角上把收敛域画出来,标清楚是圆内还是圆外、是右半平面还是左半平面,然后在这一行结论的约束下再开始展开。这个动作看起来多余,但它能强制你把收敛域纳入思考。

还有一种情况是题目给了收敛域,但你在展开过程中会不小心把一个本该是右边信号的项写成左边信号。避免的方法是在每一项单独判断时,看这个极点在收敛域的哪一侧:极点在收敛域边界以内,对应右边;在边界以外,对应左边。这一条规则比死记公式可靠得多。

3.3 一个完整的 Z 变换逆变换走通示例

拿 (\frac{z}{(z-1)(z-0.5)}),收敛域 (|z|>1) 来走一遍。这一步很多人会直接对 (\frac{z}{(z-1)(z-0.5)}) 做部分分式,然后就卡在怎么处理分子那个 (z) 上。标准的做法是先除以 (z),把它变成 (\frac{1}{(z-1)(z-0.5)}),这样分母的因子才是真正的极点形式。

[ \frac{X(z)}{z}=\frac{1}{(z-1)(z-0.5)}=\frac{A}{z-1}+\frac{B}{z-0.5} ]

(A=\left.\frac{1}{z-0.5}\right|{z=1}=2),(B=\left.\frac{1}{z-1}\right|{z=0.5}=-2)。所以

[ X(z)=\frac{2z}{z-1}-\frac{2z}{z-0.5} ]

因为收敛域是 (|z|>1),两个极点都在收敛域内部,两个项都对应右边序列:

[ x[n]=\left(2-2(0.5)^n\right)u[n] ]

验一下 (n=0),括号里是 (2-2=0),而 (X(z)) 在 (z\to\infty) 时趋于 1……这里需要注意,初值定理的对应是 (x[0]=\lim_{z\to\infty}X(z)),(\frac{z}{(z-1)(z-0.5)}) 在 (z\to\infty) 时趋于 0,和 (x[0]=0) 是一致的。这个检验动作只需要十秒钟,但能帮你抓出绝大多数系数错误。

4. 系统性质判定题:把因果、稳定、时不变串成一条判断链

这类题题量不大,但是考场上失分率很高,因为它不考计算,考的是你能不能在抽象描述里迅速定位到判据。我整理过一份判断链,按顺序走一遍,基本上不会漏。

4.1 线性与时不变的判定要举反例

线性判定的标准做法是设两个输入 (x_1,x_2) 对应输出 (y_1,y_2),然后验证叠加性 (a x_1+b x_2 \to a y_1+b y_2)。这一步考察的是你对“系统操作”这个抽象映射的理解。课后题里经常给的是类似 (y(t)=x(t)x(t-1)) 这样的表达式,很多人一看就懵,其实只要代 (a x_1+b x_2) 进去展开,看交叉项消不消得掉就知道了。

时不变性的判定更容易出错。标准做法是先把输入延迟,看输出是不是只延迟了相应的时间。比如 (y(t)=x(2t)),这是尺度变换,不是时不变系统。验证方法:输入 (x(t-\tau)) 得到 (x(2t-\tau)),而 (y(t-\tau)=x(2t-2\tau)),两者不相等,所以是时变系统。这个结论很多人靠背,但真正理解了“时不变”这三个字之后就不需要背了——系统本身的操作方式不随时间原点移动而改变,才叫时不变。

因果性判定其实最简单,看输出有没有用到未来的输入。但有个坑:题目里如果给的是 (h(t)),要看 (t<0) 时是否为零;如果给的是系统方程,则要看输出的当前值是否只依赖输入的当前和过去值。这两者的判定方式不同,很多同学会混。

4.2 稳定性判据的三条路怎么选

判据适用场景计算成本注意点
极点在收敛域内已知系统函数表达式低必须先明确收敛域
绝对可积/可和已知冲激响应中容易在积分区间上出错
罗斯判据高阶多项式,只判定不论求根低只适用连续系统,且要求系数为正

连续系统的稳定性,最本质的判据是系统函数的收敛域包含虚轴。这一条判据的好处是它不依赖你求出具体的极点位置,只需要判断收敛域的边界。因果系统的收敛域是右半平面,所以“因果且稳定”就等价于“所有极点在左半平面”。这个等价关系是课后题反复考察的核心。

罗斯判据的价值在于处理三阶以上的多项式,你不用求根就能判断有没有右半平面根。但要注意它的前提:特征多项式所有系数必须同号,如果出现系数为零或者缺项,直接可以判定不稳定,不用往下排表。这一点很多同学不知道,白白算了半天。

离散系统的稳定性判据是“所有极点在单位圆内”,量化判定方法有双线性变换法把单位圆映射到左半平面再用罗斯判据,但本科阶段更多是直接求根判断。

4.3 频率响应与无失真传输判定的盲区

无失真传输的条件是 (|H(j\omega)|) 为常数,相位为线性。课后题里经常给一个具体的 (H(j\omega)),让你判断是否无失真。这时候很多人只看幅频特性是不是平的,忽略了相频特性。只要相位不是严格的线性,哪怕幅度完全平坦,也是失真传输。

另一个盲区是“理想滤波器”和“物理可实现系统”的区分。理想低通滤波器的幅频特性是矩形,但它对应的冲激响应是采样函数,在 (t<0) 时不为零,所以是非因果的。课后题里会问“理想低通滤波器能否物理实现”,标准答案是不能,理由是违反因果性。但如果你只答“不能”,不解释冲激响应的非因果性,这道题基本拿不到分。

还有一个高频考点是因果系统与稳定系统之间的关系。这两者互相独立,一个系统可以因果但不稳定,也可以稳定但非因果。很多人把它们当成依赖关系,一遇到“因果稳定系统”这种表述就自动默认两者等价。

5. 卷积题的四类速算套路与自我验证

卷积是这门课最需要“手感”的地方。同一道卷积题,用定义法硬算可能要写满一页纸,用图解法三分钟就出来了。我按题目的输入形态分了四类,每类对应一个首选方法。

5.1 图解法、定义法、变换法、性质法怎么选

两个有限长序列的卷积,首选图解法或者列表法。离散卷积的图解就是翻转、平移、相乘求和,区间划分清楚之后每一步都很机械。列表法在考试里更实用,把两个序列写成表格交叉相乘再沿对角线求和,速度快而且不容易漏项。

含阶跃函数的连续卷积,优先考虑变换域。比如 (u(t)*e^{-2t}u(t)),直接做积分是 (\int_0^t e^{-2\tau}d\tau=\frac{1}{2}(1-e^{-2t})u(t)),这题积分还算简单。但如果换成 (t u(t) * e^{-2t}u(t)),定义法就要分部积分,容易出错。用拉普拉斯变换:(\frac{1}{s^2}\cdot\frac{1}{s+2}),展开之后逆变换,快得多。

含有冲激函数或其导数的卷积,必须用性质法。(f(t)\delta(t-t_0)=f(t-t_0)),(f(t)\delta'(t)=f'(t)),这两个性质能把一大类题目的计算量降到零。很多人做题时习惯性地从定义出发,遇到冲激函数还在那里老老实实写积分,纯属浪费时间。

两个有限长连续信号的卷积,图解法最稳。把两个波形画出来,一个翻转,一个平移,然后按重叠区域分段积分。关键是分段点要找全,一般是两个信号跳变点平移后的对齐位置。

5.2 算完之后的三步自查

卷积题最容易出错的地方不是算不出来,而是算出来之后没发现错。我总结了三个自查动作,每道题做完花不到一分钟。

第一步看支撑区间。两个有限长序列卷积,结果长度等于两个长度之和减一。两个因果序列卷积,结果也是因果的。两个非因果的卷积,支撑区间是两个支撑区间之和。这一条能帮你抓出区间写错的情况,而区间写错是卷积题最高频的失分点。

第二步看总面积或总能量。对连续信号,(\int f(t)dt \cdot \int g(t)dt = \int (f*g)(t)dt)。对离散序列,(\sum x[n]\cdot\sum h[n]=\sum y[n])。这个检验几乎不需要计算,把三个和(或积分)估一下就大致能判断结果量级对不对。

第三步看连续性或光滑度。两个信号的卷积,其光滑度比两个原信号都高。比如两个含跳变的信号卷积,结果在跳变点处可能连续但导数不连续;卷积结果在无穷远处的行为也受两个信号尾部的控制。这一条是定性的,但能帮你发现“结果形态完全不对”这种严重错误。

我印象很深的一次是,有个同学算 (u(t)*u(t)),结果是 (t u(t)),他写成了 (\frac{t^2}{2}u(t))。用第二自查一看:(u(t)) 的积分发散,没法用。但用第一步看支撑区间是 ([0,+\infty)) 没问题。最后是靠直接代入 (t=1) 算了一下定义积分才发现的。这也说明,任何定性检验都不能完全替代一次具体数值验算,验算取最简单的点,比如 (t=1) 或者 (n=2)。

6. 对答案时的自查清单与几个高频翻车点

前面几节讲的是怎么做题,这一节讲的是怎么用答案。这两个能力的差别,往往就是及格和优秀的差别。

6.1 定理使用的边界条件

这是我在讲题过程中发现的最集中的错误来源。课后题故意在边界条件上做文章,而很多人把定理当成无条件成立的公式。

初值定理(f(0^+)=\lim_{s\to\infty}sF(s)),前提是 (F(s)) 必须是真分式,也就是分子阶次严格小于分母。如果分子分母同阶甚至更高,必须先做长除法拆出多项式部分,那部分对应的是冲激函数及其导数,会贡献初值。这一步漏掉,初值会算错。

终值定理(f(\infty)=\lim_{s\to 0}sF(s)),前提是 (sF(s)) 的极点全部在左半平面,也就是原函数必须收敛。如果 (F(s)) 在虚轴上有极点,比如 (\frac{1}{s^2+1}),终值定理直接不适用,硬套会得到一个错误的答案——形式上会算出 (\lim_{s\to0}\frac{s}{s^2+1}=0),但 (\cos t) 的终值根本不存在。

Z 变换的终值定理同理,要求 ((z-1)X(z)) 的极点在单位圆内。

这三个定理在课后题里出现的频率极高,几乎每章都有一两道专门考边界条件的题。我的建议是在笔记里单独开一页,把这三个定理的适用条件和反例各写一遍,考试前扫一眼。

6.2 一份可复用的做题记录表

对答案的时候,最忌讳的是“哦,原来是这样,下一个”。我的做法是给每道错题写一条记录,格式固定,只写四栏:

栏目记录内容示例
卡点位置具体到哪一步做不下去或做错了部分分式展开重根系数算错
当时的想法我当时以为应该怎么做以为重根项可以直接代值
正确做法一句话概括正确路径最高次项代值,低次项求导
关联题号同一类错误的其它题号第3章第12题、第4章第7题

这个表格看起来简单,但它逼着你把“错误”从情绪层面转化成信息层面。只有被结构化的错误才能被批量修正,零散地记住“我第六题错了”没有任何意义。

填满二十条左右之后,你会发现这些错误会聚成几个大类,比如“收敛域忽略”“定理边界条件”“积分上下限”“符号处理”。到了这个阶段,你要做的就不是继续刷题,而是针对这四大类分别找五道同类题目做专项强化。

还有一个细节,很多人做错的题当时搞懂了,两周之后再做又错。这不是因为你笨,是因为遗忘是默认状态,掌握不是。所以那张记录表要定期回看,我的节奏是每两周过一遍全部记录,只读正确做法那一栏,一分钟能过完,但能显著降低复发率。

6.3 关于搜到的答案质量参差不齐这件事

说句实在话,网络上流传的各种解答版本,错误率不低。尤其是那些只有结果没有过程的版本,符号错误、漏项、收敛域错标的情况非常普遍。如果你拿到的答案和你自己的推导不一致,第一反应不应该是改自己的答案,而应该是重新独立推导一遍,然后看两边谁在逻辑上站得住。

我自己遇到过分歧的情况,最后发现是答案写错了,少了一个 (u(t))。如果我当时盲目信任答案,就学了一个错误的东西。判断的标准很简单:看答案的每一个步骤能不能在教材对应的定理和公式里找到依据。找不到依据的步骤,就是可疑的。有依据但你没想通的,那是你要补的地方。

还有一个建议是,如果你手头有多个版本,不要交叉对照着看,那样只会让你更混乱。选一个推导过程最完整的,跟着走一遍,剩下的当参考。真正的验证永远来自教材里的定理和你自己的检验手段,不来自“别的版本也这么写”。

最后再分享一个我自己一直在用的小习惯:做完一章的题目,把这一章所有用到的定理和公式列在一张纸上,每个后面标注它在那几道题里被用到、当时是怎么用的。这张纸会比任何现成的答案册都更适合你,因为它是按你当时的理解组织起来的。到了复习阶段,直接翻这张纸,比翻整本习题集快十倍。