⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
Skip to content

扩展:线性系统理论 ​

在线 Notebook

对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。

难度: 高级
前置知识: 线性代数、微积分、信号处理基础(第1章)


为什么需要理解线性系统 ​

在信号处理和控制中:

  • 系统稳定性决定了滤波器是否可用
  • 频率响应决定了系统对不同频率的处理
  • 状态空间表示是现代控制理论的基础
  • RNN 和 LSTM 可以看作非线性动态系统

线性时不变系统(LTI) ​

定义 ​

线性系统:满足叠加原理

T(ax1(t)+bx2(t))=aT(x1(t))+bT(x2(t))

时不变系统:系统特性不随时间变化

y(t−τ)=T(x(t−τ))

系统的表示 ​

差分方程(离散时间):

y[n]=∑k=0Mbkx[n−k]−∑k=1Naky[n−k]

微分方程(连续时间):

∑k=0Nakdky(t)dtk=∑k=0Mbkdkx(t)dtk

冲激响应和卷积 ​

冲激响应 ​

定义:系统对单位冲激的响应

h[n]=T(δ[n])

其中 δ[n] 是 Kronecker delta 函数。

系统的输出 ​

对于 LTI 系统,任意输入的输出可以表示为:

y[n]=∑k=−∞∞x[k]h[n−k]=x[n]∗h[n]

直观理解:输出是输入与冲激响应的卷积。

因果性 ​

因果系统:输出只依赖于当前和过去的输入

h[n]=0,n<0

频率响应 ​

频率响应函数 ​

定义:系统对复指数输入 ejωn 的响应

H(ejω)=∑n=−∞∞h[n]e−jωn

性质:

  • 幅度响应:|H(ejω)|
  • 相位响应:∠H(ejω)

频率响应与冲激响应的关系 ​

H(ejω)=DTFT(h[n])

应用:通过频率响应设计滤波器。


系统稳定性 ​

BIBO 稳定性 ​

定义:有界输入产生有界输出

|x[n]|<∞⇒|y[n]|<∞

稳定性条件 ​

充要条件:冲激响应绝对可和

∑n=−∞∞|h[n]|<∞

极点和零点 ​

传递函数:

H(z)=B(z)A(z)=∑k=0Mbkz−k1+∑k=1Nakz−k

稳定性条件:所有极点在单位圆内

|pi|<1

状态空间表示 ​

状态空间模型 ​

离散时间:

x[n+1]=Ax[n]+Bu[n]y[n]=Cx[n]+Du[n]

连续时间:

x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)

其中:

  • x:状态向量
  • u:输入向量
  • y:输出向量
  • A,B,C,D:系统矩阵

从差分方程到状态空间 ​

例子:y[n]=0.5y[n−1]+x[n]

状态空间表示:

x[n+1]=[0.5]x[n]+[1]u[n]y[n]=[1]x[n]

传递函数与状态空间的关系 ​

H(z)=C(zI−A)−1B+D

系统的可控性和可观测性 ​

可控性 ​

定义:能否通过输入将系统从任意初始状态转移到任意目标状态。

可控性矩阵:

C=[B,AB,A2B,…,An−1B]

条件:rank(C)=n(状态维数)

可观测性 ​

定义:能否从输出推断出系统的初始状态。

可观测性矩阵:

O=[CCACA2⋮CAn−1]

条件:rank(O)=n


系统的特征值和稳定性 ​

特征值与稳定性 ​

离散时间系统稳定当且仅当:

|λi|<1,∀i

其中 λi 是 A 的特征值。

连续时间系统稳定当且仅当:

Re(λi)<0,∀i

特征值与系统响应 ​

特征值决定了系统的动态特性:

  • 实特征值:指数衰减或增长
  • 复特征值对:振荡衰减或增长

从线性系统到反馈控制 ​

线性系统理论不仅用于分析信号和滤波器,也可以作为理解反馈控制的入口。本节只保留和后续 LLM 系统设计有关的直觉,不展开完整控制论课程。控制系统关心的不只是“输入经过系统后输出什么”,还关心“能否根据输出误差调整输入,让系统接近目标状态”。

开环与闭环 ​

开环系统只按预设输入运行,不根据输出结果修正行为:

text
目标 → 控制器 → 系统 → 输出

闭环系统会把输出反馈回来,与目标比较后继续调整:

text
目标 → 控制器 → 系统 → 输出
 ↑                    ↓
 └────── 误差反馈 ←────┘

闭环控制的核心是误差:

e[n]=r[n]−y[n]

其中 r[n] 是目标,y[n] 是输出,e[n] 是当前偏差。控制器根据误差产生控制输入:

u[n]=K(e[n])

最简单的比例控制可以写成:

u[n]=kpe[n]

比例增益 kp 太小,系统响应慢;太大,系统可能振荡甚至不稳定。这就是为什么稳定性分析是控制系统的核心。

反馈的价值和代价 ​

反馈的价值:

  • 能修正扰动和模型误差
  • 能适应环境变化
  • 能把目标、观测和行动连接成闭环

反馈的代价:

  • 会引入延迟
  • 可能放大噪声
  • 控制增益不合适时会造成震荡
  • 系统必须满足稳定性和可观测性要求

与 Agent 的连接 ​

第 6 章 Agent 的 ReAct 模式可以看作一种离散反馈闭环:

text
Observe → Reason → Act → Observe → ...

它和传统控制系统不是同一个数学对象,但共享同一个工程思想:系统不能只生成一次动作,还要根据反馈修正后续行动。区别在于,Agent 的反馈来自工具调用、外部 API 或用户环境,噪声更大,延迟更高,错误也更难形式化建模。

因此,反馈控制在本教程中的作用不是替代 LLM 应用设计,而是提供一个辅助判断框架:只要系统会根据外部反馈持续调整行为,就需要考虑稳定性、延迟、噪声、可观测性和失败回退。


滤波器设计 ​

IIR 滤波器 ​

无限脉冲响应:冲激响应无限长

优势:

  • 用较少的系数实现陡峭的频率响应
  • 计算量小

劣势:

  • 可能不稳定
  • 相位响应非线性

FIR 滤波器 ​

有限脉冲响应:冲激响应有限长

优势:

  • 总是稳定的
  • 可以设计线性相位

劣势:

  • 需要更多系数
  • 计算量大

滤波器设计方法 ​

  1. 模拟滤波器设计(Butterworth、Chebyshev)
  2. 双线性变换:将模拟滤波器转换为数字滤波器
  3. 窗函数法:设计 FIR 滤波器
  4. 最优设计:Remez 算法

系统识别 ​

参数估计 ​

问题:给定输入输出数据,估计系统参数。

最小二乘法:

θ^=arg⁡minθ∑n=1N(y[n]−y^[n|θ])2

递归最小二乘(RLS) ​

优势:

  • 在线学习
  • 适应时变系统

算法:

θ^[n]=θ^[n−1]+K[n](y[n]−y^[n])

其中 K[n] 是 Kalman 增益。


与深度学习的连接 ​

RNN 作为动态系统 ​

RNN 的隐状态更新:

h[n]=σ(Whh[n−1]+Wxx[n])

类似于非线性状态空间模型:

x[n+1]=f(Ax[n]+Bu[n])

LSTM 和门控机制 ​

遗忘门、输入门、输出门可以看作系统的可控性和可观测性机制。

梯度消失问题 ​

根本原因:RNN 的特征值小于 1,导致梯度指数衰减。

解决方案:

  • 残差连接(类似于系统的稳定性)
  • 门控机制(类似于系统的可控性)

实践建议 ​

系统分析步骤 ​

  1. 获取系统模型:差分方程或状态空间
  2. 计算冲激响应:理解系统的时域特性
  3. 计算频率响应:理解系统的频域特性
  4. 检查稳定性:极点位置或特征值
  5. 设计控制器(如需要),并检查反馈是否稳定

Python 实现 ​

python
import numpy as np
from scipy import signal

# 定义系统:H(z) = 1 / (1 - 0.5*z^-1)
b = [1]
a = [1, -0.5]

# 计算冲激响应
h = signal.impulse((b, a, 1))[1]

# 计算频率响应
w, H = signal.freqz(b, a)

# 检查稳定性
poles = np.roots(a)
print(f"极点:{poles}")
print(f"稳定:{np.all(np.abs(poles) < 1)}")

关键要点 ​

  1. LTI 系统可以用冲激响应或频率响应完全描述
  2. 稳定性由极点位置决定
  3. 状态空间表示是现代控制理论的基础
  4. 可控性和可观测性决定了系统的可设计性
  5. 反馈控制把目标、观测和行动连接成闭环,但必须考虑稳定性、延迟和噪声
  6. RNN 可以看作非线性动态系统

进一步阅读 ​

  • Oppenheim & Schafer, "Discrete-Time Signal Processing"
  • Kailath, "Linear Systems"
  • Ljung, "System Identification: Theory for the User"

本教程采用 CC BY-NC-SA 4.0 许可协议