尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

信号与系统:微分方程描述的线性时不变性判断方法

信号与系统:微分方程描述的线性时不变性判断方法 之前带考研学生复习《信号与系统》时发现一个很普遍的现象很多人拿到“用微分方程描述系统判断线性与时不变性”的题目总是凭感觉对答案知道什么是线性和时不变但一到具体方程就不知道怎么下手。尤其在西南交通大学这类高校的真题中这类题往往放在卷面靠前的位置看起来不算难却是不少人的“失分重灾区”。本文就围绕“微分方程描述系统的线性与时不变性判断”这个专题配合 2024 年西南交通大学相关试卷中的1.1 题型展开讲解。我会把线性、时不变这两个概念的数学定义掰开揉碎再给出一套可以直接套用的解题流程配合具体微分方程实例逐步推导最后整理常见误区和考场上的避坑建议。无论你是在准备考研、准备期末考试还是刚学信号与系统想彻底搞懂 LTI 系统判定这篇内容都非常适合。1. 背景与核心概念1.1 什么是“微分方程描述的系统”在信号与系统课程里系统被理解为一个“输入到输出”的映射关系。输入信号我们用 $f(t)$ 表示输出响应用 $y(t)$ 表示。很多连续时间系统可以用微分方程来描述这种描述方式直接反映了系统的动态特性比如电路中的 RC 电路、弹簧阻尼系统、机械振动系统都可以写成微分方程的形式。一个常见的微分方程描述如下$$ y(t) 3y(t) 2y(t) f(t) 2f(t) $$这个方程把输出 $y(t)$、输出的各阶导数以及输入 $f(t)$、输入的导数联系在了一起。我们后续的任务就是根据这类方程判定系统到底是不是线性系统是不是时不变系统。为什么要专门做这个判断因为线性时不变系统LTI在信号与系统课程里占据核心地位。卷积积分、傅里叶变换、拉普拉斯变换这些工具几乎都建立在系统是 LTI 的假设之上。如果系统不满足线性或时不变条件很多经典分析方法就不适用必须另寻思路。所以考研时判断系统性质本质上是为后续“能不能用卷积、能不能用变换域分析”做铺垫。1.2 为什么西南交通大学的真题喜欢考这个点西南交通大学 840 信号与系统一类的考试中第一题经常是“简述题”或“判断题”用来快速考察学生对基础概念的掌握。2024 年试卷中的 1.1 小问就是典型的“给一个微分方程判断系统的线性与时不变性”。这类题目的特点在于概念涉及面广线性、时不变、叠加性、齐次性、零状态响应、零输入响应都有涉及。解法模式清晰只要掌握判定步骤不太容易做错。容易设置陷阱方程中一旦出现常数项、变系数、非线性项、初始条件扰动就会让结论发生改变。所以不要因为题目分值小就轻视它。把这道题讲透等于给整个信号与系统复习打好了地基。1.3 系统性质判断在整个学科中的位置在大多数教材的编排里线性时不变系统判定是第一章或第二章的内容属于入门必会。但它在后续学习里的作用非常大判断是否可以用卷积只有 LTI 系统对任意输入的零状态响应才可以用 $y_{zs}(t)f(t)*h(t)$ 计算。判断是否可以用傅里叶变换简化分析LTI 系统才具有频率响应 $H(j\omega)$ 的概念。判断稳定性、因果性等其他性质通常也默认系统是 LTI 的。因此学透线性与时不变性的判断不只是为了做对一道考研题更是为了给整门课扫清认知障碍。2. 环境准备与复习工具2.1 需要的数学基础这部分不涉及复杂的实验环境但建议复习以下数学工具微分方程的基本概念阶数、系数、齐次/非齐次、初始条件。函数记号$f(t)$、$y(t)$、$y(t)$、$y(t)$ 各自代表什么。线性组合的概念$af_1(t) bf_2(t)$ 这种形式。时移表达$f(t - t_0)$ 如何表示输入信号在时间轴上延迟。你不需要现在就精通这些但至少看到符号要能反应过来。2.2 可以用什么工具验证平时复习时可以用Python NumPy SciPy或者MATLAB对真实 LTI 系统做仿真验证例如求解常系数线性微分方程、对比不同激励下的响应。不过考研手算阶段主要还是靠纸笔推导工具只负责“直观感受”。下面是一个用 Python 求解简单微分方程 $y(t)2y(t)f(t)$ 零状态响应的示例可以帮助理解“输入-输出”的数值表现# 文件路径example_lti_check.py import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # 定义微分方程y(t) -2y(t) f(t) # 这里 f(t) 取阶跃函数 u(t) def system(y, t): f 1.0 # t0 时激励为1 return -2 * y f t np.linspace(0, 5, 500) y0 0.0 # 零状态 y odeint(system, y0, t) plt.plot(t, y) plt.xlabel(t) plt.ylabel(y(t)) plt.title(Zero-State Response of y(t)2y(t)u(t)) plt.grid(True) plt.savefig(zero_state_response.png, dpi150)注意这段代码只是辅助验证工具不能直接用来“证明”线性或时不变。系统性质必须用数学定义严格推导仿真只会给你一个直观印象。3. 线性与时不变性的定义及判定框架3.1 线性系统的严格定义一个系统如果满足线性必须同时满足下面两个条件齐次性比例性如果输入 $f(t)$ 产生输出 $y(t)$那么输入 $af(t)$ 产生的输出必须是 $ay(t)$其中 $a$ 是任意常数。叠加性可加性如果输入 $f_1(t)$ 产生输出 $y_1(t)$输入 $f_2(t)$ 产生输出 $y_2(t)$那么输入 $f_1(t)f_2(t)$ 产生的输出必须是 $y_1(t)y_2(t)$。两个条件可以合并写成若$$ f_1(t) \rightarrow y_1(t),\quad f_2(t) \rightarrow y_2(t) $$则对任意常数 $a_1, a_2$都有$$ a_1f_1(t)a_2f_2(t) \rightarrow a_1y_1(t)a_2y_2(t) $$满足这个关系的系统称为线性系统。这里需要特别注意线性性针对的是“输入-输出映射”而不是方程本身好不好看。有些方程看上去很整齐却因为多了某个常数项整体就不再满足线性性。3.2 时不变系统的严格定义一个系统如果满足时不变性移不变性意思是系统本身的特性不随时间推移而改变。用数学语言描述就是若$$ f(t) \rightarrow y(t) $$则对任意时移量 $t_0$都有$$ f(t-t_0) \rightarrow y(t-t_0) $$也就是说输入信号在时间轴上平移 $t_0$输出信号也要同样平移 $t_0$波形形状不能发生改变。结合线性和时不变就得到LTI 系统线性时不变系统的定义。这也是信号与系统后续所有变换域分析方法的基础。3.3 用微分方程判定系统的通用步骤对于由微分方程描述的系统建议按下面四个步骤来判断第一步整理方程把方程写成“左边只含输出 $y(t)$ 及其导数右边只含输入 $f(t)$ 及其导数”的标准形式$$ \sum_{i0}^{n} a_i(t) y^{(i)}(t) \sum_{j0}^{m} b_j(t) f^{(j)}(t) $$注意观察每一项的系数 $a_i(t)$、$b_j(t)$ 到底是常数还是 $t$ 的函数。第二步检查线性性看方程中是否满足下面三个条件只要违反一条系统就是非线性的方程中 $y(t)$ 和 $f(t)$ 及其导数都是一次方不能出现 $y^2(t)$、$(y)^2$、$y(t)f(t)$ 等乘积项。方程的系数 $a_i(t)$、$b_j(t)$ 只依赖 $t$不依赖 $y(t)$ 或 $f(t)$。方程右侧或者左侧不能出现“与输入无关的常数项”例如 $y(t)2y(t)f(t)1$ 这类常数项会导致齐次性被破坏。第三步检查时不变性看方程中是否存在显含 $t$ 的系数项。如果系统方程中某个系数是 $t$ 的函数例如$$ y(t) 2t \cdot y(t) f(t) $$那么说明系统参数随时间变化属于时变系统。如果方程中所有系数都是常数并且没有出现时间相关的因子那么系统是时不变系统。第四步综合结论常系数 线性微分方程可以含输入导数 → LTI。系数含 $t$ → 至少是时变。出现 $y$ 的非一次项、$y$ 与 $f$ 相乘、常数项 → 至少是非线性。下面用几道典型例题把这套流程真正落到纸面上。4. 典型题型完整示例4.1 例题一标准常系数线性微分方程题目已知系统描述为$$ y(t) 3y(t) 2y(t) f(t) 2f(t) $$判断系统的线性与时不变性。判定过程先把方程整理成标准形式。这道题已经符合标准形式左侧只含 $y(t)$ 及其导数系数分别为 1、3、2全部是常数右侧只含 $f(t)$ 及其导数系数为 2、1也全部是常数。线性性验证设输入 $f_1(t)$ 对应输出 $y_1(t)$输入 $f_2(t)$ 对应输出 $y_2(t)$则有$$ y_1(t) 3y_1(t) 2y_1(t) f_1(t) 2f_1(t) $$$$ y_2(t) 3y_2(t) 2y_2(t) f_2(t) 2f_2(t) $$对输入 $af_1(t) bf_2(t)$可设对应输出为 $y(t)$原始方程要求$$ y(t) 3y(t) 2y(t) [af_1(t)bf_2(t)] 2[af_1(t)bf_2(t)] $$把右侧展开$$ af_1(t) bf_2(t) 2af_1(t) 2bf_2(t) $$而 $ay_1(t) by_2(t)$ 代入方程左边同样得到$$ ay_1(t) 3ay_1(t) 2ay_1(t) by_2(t) 3by_2(t) 2by_2(t) $$利用前两个方程可以化简为同样的右侧表达式。因此 $y(t) ay_1(t)by_2(t)$ 是合法输出系统满足线性。时不变性验证由于方程中所有系数都是常数不显含时间 $t$所以当输入从 $f(t)$ 变为 $f(t-t_0)$ 时方程的结构不发生改变唯一变化的是输入信号整体延迟输出也必然整体延迟 $t_0$。因此系统是时不变的。结论该系统是线性时不变系统LTI。4.2 例题二方程右侧带常数项的系统题目已知系统描述为$$ y(t) 2y(t) f(t) 1 $$判断系统的线性与时不变性。判定过程这个方程很典型是考研题中非常爱设置的陷阱。它可以改写为$$ y(t) 2y(t) f(t) 1 $$右侧多了一个常数 1。线性性验证先看齐次性。如果输入 $f(t)0$方程变为$$ y(t) 2y(t) 1 $$它的解并不是零而是一个常数输出 $y(t)\frac{1}{2}$暂不考虑初始条件。这意味着零输入产生了非零输出系统的“输入-输出映射”不满足 $0 \rightarrow 0$。而线性系统一定满足零输入产生零输出当初始状态为零时所以这个系统不是线性的。严格点说可以把方程理解为输出 $y(t)$ 由两部分构成一部分来自输入 $f(t)$另一部分是恒定的偏置量 1。这个偏置项破坏了叠加性和齐次性。时不变性验证虽然方程系数是常数系统本身是“时不变的结构”但由于它已经不具备线性整体判定为非线性系统。那最终结论应该怎么写在考试中推荐写为该系统不是线性系统但它是时不变系统。由于它不是线性系统因此不是 LTI 系统。这种写法把“线性”和“时不变”分开表述既严谨又得分完整。为什么很多人会做错很多人认为 $f(t)1$ 只是“输入加了一个直流分量”觉得输入变了输出也会相应变化不影响线性。这是错误的。线性系统考察的是系统本身的映射关系常数项 1 属于系统内的固定偏置而不是由输入决定的量它直接破坏了齐次性。4.3 例题三变系数微分方程题目已知系统描述为$$ y(t) 2t \cdot y(t) y(t) 2f(t) $$判断系统的线性与时不变性。判定过程方程左侧出现了 $2t \cdot y(t)$ 这一项系数是 $2t$是随时间变化的。线性性验证线性性方面方程中 $y(t)$ 和 $f(t)$ 都只有一次项没有出现 $y^2$、$yf$ 这类乘积项也没有与输入无关的常数项。所以这个系统对输入仍然是线性的。可以验证若 $y_1(t)$ 是 $f_1(t)$ 的输出$y_2(t)$ 是 $f_2(t)$ 的输出那么 $a y_1(t) b y_2(t)$ 是否是对应 $a f_1(t) b f_2(t)$ 的输出代入方程由于方程每一项对 $y$ 都是线性算子系数 $2t$ 只是乘在 $y$ 外面并不会随 $y$ 变化因此叠加性成立。时不变性验证问题出在时不变性。假设输入 $f(t)$ 对应输出 $y(t)$如果输入变为 $f(t-t_0)$那么方程变成$$ y(t) 2t \cdot y(t) y(t) 2f(t-t_0) $$注意系数仍是 $2t$而不是 $2(t-t_0)$。时不变系统要求如果对原输出整体延迟 $t_0$即 $y(t-t_0)$它也满足同样的方程。我们尝试把 $y(t-t_0)$ 代入系统方程会发生什么令 $z(t) y(t-t_0)$则 $z(t) y(t-t_0)$$z(t) y(t-t_0)$。代入方程左侧得到$$ y(t-t_0) 2t \cdot y(t-t_0) y(t-t_0) $$而根据原方程在 $t-t_0$ 时刻成立有$$ y(t-t_0) 2(t-t_0) \cdot y(t-t_0) y(t-t_0) 2f(t-t_0) $$两者相差了一个 $2t_0 y(t-t_0)$ 项。只有当 $t_0 0$ 时才一致因此系统不满足时不变性。结论该系统是线性时变系统LTVLinear Time-Varying而不是 LTI 系统。4.4 例题四涉及初始条件与零状态响应的判定题目已知系统描述为$$ y(t) 2y(t) f(t), \quad y(0)1 $$判断系统的线性与时不变性。判定过程这道题需要特别小心。很多同学看到这是一个常系数线性微分方程直接判定为 LTI结果忽略了初始条件带来的影响。零状态响应与零输入响应在系统分析中完整响应 $y(t)$ 可以拆成$$ y(t) y_{zi}(t) y_{zs}(t) $$其中 $y_{zi}(t)$ 是零输入响应输入为 0 时仅由初始状态引起的响应$y_{zs}(t)$ 是零状态响应初始状态为 0 时仅由输入引起的响应。线性性验证如果从“输入到完整输出”的角度看初始条件 $y(0)1$ 意味着系统内部有一个初始储能这个储能也会产生输出。即使输入 $f(t)0$输出也不会是 0而是 $y_{zi}(t) e^{-2t}$。这说明“零输入到非零输出”不满足线性系统 $0 \rightarrow 0$ 的性质。所以严格地讲从完整输入-输出映射来看该系统是非线性的。但在信号与系统课程中我们讨论系统性质时通常默认考察的是零状态响应部分。因为系统本身的线性时不变性是指“系统结构”的性质并不包括初始条件。当默认初始状态为零时该系统是 LTI。考试时怎么写建议在试卷上明确区分该系统为零状态响应时是线性时不变系统若考虑初始条件引起的零输入响应则完整输入-输出关系不满足线性但零状态部分仍为线性时不变。这样既严谨又不会掉进出题人的陷阱。归纳一下题干特征线性性时不变性常系数线性齐次/非齐次微分方程无常数偏置线性时不变方程右侧带常数偏置非线性时不变系数中含 $t$线性时变含 $y^2$、$yf$、$(y)^2$ 等项非线性视系数而定初始条件非零完整输出非线性零状态部分线性时不变5. 常见错误与排查方法这部分把考研学生经常踩的坑集中梳理一下。我整理了最常见的几个问题你可以对照自己平时做题的情况来排查。常见问题出错原因解决思路看到常系数就直接判 LTI忽略了常数偏置项、非线性项先检查方程右侧是否存在与输入无关的常数项把 $f(t)1$ 中的“1”当成输入的一部分混淆“系统结构”与“输入信号”线性性判断看的是系统映射不是输入成分没注意系数含 $t$只看了系数是数字还是字母明确区分“常数系数”和“时间函数系数”初始条件非零时直接说系统非线性没有区分零状态与零输入响应说明讨论的是零状态响应还是完整响应认为 $y(t)2y(t)f(t)$ 左边有 $y$ 就是非线性把“导数”误认为非线性运算微分运算是线性算子导数项不影响线性验证线性时只验证叠加性忽略齐次性答题步骤不完整按齐次性、叠加性两步依次检查5.1 常见错误一忽略方程中的常数偏置项这类错误出现频率最高。比如方程$$ y(t) 2y(t) 3f(t) 2 $$有人会说“右边是 $3f(t)2$输入整体多了个 2所以输出也应该多一个响应。”这种理解是错的。判断线性时应当把系统表达成“对输入 $f(t)$”的映射而不是把 $f(t)$ 和常数打包在一起。正确做法考虑两个不同输入 $f_1(t)$、$f_2(t)$ 对应的输出。如果输入翻倍输出是否也精确翻倍由于常数项 2 并不会随输入翻倍而翻倍所以齐次性被破坏系统非线性。5.2 常见错误二把时不变和线性混在一起有些同学一看到“非线性”就直接说“不是时不变”这是不对的。线性和时不变是两个独立的性质非线性系统可以是时不变的例如 $y(t) 2y(t) f(t) 1$。线性系统可以是时变的例如 $y(t) 2t y(t) y(t) 2f(t)$。考试时一定要分开判断、分开下结论。5.3 常见错误三没理解“零输入响应”和系统线性的关系当初始条件不为零时完整输出不满足 $0 \rightarrow 0$。但在零状态条件下系统仍然可以是线性的。需要注意区分“系统性质”和“初始条件”之间的边界。考研真题里常会在这个地方设置干扰答题时要写出你的讨论前提。5.4 排查清单如果你拿到一道微分方程判断线性时不变性可以按下面的清单逐步排查把方程整理成标准形式左边只含 $y$右边只含 $f$。检查左边有没有 $y^2$、$(y)^2$、$y y$、$y f$ 这类非线性项。检查右边有没有与输入 $f$ 无关的常数项。检查所有系数中是否出现独立的时间变量 $t$。检查是否有初始条件并明确讨论范围是零状态响应还是完整响应。写出结论时分别写清“线性 / 非线性”“时变 / 时不变”不要混在一起说。6. 考研实战与工程学习建议6.1 解答这类题目的标准书写模板在考场上书写是否规范直接影响阅卷老师的评分效率。建议按照下面的模板来写第一步写出方程结构已知系统微分方程为 $$ y(t)3y(t)2y(t)f(t)2f(t) $$第二步判断线性设 $f_1(t) \to y_1(t)$$f_2(t) \to y_2(t)$。对于任意常数 $a_1,a_2$输入 $a_1f_1(t)a_2f_2(t)$ 对应的输出为 $a_1y_1(t)a_2y_2(t)$代入方程成立或因为存在常数项/非线性项不成立。因此该系统为线性系统或非线性系统。第三步判断时不变性该方程所有系数均为常数或系数中含有 $t$因此延迟输入产生的输出不等于原输出的延迟因此系统是时不变的或时变的。第四步总结综上该系统为线性时不变系统或其他结论。这样四步写下来逻辑清晰每一步都有依据即使最后结论有偏差阅卷老师也能看到你的思路过程。6.2 如何在复习中练习这类题目这里分享一个比较实用的训练方法第 1 步改条件训练把标准 LTI 方程 $y(t)2y(t)f(t)$ 不断变形加常数项$y(t)2y(t)f(t)1$加变系数$y(t)2ty(t)f(t)$加非线性项$y(t)2y(t)y^2(t)f(t)$输入输出互换$y(t)2y(t)f(t)f(t)$每改一次就重新判断一次线性和时不变性。坚持练 20 道左右基本就能形成肌肉记忆。第 2 步画判定流程图手写即可可以自己在纸上画一个简单的判定流程看方程 → 是否含 y^2、y f、(y)^2 等乘积项 ├─ 是 → 非线性 └─ 否 → 是否含与 f 无关的常数项 ├─ 是 → 非线性 └─ 否 → 线性 再看系数是否含 t ? ├─ 是 → 时变 └─ 否 → 时不变 综合结论虽然不要求你输出 Mermaid 图但自己复习时画一个纸质流程是很有帮助的。第 3 步结合总结性题库“小马哥960题”这类信号与系统考研题库中线性时不变判断通常是高频题型。你可以把这类题目集中刷一遍做完之后横向对比总结出题人的命题套路。6.3 从考研到工程实践为什么概念重要很多人觉得这些概念“只为了考试”实际上在工程领域也会用到。比如对传感器系统做建模时如果一个系统是时变的那么同一种输入在不同时间会得到不同输出误差分析会复杂很多。对控制系统做设计时线性系统可以用传递函数、频率响应法非线性系统则要借助相平面法、描述函数法等。对通信系统做均衡器设计时信道是否时不变直接决定能否采用自适应滤波方案。理解了线性时不变性的含义你在后续学习《数字信号处理》《自动控制原理》《通信原理》时会少走很多弯路。7. 总结与后续提升这篇文章我们从概念出发把“线性系统”“时不变系统”“LTI 系统”的定义做了拆解然后给出了一个通用判定流程并用四道典型例题演示了完整的推导过程。重点内容包括微分方程描述系统的标准形式是什么。线性性必须同时满足齐次性和叠加性注意方程中不能有常数偏置项。时不变性要求系数不能显含时间 $t$延迟输入要对应延迟输出。初始条件非零时完整输出不满足线性但零状态响应部分仍然可以是 LTI。考研答题时要把“线性”和“时不变”分开判断、分步书写。接下来你可以继续学习卷积积分与系统的零状态响应这是 LTI 系统的核心运用。冲激响应与阶跃响应通过 $h(t)$ 理解系统本质。傅里叶变换与频率响应在变换域中分析 LTI 系统。系统因果性与稳定性判断这类题在考研中也常考。判断线性时不变性只是信号与系统漫漫长路的第一步但也是根基的一步。不要急于刷难题先把这一步真正练透后面学卷积、学变换你会发现整个知识体系都顺了很多。如果本文对你有帮助可以收藏备用平时做题遇到类似的判断随时翻出这套流程对照一下。也欢迎在评论区交流你在“线性时不变判断”里遇到的困惑我会尽量回复。
返回列表