
很多同学第一次翻开《信号与系统》的教材第一章翻得飞快因为它看起来“都是概念”没有微分方程也没有傅里叶变换。然后学到第三章就开始懵回头看才明白第一章里到处是伏笔。我自己带过几届学生也帮不少人做过考前突击几乎每一个“后面学不下去”的人问题都出在第一章某些细节没吃透。这篇文章就把第一章这些细节掰开揉碎讲清楚配合可以直接跑的MATLAB/Octave代码验证帮你把这个地基打得结实点。1. 第一章在整个课程里的真实定位1.1 为什么第一章决定了你后面学得顺不顺信号与系统整门课的核心骨架是用LTI线性时不变系统理论把输入信号分解成基本单元的线性组合然后借助叠加性把每个单元通过系统的响应叠加起来就得到输出。这个思路贯穿卷积、傅里叶变换、拉普拉斯变换、Z变换全部章节。问题在于这个思路依赖几个前置概念全部在第一章节出现你真的理解“信号的叠加”和“系统的线性”之间的配合关系吗你知道为什么单位冲激信号能作为“基本单元”这个前提条件是什么你清楚系统性质线性、时不变、因果、稳定的判断步骤为什么必须“先变换再判断”第一章如果只是“背定义”后面做题就会反复出错。比如判断线性系统时很多人只检查了输入输出的关系把初始状态储能给忘了这就是第一章的知识没形成体系。1.2 第一章内容的“三块基石”模型把第一章拆开看本质上只有三大块信号如何描述连续/离散、周期/非周期、能量/功率、奇异信号阶跃、冲激。这部分是语言的积累。信号如何运算移位、翻转、尺度变换、相加、相乘。这部分要注意运算操作的顺序。系统如何刻画系统的数学模型、六大性质线性、时不变、因果、稳定、记忆性、可逆性以及LTI系统的卷积描述雏形。我建议你把这三大块当成“三条线”来学而不是按教材页码顺序平推。每条线学完之后问自己一个问题这条线怎么和另外两条线汇合三条线最终交汇的地方就是卷积积分/卷积和而卷积正是第二、三章的主角。提示学第一章时手里随时要有纸和笔信号波形图一定要自己画。只看书上的图信息留存率很低自己动手画几遍记忆效果完全不同。2. 信号描述与分类从名词到逻辑2.1 连续时间信号与离散时间信号的对比视角连续信号记作x(t)离散信号记作x[n]。这里最容易忽略的是离散信号只有自变量n是离散的取值幅度可以是连续的所以不能把离散信号理解为“只能是数字信号”。真正的数字信号是幅度也量化了的离散信号那是《数字信号处理》里的概念。对比表格能帮你建立一个整体坐标对比项连续信号 x(t)离散信号 x[n]自变量连续实数 t整数 n来源物理世界直接采集采样或计算机处理数学工具微分方程、积分变换差分方程、Z变换典型例子正弦波、语音信号股票日K线、数字音频实际做题时一个高发错误是画图的时候把x[n]画成连续折线。x[n]的正确画法是竖线加实心圆点表示信号只在这些离散时刻有定义。这个符号约定很重要后面做卷积和时理解求和上下限会非常依赖这个画图能力。2.2 周期信号连续和离散的根本差异周期信号定义简单存在正数T使得x(tT)x(t)对所有t成立最小的正T叫基波周期。连续信号里一个典型的周期信号是cos(ω₀t)任何ω₀都能构成周期信号。但离散信号完全不同——cos(Ω₀n)是周期的当且仅当Ω₀/(2π)是有理数。这个差异在离散傅里叶分析里会引发“频谱混叠”等一系列问题第一章先建立这个认知即可。我建议你做一个仿真实验来彻底记住这件事用MATLAB分别生成采样率Fs1000 Hz的cos(2π×100t)和cos(2π×100n)注意一个是时间t一个是样本序号n观察哪个是周期的。后者周期条件塌了画出来完全不重复。自己在电脑上跑一遍比单纯看文字理解要深刻得多。2.3 能量信号与功率信号为什么要学这个分类教材会说能量信号总能量有限平均功率为零功率信号平均功率有限总能量无穷。很多同学觉得这个分类没啥用直接跳过。其实这个分类决定了你后面能不能用傅里叶变换。关键点在于傅里叶变换对能量信号来说有良好的收敛性帕塞瓦尔定理保证能量守恒而功率信号比如周期信号、阶跃信号不属于平方可积空间直接做傅里叶变换会出问题必须引入冲激函数或者推广的傅里叶变换才能处理。判断方法很简单先把信号平方一下再积分离散就求和积分结果有限就是能量信号积分结果无穷再看平均功率平均功率有限且非零就是功率信号。判断时有个坑要注意能量信号和功率信号并不是互斥的完备分类——还存在既不是能量信号也不是功率信号的信号比如x(t)e^{-t}u(t)乘以一个低频长包络之类的但课程里绝大多数问题都在两类范畴内能处理就够了。2.4 单位阶跃与单位冲激最容易被轻视的两个“工具信号”单位阶跃u(t)在t0处不连续通常定义u(0)1/2或u(0)1不同教材约定不同。这一点在做拉普拉斯变换初值定理/终值定理时会特别敏感建议从一开始就留意你所用教材的约定。单位冲激δ(t)更特殊它不是普通函数而是一个广义函数分布严格定义为对测试函数φ(t)满足∫δ(t)φ(t)dtφ(0)。初学不必陷进泛函分析但必须掌握三条工程性质筛选性质∫x(t)δ(t-t₀)dt x(t₀)前提是x(t)在t₀处连续尺度变换性质δ(at) (1/|a|)δ(t)这个性质经常考容易漏系数冲激与阶跃的关系δ(t)du(t)/dt。实际操作中冲激信号没法直接画——因为它的宽度是零幅度是无穷。很多初学同学会画成一个“竖线”但必须知道这根竖线旁边标注的“1”不是冲激的幅度而是它的面积强度。这个细节在算卷积的时候尤其关键δ(t)和任何信号卷积相当于把信号平移到冲激所在位置一旦面积记错了输出幅度就错。3. 信号的基本运算画图能力和操作顺序3.1 翻转、移位、尺度变换的“三步法”信号运算有一个高频考点给你x(t)的波形画x(-2t1)的波形。这种题目的本质是复合函数自变量变换可以用一个稳健的三步法先把表达式写成x(f(t))的形式找出f(t)-2t1确定关键点的变换关系比如原来信号在ta处有个特征点令f(t)a解出新的t值标记为新位置把所有关键点都映射过去按相对顺序连接即可。这个方法的逻辑是画图时我们关心的是“原来的特征点移动到哪里”而不是非要从左到右扫描每个t。实际操作中建议优先使用“先平移后尺度再翻转”或“先尺度再平移”中的一种并固定下来避免每次做题顺序都不一样导致错误。具体到f(t)-2t1我建议的顺序是先用x(t1)把波形左移1个单位再做x(2t)把横轴压缩一半最后做x(-t)翻转。每一步都画一个新图图形之间的变化一目了然。检验方法是取一个特殊点比如原始信号在t5处有个尖峰整体变换后的信号应该出现在t满足-2t15的位置即t-2。代入所有关键点检查无误画出来的图就基本不会错。3.2 连续信号与离散信号在运算上的一个显著差异连续信号的尺度变换可以任意压缩/拉伸2倍、1/3倍、-1倍都行但离散信号x[n]做“尺度变换”时x[2n]实际上是抽取丢掉奇数点的值而不是简单的压缩。这是很多初学同学踩坑的地方连续信号x(2t)是把波形变窄但离散信号x[2n]是只取偶数序号样本波形形状可能会变得面目全非甚至丢失信息。这个差异在“采样定理”里会再次出现——欠采样为什么会造成频谱混叠本质上是丢失了采样点之间的信息。3.3 相加与相乘在系统分析中的意义信号相加对应系统的叠加性信号相乘对应调制频谱搬移。第一章不要求你掌握频谱分析但至少要知道两个信号相加波形上是幅度直接叠加两个信号相乘波形上会出现“包络调制”效应这是通信系统里调幅AM的基本原理雏形。在MATLAB里验证相乘效果非常直观生成一个低频正弦比如5 Hz作为包络再生成一个高频正弦比如100 Hz作为载波后者乘以前者画出来的波形就是一个幅度被缓慢调制的振荡信号。这个实验能帮你把“信号相乘”和后面的“频谱搬移”提前链接起来。4. 系统的定义与性质判断这才是第一章真正的试金石4.1 系统的数学模型输入输出描述与方框图系统可以看成一种变换输入x(t)经过系统T{·}得到输出y(t)T{x(t)}。这里最重要的概念是“零状态响应”和“零输入响应”的区分。很多同学对“线性系统”的判定就栽在这里。教材上的定义是如果系统满足叠加性和齐次性就是线性的。但工程上的系统通常有初始储能初始条件完整的判定条件是零输入响应部分关于初始状态满足线性零状态响应部分关于输入满足线性完整响应零输入响应零状态响应。举个例子y(t)2x(t)3看起来像线性画出来是一条直线但它不满足齐次性——输入乘2输出却变成4x(t)3并不是原来输出的2倍。所以判断线性时必须严格按定义来不要用“图像是直线”这种直觉去替代。4.2 时不变系统为什么时间轴平移必须一致时不变性定义如果x(t)→y(t)则x(t-t₀)→y(t-t₀)对任意t₀成立。通俗讲就是“系统参数不随时间变化”今天输入什么波形明天输入同样的波形输出形状完全一样只是整体推迟了相应的时间。判断时不变时要做“两步走”先把输入移位求系统响应再先把系统响应移位比较和第一步的结果是否一致。如果一致就是时不变否则就是时变。常见反例y(t)x(2t)是时变系统输出被压缩输入的延迟和输出的延迟不匹配y(t)t·x(t)也是时变系统系数t随时间改变。这个判断一定要用表达式推不能光靠感觉。4.3 因果性、稳定性、记忆性快速判别的套路清单这几种性质在考研和期末考试里几乎是必考小题我整理了一个自用的快速判断表格系统性质定义快速判断参照常见反例因果性输出只依赖于当前及过去的输入输出表达式里不能出现x(t1)、x(n1)y(t)x(t1)非因果稳定性BIBO有界输入一定产生有界输出对线性系统可看冲激响应是否绝对可积y(t)∫₀ᵗx(τ)dτ可能不稳定记忆性输出只取决于当前输入表达式只含x(t)或x[n]不含积分/差分/延时y(t)x(t)x(t-1)有记忆可逆性可以由输出唯一恢复输入系统对应变换是否是一一映射y(t)x²(t)不可逆有几点必须补充因果性的判断不要和“实时性”混淆数字信号处理里离线处理可以“非因果”但物理可实现系统通常要求因果。稳定性判断中如果系统是LTI判断冲激响应绝对可积是最省事的路子如果系统不是LTI只能回到“所有有界输入输出都有界”的定义去推理。4.4 用MATLAB验证一个系统的线性与时不变性理论写多了容易飘用一个具体例子落实一下。考虑一个简单的系统y(t)x(t)0.5x(t-1)这是一个典型的FIR滤波器线性且时不变。用Octave或MATLAB验证其线性与时不变性代码如下% 验证系统 y(t)x(t)0.5*x(t-1) 的线性性和时不变性 fs 1000; t 0:1/fs:1; x1 sin(2*pi*50*t); x2 cos(2*pi*30*t); a 2; b 3; % 系统的函数句柄 sys (x) x 0.5*[0 x(1:end-1)]; % 线性验证T{a*x1b*x2} 是否等于 a*T{x1}b*T{x2} y_combine sys(a*x1 b*x2); y_sep a*sys(x1) b*sys(x2); lin_err max(abs(y_combine - y_sep)); fprintf(线性验证最大误差: %e\n, lin_err); % 时不变验证T{x(t-t0)} 是否等于 y(t-t0) delay 100; % 100个采样点对应0.1秒 x1_delayed [zeros(1,delay), x1(1:end-delay)]; y_shift sys(x1_delayed); y_sys_shift [zeros(1,delay), sys(x1)(1:end-delay)]; time_err max(abs(y_shift - y_sys_shift)); fprintf(时不变验证最大误差: %e\n, time_err);由于数值精度误差应该是10的负14次方量级这就验证了系统确实满足线性与时不变性。注意代码里系统实现用了[0 x(1:end-1)]相当于差分方程y[n]x[n]0.5x[n-1]这是数字信号处理的基础形式。这类小验证建议初学者亲手跑一遍把“性质”从抽象定义变成可以看到的数值结果。5. 奇异信号与卷积的首次相遇5.1 冲激响应第一章最重要的伏笔LTI系统的性质里最核心的一条是系统完全由它对单位冲激的响应h(t)决定。这个结论的推导用到两个性质时不变性δ(t-τ)通过系统后变成h(t-τ)叠加性把输入x(t)分解成无数个加权冲激的叠加每个冲激通过系统后得到加权延时冲激响应再做叠加就得到卷积积分。这里建议认真理解“把输入分解成冲激”这一句话。学过积分的人知道x(t)∫x(τ)δ(t-τ)dτ这个恒等式叫冲激的筛选性质或取样性质。它的直观含义是在每一个时刻τ处放一个强度为x(τ)的冲激把所有冲激叠加起来就恢复了原信号。这是所有信号分解的起点也是傅里叶变换把信号分解为复指数的基础。5.2 卷积的图形化理解翻转、平移、相乘、求和初学卷积最容易卡在“翻转”这一步。为什么卷积要翻转因为卷积的推导来自系统的叠加性与时不变性系统在t时刻的输出是所有“过去时刻τ的输入 x(τ) 对当前时刻t贡献的叠加”而这个贡献的大小取决于“从τ到t经过的时间”t-τ权重正是h(t-τ)。这里h的自变量t-τ是τ的相反数结构所以图形上看起来像翻转。我常用一个物理场景帮助理解想象一个房间你在不同时刻τ制造了不同响度的声音x(τ)房间的混响特性是h(τ)那么当前t时刻你听到的响度是过去所有声音乘上混响衰减后的累加。不同的到达时间差对应不同衰减值这个累加过程就是卷积。混响不是“未来”的声音所以在t时刻求和区间是(-∞, t]这对应因果系统的卷积上限。理解了物理含义后做题时图形法三步骤固定下来翻转h(τ)得到h(-τ)平移t得到h(t-τ)将x(τ)和h(t-τ)相乘再对τ求积分。每一步里最关键的是确定积分上下限——即x(τ)和h(t-τ)波形重叠的非零区间。初学者画图时最容易忘记给h(τ)标出它的非零区间端点导致后续平移后求重叠范围时出错。5.3 离散卷积的Matlab实现与验证离散卷积是数字信号处理的核心因为计算机只能算离散量。MATLAB里直接有conv函数但为了理解内部过程我建议初学者手动实现一个% 手动实现卷积: y[n] sum_{k-inf}^{inf} x[k] h[n-k] x [1, 2, 3, 4]; h [1, 1, 1]; Lx length(x); Lh length(h); Ly Lx Lh - 1; y zeros(1, Ly); for n 1:Ly for k 1:Lx if (n-k1 1) (n-k1 Lh) y(n) y(n) x(k) * h(n-k1); end end end % 和内置conv对比 y_builtin conv(x, h); fprintf(手动卷积: ); disp(y); fprintf(内置conv: ); disp(y_builtin);这段代码展示了卷积的索引细节长度为Lx的x和长度为Lh的h卷积结果长度为LxLh-1假设有限长序列都从n0开始。手动实现时最容易出错的是索引偏移——h的索引k对应程序里的k1而h[n-k]取什么位置要小心。遇到“从非零时刻开始的序列”比如x[n]从n2开始建议先把序列移动到从n0开始的位置记录好偏移量最后再对y做偏移修正。6. 常见问题与学习误区实录6.1 为什么我上课听得懂做作业就懵这几乎是所有信号与系统初学者的共同体验。“听得懂”是听觉跟随老师的思路“会做题”需要自己建立从问题到方法的自动映射。区别在于老师做题时已经把条件筛选好了而你面对题目时要先自己判断这道题考的是连续还是离散考察的是分类还是运算要求画图还是求表达式我建议做作业前先做一个“题型分类”的动作把题目按“信号运算/信号性质/系统性质/卷积计算”四个子类归档每类总结各自的固定解法。这比一题一题硬啃高效得多。归档的过程就是你建立“自动映射”的过程。6.2 冲激函数的数学和工程直觉打架了冲激函数δ(t)在t0处没定义或者说无穷大在工程里却代表一个“极短瞬间注入的冲击”。很多同学卡在这里问它到底是什么。我的建议是把δ(t)理解成一个“极限过程”——一个宽度趋向于零、高度趋向于无穷、面积保持为1的窄脉冲。任何检验这个极限的积分都会有确定的极限结果。在工程应用中你只需要记住它的面积效应筛选积分值、为信号做加权和最窄脉冲的极限含义不需要纠结“无穷大”这个概念。如果将来做信号处理或控制工程还会遇到“用很窄的矩形脉冲近似冲激”的实际方案。这是理论模型和物理现实的重要桥梁值得记住。6.3 画图题总错核心原因往往是坐标系没标好信号波形图题错了之后回头看十有八九是没标清楚坐标轴。怎么解决画之前先标横轴的刻度尤其是0点、边界点画完以后用“顶点追踪法”检查取原图两三个峰谷点看变换后的对应位置是否正确如果是离散图确认竖线和圆点是否画得规范连续信号确认端点是否闭合。在信号运算的每一步之间建议画一个过渡波形图不要试图一步到位。我在平时练习中见过太多同学为了省事跳步最后错的千奇百怪。画图题本来就是送分题花这点时间很值得。6.4 判断线性时不变系统时初始状态的处理前面提过完整响应零输入响应零状态响应但不少教材里的“系统”定义有时候会模糊化初始状态。做题时建议如果题目明确说“系统初始状态为零”那判断线性时只考虑输入到零状态响应这条通路如果题目说“系统有初始储能”判断线性时要把初始状态也看作自变量代入叠加性检验考研题里常见的反例是y(t)t·x(t)y(0)它对输入是线性但对完整响应不是线性因为多了一个常数项。我个人的做题习惯是先判断题目考查的是“零状态线性”还是“完全线性”再决定使用哪一套判定标准。这样能避免因为概念层次混乱而失分。7. 关于学习工具与学习节奏的建议7.1 第一章值得投入多少时间很多同学的第一章只用一周我觉得不够。第一章值得至少两周的精读加练习。原因是后续所有内容都以第一章的“信号分解”和“系统性质”为前提。地基没打好后面你能听懂每一节但做题永远是“差点意思”。参考节奏第1~2天信号描述与分类做课后基础题第3~4天信号运算画图每天画10个波形变换题第5~6天系统性质判断整理判断表格做选择题和判断题第7~8天冲激、阶跃以及卷积的入门手动实现离散卷积第9~10天用MATLAB/Octave做仿真验证加深直觉第11~14天综合题、错题复盘并开始预习第二章频域分析。7.2 用MATLAB/Octave建立“看得见”的直觉信号与系统是一门高度抽象的课很多人学不好是因为脑内没有波形画面。我在学习阶段最大的收获就是边学理论边用MATLAB做仿真。装不上MATLAB的话GNU Octave完全够用语法几乎一致免费且轻量。下面的两个仿真建议每个都亲自跑一下第一用窄脉冲近似冲激观察它与阶跃、斜坡的关系。代码示意fs 10000; t -0.1:1/fs:0.1; % 用宽度为0.01秒的矩形脉冲近似冲激 pulse (abs(t) 0.005) / 0.01; plot(t, pulse); axis([-0.02 0.02 0 120]);第二把三角波和正弦波通过一个积分器相当于y(t)∫x(τ)dτ看输出是连续光滑的变化直观理解“系统对信号的塑造作用”。这个认知是后续频域分析的重要基础。7.3 关于“刷题”和“理解”的配比第一章不要陷入盲目刷题。我的建议比例是四六开六分精力用于理解概念与推导四分精力用于做题验证。概念理解到位之后题目只是检验概念没到位刷再多的题也容易在变式题面前失灵。特别建议做“概念自测”学完一章后不翻书口头解释“什么是线性时不变系统”“为什么卷积能描述LTI系统”“冲激的筛选性质是什么含义”。能像给同学讲明白一样说出来才算真正掌握。这个自测方法我沿用至今效果比反复看笔记好得多。《信号与系统》第一章的信息密度不低但它的每一处概念都有后续的实际用途。很多人觉得第一章“太简单”就翻得快可惜了。我自己第二次学这门课时才发现第一章里有一个极其容易被忽略但贯穿全书的伏笔所有信号的分解都依赖“线性时不变”这两个前提。你只有从第一章起就牢牢记住这一点到第三章学傅里叶变换时才能真正理解“为什么要把正弦分量作为分解基底”而不是在背公式。最后分享一个小技巧每次学完一个小节自己在纸上画一张概念关系图把“信号分类”“信号运算”“系统性质”“卷积”这四个词连起来。一节画一张第一章结束时你会拥有一张你自己能看懂的知识地图这张地图会在期末复习时帮你省下大量时间。