☰
信号与系统性质判断:六性质高效解题流程详解
2026/10/12 8:46:13 网站建设 项目流程

信号与系统这门课,很多人学到“系统与系统的性质”这一章时,会突然觉得前面分析信号还挺顺畅,一进到这里就开始犯迷糊。原因也简单:前面讲的傅里叶变换、基本信号都有明确的计算公式可套,而系统性质判断更多是概念辨析,经常要你判断一个看着很简单的表达式到底属于哪一类。这篇笔记是系列里的第三篇,专门来啃这块硬骨头:系统是什么、系统的六大性质怎么定义、做题时应该按什么顺序判断。内容完全面向想要把性质判断题学扎实的同学,无论你是在读课程教材、准备期末考试还是考研复习,都可以按这个思路把这块彻底吃透。

1. 从“系统”这个词说起:先想清楚系统本质上在做什么

1.1 系统的本质:输入到输出的映射

系统这个概念很多人觉得玄,其实它就是一个“输入信号进来,输出信号出去”的过程。我们把这个过程写成 y = T{x},其中 T 就代表系统。这里的 T 可以是一台现实设备,比如放大器、滤波器;可以是一个数学公式,比如 y(t)=2x(t)+1;也可以是一段算法代码。在信号与系统课程里,我们几乎不关心系统内部用什么元器件构成,只关心它对外呈现的输入输出关系。

有人会问,电路、程序、公式这三者差这么多,怎么都叫系统?因为从信号处理的角度看,它们的抽象模型是一样的:接收信号,处理信号,输出信号。比如 y(t)=x(t)+x(t-1) 可以理解成一个加法器加一个延时器;y[n]-0.5y[n-1]=x[n] 可以理解成一个递归数字滤波器。只要你知道系统对输入做了什么,就可以研究它的性质,这也是为什么我们敢直接拿一个表达式做题。

初学者最容易犯的错,是把“系统”和“物理装置”强行绑定。看到 y(t)=x(2t) 会想:这不就是一个时间轴压缩器吗?它算系统吗?算。因为只要满足“对每个输入给出唯一确定输出”这一条,就是系统。时间压缩也是一种处理规则,完全符合系统定义。所以后面做性质判断题时,不要考虑这个系统能不能用电路造出来,先把它当成纯粹的数学映射去分析。

1.2 为什么判断性质前要先统一描述形式

做题时你遇到的系统描述形式大致有三种:

  • 直接给输入输出关系式,比如 y(t)=t·x(t)+x(t-2);
  • 给微分方程或差分方程,比如 y'(t)+3y(t)=x(t),或者 y[n]-0.5y[n-1]=x[n];
  • 给系统框图,需要你先把框图翻译成数学关系再分析。

这三种形态直接影响判断方法。直接给关系式的系统,拿定义一套就能出结论;给微分方程或差分方程的系统,要先看系数是不是常数。常系数线性微分方程描述的系统,本质上就是线性时不变系统,因为微分、积分运算本身是线性且时不变的,常数系数也不会引入时间依赖;但如果方程里出现变系数,比如 t·y'(t)+y(t)=x(t),那就不能直接套 LTI 结论,必须回到定义逐项验证。框图题更麻烦一点,先得把并联、串联、反馈结构化简成输入输出关系,再去判断性质。

所以在动笔之前,先问自己一句:这个系统是以哪种形式给出的?我有没有把它转化成方便验证的形式?这一步省了,后面往往白算。

2. 系统六大性质逐一拆解:定义、判断三步、典型例子

2.1 线性:可加性和齐次性缺一不可

线性系统的定义包含两条,缺一不可:

  • 可加性:T{x1 + x2} = T{x1} + T{x2};
  • 齐次性:T{a·x} = a·T{x},其中 a 是任意常数。

这两条合起来就是叠加原理。所谓线性,本质上就是“输入先做线性组合再进系统”和“先进系统再对输出做同样组合”,这两个操作顺序可以交换。很多同学只背合并式 T{ax1+bx2} = aT{x1}+bT{x2},也能用,但我建议把它拆成两件事理解:加法能不能分开处理,倍数能不能提前乘进去。

判断线性,我习惯按三步走:

  1. 写出原系统对组合输入 x3 = a·x1 + b·x2 的输出 T{x3};
  2. 分别写 a·T{x1} 和 b·T{x2},求和;
  3. 比较两步结果是否恒等。

需要注意,线性要求对所有可能的 x1、x2、a、b 都成立,所以只要能找到一个反例,系统就是非线性。最常见的反例陷阱是 y(t)=x(t)+1。画出来是一条直线,很多人误以为线性,实际上把 x1、x2 代入可加性:T{x1+x2}=x1+x2+1,而 T{x1}+T{x2}=x1+x2+2,不相等,所以是非线性。为什么必须这么严格?因为线性系统满足叠加原理,而叠加原理是后面傅里叶变换、卷积计算能成立的根基。一旦确定系统非线性,LTI 那一整套工具就不能直接用了。

典型线性系统包括 y(t)=2x(t)-3x(t-1)、y(t)=∫_{-∞}^{t}x(τ)dτ;典型非线性系统包括 y(t)=x²(t)、y[n]=x[n]·x[n-1]、y(t)=sin(x(t))。看到微积分运算不用慌,微积分本身是线性运算,所以只含微分、积分项的系统往往线性,除非外面还套了平方、绝对值、三角函数这类非线性函数。

2.2 时不变性:先移位还是先通过系统,顺序必须一致

时不变的意思是:如果输入整体延迟一段时间,输出也会延迟同样一段时间,系统的“行为特征”不随时间变化。用生活化的话说,早上 8 点输入一个信号,和晚上 8 点输入同一个信号,系统处理方式一模一样,输出只是被平移了相同时间。

判断步骤:

  1. 先算输出延迟:y(t - t0);
  2. 再算延迟输入经过系统的结果:T{x(t - t0)};
  3. 比较两者是否恒等。

这里特别容易漏的是顺序。很多同学只算 T{x(t-t0)},忘记先算 y(t-t0),或者算完以后不做比较,凭感觉判断。我自己的办法是把这两个结果并排写在纸上,中间画个“?”号,一项一项对着看。

如果表达式里的 t 只是作为 x 的自变量出现,例如 y(t)=x(t-2)、y(t)=x(t)+x²(t-1),系统通常都是时不变的;如果表达式里出现 t 的显式因子,比如 y(t)=t·x(t)、y(t)=cos(t)·x(t),那大概率是时变系统;如果出现时间缩放或翻转,比如 x(2t)、x(-t)、x(t/2),也需要警惕,这类几乎都是时变系统。我见过最多人翻车的是 y(t)=x(2t),这个例子的完整过程后面实操章节会专门跑一遍,这里先记住结论:时间缩放除了 a=1 之外都是时变。

为什么?因为压缩操作和时移操作不可交换。先压缩再延迟,和先延迟再压缩,差了一个比例因子。你把一个信号压缩两倍以后延迟 1 秒,和先延迟 1 秒再压缩两倍,前者对应的时间点偏移是 2 秒,后者是 1 秒,结果当然不一样。这个逻辑想通了,y(t)=x(t/2) 为什么也是时变也就明白了,同样的道理,扩展也是一样。

2.3 因果性:输出不能“预知未来”

因果系统的输出,只取决于当前时刻和过去时刻的输入,和未来输入无关。比如 y(t)=x(t-2) 是因果的,因为 t 时刻输出只用到 x(t-2);y(t)=x(t+1) 不是因果的,因为它用了 t 之后时刻的输入值。离散系统同理,y[n]=x[n-2]+x[n-3] 是因果,y[n]=x[n+1] 不是。

判断因果性的关键,是把所有变量对齐到当前时刻 t,再看右侧的输入自变量有没有大于 t 的项。如果有任何一项输入自变量大于输出时刻,直接判定非因果。这里最容易出问题的是时间缩放项。比如 y(t)=x(2t),当 t>0 时 2t>t,说明系统在这个区间要读取“未来”的输入,所以整体不是因果系统。但如果你把范围限定在 t<0,它又看起来是因果的,考试一般不会这么限定,按全时间轴判断即可。

还有一个常见的误区:看到表达式里有 cos(t)、2^t,就以为系统不因果。这是错的。这些只是随时间变化的系数,系统没有读取未来输入,因果性讨论的是输入信号取值的时间位置,不是系统参数本身的变化。所以 y(t)=cos(t)·x(t) 依然是因果系统。因果性在物理上意味着可实时实现,非因果系统只能做离线处理或数学分析,这也是工程里经常强调因果性的原因。

2.4 记忆性与无记忆性:系统有没有“存货”

无记忆系统也叫瞬时系统,输出只取决于当前时刻的输入;有记忆系统的输出依赖过去或未来的输入。y(t)=2x(t) 是无记忆,y(t)=x(t)+x(t-1) 是有记忆,积分器 y(t)=∫_{-∞}^{t}x(τ)dτ 也有记忆,因为它把过去所有输入都积累起来了。这里的“记忆”可以类比成系统内部存了历史信息,比如电容上的电压、数字滤波器的寄存器。

判断方法其实就一句话:看输出表达式里的输入自变量,和输出时刻是否完全一致。如果输入自变量永远等于输出自变量,且没有积分、累加、差分运算,通常无记忆;只要出现输入在其他时刻取值的情况,就是有记忆。需要注意,“其他时刻”不仅包括过去,也包括未来,所以 y(t)=x(t+1) 是有记忆系统,只是它的记忆对象在未来,物理上不可实现,但数学上成立。

还有一个细节:无记忆系统即使做了非线性处理,也仍然无记忆。比如 y(t)=x²(t) 是无记忆系统,因为 t 时刻输出只由同一时刻输入决定,与历史无关。有些同学看到平方就下意识觉得“这系统肯定有记忆”,其实漏掉了一步,非线性对应的是线性性质,跟记忆性没有必然关系。记忆性只看变量时间关系,不看函数形式。

2.5 可逆性:输入能否从输出中找回来

可逆性的定义是:每个不同的输入都产生不同的输出,存在一个逆系统,能把原系统的输出还原成输入。直观理解就是系统没有丢信息。判断可逆性一般有两种方法:一是尝试构造逆系统,能构造出来就可逆;二是找两个不同的输入,它们产生相同输出,如果找到这样的反例就不可逆。

来看几个经典例子。y=2x 可逆,逆系统是 x=y/2;y=x² 不可逆,因为 x=1 和 x=-1 都输出 1;y=x(t-2) 可逆,逆系统是超前 2 秒;连续时间下的 y=x(2t) 也可逆,逆系统是 z(t)=y(t/2)。这些例子都简单,但考试真正爱考的是连续与离散的差异。

我说一个容易惊到人的结论:连续时间系统的 y(t)=x(2t) 是可逆的,它把信号压窄但信息没有丢,因为连续时间信号在每个时间点都有取值,压缩只是改变了时间尺度,逆系统做扩展就能还原。但离散时间系统 y[n]=x[2n] 就不可逆,因为它只保留了偶数序号样本,丢掉了一半信息,这相当于抽取,无法通过数学手段补回奇数样本。同样是“时间缩放”,连续和离散的性质完全不同,这个对比如果考到,是非常典型的辨析点。

构造逆系统时要小心验证。有些同学写出一个逆表达式就觉得完事了,实际上必须代回去检验:z(T{x}) 能不能还原成 x,以及逆系统本身是否明确定义。如果一个系统对多个输入给出同一个输出,那它不可能有逆系统,因为你在反推时不知道要还原哪一份输入。

2.6 稳定性:有界输入必须保证有界输出

这里说的稳定,是 BIBO 稳定,即有界输入有界输出。如果输入信号在一个范围内有界,系统输出也必须在一个范围内有界,那么系统稳定;只要存在一个有界输入让输出无界,系统就不稳定。比如 y(t)=x(t) 稳定;y(t)=∫_{0}^{t}x(τ)dτ 不稳定,因为取输入常数 x(t)=1,输入显然有界,但输出积分值 t 会随 t 增大而无限增长。

判断稳定性要分情况。对一般的输入输出表达式,优先用反例法:找一个有界输入,看输出会不会发散。对 LTI 系统,可以用冲激响应判断:连续 LTI 稳定当且仅当冲激响应的绝对值积分有限;离散 LTI 稳定当且仅当冲激响应的绝对值之和有限。这里的直观理解是,冲激响应相当于系统对一次单位冲击的完整反应,把反应的“总量”加起来还能收敛,说明这个系统不会无限放大输入。

我在学习过程中踩过的最大的坑,是拿到非线性系统也去找冲激响应。比如 y(t)=x²(t),它根本没有冲激响应这个概念,但它稳定。为什么?因为输入有界,比如 |x(t)|≤M,那输出 |y(t)|=|x(t)|²≤M²,也是有界的。所以稳定性判断的前提是先搞清楚系统类型:LTI 系统用冲激响应判据,非 LTI 系统老老实实用有界输入有界输出去找反例。

3. 判断性质的高效操作流程:先易后难,避免重复劳动

3.1 推荐的判断顺序和理由

做性质判断时,我建议不要想到哪个判哪个,而是按一条固定顺序来:先看记忆性,再看可逆性,再看线性,再看时不变性,再看因果性,最后看稳定性。

为什么是这个顺序?因为判断成本从低到高。记忆性只要看输入自变量和输出时刻是否一致,基本一眼出结果;可逆性尝试构造逆系统,或者找两个不同输入同输出,计算量不大;线性要做组合测试,中等计算量;时不变性要做两次计算加一次时移,最容易出错,所以放中间慢慢做;因果性本质是时间轴对齐检查,很多时候前面算过的式子已经能直接看出来;稳定性经常需要额外构造反例,最费时间,放最后,避免前面容易拿分的地方还没看就被一个难啃的题消耗掉。

判断顺序主要原因容易踩的坑
1. 记忆性只需要看变量时间关系把非线性当成有记忆
2. 可逆性逆系统或反例检查,成本低连续压缩和离散抽取混为一谈
3. 线性组合测试,中等计算量把常数项看成线性
4. 时不变性两次计算加时移,易错忘记先算输出延迟
5. 因果性对齐时间轴即可系数随时间变化被误判
6. 稳定性常常需要构造反例非 LTI 系统错误使用冲激响应判据

这套顺序还有一个好处:如果前面已经证明系统是非线性的,你依然需要继续判断时不变性,因为“非线性的时变系统”和“非线性的时不变系统”是两类完全不同的系统。所以千万不要因为一条性质失败就放弃其他判断。

3.2 反例设计的一般思路

反例是性质判断的核心武器。设计反例的关键,是找准系统的薄弱点。

判断非线性时,优先看表达式里有没有 x²、sin(x)、|x|、x1·x2 这类非线性项,有的话直接拿最特殊的信号去试。判断非时变时,找 t 的显式因子,比如 y(t)=t·x(t),取一个常数输入就能暴露出问题。判断非因果时,寻找输出时刻和对应输入时刻的大小关系,比如 x(t+1) 或者 x(2t) 在正时间轴上的表现。判断不稳定时,最常用的探针输入是常数信号、单位阶跃、斜坡,因为这些简单信号代入后很容易看出输出是否发散。

还有一个很实用的分类技巧:如果输入输出关系里只含当前项和过去项,且系数都是常数,比如差分方程 y[n]+0.5y[n-1]=x[n],那么它大概率是因果 LTI 系统,记忆性十有八九也有,此时重点核查可逆性和稳定性就行,不用再大费周章验证所有性质。这个先分类再细判的思路,能帮你省下三分之一的时间。

4. 两个完整实操案例:把流程跑一遍

4.1 连续系统 y(t)=x(2t) 的六性质判别

这个例子在考试里出现频率极高,六项性质全部有明确结论,非常适合作为完整演示。

先看记忆性。输出 y(t) 的输入自变量是 2t,当输出时刻是 t 时,系统读取的是 2t 时刻的输入。当 t≠0 时,2t≠t,所以系统需要用其他时刻的输入,这是一个有记忆系统。这里的结论比“有没有延时”更复杂一点,因为 2t 既有“过去”又有“未来”的成分,取决于 t 的正负,但单一性质主线上,它依赖的输入时刻不等于输出时刻,所以先定性为有记忆。

再看线性。设两个输入 x1、x2 和常数 a、b,组合输入是 a·x1 + b·x2,代入系统得 T{ax1+bx2} = (ax1+bx2)(2t) = a·x1(2t) + b·x2(2t) = aT{x1}+bT{x2}。所以线性成立。

接着判断时不变性。先算输出延迟:y(t-t0) = x(2(t-t0)) = x(2t-2t0)。再算延迟输入的经过系统的结果:T{x(t-t0)} = x(2t-t0)。这两个结果差了一个比例因子 2t0 和 t0,不相等,所以系统是时变的。

再看因果性。在 t 时刻,输出依赖 x(2t)。当 t>0 时,2t>t,系统要读取未来的输入,因此按全时间轴判断,系统不满足因果性。这个结论必须加上“按全时间轴”的说明,因为如果只讨论 t<0,它反而因果,考试一般不会做这种局部限定,所以直接写非因果。

稳定性用定义验证。如果 |x(t)|≤M,那么 |y(t)|=|x(2t)|≤M,输出也有界。时间缩放不会放大信号幅度,因此系统稳定。

可逆性连续时间下成立,构造逆系统 z(t)=y(t/2),代回去得到 z(t)=x(2·(t/2))=x(t),还原成功,所以系统可逆。最后汇总六项结论:有记忆、线性、时变、非因果、稳定、可逆。这个系统组合很反直觉,但每一步都有严格逻辑支撑,值得反复理解。

4.2 离散系统 y[n]=x[n]-2x[n-1] 的六性质判别

第二个例子是一个典型的 FIR 滤波器,离散系统中的常客。看记忆性:y[n] 依赖 x[n] 和 x[n-1],x[n-1] 是过去时刻的输入,所以是有记忆系统。

线性很好验证。T{x1+x2} = (x1[n]+x2[n]) - 2(x1[n-1]+x2[n-1]) = T{x1}+T{x2},齐次性也同理成立,所以线性通过。

时不变性的验证要细心。设时移量为 k,先算输出延迟 y[n-k] = x[n-k] - 2x[n-k-1]。再算延迟输入经过系统的结果 T{x[n-k]} = x[n-k] - 2x[n-k-1]。两边完全一致,所以系统时不变。这正是常系数 FIR 系统的共同特征。

因果性也一目了然。y[n] 的输出只用到当前输入 x[n] 和过去输入 x[n-1],没有 x[n+1] 这类未来项,所以因果。

稳定性可以用三角不等式快速证明。如果 |x[n]|≤M,那么 |y[n]| ≤ |x[n]| + 2|x[n-1]| ≤ 3M,输出有界,因此系统稳定。对有限项线性组合的系统,三角不等式是利器。

最后看可逆性,这个稍微麻烦一些。要问:能否从输出 y[n] 还原出唯一的输入 x[n]?我把原式改写成 x[n]=y[n]+2x[n-1],可以看到要还原 x[n] 必须知道 x[n-1],而且初始值未定义会导致还原不唯一。更严谨的反例是构造两个不同输入产生相同输出。取 x1[n]=0 对所有 n,则 y1[n]=0;再取 x2[n]=2^n 对所有 n,则 y2[n]=2^n - 2·2^(n-1)=0。两个不同的输入输出完全相同,所以系统不可逆。这里要特别说明,x2[n]=2^n 这个信号虽然不是有界的,但可逆性定义并不要求输入有界,因此这个反例是有效的。

这个例子很好地展示了离散系统的一个特点:线性时不变离散系统也不一定都可逆,是否可逆取决于系统能不能通过差分方程反推唯一输入,跟“看起来简单”是两回事。

5. 常见错误与避坑实录

5.1 高频错误点清单

根据我刷题和帮人答疑的经验,下面这几个错误几乎每届学生都会踩,值得单独拉出来看。

错误说法正确结论错误原因
y(t)=x(t)+1 是线性系统非线性画出来是直线不代表叠加原理成立
y(t)=x(2t) 是因果系统非因果t>0 时读取未来输入
y(t)=x(t/2) 是时不变系统时变先延迟再扩展 与 先扩展再延迟 不可交换
y[n]=x[2n] 是可逆系统不可逆抽取丢失样本,无法还原
积分器 y(t)=∫x(τ)dτ 稳定不稳定常数有界输入产生无界输出
非线性系统也能用冲激响应判稳定不行冲激响应判据只适用于 LTI 系统

第一行那个 y=x+1 的坑,根源在于把“直线”和“线性”混在一起。直线的性质是几何上的,线性系统的性质是代数上的,两者不搭界。第二行和第三行都和时间缩放有关,核心是记住“时间缩放 + 时移”的交换性不成立。第四行是连续和离散的明显差异,这个最容易考,也最容易记混。第五行是稳定性判断的经典反例,积分器对常数输入会无界增长,这个最好背下来。第六行提醒你,用冲激响应判稳定性之前,先确认系统是不是 LTI,否则一切白搭。

5.2 判断题的“抢分”经验

如果考试时间紧张,我的经验是先把能秒判的写下来。记忆性、线性、可逆性这三项,通常看一眼表达式就能下结论,先写上去保住基础分。时不变性、因果性、稳定性稍微费时间,归为一组慢慢处理。实在拿不准时不变性时,就代入一个具体 t0 和一个具体输入测试。比如取 x(t)=sin(t),看输出经过系统后再延迟,和延迟后再经过系统,结果是不是同一个信号。这种方法虽然不够严谨,但能最快暴露问题,大题里用来验证答案非常实用。

探针输入的选择也有讲究。最常用的是常数信号、单位阶跃、单位冲激和正弦信号,因为它们形式简单,经过系统后的变化容易观察。比如判断稳定性时喂一个常数信号,判断时变性时喂一个脉冲信号,判断因果性时看输出时刻对应的输入取值,很快就能定位问题。

还有一个我自己的习惯:每判断完一个系统,把结论写成一行,比如“有记忆、线性、时变、非因果、稳定、可逆”,然后挑两三个性质用最简单信号快速回查。这个动作看起来多余,但真的能拦住低级错误。像 y(t)=x(2t) 这种题,六个结论里最容易写错的是因果性和时变性,多回查一次就能少丢两三分。

信号与系统里的性质判断,说到底不是记结论,而是练方法。把每个性质的验证步骤固定下来,形成肌肉记忆,遇到什么表达式都能稳定输出。这篇笔记给出的顺序、反例和排查清单,都是我在实际刷题中反复用过的,希望能帮你少走弯路。

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

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

立即咨询