第 4 章 线性时不变系统 / LTI Systems
4.1 从一个工程问题出发
假设你正在设计一个音频均衡器:输入一段音乐信号,系统对低频成分进行衰减、对高频成分进行增强,输出处理后的音频。你面对的核心问题是——如何完整地描述一个系统对任意输入信号的响应?
对于一般的非线性、时变系统,这个问题几乎无法得到通用解。但如果系统满足两个条件——线性 (Linearity) 和 时不变性 (Time-Invariance)——则存在一种优雅而强大的数学框架来完整刻画系统行为。这就是线性时不变系统 (Linear Time-Invariant System, LTI System)。
LTI 系统之所以在工程中占据核心地位,根本原因在于:
- 卷积 (Convolution) 运算可以完全描述 LTI 系统的输入–输出关系;
- 傅里叶变换 (Fourier Transform)、拉普拉斯变换 (Laplace Transform)、Z 变换 (Z Transform) 为 LTI 系统提供了频域分析工具;
- 现代通信、控制、信号处理中的大量实际系统都可建模为 LTI 系统(或近似为 LTI)。
工程直觉:如果一个系统"公平对待"所有输入(线性)且"不随时间改变规则"(时不变),那么我们只需要知道它对一个极其简单的信号——冲激函数——的响应,就能预测它对任何信号的响应。这就是 LTI 系统分析的全部哲学。
4.2 线性性:叠加原理
4.2.1 定义
一个系统 $\mathcal{T}$ 是线性的 (Linear),当且仅当它满足叠加原理 (Superposition Principle),即同时满足:
齐次性 (Homogeneity / Scaling):若输入缩放 $a$ 倍,输出也缩放 $a$ 倍——
$$x(t) \to y(t) \implies a \cdot x(t) \to a \cdot y(t)$$
可加性 (Additivity):两个输入之和的响应等于各自响应之和——
$$x_1(t) \to y_1(t),\ x_2(t) \to y_2(t) \implies x_1(t) + x_2(t) \to y_1(t) + y_2(t)$$
合并以上两条,线性性可统一表述为:
$$a \cdot x_1(t) + b \cdot x_2(t) \to a \cdot y_1(t) + b \cdot y_2(t)$$
其中 $a, b$ 为任意常数(实数或复数)。
4.2.2 工程意义
线性性的实质是:系统不会产生新的频率成分。如果你输入一个 1 kHz 的正弦波,线性系统的输出只会包含 1 kHz 的分量(幅度和相位可能改变),绝不会出现 2 kHz 或 500 Hz 的谐波。这就是为什么放大器、滤波器的设计者如此关注"线性度"——非线性意味着失真。
数学背景:叠加原理本质上是线性代数中线性映射 (Linear Mapping) 的概念在信号空间上的推广。系统的输入空间和输出空间都是函数空间,线性系统就是这两个空间之间的线性算子。
4.2.3 判断线性性:快速检验
常见的线性系统:电阻电路、理想运算放大器电路、线性弹簧–阻尼系统。
常见的非线性系统:$y(t) = x^2(t)$(平方运算)、$y(t) = \cos(x(t))$、含二极管或饱和放大器的电路。
一个快速判断技巧:令 $x(t) = 0$,若 $y(t) \neq 0$(即系统有非零的"零输入响应"),则系统不满足齐次性,因而不是线性的。
4.3 时不变性:规则不随时间改变
4.3.1 定义
一个系统是时不变的 (Time-Invariant),当且仅当:输入信号的时间平移导致输出产生相同的时间平移——
$$x(t) \to y(t) \implies x(t - t_0) \to y(t - t_0)$$
对于离散时间系统:
$$x[n] \to y[n] \implies x[n - n_0] \to y[n - n_0]$$
直观理解:无论你今天还是明天做同一个实验,结果都是一样的(只是时间整体平移了)。
4.3.2 工程中的时变与非时变
大多数物理系统在参数不变的条件下是时不变的:固定参数的 RLC 电路、不变质量的机械系统。但如果元件参数随时间变化(例如热敏电阻随温度变化),系统就变成时变的。
快速检验:检查系统方程中是否显式出现时间变量 $t$(除输入信号外)。例如 $y(t) = t \cdot x(t)$ 是时变的,而 $y(t) = 3x(t) + 2x(t-1)$ 是时不变的。
4.4 冲激响应:LTI 系统的"DNA"
4.4.1 什么是冲激响应
将单位冲激函数 $\delta(t)$ 或单位脉冲序列 $\delta[n]$ 送入一个 LTI 系统,观察输出:
- 连续时间冲激响应 (Continuous-time Impulse Response):
$$h(t) = \mathcal{T}{\delta(t)}$$
- 离散时间冲激响应 (Discrete-time Impulse Response):
$$h[n] = \mathcal{T}{\delta[n]}$$
4.4.2 为什么冲激响应如此重要
关键洞察:任何信号都可以分解为冲激函数的加权和。
对于连续时间信号:
$$x(t) = \int_{-\infty}^{\infty} x(\tau) \delta(t - \tau) d\tau$$
对于离散时间信号:
$$x[n] = \sum_{k=-\infty}^{\infty} x[k] \delta[n - k]$$
这意味着:输入信号 $x(t)$ 可以看作无穷多个"被 $x(\tau)$ 加权"的冲激函数 $\delta(t - \tau)$ 的叠加。由于系统是线性的(叠加原理适用)且时不变的($\delta(t - \tau)$ 的响应是 $h(t - \tau)$),系统对 $x(t)$ 的响应就是所有这些加权冲激响应的叠加。
结论:冲激响应 $h(t)$ 完全确定了 LTI 系统的行为。 知道了 $h(t)$,就能计算系统对任何输入的响应。冲激响应就是 LTI 系统的"DNA"。
4.5 卷积:LTI 系统的核心运算
4.5.1 从叠加原理到卷积
将上面的推理形式化,就得到了卷积 (Convolution) 的定义。
连续时间卷积积分 (Convolution Integral):
$$y(t) = x(t) * h(t) = \int_{-\infty}^{\infty} x(\tau) h(t - \tau) d\tau$$
离散时间卷积和 (Convolution Sum):
$$y[n] = x[n] * h[n] = \sum_{k=-\infty}^{\infty} x[k] h[n - k]$$
数学背景:卷积是实分析中的一个基本运算,本质上是两个函数的"加权滑动内积"。在泛函分析中,卷积与傅里叶变换有深刻的联系——时域卷积等于频域乘积(第 6 章将详细讨论)。
4.5.2 卷积的几何意义
理解卷积计算的四个步骤(以连续时间为例):
- 翻转 (Fold):将 $h(\tau)$ 关于纵轴翻转得到 $h(-\tau)$
- 平移 (Shift):将 $h(-\tau)$ 平移 $t$ 个单位得到 $h(t - \tau)$
- 相乘 (Multiply):计算 $x(\tau) \cdot h(t - \tau)$
- 积分 (Integrate):对乘积在所有 $\tau$ 上积分,得到 $y(t)$
对每个不同的 $t$ 值重复上述步骤,就得到完整的输出 $y(t)$。
下面的流程图展示了卷积计算的整体逻辑:
flowchart TD
A["输入信号 x(t)"] --> C["相乘: x(τ)·h(t-τ)"]
B["冲激响应 h(t)"] --> D["翻转: h(-τ)"]
D --> E["平移: h(t-τ)"]
E --> C
C --> F["积分/求和: 得到 y(t)"]
F --> G["输出信号 y(t)"]
style A fill:#1565C0,color:#fff
style B fill:#1565C0,color:#fff
style G fill:#228B22,color:#fff
4.5.3 卷积的基本性质
卷积运算具有以下重要性质,它们在系统分析中极为有用:
交换律 (Commutativity):
$$x(t) * h(t) = h(t) * x(t)$$
这意味着输入信号和冲激响应在卷积中的角色可以互换。
结合律 (Associativity):
$$[x_1(t) * x_2(t)] * x_3(t) = x_1(t) * [x_2(t) * x_3(t)]$$
工程意义:多个 LTI 系统级联 (Cascade) 的总冲激响应等于各子系统冲激响应的卷积,且级联顺序无关。
分配律 (Distributivity):
$$x_1(t) * h(t) + x_2(t) * h(t) = [x_1(t) + x_2(t)] * h(t)$$
工程意义:多个 LTI 系统并联 (Parallel) 的总冲激响应等于各子系统冲激响应之和。
4.5.4 一个具体的离散卷积例子
设输入 $x[n] = {1, 2, 3}$($n = 0, 1, 2$),冲激响应 $h[n] = {1, -1}$($n = 0, 1$)。
手动计算 $y[n] = x[n] * h[n]$:
| $n$ | 计算 | $y[n]$ |
|---|---|---|
| 0 | $1 \cdot 1$ | 1 |
| 1 | $1 \cdot (-1) + 2 \cdot 1$ | 1 |
| 2 | $2 \cdot (-1) + 3 \cdot 1$ | 1 |
| 3 | $3 \cdot (-1)$ | -3 |
结果:$y[n] = {1, 1, 1, -3}$($n = 0, 1, 2, 3$)。
验证工具:可用 Python 的
numpy.convolve([1, 2, 3], [1, -1])直接验证。
4.6 卷积的工程理解
4.6.1 滤波器就是卷积
在数字信号处理 (DSP) 中,滤波器 (Filter) 的核心操作就是将输入信号与滤波器的冲激响应(也称为滤波器系数)做卷积。
- FIR 滤波器 (Finite Impulse Response):冲激响应长度有限,输出仅取决于当前和过去的有限个输入值。
- IIR 滤波器 (Infinite Impulse Response):冲激响应无限长(通常指数衰减),输出还依赖过去的输出值(反馈结构)。
FIR 滤波器的差分方程为:
$$y[n] = \sum_{k=0}^{M} b_k \cdot x[n-k]$$
其中 ${b_0, b_1, \ldots, b_M}$ 就是滤波器系数,等价于冲激响应 $h[n]$。这本质上就是一个有限长度的卷积。
4.6.2 卷积计算的伪代码
| |
这段伪代码展示了卷积的"滑动窗口"本质:每个输入样本 $x[i]$ 都与每个冲激响应系数 $h[j]$ 相乘,结果累加到输出序列的对应位置 $y[i+j]$。
复杂度:直接卷积的时间复杂度为 $O(NM)$。当信号很长时,工程上利用 FFT(快速傅里叶变换)将卷积转化为频域乘法,复杂度降为 $O(L \log L)$,其中 $L \geq N + M - 1$。这正是后续章节将要讨论的"时域卷积 = 频域乘积"原理的直接应用。
4.7 LTI 系统的重要性质
冲激响应 $h(t)$ 或 $h[n]$ 不仅完全描述了 LTI 系统,还可以直接判断系统的几个关键性质。
4.7.1 因果性 (Causality)
因果系统的输出只取决于当前和过去的输入,不依赖于未来的输入。这是物理可实现系统的必要条件。
对于 LTI 系统,因果性等价于:
$$h(t) = 0, \quad \forall t < 0$$
(离散情况:$h[n] = 0, \quad \forall n < 0$)
直觉:如果冲激在 $t=0$ 时刻加入,而系统在 $t<0$ 就已经有响应了——这不是"未卜先知"吗?因果系统不允许这种行为。
4.7.2 稳定性 (BIBO Stability)
BIBO 稳定 (Bounded-Input Bounded-Output Stability):如果输入有界,则输出也必然有界。
对于 LTI 系统,BIBO 稳定的充要条件是冲激响应绝对可积 / 绝对可和:
$$\int_{-\infty}^{\infty} |h(t)| dt < \infty \quad \text{(连续)}$$
$$\sum_{k=-\infty}^{\infty} |h[k]| < \infty \quad \text{(离散)}$$
为什么? 卷积公式 $y(t) = \int x(\tau) h(t-\tau) d\tau$ 中,若 $|x(\tau)| \leq M$,则 $|y(t)| \leq M \int |h(\tau)| d\tau$。只要 $\int |h(\tau)| d\tau$ 有限,输出就有界。
工程意义:稳定性是滤波器设计的首要约束。一个不稳定的系统在运行中会使输出无限增大,导致溢出或物理损坏。
4.7.3 记忆性 (Memory)
无记忆系统 (Memoryless System) 的输出仅取决于当前时刻的输入。对于 LTI 系统,无记忆性等价于:
$$h(t) = K \cdot \delta(t)$$
即冲激响应是一个幅度为 $K$ 的冲激函数本身。此时 $y(t) = K \cdot x(t)$,系统只对输入做比例缩放。
若 $h(t)$ 不是纯冲激(例如包含 $h(t) = \delta(t) + \alpha \cdot \delta(t - T)$),则系统有记忆——输出取决于过去时刻的输入。
4.8 微分方程与差分方程:LTI 系统的另一种描述
4.8.1 连续时间 LTI 系统
连续时间 LTI 系统可用线性常系数微分方程 (Linear Constant-Coefficient Differential Equation) 描述:
$$\sum_{k=0}^{N} a_k \frac{d^k y(t)}{dt^k} = \sum_{k=0}^{M} b_k \frac{d^k x(t)}{dt^k}$$
例如,RLC 电路的输入–输出关系:
$$LC \frac{d^2 y(t)}{dt^2} + RC \frac{dy(t)}{dt} + y(t) = x(t)$$
4.8.2 离散时间 LTI 系统
离散时间 LTI 系统可用线性常系数差分方程 (Linear Constant-Coefficient Difference Equation) 描述:
$$\sum_{k=0}^{N} a_k \cdot y[n-k] = \sum_{k=0}^{M} b_k \cdot x[n-k]$$
这是数字信号处理中最常见的系统描述形式。移项后可得递推形式:
$$y[n] = \frac{1}{a_0} \left[ \sum_{k=0}^{M} b_k \cdot x[n-k] - \sum_{k=1}^{N} a_k \cdot y[n-k] \right]$$
这个递推公式直接给出了数字滤波器的实现方式:当前输出由当前和过去的输入(前馈项)以及过去的输出(反馈项)计算得到。
4.8.3 两种描述的等价性
flowchart LR
A["微分/差分方程"] -->|"求解"| B["冲激响应 h(t) / h[n]"]
B -->|"卷积"| C["输出 y(t) / y[n]"]
A -->|"拉普拉斯/Z变换"| D["系统函数 H(s) / H(z)"]
D -->|"频域分析"| E["频率响应"]
style A fill:#1565C0,color:#fff
style B fill:#5E35B1,color:#fff
style D fill:#5E35B1,color:#fff
style E fill:#228B22,color:#fff
微分/差分方程、冲激响应、系统函数是 LTI 系统的三种等价描述,它们分别适用于不同的分析场景:
| 描述方式 | 适用场景 | 分析工具 |
|---|---|---|
| 微分/差分方程 | 系统建模、时域求解 | 经典法求解 |
| 冲激响应 | 卷积计算、系统性质判断 | 直接测量或计算 |
| 系统函数 $H(s)$ / $H(z)$ | 频域分析、稳定性判断 | 拉普拉斯/Z 变换 |
4.9 本章小结
- LTI 系统同时满足线性性和时不变性,是信号处理与通信系统分析的基石。
- 线性性(叠加原理)保证系统对信号组合的响应等于各信号响应的组合;时不变性保证系统行为不随时间改变。
- 冲激响应 $h(t)$ 或 $h[n]$ 完全刻画了 LTI 系统——知道了冲激响应,就知道了系统的一切。
- 卷积是 LTI 系统输入–输出关系的核心运算:$y = x * h$。卷积具有交换律、结合律、分配律。
- 通过冲激响应可以判断 LTI 系统的因果性($h(t)=0, t<0$)、稳定性($h(t)$ 绝对可积)和记忆性。
- LTI 系统还可用线性常系数微分/差分方程描述,它与冲激响应、系统函数构成三种等价的系统描述方式。
下一步:在后续章节中,我们将引入傅里叶变换 (Fourier Transform),进入频域分析 LTI 系统。在那里,卷积将变成简单的乘法运算,冲激响应将变成频率响应——LTI 系统分析的威力将真正展现出来。